FPGA课程设计多功能数字钟讲解

合集下载

基于FPGA多功能数字钟的设计

基于FPGA多功能数字钟的设计

• 181•人类社会步入高速发展的电子时代,电子产品逐渐代替机械产品走入我们的生活。

随着科技的进步人们对电子产品的要求越来越高、传统产品已经不能满足人们的需求。

体积小、多功能、节能、环保开始成为了电子产品发展的新目标。

本文基于VHDL 语言,利用Quartus Ⅱ设计了一款多功能数字钟,内部包含秒表、闹钟、定时器、时钟四个模块。

经过实验仿真表明多功能数字钟能很好地满足生活中的各种需要。

本产品设计主要使用VHDL 语言描述了各个模块的功能来实现主要电路,最后在Quartus II 上完成了调试与仿真。

VHDL 语言实现电子设计,是一个以软件设计为主,器件配置相结合的过程,能从多个层次对数字系统进行设计,设计数字电路更为灵活方便,设计周期也可大大减小,提高了设计效率和可靠性。

我们需要的功能,在通过使用预先设计好的别的开关进一步让数字钟工作。

通过LED 显示屏可以看到数字。

本文通过软件Quartus II 9.0设计出各个模块并往开发板内写入程序实现我们想要的功能。

3 软件部分3.1 时钟部分时钟设计有三个要求第一,具有时、分、秒计数显示的功能,并以24h 循环计时。

第二,走时误差小于等于每天10s 。

第三,具有调节分钟、小时、秒以及清零的功能。

通常情况不需要让时钟停止工作,所以这部分模块就相当于实现了计数功能,对一直不断给入的1HZ 脉冲进行计数。

秒、分、时分了三个模块进行连接。

qw 是个基于FPGA多功能数字钟的设计大连理工大学城市学院 方润生 邓佳宁 于海霞图1 系统整体过渡模块,也是校正时间所用的模块。

校正时有两个开关,一个校正分、一个校正时。

如图2所示,qw 模块主要是为了实现调时功能。

实际工程中做了元件例化。

元件例化的主要作用是在大型项目的设计中许多底层文件需要反复使用,我们写好底层文件之后通过component 语句可以直接对底层文件进行调用方便了项目的设计。

3.2 闹钟闹钟在到达设置的时间时会发出持续一分钟的信号,可提前手动关闭。

fpga数字时钟课程设计

fpga数字时钟课程设计

fpga数字时钟课程设计FPGA数字时钟课程设计随着科技的不断发展,数字时钟已经成为现代人生活中必不可少的物品。

数字时钟的准确性和便捷性吸引了越来越多的人使用。

而现在,我们可以通过FPGA数字时钟课程设计来实现一个高精度的数字时钟。

FPGA(Field Programmable Gate Array)是一种可编程逻辑器件,可以通过编程实现各种不同的功能。

数字时钟的实现也可以通过FPGA来完成。

在FPGA数字时钟课程设计中,我们需要先确定时钟的基础部分。

时钟的基础部分由时钟信号产生器、时钟分频器、时钟计数器和时钟显示器组成。

时钟信号产生器需要产生一个稳定的时钟信号,以供后续的计数器和分频器使用。

我们可以通过FPGA中的时钟模块来产生一个稳定的时钟信号。

接下来,时钟分频器需要将时钟信号分频,使得计数器可以进行精确的计数。

分频器的分频系数可以通过FPGA中的数码开关进行设置。

然后,时钟计数器需要根据分频器的设定进行精确的计数。

计数器的计数值可以通过FPGA中的计数器模块进行设置。

时钟显示器需要将计数器的计数值进行显示。

我们可以通过FPGA 中的数码管模块来实现时钟的显示功能。

除了基础部分,我们还可以通过添加更多的功能来完善数字时钟。

例如,我们可以添加闹钟功能、日期显示功能等,以增加数字时钟的实用性。

在FPGA数字时钟课程设计中,我们可以使用VHDL(VHSIC Hardware Description Language)语言进行编程。

VHDL是一种硬件描述语言,可以用于FPGA和ASIC的设计。

通过编写VHDL 程序,我们可以实现数字时钟的各种功能。

