硬體描述語言與驗證
在上方狀態機的描述中,於第2個always區塊開頭寫「next = state;」的原因,下列何者正確?
always @(posedge clk)
state <= next;
always @(*) begin
next = state;
case (state)
IDLE: if (start) next = RUN;
RUN: if (done) next = IDLE;
endcase
end
- A表示不符合條件時就停留在目前的狀態,並在所有情況下都決定next的值以防止閂鎖器
- B為了每次都讓狀態回到IDLE
- C為了停止時脈