集成电路软件设计
基于VHDL的数字电子钟系统设计
实验地点 实验时间 2012.12.19 学 院 信息工程学院 班 级 姓 名 学 号 成 绩 指导老师
2012 年 12 月 19 日
数字电子钟的设计
一、设计项目
基于VHDL的数字电子钟系统设计
二、设计要求
1、采用自顶向下的设计思想;
2、使用本学期学习的设计语言VHDL和集成电路设计软件实现;
三、设计任务(设计指标)
1、设计数字电子钟的基本功能:
年、月、日、时以24小时制显示,月日为阳历显示,起始时间为:2012年11月26日14:00; 2、支持闹铃功能; 3、随时校时功能; 4、闰年提醒;
5、中国传统节假日提醒。
四、设计思想
电子时钟是电子设计中用来显示时间和年月日的一种装置。是采用自顶向下的设计方法,将数字电子时钟分成五个子模块和一个顶层模块,然后将各个子模块再细化成为更小的功能块,直到最后能用vhdl语言进行描述为止。当各个模块都描述完成并仿真确认无误后,再采用元件例化,将各个元件一层一层的例化连接起来,直到最后完成系统设计。
五、设计原理
数字钟是一个将“ 时”,“年”,“月”,“日”显示于人的视觉器官的计时装置。它的计时周期分别为24小时,365天(非闰年),12个月,31天显示满刻度为2030年12月31日23时,另外应有闹钟报时、闰年提醒,中国传统节假日提醒等附加功能。因此,该数字钟电路主要由“时”,“日”,“年”,“月”,计数器、闹钟报时电路和转换器组成,其中年月日是以万年的整体形式体现。时信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。将标准秒信号送入“时计数器”,“时计数器”采用24进制计数器,每累计24小时发出一个“分脉冲”信号,该信号将作为“万年历计数器”的时钟脉冲。万年历的年月日的输出端一方面输出显示,另一方面输入到闹钟中当作闹钟中的比较时间当输入的信息与设定好的一致时,响铃信号触发。并在万年历中制作出当有闰年或是中国传统节假日的时候发出高平的信号进行提醒。
六、设计方案
设计中使用的时元件例化和进程结合的方案。每个元件主要采用进程
语句实现,在每个进程主要使用了if_else、if_eslif_elsif_----_else 、case以及赋值语句,实现了模块化设计,使得整个程序一目了然。整个电子钟的顶层设计实体为dzz(电子时钟)模块,其下又分为:fenpin(分频)、shi(时脉冲)、万年历(年月日)、zhuanhuan(过渡转换)和naozhong(闹钟)五个模块。。需要注意的是,在年月日模块中的日期模块对于2月份要按照平年闰年的情况分别处理。在年月日的模块中对于闰年和中国传统节假日的提醒也是分别处理的。
七、各模块实现
(一)分频模块
分频器电路将20MHZ的高频方波信号经20M次分频后得到1Hz的方波信号供秒计数器进行计数。分频器实际上也就是计数器。而本实验的计时模块、闹钟模块需要1hz、100hz
的时钟信号,故需要加以分频实现所需信号。分频电路的模块化示意图如下:
(分频器的顶层连接图)
(分频器顶层文件的元件图)
分频器的子模块10分频的网表文件
(网表文件)
(10分频元件图)
分频模块的仿真波形图
(二)计时模块
由时计数器组成了最基本的数字钟计时电路,二十四进制计数器和满位之后的进位信号组合构成。其模块化电路示意图如下:
其中preset为使能端高电平有效,co为溢出信号,当时计数到24点的时候会在co处触发一个上升沿时钟供后面的万年历使用,保证使其工作。
计时模块的仿真波形图:
H_in为校时输入端