23363 - 11.1 MAP - MAP のクラッシュに関する情報

アンサー データベースの検索


 

11.1 MAP - MAP のクラッシュに関する情報

アンサー # 23363
パーツ SW-MAP
最終更新日 2009-05-06 00:00:00.0
ステータス Active
キーワード DeleteInterpProc, Segmentation fault, core dump, Map:Portability/export/Port_Main.h:127:1.22.234.1, セグメント化, コア ダンプ, マップ

問題の詳細

キーワード : DeleteInterpProc, Segmentation fault, core dump, Map:Portability/export/Port_Main.h:127:1.22.234.1, セグメント化, コア ダンプ, マップ

インプリメンテーションのマップの段階で、デザインがクラッシュします。この問題に対する回避策はありますか。エラー メッセージに問題の原因が示されないのはなぜですか。これはなぜですか。

このアンサーでは、MAP アプリケーションのクラッシュについて、その詳細、調査方法、ザイリンクスのテクニカル サポートへの連絡方法などを示します。

MAP のクラッシュについて

MAP のクラッシュとは、アプリケーションでエラーが発生し、突然停止してしまう状況です。この状況が発生した場合、次のような一般的なエラー メッセージが表示されます。

Linux :
Segmentation fault (core dumped)

Windows :
FATAL_ERROR:Map:Portability/export/Port_Main.h
または
DeleteInterpProc called with active evals

MAP のクラッシュ メッセージに問題の原因が示されない理由

クラッシュは、アプリケーションで深刻な問題が発生した状況であり、ツール自体が問題を診断することは不可能です。クラッシュが発生した状況以外に情報はありません。クラッシュはソフトウェアのバグであることがほとんどですが、DRC エラーとなるような予期されないものが入力デザインに含まれる場合にも発生します。

これと比較すると、致命的なエラー (FATAL_ERROR) は致命的ではありますが、アプリケーションは実行されており、エラーに関する情報がレポートされます。

MAP のクラッシュの調査方法

1. クラッシュが発生した時点で実行されていた MAP のフェーズを特定します。この情報は、問題の根本的な原因を追跡するための開始点となります。たとえば、デザインに MAP のパック制約を追加した後に「Running directed packing...」フェーズでクラッシュした場合、追加した制約がクラッシュに関連していると考えられます。「Running timing-driven packing...」フェーズでクラッシュした場合は、番号の付いた配置フェーズが実行されていたはずです。関連していた配置フェーズを記録してください。

2. NGDBuild および MAP のレポート ファイル (.bld および .mrp) の警告メッセージを確認します。予測されない無効な回路コンフィギュレーションによりクラッシュが発生することがよくあります。ほとんどの場合、あるフェーズが実行される前に警告メッセージが表示されるので、クラッシュの発生原因を追跡するのに役立ちます。

3. 異なるオプションを使用して MAP を実行してみます。特に、「Invoking physical synthesis ...」フェーズでクラッシュしている場合、物理合成に関連するオプション (-logic_opt および -register_duplication) のどちらかまたは両方をオフにしてみてください。-logic_opt オプションは、ISE の [Combinational Logic Optimization] プロパティに対応します。「Running timing-driven packing...」フェーズまたはその後の配置フェーズでクラッシュしている場合は、タイミング ドリブン パック オプション (-timing) をオフにして実行してみてください。

メモ : GUI を使用している場合、MAP のメッセージがすばやくスクロールしてしまい、ログ ファイルも保存されないので (ISE 9.1i からはログ ファイルが保存される)、関連するフェーズになじみがないかも知れません。MAP レポート (.mrp) の最初の方に記述されているコマンドを使用して、コマンド ラインから MAP を実行すると、問題の解析に役立ちます。MAP コマンドを実行する際にパイプ機能を使用して tee コマンドで出力を画面に表示し、ファイルに保存することにより、ログ ファイルを作成することも可能です。

例 :
map -o test.ncd test.ngd | tee map.log

MAP のクラッシュを回避する方法

1. アンサー データベースで既知の問題を確認します。アンサーには、ほとんどの場合回避策が記載されています。
2. さまざまなオプションを試します。
3. 最新のサービス パックをインストールしていない場合は、インストールします。
http://japan.xilinx.com/xlnx/xil_sw_updates_home.jsp
4. 可能な場合は、別のプラットフォームで実行してみます。クラッシュが Windows のみまたは Linux のみの問題である場合もあります。
5. ウェブケースを開き、クラッシュの調査をザイリンクスに依頼します。この場合、テスト ケースを提供してください。

アンサー データベースで MAP のクラッシュに関する情報を検索する方法

クラッシュが発生したフェーズに関する既知の問題を検索します。たとえば、「Mapping design into LUTs...」フェーズでクラッシュしている場合、「map crash "Mapping design into LUTs..."」を検索すると、検索されたアンサーのうち 2 つはこのフェーズでのクラッシュに関するものです。8.1i ソフトウェアを実行している場合は、(Xilinx Answer 22999) のみが該当します。8.1i サービス パック 3 以降を使用している場合は、該当するアンサーはありません。その場合は、ザイリンクス テクニカル サポートまでご連絡ください。配置のフェーズで問題が発生している場合は、MAP および PAR の両方のフェーズに関連する既知の問題を検索してください。

問題に一致するアンサーには使用しているバージョンのソフトウェアよりも前のバージョンで修正されていると記載されているが、問題が再発したのか

修正されていると記載されている問題と同じエラー モードの問題が発生している場合、問題は完全に同一ではありません。関連した問題であり、同じ回避策で解決する場合や、エラー モードが同じだけである場合もあります。

ザイリンクス テクニカル サポートに MAP のクラッシュを報告する方法

クラッシュが発生したフェーズをお知らせください。使用したコマンド ラインおよび画面に表示されたすべてのメッセージも役立ちます。MAP では、合成および配置アルゴリズムも含め、多くのフェーズが実行されます。フェーズを特定することにより、問題の本格的な調査を開始することができます。問題を調査するためのテスト ケースが必要な場合もあります。プロジェクト ディレクトリ全体を提供していただくのが理想的です。MAP のエラーを再現するのに NGD ファイルを使用できますが、ネットリスト ソースおよび制約ファイルがないと、MAP 制約を使用した回避策を試すことはできません。

ソリューション

ISE 10.1 での MAP クラッシュに関する既知の問題 :

(Xilinx Answer 21862) - 物理合成中に MAP がクラッシュする
(Xilinx Answer 29860) - MAP がフェーズ 15.34 後にクラッシュする
(Xilinx Answer 31625) - MAP が「Mapping Design in LUTs ...」フェーズ中にクラッシュする" phase of MAP
 
 
/csi/footer.htm