4 位计数器
本课属于 Coddy Verilog 学习旅程的“基础知识”单元。第 84 课,共 90 课。
挑战
构建一个 4 位计数器,从 0 计数到 15,然后回到 0。
模块接口
| 端口 | 方向 | 宽度 | 描述 |
|---|---|---|---|
clk | 输入 | 1 位 | 时钟信号 |
reset | 输入 | 1 位 | 将计数器重置为 0 |
count | 输出 | 4 位 | 当前计数器值 |
真值表
| 时钟周期 | count |
|---|---|
| 重置后 | 0 |
| 1 | 1 |
| 2 | 2 |
| ... | ... |
| 15 | 15 |
| 16 | 0(回绕) |
你的任务是完成下面的模块。
要做的事:
- 当
reset有效时,将count设为 0 - 在每个时钟上升沿,将
count加 1 - 当
count达到 15 时,下一次递增应回到 0
亲手试试
module counter (
input clk,
input reset,
output reg [3:0] count
);
// TODO:添加包含 posedge clk 和 posedge reset 的 always 块
// 复位时:count <= 0
// 否则:count <= count + 1
endmodule基础知识中的所有课
自己练习: Verilog 在线编译器