FPGA数字时钟课程设计是一个非常有趣和实用的课程项目。

通过这个项目,我们可以深入了解数字时钟的工作原理,熟悉FPGA的编程方法,同时也可以锻炼自己的编程能力。

基于FPGA的多功能数字钟设计报告

基于FPGA的多功能数字钟设计报告

***大学电工电子实验报告EDA技术基础设计报告多功能数字钟设计电子信息科学与技术年 月 日多功能数字钟设计一.任务解析用Verilog硬件描述语言设计数字钟,实现:1、具有时、分、秒计数显示功能,以二十四小时循环计时。

2、具有调节小时,分钟的功能。

3、具有整点报时同时LED灯花样显示的功能。

4、【发挥】三键(模式选择,加,减)调整,数码管闪烁指示功能。

5、【发挥】增加闹钟任意设定功能,时间精确到分。

二.方案论证第2页,共19页三.重难点解析1、模式选择键的设计//模式选择键。

有5个模式,m0为正常走钟;m1为调分;m2为调时;m3为闹钟调分;m4为闹钟调时。

module mode_key(key,clr,m);input key,clr;output [2:0]m;reg [2:0]m;always @(posedge key or negedge clr) beginif(!clr) m=0;else if(m==4) m=0;else m=m+1;endendmodule2、数字钟秒钟计数设计module cnt60_sec(clk,clr,q,c);input clk,clr;output [6:0]q;output c;reg [6:0]q;reg c;always @(posedge clk or negedge clr) beginif(!clr) begin q=0;c=0;endelse if(q[3:0]==9) begin q[3:0]=0;if(q[6:4]==5) begin q[6:4]=0; c=1;endelse q[6:4]=q[6:4]+1;end第3页,共19页else begin q[3:0]=q[3:0]+1;q[6:4]=q[6:4];c=0;endendendmodule、秒钟计数模块就是一个60的计数器,计数到59的时候清零,进位加1。

调时不需要控制秒钟,所以没有加模式选择按键。

数字钟课程设计fpga

数字钟课程设计fpga

数字钟课程设计 fpga一、课程目标知识目标:1. 学生能理解数字钟的基本原理和组成,掌握数字钟的计时方法。

2. 学生能了解FPGA的基本概念,掌握FPGA在数字钟设计中的应用。

3. 学生能掌握数字钟设计中涉及的二进制、十进制转换方法。

技能目标:1. 学生能够运用所学知识,设计并实现一个简单的数字钟电路。

2. 学生能够使用FPGA编程,实现数字钟的功能。

3. 学生能够通过实验操作,培养动手能力和团队协作能力。

情感态度价值观目标:1. 学生对数字电路产生兴趣,树立学习信心,形成积极的学习态度。

2. 学生在学习过程中,培养创新精神和实践能力,增强对科技发展的关注。

3. 学生通过合作学习,培养团队意识,学会尊重他人,分享成果。

课程性质:本课程为电子技术实践课程,结合理论教学,注重培养学生的实际操作能力和创新思维。

学生特点:学生为高中生,具备一定的电子技术基础,对新鲜事物充满好奇,喜欢动手实践。

教学要求:教师需引导学生运用所学知识,通过实验操作,掌握数字钟设计方法,提高学生的实践能力和创新精神。

同时,关注学生的情感态度价值观培养,使学生在学习过程中形成良好的学习习惯和团队合作意识。

将课程目标分解为具体的学习成果,便于后续教学设计和评估。

二、教学内容1. 数字钟原理及组成- 数字钟工作原理- 数字钟各部分功能及相互关系2. FPGA基础知识- FPGA基本概念- FPGA在数字电路设计中的应用3. 数字钟设计与实现- 数字钟计时方法- 二进制与十进制转换方法- 数字钟电路设计流程4. FPGA编程与实验操作- FPGA编程基础- 数字钟功能模块编程- 实验操作步骤与注意事项5. 数字钟综合设计与调试- 设计要求与评价指标- 设计方案撰写与展示- 团队合作与交流教学内容安排与进度:第一周:数字钟原理及组成、FPGA基础知识学习第二周:数字钟设计与实现、FPGA编程基础学习第三周:数字钟功能模块编程、实验操作第四周:数字钟综合设计与调试、成果展示与评价教材章节:第一章:数字钟原理及组成第二章:FPGA基础知识第三章:数字钟设计与实现第四章:FPGA编程与实验操作第五章:数字钟综合设计与调试教学内容遵循科学性和系统性原则,结合课程目标,确保学生能够掌握数字钟设计与FPGA编程相关知识,培养实践能力和创新精神。

