Altifigence Academy

34 / 36 · 概念

設計小型狀態機

以轉移表描述狀態、輸入與下一狀態。

學習目標

  • 以轉移表描述狀態、輸入與下一狀態。

狀態表示要記住的資訊

接收要求並等待完成的控制器可使用 IDLE 與 BUSY。IDLE 時 start=1 進入 BUSY,BUSY 時 done=1 返回 IDLE。也要定義同時輸入:本例 IDLE 只看 start,BUSY 只看 done;重設回到 IDLE。

目前狀態條件下一狀態
IDLEstart=0IDLE
IDLEstart=1BUSY
BUSYdone=0BUSY
BUSYdone=1IDLE

先計算,再於邊緣儲存

組合邏輯計算 next_state,always_ff 在邊緣儲存 state<=next_state。只依狀態的輸出稱 Moore,也依目前輸入的稱 Mealy。本例假設所有輸入相對同一時脈穩定,不涵蓋其他時脈域的未同步訊號。

自己試試看

目前 BUSY,start=1、done=0,下一狀態是?

查看解說

仍為 BUSY;此狀態僅由 done 控制轉移。

此選擇適用於本瀏覽器,隨時可從頁尾變更。