我想用两个单比特触发器缓冲一个“完成”的单比特信号。在我的设计中,完成信号只会上升一个时钟周期。所以我写了下面的代码。
//first level buffer done signal for one cycle to get ciphertext_reg ready
always @(posedge clk or posedge rst) begin
if(rst)
done_buf_1 = 1'b0;
else
done_buf_1 = done;
end
//second level buffer
always @(posedge clk or posedge rst) begin
if(rst)
done_buf_2 = 1'b0;
else
done_buf_2 = done_buf_1;
end
在功能仿真中,我发现 done_buf_1 在完成后上升一个周期,但 done_buf_2 与 done_buf_1 同时上升。
对此有何解释?
谢谢!