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

8.1i XST - 「FATAL_ERROR:Xst:Portability/export/Port_Main.h:<numbers>」というエラー メッセージが表示される

説明

キーワード : signal, initialize, synthesis, synthesize, 信号, 初期化, 合成

デザインを合成すると、次のようなエラー メッセージが表示されます。

''FATAL_ERROR:Xst:Portability/export/Port_Main.h:<numbers>''

ザイリンクスでは、問題をデバッグしやすくするため、エラー メッセージを変更していく予定です。 このアンサーでは、このエラーを修正するソリューションの一部を紹介します。

ソリューション

1

次に、このエラーが発生する原因の一部とその解決策を示します。

ケース 1 :
インスタンシエーションでポートが一致していません。

次に例を示します。

次のポートがあります。
rdaddress : in std_logic_vector(R_DATA_WIDTH-1 downto 0);
rddata : out std_logic_vector(R_ADDRESS_WIDTH-1 downto 0)

次のように変更します。
rdaddress : in std_logic_vector(R_ADDRESS_WIDTH-1 downto 0);
rddata : out std_logic_vector(R_DATA_WIDTH-1 downto 0)

これで問題が修正されます。

この問題は、ISE 8.2i で修正されています。

ケース 2 :
モジュール内で INPUT として宣言されたポートが、別のモジュールに含まれる INOUT として宣言されているが入力としてしか使用されていないポートに接続されています。

XST ではこの状況は検出されず、信号が未接続の状態のままになります。 階層をフラット化すると、データ構造が崩れ、内部エラーが発生しますが、階層を保持すると各モジュールが個別に構築されるので、問題が検出されるのは NGDBuild およびマップの段階になります。 階層をフラット化すると、データ構造が崩れ、内部エラーが発生しますが、階層を保持すると各モジュールが個別に構築されるので、問題が検出されるのは NGDBuild およびマップの段階になります。

この問題を回避するには、これらのポートの接続を入力から入力、入出力から入出力に修正します。

この問題は、ISE 8.2i で修正されています。

ケース 3 :
階層モジュールにザイリンクス プリミティブと同じ名前を付けると、この問題が発生することがあります。 たとえば、ブロックに MUXCY という名前を付けていたケースでは、XST パッカでこれらのブロックが MUXCY プリミティブと判断され、エラーが発生しています。

ユーザー モジュールおよび階層にザイリンクス プリミティブとは異なる名前を付けると、この問題を回避できます。

この問題は、ISE 8.2i ソフトウェアで修正される予定です。

ケース 4 :
多数のマルチプレクサで組み合わせループが形成されています。この状況は、マルチプレクサ抽出機能で正しく処理されません。

この状況は、XST ログ ファイルに次のように示されます。

WARNING:Xst:2170 - Unit RS_X16Y4_V1R3 : the following signal(s) form a combinatorial loop: X13Y3/XROUTING/XD/XO/Mmux_O_N2, X8Y3/Z, X8Y3/XROUTING/XD/XO/Mmux_O_N1, X15Y3/XROUTING/XD/XO/Mmux_O_N6, X15Y3/XROUTING/XD/XO/Mmux_O_N1, X13Y3/XROUTING/XD/XO/Mmux_O_N1, X13Y3/D, X8Y3/D, X15Y3_W8O.

この問題は、マルチプレクサの抽出をオフにすると回避できます。 このオプションの詳細は、次のサイトから『XST ガイド』を参照してください。
http://www.xilinx.co.jp/support/software_manuals.htm
1. ソフトウェア マニュアル ページで、[現在のソフトウェア マニュアル] の下から使用しているバージョンのリンクをクリックします。
2. 表示されたページで、[PDF コレクション] をクリックします。
3. 次のページの [しおり] タブで、 [ソフトウェア マニュアル] の下にある [XST ガイド] をクリックします。

この問題は、ISE 9.1i で修正される予定です。

