APP下载

基于FPGA的简易电子钟

2019-05-22赵颖李永康苏岩淇薛玲月杨熠欣刘立波

电脑知识与技术 2019年10期

赵颖 李永康 苏岩淇 薛玲月 杨熠欣 刘立波

摘要:为了实现简易电子钟的功能,以FPGA应用设计为基础,使用Verilog HDL 语言编写并且使用Quartus Ⅱ进行仿真。本设计包含计时模块、译码显示模块,实现设计功能且验收效果良好。

关键词:简易电子钟;Verilog;FPGA

中图分类号:TP391 文献标识码:A

文章编号:1009-3044(2019)10-0206-02

开放科学(资源服务)标识码(OSID):

電子钟已经成为人们日常生活中不可缺少的必需品,广泛应用于个人家庭、办公室、剧场等公共场所,钟表的数字化给人们的生活、工作、学习、娱乐等带来了极大的方便。电子钟相比于老式钟表能够更加精准,而且大幅度地提高了钟表以前的报时功能。比如,定时自动报警系统、按时自动打铃系统、定时广播等所有这些功能,都是以电子钟为基础的。因此,电子钟对于人们来说有着非常重要、现实的意义。

1 原理

Verilog是广泛应用的硬件描述语言,可以用于硬件设计流程的建模、综合、模拟等多个阶段。

1.1 计时模块

模块功能正常计时,即每秒读一次数,则秒表加1,如果秒计时满60,则进1给分计时;若分计时满60,则进1给小时计时;若小时计时满12,则清零。从功能上来说分别为模60计数器,模60计数器以及模12计数器。如图1所示。

1.2 译码显示模块

如下图,为3-8译码器的原理图以及真值表,3个输入位a[2:0]可能会出现8种情况为:000、001、010、011、100、101、110、111,这样就可以控制8个输出位 y[7:0]相对应的某1位输出为“0”。如图2所示。

4 仿真

如图7所示:

通过仿真波形图能够看出,当q[15…12]为小时的十位,q[11…8]为小时的个位时分别计数0001、0010(即12),而q[7…4]为分的十位,q[3…0]为分的个位分别计数0101、1001(即59)时,在下一个时钟CLK的作用下计时器翻转到01时00分,然后,计数器继续自然的递增累加计数,完成小时计数器“12翻1”,分计数器为8421BCD码60进制计数器的计时功能。设计及仿真结果符合设计要求,达到预期的效果。

5 验证

验证数据 如表3所示:

6 总结

在几周的时间里,本设计最终顺利完成,其功能可以基本实现。在实验中遇到的问题通过上网查找资料、翻阅书籍也基本解决。

参考文献:

[1] 陈赜.CPLD/FPGA与ASIC设计实验教程[M].2版.北京:科学出版社,2010.

【通联编辑:唐一东】