ここでは,ステートマシンをプロセス文
で記述します.
プロセス文で組合せ回路設計する場合は,プロセス文中の式で用いた信号すべてを
センシティビティリストに記述する必要がありました.
しかし,順序回路の場合はクロックに同期して動作するために,内部で用いた信号すべてをセンシティビティリストに記述するのではありません.
よってセンシティビティリストにはクロックを記述します.また,リセットは非同期にステートを初期状態にするために,これも必要です.
プロセス文の内部は順時処理文のif文とcase文を使って記述します.
具体的には,リセットのように非同期にステートが変化する場合と,クロックに同期してステートが遷移する場合に,if文を用いて条件分けします.
リセットの場合はステートを初期状態にし,それ以外の場合は状態遷移をcase文を用いて記述します.
ここではcase文の前までを記述します.クロックに同期した状態遷移の記述は次の演習4:順序回路における状態遷移の記述法(ステートマシンその2)で例がでてきます.
SEQ_PROC : process() begin if () then PRESENT_STATE <= ; elsif () then ・ ・ 状態遷移の記述(case文) ・ ・ end if; end process SEQ_PROC;
演習4:順序回路における状態遷移の記述法(ステートマシンその2)
This is my e-mail address: