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

4.1i XST - 「Internal_Error: XST:cmain.c.3004:1.63"/"FATAL_ERROR:Xst:Portability/export/Port_Main.h:116:1.9」というエラー メッセージが表示される

説明

キーワード : XST, fatal, error, internal, crash, main, portability, エラー, 内部, 停止, クラッシュ, 移植性

重要度 : 標準

概要 :
次のようなエラー メッセージが表示されることがあります。

"INTERNAL_ERROR:Xst:cmain.c:3004:1.63 - To resolve this error, please consult the Answers Database and other online resources at http://support.xilinx.com";

"FATAL_ERROR:Xst:Portability/export/Port_Main.h:116:1.9 - This application has discovered an exceptional condition from which it cannot recover. Process will terminate. To resolve this error, please consult the Answers Database and other online resources at http://support.xilinx.com";

このアンサー レコードで説明されている問題の多くは、XST 5.1i で修正されています。

ソリューション

1

process 文で宣言された定数が原因で、このエラーが発生することがあります。 この問題を回避するには、process 文の外で定数を宣言します。

例 :

:
:
process (clk, reset)
constant static_value : std_logic_vector (2 downto 0) := "001";
begin
:
:

上記のコードを次のように変更します。
<architecture_declaration>
:
constant static_value : std_logic_vector (2 downto 0) := "001";
begin
:
:
process (clk, reset)
begin
:
:

2

ステート マシンも、上記のエラーを引き起こす可能性があります。 この場合、FSM エンコーディング スタイルを使用しないようにするのが唯一の回避策です。

ISE の GUI の場合 :

1. プロセス ウィンドウで [Synthesize] を右クリックします。
2. [HDL Options] タブをクリックします。
3. [FSM Encoding Algorithm] を [None] に変更します。

XST コマンド ラインの場合 :

1. 「-fsm_encoding Auto」を「-fsm_encoding None」に変更します。

3

VHDL プロジェクトの場合、パッケージを作業ライブラリからユーザー定義のライブラリに移動すると、この問題を回避できます。

4

このエラー メッセージは、ポートが未接続のままのときにも発生します。 ポートを接続すると、この問題を解決できます。

5

上記のエラーは、スライスのパック機能が原因で発生することもあります。 次は、XST でのスライスのパックについての定義です。

スライス パック (SLICE_PACKING) オプションを使用すると、XST の内部パックが使用できます。XST 内部パック プログラムは、グローバル最適化の出力をスライスにパックします。 この XST のパック プログラムは、1 つのスライス内または CLB 内の、クリティカルな LUT-to-LUT 接続をパックしようとします。この時、CLB 内の LUT 間の高速フィードバック接続が利用されます。 詳細は、『制約ガイド』の「SLICE_PACKING」のセクションを参照してください。

スライス パック オプションをオフにするには、次の手順に従います。

ISE の GUI の場合 :

1. プロセス ウィンドウで [Synthesize] を右クリックします。
2. [Xilinx Specific Options] タブをクリックします。
3. [Slice Packing] オプションをオフにします。

XST コマンド ラインの場合 :

1. 「-slice_packing YES」を「-slice_packing NO」に変更します。

6

Windows NT が原因でこのエラーが発生している可能性があります。 上記のソリューションで問題が解決しない場合は、Windows 2000 または UNIX でソフトウェア ツールを起動してみてください。

7

もうひとつの回避策として、case 文にワイルド カードを使用します。 次に示すのは、変更前と変更後の Verilog コードです。

変更前 :

:
:
case (protocol)

2'b1? :
begin // moto cs high...

hcsn <= 1'b1;
hrdn <= 1'b1;
hwrn <= 1'b0;

end

default : begin

hcsn <= 1'b0;

end

endcase
:
:

変更後 :

:
:
casez (protocol) // changed from case to casez

2'b1? :
begin // moto cs high...

hcsn <= 1'b1;
hrdn <= 1'b1;
hwrn <= 1'b0;

end

default : begin

hcsn <= 1'b0;

end

endcase
:
:
AR# 12545
日付 08/06/2003
ステータス アーカイブ
種類 一般
このページをブックマークに追加