HDL刷题:Edgedetect

发布时间 2023-08-06 08:07:42作者: Xxaj5

原题链接

一道想了好久的题目,在这种并行执行的程序里怎么才能保存前一个状态,看了题解后才发觉,非阻塞赋值啊,代码如下:

module top_module (
    input clk,
    input [7:0] in,
    output reg [7:0] pedge
);
    reg [7:0]last_in;
    
    initial last_in = 8'd0;
    
    always @ (posedge clk) begin
    	last_in <= in;
        pedge <= ~last_in & in;
    end
	
endmodule

还有就是别忘了把pedge改成reg型。