标题 | 基于FPGA的简易电子钟 |
范文 | 赵颖 李永康 苏岩淇 薛玲月 杨熠欣 刘立波 摘要:为了实现简易电子钟的功能,以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. 【通联编辑:唐一东】 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。