基于FPGA的数字钟设计

基于FPGA的数字钟设计

数字钟的设计一、 设计要求设计一个数字钟,要求用数码管分别显示时、分、秒的计数,同时可以进行时间设置,并且要求在整点的时候能够实现报时功能。

二、 设计原理计数器在正常工作下是对1Hz的频率计数,在调整时间状态下是对调整的时间模块进行计数;控制按键来选择是正常计数还是调整时间,并决定是调整时还是分;时间显示的LED数码管采用动态扫描实现;在整点到达时,还具有整点报时功能。

三、 电路符号数字钟电路符号如下图所示。

CLK2为分频之前的信号,CLR为清零端,CCK 为校时允许端。

MC为分信号调整端,HC为时信号调整端。

HH[3..0]为时高位,HL[3..0]为时低位,MH[3..0]为分高位,ML[3..0]为分低位,SH[3..0]为秒高位,SL[3..0]为秒低位。

DOUT[6..0]是数码管驱动,SEG[5..0]是位选择信号,RING是整点报时信号。

四、 设计方法本设计的电子时钟包括:分频模块、计时模块、校时模块、动态扫描译码显示模块和整点报时模块。

下面通过各个模块的设计来了解电子时钟的构成:一、 分频模块程序附录:module clk2clk1s(clk,clk1s); input clk;output clk1s;reg clk1s;reg [3:0] cnt;always@(posedge clk)if(cnt==4'b1111)beginclk1s<=~clk1s;cnt<=0;endelsecnt<=cnt+1; endmodule波形仿真:二、 计时模块六十进制计数器六十进制计数器程序附录:六十进制计数器模块:module m60(clk,clr,qh,ql,cao);input clk,clr;output cao;output[3:0] qh,ql;reg [3:0] qh,ql;reg cao;always @(posedge clk or negedge clr) beginif(clr==0)beginqh<=4'h0;ql<=4'h0;cao<=0;endelse if(ql==9)beginql<=0;if(qh==5)beginqh<=0;cao<=1;endelse qh=qh+1;endelsebeginql<=ql+1;cao<=0;endendendmodule二十四进制计数器模块:module m24(clk,clr,qh,ql);input clk,clr;output[3:0] qh,ql;reg [3:0] qh,ql;always @(posedge clk or negedge clr) beginif(clr==0)beginqh<=4'h0;ql<=4'h0;endelse if(qh==2)beginql<=ql+1;if(ql==3)beginqh<=0;ql<=0;endendelse if(ql==9)beginqh<=qh+1;ql<=0;endelseql<=ql+1; end endmodule波形仿真:清零清零正常计时三、 校时模块四、 动态译码显示模块CCK 为0不支持校时,有进位信号时产生分(时)脉冲程序附录:1、位扫描信号(HH,HL,MH,ML,SH,SL逐位扫描,并输出)module sel(clk,hh,hl,mh,ml,sh,sl,out);input clk;input [3:0] hh,hl,mh,ml,sh,sl;output [3:0] out;reg [3:0] out;reg [3:0] ss=0;always @(posedge clk)beginif(ss<4'b0101)ss<=ss+1;elsess<=0;endalways @(posedge clk)begincase(ss)4'd0:out<=sl;4'd1:out<=sh;4'd2:out<=ml;4'd3:out<=mh;4'd4:out<=hl;4'd5:out<=hh;endendmodule仿真图:2、段扫描信号(选择数码管点亮哪一位)module seg(clk,seg);input clk;output [5:0] seg;reg [5:0] seg;reg [3:0] ss=0;always @(posedge clk)beginif(ss<4'b0101)ss<=ss+1;elsess<=0;endalways @(posedge clk)begincase(ss)4'd0:seg<=6'b111110;4'd1:seg<=6'b111101;4'd2:seg<=6'b111011;4'd3:seg<=6'b110111;4'd4:seg<=6'b101111;4'd5:seg<=6'b011111;default:seg<=6'b111111;endcaseend3、4—7译码module decode4_7(decodeout,indec); output[6:0] decodeout;input[3:0] indec;reg[6:0] decodeout;always @(indec)begincase(indec)4'd0:decodeout=7'b1111110;4'd1:decodeout=7'b0110000;4'd2:decodeout=7'b1101101;4'd3:decodeout=7'b1111001;4'd4:decodeout=7'b0110011;4'd5:decodeout=7'b1011011;4'd6:decodeout=7'b1011111;4'd7:decodeout=7'b1110000;4'd8:decodeout=7'b1111111;4'd9:decodeout=7'b1111011;default: decodeout=7'b0000000;endcaseendendmodule五、 整点报时模块六、 数字钟仿真图数字钟的设计注:动态扫描的时钟频率尽量要快。

基于FPGA的多功能数字钟课程设计

基于FPGA的多功能数字钟课程设计

F PG A课程设计报告(实现多功能数字钟)一、标题:设计多功能数字钟控制电路二、任务书:用MAX+PLU SⅡ软件及Verilog HDL语言设计一个多功能的数字钟,包括有时、分、秒的计时,以及校时(对小时、分钟和秒能手动调整以校准时间)、正点报时(每逢整点,产生“嘀嘀嘀嘀-嘟”,4短一长的报时音)等附加功能。

三、关键词:24进制、60进制、正点报时、校时、数字钟四、总体方案:多功能数字钟控制电路框图是由三部分组成的,即秒分时控制电路、整点报时控制电路、时段控制电路。

用Verilog HDL硬件描述语言完成编译和仿真。

五、原理框图如下:↓↓↓六、Verilog HDL硬件描述语言编写的功能模块:/*秒计数器m60*/module m60(M,CP60M,CPM,RD); output [7:0]M;output CP60M;input CPM;input RD;reg [7:0]M;wire CP60M;always@(negedge RD or posedge CPM) beginif(!RD)begin M[7:0]<=0;endelsebeginif((M[7:4]==5)&&(M[3:0]==9))beginM[7:0]<=0;endelsebeginif(M[3:0]==9)beginM[3:0]<=0;if(M[7:4]==5)begin M[7:4]<=0;endelse M[7:4]<=M[7:4]+1;endelse M[3:0]<=M[3:0]+1;endendendassign CP60M=~(M[6]&M[4]&M[3]&M[0]); endmodule/*分计数器m60*/module m60(M,CP60M,CPM,RD);output [7:0]M;output CP60M;input CPM;input RD;reg [7:0]M;wire CP60M;always@(negedge RD or posedge CPM) beginif(!RD)begin M[7:0]<=0;endelsebeginif((M[7:4]==5)&&(M[3:0]==9))beginM[7:0]<=0;endelsebeginif(M[3:0]==9)beginM[3:0]<=0;if(M[7:4]==5)begin M[7:4]<=0;endelse M[7:4]<=M[7:4]+1;endelse M[3:0]<=M[3:0]+1;endendendassign CP60M=~(M[6]&M[4]&M[3]&M[0]); endmodule/*小时计数器m24*/module m24(H,CPH,RD);output [7:0]H;input CPH,RD;reg [7:0]H;always@(negedge RD or posedge CPH) beginif(!RD) H[7:0]<=0;elsebeginif((H[7:4]==2)&&(H[3:0]==3))beginH[7:0]<=0;endelsebeginif(H[3:0]==9)begin H[3:0]<=0;H[7:4]<=H[7:4]+1;endelse H[3:0]<=H[3:0]+1;endendendendmodule/*秒分时控制计数器xiaoshi2*/module xiaoshi2(CPM,CPH,CPS,CP60M,CP60S,SWM,SWH);output CPM,CPH;input SWM,SWH;input CPS,CP60S,CP60M;reg CPM,CPH;always@(SWM or SWH or CPS or CP60S or CP60M)begincase({SWM,SWH})2'b01: begin CPM<=CPS;CPH<=CP60M;end2'b10: begin CPM<=CP60S;CPH<=CPS;enddefault: begin CPM<=CP60S;CPH<=CP60M;end endcaseendendmodule/*时段控制器sdkz*/module sdkz(h,sk);input [7:0]h;output sk;reg sk;always@(h)beginif((h<=5)||(h>=19))sk<=1;elsesk<=0;endendmodule/*报时计数器baoshi*/module baoshi(m6,m4,m3,m0,s6,s4,s3,s0,dy,gy,bshi); input m6,m4,m3,m0,s6,s4,s3,s0,dy,gy;output bshi;wire bm;reg bshi;assign bm=m6&m4&m3&m3&m0&s6&s4&s0; always@(bm or s3 or dy or gy)beginif(bm&s3)bshi<=gy;else if(bm)bshi<=dy;elsebshi<=0;endendmodule七:各模块原理图及仿真波形:24进制原理图:60进制原理图:电路原理图:时段控制:报时:1、秒计数器仿真波形2、分计数器的仿真波形3、小时计数器的仿真波形4、秒分时控制电路的仿真波形5、时段控制的仿真波形6、报时器的仿真波形八、顶层文件及仿真波形顶层文件的仿真波形:管脚号的分配如下:十:课程设计结论:此次课程设计通过最终下载及编译可实现以上功能,在七段显示器上可实现秒、分计数器60进制,时计数器24进制显示,以及调节CLK1、CLK2的频率可使计数器上数字延时显示。

基于FPGA多功能数字钟的设计

基于FPGA多功能数字钟的设计

3、状态转换功能模块
该模块实现电路各状态之间的转换功能,若仅完成基本功能,系统 应包含4个状态,分别为正常计时、对秒位进行设置、对分位进行设置 和对小时位进行设置。若完成扩展功能,还可增加其他状态。这部分可 以用脉冲键输入进行切换,也可以用拨动开关进行切换。根据所选择的 切换方式,自行编写程序。
4、校时功能模块
此模块主要在状态切换到设置时,可以将时、分、秒位设置成需要的 数值,此功能可以由脉冲键输入完成。
5、译码功能模块
此模块功能将计数器产生的数值,通过编译,形成对应七段数码 管显示格式的编码。七段数码管的a-g对应实验箱上的主要引脚为 O50-O56。
6、LED显示模块
本模块使用实验箱上的8个数码管进行显示,为动态显示法,需采用 扫描的方式进行显示。此方法对于扫描频率有一定的要求,在设计时需 考虑采用那个频率作为扫描信号。8个数码管的扫描信号对应实验箱上的 引脚为SO58-SO65。
四、系统仿真
将每个模块编译成功后,进行仿真测试,若仿真结果符合设计 要求,再配置输入输出引脚,若不符合,请返回修改程序,直至仿 真结果合格。将仿真结果截图,记录至设计报告中。
精品课件!
精品课件!
五、硬件验证
将编译通过、仿真结果正确且引脚信息配置正确的程序下载至 实验箱的FPGA中,硬件验证设计是否符合要求。
2、计时功能模块
计时模块需对时、分、秒进行计数,其中小时位为24进制,分 钟和秒钟位为60进制。可以用一段程序对时、分、秒进行连续计数, 也可以对时、分、秒的高位和低位分别计数。注意,如果采用连续 计数方式,因为每位显示时有高位和低位之分,所以需将十进制数 据用BCD码进行转换后,才能输出到七段数码管上显示。
此电子钟分两种工作状态: 1、正常计时的状态; 2、设置时间的状态。

多功能数字钟FPGA实现

多功能数字钟FPGA实现

实验报告:多功能数字钟081180008 陈家伟一、设计任务本实验使用verilog HDL语言在FPGA平台上实现了一个简单的多功能数字钟,它主要包含一下几个主要功能:(1)实现基本计时功能,并以24小时显示。

(2)实现校时功能。

(3)实现闹钟功能:设定闹钟时间,采用蜂鸣器提示,并且实现了自动关闭。

(4)实现跑表功能:具有启动、停止、继续、复位功能。

在本实验中,最大的问题便是多个功能并行时的干扰问题,需要在设计时对功能切换过程可能产生的干扰充分把握,实现多个功能的并存。

二、输入输出界面的设计在实验中,输入输出界面需要首先考虑,以保证整个系统设计的统一性。

在输入界面的设计上,由于按键资源的限制,必须考虑各个功能键的复用;在输出界面的设计上,由于显示资源的限制,必须考虑数码管显示界面的复用。

输入界面设计如下:(1)KEY1(PIN_122)为模式切换键。

整个系统具有4种功能模式:计时(mode0)、校时(mode1)、闹钟(mode2)、跑表(mode3)。

由KEY1负责模式的切换。

(2)KEY2(PIN_121)为复用键。

mode0(计时)下,KEY2键不起作用;mode1(校时)下,KEY2键使时间增加;mode2(闹钟)下,KEY2键使闹钟设置对应位增加;mode3(跑表)下,KEY2键控制跑表的开始、暂停、继续。

(3)KEY3(PIN_123)为复用键。

mode0(计时)下,KEY3键不起作用;mode1(校时)下,KEY3键负责时位、分位的切换;mode2(闹钟)下,KEY3键负责闹钟设置时位、分位的切换;mode3(跑表)下,KEY3控制跑表的复位。

输入界面设计时主要考虑的是尽量将不同模式下相近的功能归并到同一个按键上来,一方面方便用户的操作,另一方面也使得设计简洁明了,减少的错误的出现。

输出界面(四位数码管显示器)设计如下:(1)mode0(计时)下,四位数码管显示的是24小时计时:左边两个数码管显示小时;右边两个数码管显示分钟;最右边数码管的dp以闪动显示秒。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

多功能数字钟开课学期:2014—2015 学年第二学期课程名称:FPGA课程设计学院:信息科学与工程学院专业:集成电路设计与集成系统班级:学号:姓名:任课教师:2015 年7 月21 日说明一、论文书写要求与说明1.严格按照模板进行书写。

自己可以自行修改标题的题目2.关于字体:a)题目:三号黑体加粗。

