AR# 15336

|

8.1i XST - 「ERROR: Portability:3 This Xilinx application has run out of memory or has encountered a memory conflict...」というエラー メッセージが表示される

説明

7.1i, space, スペース, 容量

パッケージ 1 つ、エンティティ 2 つ、アーキテクチャ 2 つを 1 つのファイルに組み込もうとすると、すべてのメモリ リソースが使用され、次のようなエラー メッセージが表示されます。

''ERROR: Portability:3 - This Xilinx application has run out of memory or has encountered a memory conflict...''

ソリューション

1

パッケージ 1 つ、エンティティ 2 つ、アーキテクチャ 2 つを 1 つのファイルに組み込もうとすると、XST で上記のようなエラー メッセージが表示されます。

パッケージ ファイル、各エンティティ、対応するアーキテクチャを個別のファイルに入れると、適正に合成されます。

2

XST で大型ステート マシンを合成すると、メモリが不足します。XST ログ ファイルを確認してください。FSM 抽出中に XST が停止する場合は、次のように FSM コーディングを無効にします。

1. ISE プロジェクトを開きます。
2. [Processes] ウィンドウで [Synthesize] を右クリックします。
3. [Properties] をクリックします。
4. [HDL Options] タブをクリックします。
5. [FSM Encoding Algorithm] を [Auto] から [None] に変更します。
6. [OK] をクリックします。

または、長い FSM 論理式に中間信号を作成し、短い式に区切ります。

3

コンポーネント/モジュールを何度もインスタンシエートすると、大量のメモリが使用されます。コンポーネント/モジュール 1 つを合成してから、ブラックボックスとしてインスタンシエートすると、メモリは大量に使用されません。コンポーネント/モジュールを合成する場合、IBUF/OBUF コンポーネントは使用しないでください。

1. ISE プロジェクトを開きます。
2. [Processes] ウィンドウで [Synthesize] を右クリックします。
3. [Properties] をクリックします。
4. [Xilinx Specific Options] タブをクリックします。
5. [Add I/O Buffers] をオフにします。
6. 下位コンポーネント/モジュールをメイン プロジェクトから削除し、デザインを合成します。

4

デザインに、ネストされた if 文が多数あると、メモリが不足してしまいます。if 文が次のような形式になっているとします。


if (cond2) begin
(...)
end

これを、次のように変更します。

if (cond1 & cond2) begin
(...)
end

このように変更すると、メモリの使用量が少なくなります。この問題は、9.1i ソフトウェア リリースで修正される予定です。
AR# 15336
日付 12/15/2012
ステータス アクティブ
種類 一般
People Also Viewed