基于VHDL的数字电子钟系统设计.doc
《基于VHDL的数字电子钟系统设计.doc》由会员分享,可在线阅读,更多相关《基于VHDL的数字电子钟系统设计.doc(27页珍藏版)》请在沃文网上搜索。
1、 目录一、摘要1二、关键词1三、引言1四、设计要求1五、技术指标1六、设计思想1七、设计原理2八、设计方案2九、设计各个模块的功能2十、各个模块的波形仿真结果5十一、各个电路模块的DV综合的网标和电路模型9十二、设计结果分析15十三、论文结论16十四、参考文献16十五、附录17一、摘要: 本设计采用层次化设计方法,自顶向下进行设计。设计中根据系统的功能要求合理划分出层次,进行分级设计和仿真验证,将较为复杂的数字系统逻辑简化为基本的模型从而降低实现的难度。突出了其作为硬件描述语言的良好的可读性、可移植性和易理解等优点,并通过ModelSim SE 6.1完成综合、仿真。二、关键词: Models
2、im VHDL 硬件描述语言 设计 数字钟 三、引言: 硬件描述语言HDL(Hardware Description Language)是一种用形式化方法来描述数字电路和系统的语言。目前电子系统向集成化、大规模和高速度等方向发展,以硬件描述语言和逻辑综合为基础的自顶向下的电路设计方法在业界得到迅猛发展,VHDL在这种形势下显示出了巨大的优势,展望将来VHDL在硬件设计领域的地位将与c语言和c+在软件设计领域的地位一样,在大规模数字系统的设计中,它将逐步取代传统的逻辑状态表和逻辑电路图等硬件描述方法,而成为主要的硬件描述工具。本文提出了以VHDL语言为手段,设计了多功能数字钟。其代码具有良好的可
3、读性和易理解性,源程序经Altera公司的ModelSimSE 61软件完成综合、仿真,四、设计要求:1、采用自顶向下的设计思想;2、使用本学期学习的设计语言VHDL和集成电路设计软件实现;五、技术指标:1、设计数字电子钟的基本功能:年、月、日、时以24小时制显示,月日为阳历显示,起始时间为:2012年11月26日14:00;2、可随时进行时间校对;3、支持闹铃功能。六、设计思想: 本课程设计要求我们设计的数字电子钟的基本功能可以年、月、日、时以24小时制显示,月日为阳历显示,起始时间为:2012年11月26日14:00,且能可随时进行时间校对和支持闹铃功能,并用采用自顶向下的设计思想,即层次
4、化设计思想并使用例化语句编写,很容易想到分模块设计,将各个模块用顶层模块连接起来,再编写testbench激励信号,然后仿真波形。在时模块中把初始值设定为14,日模块中初始值设定为26,在月模块中初始值设定为11,在年模块中设定初始值为2012。可以通过比较的方法设计闹铃及利用“set”控制信号设计时钟校对。七、设计原理: 本课程设计的主要原理就是利用计数器进行计数。首先是小时模块利用24进制计数器,由于设计要求,先将计数器的初始值设定为14,然后当时钟信号“clk”的上升沿来临时,计数器开始计数到23后回到0循环计数,与此同时定义一个控制信号给日计数模块。日模块就由初始值26开始计数到30后
5、回到1循环计数,并再定义一个控制信号给月模块,以此类推,再将各个模块用顶层模块连接起来,就可以实现年、月、日、时计数功能了。时间校队就用到控制信号“set”,定义一个输入信号,比如时就是“hb”。当“set=1”时,就进行时间设置,其他模块与时模块相同。当“set=0”时就设置完毕,数字就从设置的时间开始计时。闹铃功能就用另一个控制信号“alarm”,当“alarm=1时,就进行闹铃时间设置,其他模块与时模块相同。当“alarm=0时,就设置完毕,并且闹铃时间与数字钟时间进行比较,当各个模块的时间都相等时,“ring”输出1,既闹钟响起。 八、设计方案: 按照设计内容和要求以及所有的设计思路与
6、原理,综合考虑后,采用例化语句方法,设计模块化的结构:顶层设计实体为electronic_clock(数字钟)模块,其下又分为:years(年)、month(月)、day(日)、hour(时)、alarm_clock(闹钟)五个模块。每个模块主要使用VHDL语言输入中常用的进程语句、元件例化语句、if语句以及赋值语句来编写VHDL代码。九、设计各个模块的功能:1、Hour计时模块:begin process(clk) beginif(clkevent and clk=1) then if(q=23) then q=0;clk1=1; elsif q23 then q=q+1; clk1=0;
7、end if;end if;end process;当clk上升沿来临时,hour模块开始从0计数到23,并输出一个控制信号clk1控制day模块,此时clk1=1 ,并回到0然后循环计数,此时clk1=0。由于要求初始时间为14,我们可以利用“signal q:integer:=14;”赋初始值,这样计数器就会从14开始计数。2、Day计时模块:begin process(clk) beginif(clkevent and clk=1) then if(q=30) then q=1; clk2=1; elsif q30 then q=q+1; clk2=0; end if;end if;en
8、d process;当上一个模块的控制信号来临时,day模块开始从1计数到30,并输出一个控制信号clk2控制month模块,此时clk2=1 ,并回到1然后循环计数,此时clk2=0。由于要求初始时间为26,我们可以利用“signal q:integer:=26;”赋初始值,这样计数器就会从26开始计数。3、Month计时模块:begin process(clk) beginif(clkevent and clk=1) then if(q=12) then q=1; clk3=1; elsif q12 then q=q+1; clk3=0; end if;end if;end process
9、;当上一个模块的控制信号来临时,month模块开始从1计数到12,并输出一个控制信号clk3控制year模块,此时clk3=1 ,并回到1然后循环计数,此时clk3=0。由于要求初始时间为11,我们可以利用“signal q:integer:=11;”赋初始值,这样计数器就会从11开始计数。4、Years计时模块:begin process(clk) beginif(clkevent and clk=1) then q=q+1; end if;end process;当上一个模块的控制信号来临时,year模块开始从0计数并一直计数下去,由于要求初始时间为2012,我们可以利用“signal q
10、:integer:=2012;”赋初始值,这样计数器就会从2012开始计数。5、Alarm_clock闹钟比较模块:entity alarm_clock isport( h1a: in integer; d1a: in integer; m1a: in integer; y1a: in integer; h2a: in integer; d2a: in integer; m2a: in integer; y2a: in integer; ring: out std_logic );end alarm_clock;architecture one of alarm_clock is beginp
11、rocess(h2a,d2a,m2a,y2a,h1a,d1a,m1a,y1a)beginif (h1a=h2a and d1a=d2a and m1a=m2a and y1a=y2a) then ring=1;else ring=0;end if;end process;end;定义八个输入信号和一个输出信号ring用于当前时间与闹铃时间进行比较,当两者相等时,就输出ring=1,既满足了闹铃功能。 6、Set时间校对模块:process(set,hs) 这是小时模块的set,其他计时模块与其相同 begin if set=1then if hs=0 then qh=qh ; else qh=
12、hs; end if; end if;“hs”即为你要设置的时间,当set=1时 就把“hs”上的值赋给“h”,然后“h”就从你设置的时间开始计时,就实现了时间设置功能。(以上只是各个模块的一小段VHDL程序,详细的程序请看附录。)十、各个模块的波形仿真结果:1、时钟初始值:初始时间为2012-11-26-14。2、Hour模块:3、Day模块:4、Month模块:5、Years模块:6、Set(时间校对)模块:将校对时间设置为2011-5-17-19,当set=1时,时钟时间就重置了,然后当set=0时,时钟就由你设置的时间开始计时。(hset-dset-mset-yset分别为设置的时间的
13、时-日-月-年)7、Alarm_clock(闹钟)模块:将闹钟时间设置为2012-12-8-7,当时钟的时间走到与闹钟时间相同时,ring输出为1,既闹钟响起。(halarm-dalarm-malarm-yalarm分别为闹钟时间的时-日-月-年)8、数字钟计时校对闹钟总模块:从下图可以很清楚的看出数字钟的计时校对闹钟这些基本功能已经实现。十一、各个电路模块的DV综合的网标和电路模型:1、Hour模块:2、Day模块: 3、Month模块:4、Years模块:5、Alarm_clock(闹钟)模块:6、总模块:7、Testbench模块:十二、设计结果分析: 此次数字电子钟设计中,使得数字电子
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VHDL 数字 电子钟 系统 设计