b)正文:小四号宋体,行距为1.25倍。

3.严禁抄袭和雷同,一经发现,成绩即判定为不及格!!!二、设计提交说明1.设计需要提交“电子稿”和“打印稿”;2.“打印稿”包括封面、说明(即本页内容)、设计内容三部分;订书机左边装订。

3.“电子稿”上交:文件名为“FPGA课程设计报告-班级-学号-姓名.doc”,所有报告发送给班长,由班长统一打包后统一发送到付小倩老师。

4.“打印稿”由班长收齐后交到:12教305办公室;5.上交截止日期:2015年7月31日17:00之前。

第一章绪论 (3)关键词:FPGA,数字钟 (3)第二章FPGA的相关介绍 (4)2.1 FPGA概述 (4)2.2 FPGA特点 (4)2.3 FPGA设计注意 (5)第三章Quartus II与Verilog HDL相关介绍 (7)3.1 Quartus II (7)3.2 Verilog HDL (7)第四章设计方案 (8)4.1数字钟的工作原理 (8)4.2 按键消抖 (8)4.3时钟复位 (8)4.4时钟校时 (8)4.5数码管显示模块。

(8)第五章方案实现与验证 (9)5.1产生秒脉冲 (9)5.2秒个位进位 (9)5.3按键消抖 (9)5.4复位按键设置 (10)5.5 数码管显示。

