多功能时钟设计verilog
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可编程逻辑器件及其应用
设计报告
姓名:wangkeqin
院系:电信学部
学号:**********
日期:2012-04-09
多功能数字钟设计
一、设计内容及要求
➢用Verilog HDL设计一个多功能数字钟
➢基本功能描述:
1.时钟功能:包括时、分、秒的显示;
2.定时与闹钟功能:能在设定的时间发出闹铃音;
3.校时功能:能非常方便地对小时、分钟和秒进行手动调整以校准时间;
4.整点报时功能:每逢整点,产生“嘀嘀嘀嘀--嘟”,四短一长的报时音。
二、仿真环境说明
用Verilog在Altera公司的Quartus2软件环境下编写RTL代码,并进行综合,行为仿真。时序仿真采用Mentor公司旗下的ModelsimSE-6.1f软件。Modelsim 软件是业界最著名的波形仿真软件,仿真效果比Quartus2下编写波形文件仿真效果要好很多,而且仿真相当简单,只不过要编写测试向量(testbench),有点麻烦。
三、系统框图与说明
Figure1系统框图
1.数字钟电路系统由主体电路和扩展电路两大部分所组成。
2. 秒计数器计到59后,下一秒到来时,秒计时器满60,接着清零后向分计数器进位;同样分计数器计满60后向小时计数器进位;小时计数器按照“24进制”
规律计数,每当小时计到23小时时,当分计数和秒计数分别59,59时,即到23小时59分,59秒时候,时分秒全部清零,从新开始计数。
3. 计数器的输出经译码器送显示器,显示器用6个数码管表示,每两个数码管分别表示小时,分钟,秒钟。每个数码管用BCD码表示。
四、设计步骤
(一)列写多功能数字钟设计结构图
(二)在QuartusП软件下编写Verilog代码
(三)在QuartusП环境下进行综合
Figure2综合结果
从Fig.2可以看出,该设计采用Altera公司CycloneП系列下的EP2C35F672C8芯片。从图中可以看出,采用了162个逻辑单元,其中组合逻辑147个,总共的寄存器数为102个。
Figure3RTL门级电路1
Figure4RTL门级电路2
Figure5RTL门级电路3
Figure6RTL门级电路4
如图Fig.3、Fig.4、Fig.5、Fig.6所示为综合生成的RTL门级电路,由与设计比较复杂,模块比较多,生成的RTL电路也比较复杂。不好分析RTL电路是否正确,可以通过时序仿真来分析设计的正确性。
(四)用Modelsim软件进行时序仿真
1.建立工程文件,编写multiclock代码
2.编写testbench测试向量
3.进行波形仿真
五、仿真波形及其结果分析
(一)整点报时
Figure7整点报时仿真波形
如图Fig.7所示,时钟能正常工作,9点59分55秒开始,将要到十点时候,产生四短一长的“滴,滴,滴,滴,嘟”报时音。该功能仿真正确。
(二)设置闹钟
Figure8设置闹钟时间为10点28分
如图Fig.8所示,设计闹钟时间为10点28分整。从图中可以看出,闹钟时间到达时候,alert闹钟信号报警,产生20秒的报警音。当按住change 信号时,即change信号为高电平时,屏蔽闹钟音。当28分08秒时,change 信号为高电平,则屏蔽掉20秒的闹钟音。
(三)校准时间
1.调整到固定时刻
Figure9调整到9点32分仿真波形
如图Fig.9所示,校准到9点32分,校准时、分刻度时,秒刻度屏蔽,之后继续走。从图中可以看出,校准分刻度时,LD_min高电平有效,LD_alert高电平有效,时针刻度从10变为9,分针刻度变为32,能正确满足校时功能。
2.调整分钟刻度
Figure10调整分钟仿真波形
如图Fig.10所示,调整分钟刻度,LD_min为高电平时,每按一次change 键,分钟刻度加 1。
3.调整时针刻度
Figure11逐次调整时针仿真波形
如图Fig.11所示,LD_hour为高电平,LD_min为低电平时,每按一次change 键,时针刻度加1。从图中可以看出,时针刻度随着change信号的变化,逐次从00变为09。
Figure12连续调整时针仿真波形
如图Fig.12所示,LD_hour为高电平,LD_min为低电平时,连续按change 键,即change一直为高电平时,时针信号hour连续加一。从图中可以看出,hour 信号从01一直加到09.
六、实验总结
1.通过本次课程设计的学习,能够熟练地掌握了verilog编程的方法技巧,并能够运用到实际。设计出多功能时钟电路。对设计的多功能时钟电路能满足设计要求,基本满意。
2.本次多功能数字钟设计,花费不少时间和精力,同时也收获了很多,学会了使用Verilog语言编程仿真电路实验,掌握了可编程逻辑器件的应用开发技术,熟悉了Quartus2软件的使用,并能够运用Modelsim软件对电路进行时序仿真,会编写测试向量,仿真得到自己预期的结果。
3.本次多功能数字钟设计实验,对于Verilog语言的学习与应用,是一次很好的锻炼机会。以前自己也学过,但是不是很系统,只是了解个大概,这次设计基本上能够熟练运用。在设计过程中,汲取了诸多经验教训,深刻体会到一个小小的错误可能会给整个程序所带来的严重后果。所以,在以后的学习及程序设计当中,我们一定要倍加小心,在程序出现不正常运行的情况下要耐心调试,尽量做到精益求精。
4.由于个人能力有限,本次设计还有很多地方需要改善,以后会更加努力的学习。但本次设计实验已使我对Verilog语言产生了浓厚的兴趣,在以后的学习生活中会主动去了解更多有关这方面的知识及其在实践中的应用。
5. 本次设计中遇到了很多问题,得到了很多同学的帮助,在此特别感谢我们教研室的刘洋同学、唐伟同学和殷存禄同学,没有他们的帮助,我不可能把设计做的这样好。在此再次表示感谢!