使用Verilog HDL语言设计一个计数器
时间: 2024-01-03 11:48:51 浏览: 115
Verilog+HDL+设计实例.pdf
下面是一个基本的 Verilog HDL 计数器设计:
```verilog
module counter (
input clk,
input rst,
output reg [7:0] cnt
);
always @(posedge clk or posedge rst) begin
if(rst) begin
cnt <= 8'b0;
end else begin
cnt <= cnt + 1;
end
end
endmodule
```
上述代码中,我们定义了一个 `counter` 模块,它具有一个时钟信号 `clk`,一个复位信号 `rst` 和一个 8 位计数器 `cnt`。计数器在每个时钟上升沿时增加 1。当复位信号为高电平时,计数器被重置为 0。
此外,我们使用了 Verilog HDL 的 `always` 块,该块定义了计数器逻辑。在 `always` 块中,我们使用了 `if-else` 语句来检查复位信号。如果复位信号为高电平,则计数器被重置为 0;否则,计数器增加 1。
请注意,我们在 `cnt` 声明中使用了 `reg` 关键字,这是因为计数器是可变的,需要使用寄存器存储。
阅读全文