説明
デザインを ISE Simulator (ISim) を使用してシミュレーションすると、次のようなエラー メッセージが表示されます。
FATAL_ERROR:Simulator:Fuse.cpp:217:1.95 - Failed to compile one of the generated C code. Please recompile with -mt off -v 1 switch to identify which design unit failed. Process will terminate.
この問題の解決方法を教えてください。
ソリューション
ソリューション 1
このエラーは、デザインのソースをコンパイルする段階で発生した予測されない状況が原因で発生した可能性があります。
エラーの詳細を解析することにより、このエラーを回避できる可能性があります。
コンパイラからの詳細なデバッグ メッセージをイネーブルにすると、致命的なクラッシュの詳細情報を取得できます。
これらのメッセージから、ソース コードを変更することによりエラーを解決できるかどうかがわかります。
詳細メッセージのイネーブル
ISE Project Navigator を使用する場合 :
[Simulate Behavioral Model] または [Simulate Post-Place & Route Model] プロセスの [Process Properties] ダイアログ ボックスを開き、[Other Compiler Options] に「-v 1」を追加します。このプロパティは、[Property display level] を [Advanced] に設定すると表示されます。
バッチ ファイルを使用する場合 :
fuse コマンド ラインに「-v 1」を追加します。
ISE Design Suite ツールでのこの問題の修正にご協力いただきますよう、この問題に関してはザイリンクス テクニカル サポートまでご連絡ください。
連絡先は、http://japan.xilinx.com/support/techsup/tappinfo.htm から入手できます。
ソリューション 2
デフォルトでは、ISE Simulator コンパイラ (fuse) でデザイン ソースのコンパイルにマルチスレッドが使用されます。
マルチスレッドをイネーブルにしていると、予測されないコンパイル エラーにより致命的なエラーが発生することがあります。
マルチスレッドをディスエーブルにすると、このエラーを回避できる場合があります。
マルチスレッドのディスエーブル
ISE Project Navigator を使用する場合 :
[Simulate Behavioral Model] または [Simulate Post-Place & Route Model] プロセスの [Process Properties] ダイアログ ボックスを開き、[Other Compiler Options] に「-mt off」を追加します。このプロパティは、[Property display level] を [Advanced] に設定すると表示されます。
バッチ ファイルを使用する場合 :
fuse コマンド ラインにに「-mt off」を追加します。
マルチスレッドの詳細は、ISim ヘルプを参照してください。
今後の ISE Design Suite ツールのアップデートでこの問題が解決できるように、テクニカル サポートまで問題の詳細をお知らせください。
ソリューション 3
サポートされていないオペレーティング システムで ISim コンパイラ (fuse) を実行すると、このエラーが発生することがあります。
ご使用のオペレーティング システムがサポートされているかどうかは、次の「ISE オペレーティング システム サポート」ページを参照してください。http://japan.xilinx.com/ise/ossupport/#simulator
ソリューション 4
Linux 環境で DOS フォーマットのバッチ ファイルを使用して ISim コンパイラ (fuse) を起動すると、この問題が発生することがあります。
一部の DOS キャリッジ リターン文字により ISim コンパイラでエラーが発生する可能性があります。
ソリューション 5
これは ISim in ISE Design Suite 11.1 ツールでの既知の問題で、ISE Design Suite 11 アップデート 2 (11.2) で修正されています。
最新の ISE Design Suite バージョンをダウンロード センター (http://japan.xilinx.com/support/download/index.htm) からダウンロードしてください。
ソリューション 6
致命的なエラーは、GNU Compiler (GCC) が見つからない場合やマシンにインストールされていない場合に、この問題が発生する可能性があります。
ソリューション 1 に示した詳細メッセージを使用して、ISim が GCC を起動しようとするときにエラーが発生しないかを確認してください。
一部の GCC 特定のシステム環境変数を設定すると、このエラーが発生することがあります。
この問題の詳細および回避策については、(ザイリンクス アンサー 33845) を参照してください。
ソリューション 7
32 ビット システムでコンパイルに多量のメモリ (約 2GB) が必要なデザインをコンパイルすると、このエラーが発生することがあります。
ISim コンパイラ (fuse) でのメモリの使用量を確認してください。
致命的なクラッシュが発生する直前に大容量のメモリが使用されている場合は、サポートされている 64 ビット環境でデザインをシミュレーションしてください。
この問題は、今後の ISim のリリースで修正できるよう調査中です。
この問題が発生した場合は、ザイリンクス テクニカル サポート (http://japan.xilinx.com/support/techsup/tappinfo.htm) までご連絡ください。
ソリューション 8
$timeformat Verilog システム タスクがデザインで使用されている場合、この致命的エラーが発生します。
この問題は ISE Design Suite 11 アップデート 2 (11.2) で修正されています。
ISE Design Suite の最新アップデートは、次のダウンロード ページからダウンロードしてください。http://japan.xilinx.com/support/download/index.htm.
ソリューション 9
この致命エラーは、エンティティに制約の付いていないポートがあると発生することがあります。
次に例を示します。
Port ( S : in STD_LOGIC_VECTOR;
A : out STD_LOGIC_VECTOR(n-1 downto 0);
B : out STD_LOGIC_VECTOR(n-1 downto 0);
C : out STD_LOGIC_VECTOR(n-1 downto 0);
上記の場合、S ポートに (n-1 downto 0) を追加すると、エラーは回避できます。
アンサー レコード リファレンス
関連アンサー レコード