Skip to content

kang-0909/digital-clock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Digital Clock

本文使用 SystemVerilog 语言在 Basys3 开发板上实现了带时钟、倒计时、闹钟、秒表、日期、日期/时间设定功能的数字钟。

整体思路上,为避免除法器的使用,每个数位设置一个寄存器。有五套并行的(类)计时系统,分别存放时钟、倒计时、闹钟、秒表、日期的信息。

  • 控制模块 接受分频后的时钟信号,把输入引脚的信息译码。
  • 主逻辑 接受原始时钟信号。
    • 处理时钟自增、倒计时自减、秒表自增、日期自增
    • 处理时钟、倒计时、日期的设定
  • 显示模块 解释分频后的显示时钟信号。

日期自增这块,考虑到进位比较复杂,于是设置了日、月、年三个进位信号,即可在三个时钟周期分开处理年月日的操作。注意避开乘法器的使用。

一句话总结一下,整个系统只要想清楚操控逻辑,代码实现还是比较简单的。建议首先考虑、完成时钟和设时这两个功能,这决定了程序的框架。完成了这部分以后其他的都是水到渠成了。

然后就是,一定要上板子调试。我是全程就没动 simulation,直接在板子上调试。一是方便,二是很多错(特别是牵扯到异步,不知道什么时候会出错)只有上了板子才知道。

About

A digital clock in verilog

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published