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

HDLBits (179) — 定时器

2022-07-25 10:39 作者:僚机Wingplane  | 我要投稿

本题链接:

https://hdlbits.01xz.net/wiki/Cs450/timer

实现一个定时器,它的功能是对给定的时钟周期数进行倒计时,然后断言一个信号以表示给定的时间已经过去。 实现它的一种比较好的办法是使用递减计数器,当计数变为 0 时断言输出信号。

在每个时钟周期:

如果 load = 1,则用 10 位数据加载内部计数器,定时器在超时之前的每个时钟周期应该一直计数。 当它仍在计数且尚未达到 0 时也可以随时加载计数器。

如果 load = 0,内部计数器应该减 1。

输出信号 tc(“终端计数”)指示内部计数器是否已达到 0。一旦内部计数器达到 0,它就应该保持为 0(停止计数),直到计数器被再次加载。

以下示例是计时器计数 3 个周期时的情况:

题目

答案

输出波形

有限状态机(Finite-State Machine,FSM),简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。状态机不仅是一种电路的描述工具,而且也是一种思想方法,在电路设计的系统级和 RTL 级有着广泛的应用。

Verilog 中状态机主要用于同步时序逻辑的设计,能够在有限个状态之间按一定要求和规律切换时序电路的状态。状态的切换方向不但取决于各个输入值,还取决于当前所在状态。状态机可分为 2 类:Moore 状态机和 Mealy 状态机。

参考内容:

4.2 Verilog 过程赋值 | 菜鸟教程:

https://www.runoob.com/w3cnote/verilog-process-assign.html

6.3 Verilog 状态机 | 菜鸟教程:

https://www.runoob.com/w3cnote/verilog-fsm.html


HDLBits (179) — 定时器的评论 (共 条)

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