VHDL 课 程 设 计
实验报告
多功能数字万年历
目录
VHDL 课程设计 实验报告......................................................................................................... 1
多功能数字万年历 ............................................................................................................................ 2
基本要求:采用 VHDL 硬件描述语言或者电路图描述的方式完成设计。.............................. 2
发挥要求:........................................................................................................................................ 2
一,设计思路 ............................................................................................................................ 3
二、程序调试 .................................................................................................................................... 7
三.程序分析 .................................................................................................................................... 9
四,实验总结 .................................................................................................................................. 31
多功能数字万年历
基本要求:采用 VHDL 硬件描述语言或者电路图描述的方式
完成设计。
1) 设计一个万年历系统,可现实从秒到年的计数功能;
2) 由于开仅具备四位数码管,因此需要进行功能切换,即利用开
发板上的一个按键完成小时/分钟、月/日、年等三种显示的切换。
3) 秒计数采用开发板上独立的 LED 以秒闪进行显示;
4) 同时切换设置模式与显示模式(一个按键完成切换),完成每个
显示的增减设置(两个按键实现增减)。
说明:基本要求不需要提供闰月识别功能。
发挥要求:
1) 提供整点时间报警功能;
2) 提供闹钟功能;
3) 提供闰月检测功能;
4) 以 7 个独立的 LED 显示星期。
一,设计思路
将要求分为三个大模块
原理图如下:
大致的原理图如下,这个图是从百度文库上找到一个类似的图,按照自己的程序修改的,闹
钟和星期功能在控制模块内,控制模块和显示模块共享一个 vhd 文件。
数码管驱动,扫描输出
年
计数
月
计数
日
计数
时
计数
分
计数
秒
计数
校时控制电路,显示控制电路
晶体振荡器电路
分频器电路
1.分频器模块
计数分频器模块,秒分频器模块,分频器模块,时频器模块,日频器模块,月频
器模块,年频器模块。将原始输入时钟(50mHZ)转化为对应的电子时钟。
2.设置模块
设置模块包括:按键消抖模块,控制模块,其中控制模块在显示模块内,而分,
时 , 日 , 月 , 年 的 增 减 在 对 应 的 分 频 器 内 进 行 。
3.显示与控制模块显示模块通过扫描显示的方法通过数码管显示年
月日分,秒表,闹钟等。闹钟以及设置的控制也在显示与控制模块内。
显示用状态机,用按键 key0 来控制界面,一共五个界面,分别是时钟显示,月日显示,年
显示,秒表显示,闹钟显示。用 key1 来选择要设置的项目,只允许在当前显示界面内设置,
按 key1 可以切换两个变量的设置,比如在时钟显示界面就用 key1 来切换 设置时还是分。
将设置的结果输入到相应模块进行设置。
4.总的 RTL 图如下
二、程序调试
1.测试十四个警告,
2,按键消抖状态机
利用状态机,使得不仅具有消抖功能,而且一次按下只会输出一个时钟周期。
3.分进位测试成功
时进位测试成功