(10)5.6 RTL结构总图 (11)第六章实验总结 (14)第七章Verilog HDL源代码附录 (15)第一章绪论现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。

支撑信息电子产品高速发展的基础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。

前者以微细加工技术为代表,而后者的代表就是电子设计自动化(electronic design automatic, EDA)技术。

本设计采用的VHDL是一种全方位的硬件描述语言,具有极强的描述能力,能支持系统行为级、寄存器传输级和逻辑门级这三个不同层次的设计;支持结构、数据流、行为三种描述形式的混合描述,覆盖面广,抽象能力强,因此在实际应用中越来越广泛。

ASIC是专用的系统集成电路,是一种带有逻辑处理的加速处理器;而FPGA是特殊的ASIC芯片,与其它的ASIC芯片相比,它具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检测等优点。

在控制系统中,键盘是常用的人机交换接口,当所设置的功能键或数字键按下的时候,系统应该完成该键所对应的功能。

因此,按键信息输入是与软件结构密切相关的过程。

根据键盘结构的不同,采用不同的编码方法,但无论有无编码以及采用什么样的编码,最后都要转换成为相应的键值,以实现按键功能程序的转移。

[1]钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

诸如定时自动报警、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些都是以钟表数字化为基础的。

因此研究数字钟以及扩大其应用有着非常现实的意义。

