欢迎光临散文网 会员登陆 & 注册

HDLBits (106) — 12小时时钟

2022-04-17 02:39 作者:僚机Wingplane  | 我要投稿

本题链接:

https://hdlbits.01xz.net/wiki/Count_clock

创建一组适合用作12小时时钟的计数器(带有am/pm指示器)。你的计数器由一个快速运行的时钟来计时,每当你的时钟增加时(即每秒一次),ena就会有一个脉冲。

reset 将时钟重置到12:00 AM。下午0时代表 AM,下午1时代表 PM。Hh、 mm 和 ss 分别是小时(01-12)、分钟(00-59)和秒(00-59)的 BCD (二进制编码十进制)数字。复位的优先级高于使能,并且即使在未启用时也会发生复位。

以下时序图显示了从11:59:59 AM至12:00:00 PM和同步复位和启用行为的翻转行为。


题目

提示:

请注意,11:59:59 PM接着是到12:00:00 AM12:59:59 PM接着是到01:00:00 PM。没有00:00:00。

答案

输出波形

重置并计数为10
分钟回滚
小时回滚
PM回滚

为确保系统上电后有一个明确、稳定的初始状态,或系统运行状态紊乱时可以恢复到正常的初始状态,数字系统设计中一定要有复位电路模块。复位电路异常可能会导致整个系统的功能异常,所以在一定程度上,复位电路的重要性也不亚于时钟电路。

复位电路可分类为同步复位和异步复位。

同步复位

同步复位是指复位信号在时钟有效边沿到来时有效。如果没有时钟,无论复位信号怎样变化,电路也不执行复位操作。

同步复位常常会被综合成如下电路:

同步复位的优点:信号间是同步的,能滤除复位信号中的毛刺,有利于时序分析。

同步复位的缺点:大多数触发器单元是没有同步复位端的,采用同步复位会多消耗部分逻辑资源。且复位信号的宽度必须大于一个时钟周期,否则可能会漏掉复位信号。

异步复位

异步复位是指无论时钟到来与否,只要复位信号有效,电路就会执行复位操作。

异步复位常常会被综合成如下电路:

异步复位的优点:大多数触发器单元有异步复位端,不会占用额外的逻辑资源。且异步复位信号不经过处理直接引用,设计相对简单,信号识别快速方便。

异步复位的缺点:复位信号与时钟信号无确定的时序关系,异步复位很容易引起时序上 removal 和 recovery 的不满足。且异步复位容易受到毛刺的干扰,产生意外的复位操作。

参考内容:

5.1 Verilog 复位简介 | 菜鸟教程:

https://www.runoob.com/w3cnote/verilog2-reset.html


HDLBits (106) — 12小时时钟的评论 (共 条)

分享到微博请遵守国家法律