AR# 53319

ISE 14.x - XST - メモリ記述に関して異なるコンディションで異なるデータを同じアドレスに書き込むことは XST 14.2 で可能か

説明

メモリ記述に関して、異なるコンディションで異なるデータが同じアドレスに書き込まれる HDL コードがあると、XST 14.2 はこの状況を処理することができず、ロジックが間違いになります。

ソリューション


上記のシナリオを説明する HDL コード例は次のとおりです。

if rising_edge( clk ) then

if (rst) then
mem(addr) <='0';
else
mem(addr) <= data;
end if;
end if;

このコード例では、異なるコンディションで異なるデータが同じアドレスに書き込まれます。この例では rst が High および rst が Low の場合、同じアドレス addr に 0 または data が書き込まれますが、このタイプのデータ処理は XST 14.2 ではサポートされていないのでロジックが間違いなります。この問題は、XST 14.4 でフラグ/スイッチを使用して修正されています。XST でこの動作をサポートするには、run コマンドの前に、SCR/XST ファイルに次の行を追加する必要があります。

set -checkcmdline no
set -merge_ram_enables 1

次の警告メッセージが合成レポート ファイルに表示される場合は、修正には関係がないので無視してください。

WARNING:Xst:15 - skipping parameter : merge_ram_enables
WARNING:Xst:1363 - Option "-merge_ram_enables" is not available for command set.

今後のリリースでこの警告メッセージを削除するための変更リクエストが提出されています。
AR# 53319
日付 02/19/2013
ステータス アクティブ
種類 既知の問題
デバイス
ツール