关键词:FPGA,数字钟第二章FPGA的相关介绍FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

2.1 FPGA概述系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。

一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。

FPGA一般由3种可编程电路和一个用于存放编程数据的静态存储器SRAM组成。

这3种可编程电路是:可编程逻辑模块(CLB--Configurable Logic Block)、输入/输出模块(IOB--I/O Block)和互连资源(IR—Interconnect Resource)。

可编程逻辑模块CLB 是实现逻辑功能的基本单元,它们通常规则的排列成一个阵列,散布于整个芯片;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源包括各种长度的连接线段和一些可编程连接开关,它们将各个CLB之间或CLB、IOB之间以及IOB之间连接起来,构成特定功能的电路。

FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。

但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。

厂商也可能会提供便宜的但是编辑能力差的FPGA。

因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。

另外一种方法是用CPLD(复杂可编程逻辑器件备)。

2.2 FPGA特点FPGA的基本特点主要有:1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。

2)FPGA可做其它全定制或半定制ASIC电路的中试样片。

3)FPGA内部有丰富的触发器和I/O引脚。

4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。

5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。

编程互连资源IR可以将FPGA内部的CLB和CLB之间、CLB和IOB之间连接起来,构成各种具有复杂功能的系统。

FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。

用户可以根据不同的配置模式,采用不同的编程方式。

