FSMを設計する際、まず「状態とその遷移」を図や表で明確に整理することが重要です。
視覚的に設計を確認することで、動作の流れや設計ミスを早期に発見できます。
状態遷移図は、状態(ノード)と遷移(矢印)で構成される図です。
[IDLE]
|
start
↓
[WAIT_ACK]
|
ack_received
↓
[DONE]
🛠 作図ツール例:
状態遷移表は、状態・入力・次状態・出力の対応を表形式でまとめたものです。
現在の状態 | 入力 | 次の状態 | 出力 |
---|---|---|---|
IDLE | 0 | IDLE | 0 |
IDLE | 1 | WAIT_ACK | 0 |
WAIT_ACK | 0 | WAIT_ACK | 0 |
WAIT_ACK | 1 | DONE | 1 |
DONE | X | IDLE | 0 |
📌 X
はドントケア。未使用入力や任意値を意味します。
状態可視化
により、設計の意図を他者と共有できる遷移表
をベースにすれば、HDL記述もスムーズ次は fsm_hdl_description.md
:VerilogによるFSM記述 に進みます。