2017-08-06 96 views
1

我正在設計一個帶有FSM控制單元的ALU。有兩個控制輸入,分別是決定操作的字大小的模式,另一個輸入是決定要執行的操作類型的操作。verilog設計ALM與FSM

我附上了必須設計的ALU模塊的圖像。我還必須包含時鐘信號嗎? FSM始終是一個時序電路?

回答

1

enter image description here

是的,你必須包括一個時鐘信號。請注意,FSM是一個由組合邏輯和觸發器組成的時序電路。所以時鐘對於FSM的工作非常重要。

我看不到你附加的圖像,但我所提到的是一般情況下,這對每個FSM都是有效的。

對於上面的圖,代表一個Mealey FSM,順序邏輯只不過是一個Flops塊,它將next_state作爲輸入,並將其作爲下一個週期的狀態。組合邏輯是決定下一個狀態的邏輯的邏輯。

你的時序邏輯應該編碼爲

[email protected](posedge clock or negedge rst) 
begin 
    if(!rst) state <= RESET_STATE; 
    else  state <= next_state; 
end 

//即如果復位爲低電平時,那麼國家應該遵循next_state

然後組合邏輯應該建立國家和next_state

之間的關係
[email protected]* 
begin 
    case(state) 
     RESET_STATE: ... 
        next_state = SOME_STATE;