加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA 进入工作状态。

掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。

FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。

当需要修改FPGA功能时,只需换一片EPROM即可。

这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。

因此,FPGA的使用非常灵活。

FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。

2.3 FPGA设计注意不管你是一名逻辑设计师、硬件工程师或系统工程师,甚或拥有所有这些头衔,只要你在任何一种高速和多协议的复杂系统中使用了FPGA,你就很可能需要努力解决好器件配置、电源管理、IP集成、信号完整性和其他的一些关键设计问题。

不过,你不必独自面对这些挑战,因为在当前业内领先的FPGA公司里工作的应用工程师每天都会面对这些问题,而且他们已经提出了一些将令你的设计工作变得更轻松的设计指导原则和解决方案。

本次实验所采用的FPGA器件是Altera Cyclone V 5CSEMA5F31C6NFPGA实物图FPGA数码管介绍,每节数码管低电平点亮高电平熄灭。

LED序号如下图所示:根据上图所示的顺序,可以得出显示的数组代码。

4'd0: HEX0=7'b1000000; //0 低电平点亮高电平熄灭4'd1: HEX0=7'b1111001; //14'd2: HEX0=7'b0100100; //24'd3: HEX0=7'b0110000; //34'd4: HEX0=7'b0011001; //44'd5: HEX0=7'b0010010; //54'd6: HEX0=7'b0000010; //64'd7: HEX0=7'b1111000; //74'd8: HEX0=7'b0000000; //84'd9: HEX0=7'b0010000; //9default: HEX0=7'b1111111; //不符合条件的显示零第三章Quartus II与Verilog HDL相关介绍3.1 Quartus IIQuartus II 是Altera公司的综合性PLD/FPGA开发软件,原理图、VHDL、VerilogHDL 以及AHDL(Altera Hardware 支持Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。

Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。

对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。

Quartus II 软件拥有友好的界面,使用便捷,功能强大,当中可编程逻辑设计环境采用完成集成化,是先进的EDA工具软件。

该软件具备诸多特点(例如:开放性,与结构无联系,多平台设计,完全集成化,设计库丰富、工具模块化等),支持原理图、VHDL、VerilogHDL以及AHDL等多种设计输入形式。

Quartus II能够在多系统上使用,为用户的设计方式提供了完善的图形界面。

具有运行速度快,界面统一,功能集中,学用简单等特点。

3.2 Verilog HDLVerilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。

Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。

前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。

两种HDL均为IEEE 标准。

第四章设计方案4.1数字钟的工作原理振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。

相关文档
最新文档