ケース 5 :
デュアル ポート分散 RAM とデュアル ポート ブロック RAM を推論して最上位にインスタンシエートするときに、この問題が発生する場合があります。

この問題を回避するには、まずデュアル ポート分散 RAM をインスタンシエートし、その後デュアル ポート ブロック RAM をインスタンシエートします。

この問題は現在調査中です。

ケース 6 :
インクリメンタル合成を使用していると、この問題が発生することがあります。 次のようにインクリメンタル合成をディスエーブルにすると、この問題を回避できます。
-- attribute incremental_synthesis: string;
-- attribute incremental_synthesis of incremental : entity is "yes";

または

attribute incremental_synthesis: string;
attribute incremental_synthesis of incremental : entity is "no";

この問題は現在調査中です。

ケース 7 :
この問題は、RAM の抽出をオフにすると回避できます。これには、[Processes] ウィンドウで [Synthesize - XST] を右クリックして [Properties] をクリックし、[HDL Options] ページにある [RAM Extraction] をオフにします。

この問題は、ISE 8.2i ソフトウェアで修正される予定です。

ケース 8 :
デザインの未使用の信号に KEEP プロパティが設定されていると、この問題が発生することがあります。

この問題を回避するには、未使用の信号から KEEP プロパティを削除します。

この問題は現在調査中です。

ケース 9 :
最上位で 2 つの信号がグランドに接続されています。 これらの信号にポートを追加し、グランドに常時接続されないようにすると、このエラーを回避できます。

この問題は、ISE 9.1i で修正される予定です。

ケース 10 :
パッケージを定義するファイルが PRJ ファイルに含まれていて、パッケージ本体を定義するファイルが含まれていません。

この場合、関数呼び出しでパッケージ本体を検出する際に XST がクラッシュします。

この問題は、ISE 8.2i ソフトウェアで修正される予定です。

ケース 11:
レジスタが後ろに接続されている乗算器の MULT 入力でこの問題が発生します。 XST では、乗算器の入力と出力にある同じレジスタを吸収しようとするため、内部エラーが発生します。

この問題を回避するには、KEEP プロパティを使用し、入力または出力のレジスタが吸収されないようにします。
乗算器の出力に KEEP プロパティを設定すると、入力のレジスタが吸収されます。
乗算器の入力に KEEP プロパティを設定すると、出力のレジスタが吸収されます。

この問題は、ISE 8.2i ソフトウェアで修正される予定です。

ケース 12 :
この問題は、以前の XST ディレクトリがクリーンアップされていない場合に、Windows でのみ発生します。

この問題を回避するには、プロジェクト ファイルをクリーンアップしてください。 プロジェクト ファイルのクリーンアップ方法については、ISE ヘルプを参照してください。

ケース 13:
フィールドが 1 つしかないレコードがある場合、XST は RAM を自動抽出しようとし、クラッシュします。

この問題を回避するには、フィールドが 1 つのみのレコードをフィールドに置き換えてください。

この問題は、ISE 8.2i で修正されています。

ケース 14:
[Generate RTL Schematic] プロパティが "yes" に設定されている場合にこの問題が発生します。

この問題を回避するには、ISE で [Generate RTL Schematic] プロパティを "no" に設定します。

この問題は、マルチプレクサの抽出をオフにすると回避できます。 詳細は、変更ログを参照してください。

この問題は、ISE 8.2i で修正されています。

ケース 15:
デザインで駆動されることがないのに最適化されてしまう内部信号を誤って割り当てた場合に問題が発生します。

この問題を回避するには、この割り当てをコメント アウトします。
この問題は、ISE 8.2i で修正される予定です。

2

上記の方法で問題を解決できない場合は、次のページからウェブ ケースを開いてください。
http://japan.xilinx.com/support/clearexpress/websupport.htm
AR# 22271
日付 06/28/2010
ステータス アーカイブ
種類 一般
このページをブックマークに追加