前言
按照要求,应该实现如下功能:
实验目的:
设计一个具有计时功能和校时功能的数字时钟
实验要求:
数码管显示小时和分钟,秒钟用 LED 闪烁标识。
三个按键用于时钟校准。
K1 用于切换正常计时,校准小时和分钟
K2 用于时钟的“+”
K3 用于时钟的“-”
校准相应的刻度,该数码管闪烁。
依然使用官方提供的Demo,再次基础上学习实现功能。
1 代码分析
官方提供的代码已经实现了如上所述的功能,我们不需要对代码做进一步修改了,下面只是简单说一下实现原理。
- top_watch.v:顶层文件,定义了信号,端口和模块名称,包含了模块的调用顺序等关系;
- watch_data_gen.v:数字时钟生成模块,用于时分秒的生成以及按键调整时的数字变化;
- btn_deb.v:按钮消抖功能;
- div_clk.v:时钟分频;
- seq_control.v:数码管显示控制。
2 实现效果
LED1每一秒钟闪烁一次;时钟每一分钟变化一次;按钮1用于切换需要调整的时钟位;按钮2用于数字增加;按钮3用于数字减少。
实现效果见文末视频。
3 学习总结
通过代码分析以及测试,学习到了时钟生成的方法,用这种方式可以实现延时以及时钟模拟。
通过5个作业的学习,我对FPGA算的上是入门了,知道了基本的语法以及一些模块的使用方法,能够实现简单的应用了,后续加强学习,争取熟练掌握,可以实现一些作品应用。