硬體描述語言與驗證
原本打算做成2級位移暫存器,卻如上方般以阻塞賦值(=)撰寫。會發生的問題,下列何者正確?
always @(posedge clk) begin
q1 = d;
q2 = q1;
end
- Aq2會代入在同一邊緣已更新的q1(也就是d),成為只延遲1級的電路
- Bq1與q2的值永遠停留在0
- C正確地成為2級位移暫存器,沒有問題
硬體描述語言與驗證
always @(posedge clk) begin
q1 = d;
q2 = q1;
end