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# 3228

4.2i Foundation State Editor - 「Logical Error 1002: Source line length exceeds 150 characters」というエラー メッセージが表示される

説明

キーワード : Foundation, State Editor, line length, ABEL, blif, ライン, 行, 長さ

重要度 : 標準

概要 :
ステート マシンに多数のステートがあります。ABEL でステート マシンを生成しようとすると、次のようなエラー メッセージが表示されます。

"Logical Error 1002: Source line length exceeds 150 characters."

ソリューション

1

State Editor では、デザインに対して ABEL コードが生成されます。 この ABEL コードには、ステート マシン内のすべてのステートの後に STATE_REGISTER が宣言されます。 ステートが多数ある場合、この行が大変長くなります。

HDL コード生成中、すべての行が ABEL ツールに最適化どうかはチェックされませんから、ABEL コンパイラで設定された行長制限に違反した HDL コードが生成される可能性はあります。

この問題は、ステート マシンを生成し、[Synthesize] をクリックすると発生します。

ソリューション 1:

State Editor でデザインが完全に合成されなかった場合、[Synthesis] -> [HDL Code Generation] をクリックします。 コードを表示するかどうかを尋ねるメッセージが表示されますので、[Yes] をクリックします。 HDL Editor を選択し、[Edit] で [Read Only] をオフにします。 問題の行を見つけて、行を短くします。

たとえば、次のようにステート名の最後が数字の場合

ER1, ER2, ER3, ER4, ER5, ER6, START STATE;

次のように変更します。

ER1..ER6, START STATE;

変更したファイルを保存し、HDL Editor で合成します。

2

ソリューション 1 と同様に、State Editor を使用して HDL コードを生成し、HDL Editor でコードを変更します。ただし、変更する場合、長いステート行を短い行に分割します。

例 :

ER1, ER2, ER3, ER4, ER5, ER6, START STATE;

次のように変更します。

ER1, ER2, ER3, ER4 STATE;
ER5, ER6, START STATE;

変更した HDL コードを保存し、HDL Editor で合成します。

3

ステート エンコーディング手法をシンボリックからバイナリに変更します。

- [FSM] -> [Machines] -> [Machine Name] をクリックします。[Machine Name] は、エンコーディング手法を変更するステート マシンです。 [Machine Properties] ダイアログ ボックスが開きます。
- [General] タブで、エンコーディングの [Encoded Radio Button] を選択します。 エンコーディング手法のリスト ボックスで [Binary] を選択します。
- [OK] をクリックし、[Synthesis] -> [Synthesize as usual] をクリックしてステート マシンを生成します。
AR# 3228
作成日 12/19/1997
最終更新日 08/16/2002
ステータス アーカイブ
タイプ 一般