module top_module (
input clk,
input reset,
input [31:0] in,
output [31:0] out
);
reg [31:0] state;
reg [5:0] i;
always @(posedge clk)
begin
state <= in ; //寄存器储存条件不受reset影响,应该放在条件语句外。
if (reset) out<=0;
else
begin
for(i=0;i<=31;i++)
if(~in[i]&state[i]) out[i] <=( ~in[i] )&(state[i]);
//比较每一位的变化,仅当in[i]为0,state[i]为1时,out才变化。
end
end
endmodule
感觉写的比较复杂,应该有更简单的方法