PR

【問6解説】

【答】 

 VHDL言語のプログラムはステートマシンの記述です。ステートマシンはCLK、RST_B、START、STOP、CONTの5つの入力を持ち、現在のステート状態を表すSTATE[2:0]を出力します。

 プログラムから、次のような状態遷移表と状態遷移図を表すことができます。

[画像のクリックで拡大表示]

 ステートの状態はstate0~state4までの状態で、ステートは基本的にクロック(CLK)の立ち上がりで状態遷移する順序回路です。リセット(RST_B)が0になると、非同期でstate0に遷移します。

 state0の状態で、STARTが1になるとstate1に遷移し、その後は基本的にstate1→state2→state3の3状態を遷移します。

 state3の状態で、STOPが1ならばstate0へ(優先)、CONTが1ならばstate4へ遷移します。どちらでもなければstate1へ遷移します。

 state4はstate1へ遷移します。