verilog 同步10进制计同步复位同步预置计数器
时间: 2023-07-29 15:06:22 浏览: 128
verilog 十进制计数器
以下是一个同步复位同步预置计数器的 Verilog 代码示例:
```verilog
module sync_counter (
input clk, // 时钟信号
input rst, // 复位信号
input preset_en, // 预置使能信号
input [9:0] preset, // 预置计数值
output reg [9:0] cnt // 计数器输出
);
always @(posedge clk) begin
if (rst) begin
cnt <= 10'd0; // 复位计数器
end else if (preset_en) begin
cnt <= preset; // 预置计数器
end else begin
cnt <= cnt + 1; // 正常计数
end
end
endmodule
```
该计数器是一个同步计数器,每个时钟周期递增1。当复位信号 `rst` 为高电平时,计数器复位为0。当预置使能信号 `preset_en` 为高电平时,计数器的值被预置为 `preset`。其中,`preset` 是一个10位的预置计数值。计数器的当前值通过 `cnt` 输出。
阅读全文