AR# 4599

4.2i Foundation - State Editor でワンホットでエンコードされた不正な FSM が生成される

説明

キーワード : Foundation, State Editor, one-hot, state machine, VHDL, generate, FSM, trap, illegal, state, ステート マシン, 生成, 不正, ワンホット, トラップ

重要度 : 標準

概要 :
State Editor で VHDL コードを生成し、トラップ状態のエグジット ロジックを使用してワンホットでエンコードされた FSM をインプリメントした場合、シミュレーションで不正な状態からトラップ状態への遷移がうまくいきません。

FSM はリセットがアサートされると適正なトラップ状態になりますが、ロジックは次のクロック遷移で不正な状態からのエグジットを実行する必要があります。

ソリューション

1

FSM は [Safest (All possible, including illegal, states)] オプションをオンにして、合成する必要があります。

これには、Foundation Project Manager で [Synthesis] → [Options] をクリックします。 [FSM Synthesis] で [Safest (All possible, including illegal, states)] をクリックします。

2

この問題を回避するには、すべての列挙型状態を明示的にリストするように VHDL コードを編集します。 ただし、大型ステート マシンの場合、この方法は煩雑になります。
AR# 4599
日付 08/12/2003
ステータス アーカイブ
種類 一般