析1分频模块
f仿真时间为50us,CLK的周期为20
s,输出了两个脉冲,实现了1000分频。260进制计数器(秒、分计数器)模块
可见,计数器会从0计到59,然后清0并且产生进位信号。和12进制的计数器类似,24只是12进制计到12时变1,而不是032412进制转换模块
可见,当TMODE为1时,输出了12进制计数器的结果,当TMODE为0时,输出了24进制计数器的结果,而且,当TMODE1选择了12进制时,由于此时24进制计数器结果为19,大于12,COUT输出1,表示下午。4按键去抖模块
由于05s太长,在本仿真中设置了很小的一个量10clk,从图中可以看出基本实现了按键去抖动的效果。无论按键怎么抖动,输出总是保持稳态10clk,当下一个触发来了以后,就可以触发单稳态。5按键控制模块
f可见,按下调时按键(CHANGE)后,输出为按键脉冲(CCLK),再次按下调时按键,输出为正常计数脉冲,实现了调时功能。七、硬件测试结果实验结果将调试好的程序下载到实验板上进行验证,时钟准确计数,各模块的进位也正确。如果此时为24进制计时,且小时大于12,若切换到12进制,则可以马上变换到12进制的数,比如19时可变为7时,且LED灯会亮,表示下午,进制转换模块正确。如果按下调分钟的按键,再按调分钟的脉冲,可使分钟1,调时模块正确。因此,本次数字钟实验成功。八、实验心得实验体会这个实验带给我的体会很多也很深,这次独立的设计,我遇到了很多问题,也走了很多弯路,还好最后终于通过自己的努力看到了理想的结果。通过实验,我对EDA技术和FPGA技术有了更进一步的理解,掌握了FPGA的层次化设计电路的方法,掌握了用VHDL语言编写各个功能模块并通过波形确定电路设计是否正确。掌握了下载验到目标器件的过程。实验中遇到的问题很多,一开始没有考虑到2412进制转换时小时的变化,以为只要模可变计数器就可以,老师指出以后,我回去思考了一下,把这个问题解决了,并且增加了显示上下午的功能,我还准备学一下1616点阵的显示,把上午(AM)下午(PM)显示在上面。还有,在设计调时电路时,由于变量重复赋值发生了错误,思考了好久,后来问了老师才解决了。总之,我很感谢这次实验可以给我这样的机会,这个实验给了我很多的收获,我相信这会对我以后的学习和工作都有帮助。
参考文献
1、潘松,黄继业EDA技术实用教程(第三版)北京:科学出版社200692、孙丽华等现代电子系统设计实验指导书南昌大学教务处(印)2005
fr