AR# 40378

XST のデザイン アシスタント - XST でのメモリ不足エラーについて

説明

XST でのメモリ不足エラーの解決方法はこのアンサーを参照してください。

メモ : このアンサーは、XST のザイリンクス ソリューション センター (ザイリンクス アンサー 38927) の一部です。XST のザイリンクス ソリューション センターには、XST に関するすべての質問が集められています。デザインを新しく作成する場合、または問題をトラブルシュートする場合は、XST のソリューション センターから正確な情報を入手してください。

ソリューション

XST で次のようなメモリ不足のエラー メッセージが表示されます。

ERROR:Portability:3

このエラーは XST に特定のものではなく、メモリ使用容量を知らせるメッセージです。 こちらにあるメモリに関する推奨事項に沿っているかどうかをまずは確認してください。memory recommendations

または、コードにあるコンストラクトのいくつかにより XST でメモリ リークが発生している可能性もあります。XST でメモリ不足が起きる理由には次のものが考えられます。
  • 入れ子になっている (ネストされている) ループ
  • 入れ子になっている if-else 文が大きい
  • XST の HDL オプション (HDL オプションについては次の図を参照)


XST でエラーが出力されるまで通常は時間がかかるので、メモリ リークの発生を指摘するのは困難な場合があります。その時間を短縮するには、関係のないモジュールを削除することです。モジュールをブラック ボックスにしたり、下位モジュールを上位にコンパイルしてみてください。これでエラーが出力されるまでの時間を短縮することができます。モジュールを 1 つに絞るか、ある程度絞ったら、次はポートを削除していきます。これはあくまでもデバッグを目的にした作業です。

まず最上位ポートを削除することを推奨します。最上位出力ポートを削除すると、それより下にある部分を XST で削除できます。モジュールからポートを削除した後、デザインのコードのセクションをコメント アウトします。コードを十分コメント アウトして、数行のコードに絞ったら、この残りの部分を信号ではなく定数でコードを書き直してみます。これでさらに問題のある可能性のある箇所を絞り込むことができます。

1 行のコードに絞り込んだら、機能性は維持しつつコードを変更してみてください。信号を分割したり、まとめたりすることで、メモリ リークを避けることができる場合があります。

今後のリリースでこのメモリ不足のエラーを解決していくために、ウェブ ケースを開いていただくと大変助かります。ウェブ ケースを開くときには、ザイリンクス テクニカル サポートにテスト ケースをいっしょに送ってください。

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
38927 XST に関するザイリンクス ソリューション センター N/A N/A

関連アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
39137 XST のデザイン アシスタント - XST エラーの回避 N/A N/A
AR# 40378
日付 01/16/2013
ステータス アクティブ
種類 一般