2 つのシングル ビット フリップフロップで「完了」したシングル ビット信号をバッファリングしたいと考えています。私のデザインでは、done 信号が 1 クロック サイクルだけ立ち上がります。そこで、以下のコードを書きました。
//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 の 1 サイクル後に立ち上がりますが、done_buf_2 は done_buf_1 と同時に立ち上がります。
これについての説明は何ですか?
ありがとうございました!