在检测到输入信号in由1下降为0后,在时钟上升沿置数out为1,直到reset输入为1才将out置零。
用到上一题的边沿检测方式。
代码如下:
module top_module (
input clk,
input reset,
input [31:0] in,
output [31:0] out
); reg [31:0]in_last;
always@(posedge clk)begin
in_last <= in;
if(reset)out<=0;
else begin
for(int i = 0;i<32;i++)begin
if(~in[i]&in_last[i])
out[i] <= 1;
end
end
end
endmodule