用verilog写 上升沿敏感寄存器和电平敏感寄存器
时间: 2024-05-05 19:19:44 浏览: 42
上升沿敏感寄存器的Verilog代码如下所示:
```verilog
module rising_edge_reg (
input clk,
input reset,
input din,
output reg dout
);
always @(posedge clk or posedge reset) begin
if (reset) begin
dout <= 1'b0;
end else if (din && !dout) begin
dout <= 1'b1;
end else begin
dout <= 1'b0;
end
end
endmodule
```
电平敏感寄存器的Verilog代码如下所示:
```verilog
module level_sensitive_reg (
input clk,
input reset,
input din,
output reg dout
);
always @(posedge clk or posedge reset) begin
if (reset) begin
dout <= 1'b0;
end else begin
dout <= din;
end
end
endmodule
```
上升沿敏感寄存器在输入信号din的上升沿时,将输出信号dout设置为1。电平敏感寄存器在输入信号din发生变化时(包括上升沿和下降沿),将输出信号dout设置为输入信号din的值。
阅读全文