UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 15589

10.1 State Diagram Editor - ステート割り当て変数を [Node] に設定すると合成で「ERROR: HDLParsers:3312 - Undefined symbol 'state0'」というエラー メッセージが表示される

説明

キーワード : StateCAD, assignment, variable, node, synthesis, HDLParsers, undefined, symbol, state, diagram, 割り当て, 変数, ノード, 合成, 未定義, シンボル, ステート, ダイアグラム, 状態遷移

ステート マシンのステート割り当ては [Variable] ダイアログ ボックスに表示され、デフォルトは [Pin] になっています。ステート割り当て変数オプションを [Node] に変更すると、生成された VHDL のポート リストにも信号リストにもそれらのステートが定義されません。ステートが定義されていないため、合成で次のようなエラー メッセージが表示されます。

"ERROR:HDLParsers:3312 - C:/test/STATE.vhd Line 70. Undefined symbol 'state0'."

ソリューション

このエラーは、競合する 2 つのモードが使用されており、生成された VHDL で両方のモードが部分的に使用されるために発生します。

次のように設定されていると、2 つのモードで競合が発生します。

1. [Options] -> [Configuration] をクリックすると表示される [Configuration] ダイアログ ボックスの [State Assignment] で、[One Hot] を選択し、[Hide] ボックスをオフにしている
2. [Options] -> [Variables] をクリックすると表示される [Variables] ダイアログ ボックスで、各ステートの変数を [Pin] から [Node] に変更してステート変数を内部ノードに設定している

このような場合、StateCAD で不正なコードが生成されます。ステート変数が Node に変更されたために各ステート変数を非表示にしようとしますが、[Configuration] ダイアログ ボックスでは [Hide] がオフになっているため、競合が発生します。

この問題を回避するには、ステート割り当てを Node にする場合は、[Configuration] ダイアログ ボックスの [Hide] をオンにしてください。すると、これらのステートが信号として定義されます。

別の方法として、生成された VHD ファイルを変更して必要な信号宣言を追加する方法もあります。
AR# 15589
日付 12/15/2012
ステータス アーカイブ
種類 一般
このページをブックマークに追加