AR# 54218

ISE 14.4 - XST で間違ったロジックが生成され加算器ツリーに関してシミュレーション不一致が発生する

説明

std_logic_vector オペランドのある加算器のツリーの深さが 3 レベルより深いと、XST で間違ったロジックが作成されます。

このロジックが原因でシミュレーションに不一致が発生します。

ソリューション

回避策として次のオプションがあります。

  1. ツリーの深さを変更して浅くする。
  2. エレメント タイプを std_logic_vector から整数に変更し、加算器操作の整数値を std_logic_vector 変換ファンクションを使用して std_logic_vector に変更する。
  3. 減算または乗算の演算子がツリーの枝葉に含まれている場合は、それを加算に変更する。


次の修正は、ISE ツールを GUI およびコマンド ラインで使用して XST を実行する場合に利用できます。この修正は加算器ツリーの最適化をオフにします。

1. XST を ISE の GUI から実行する場合 - Lin64 および NT64 のパッチが ISE 14.4、ISE 14.2、および ISE 13.4 に対して作成されています。これは ISE の GUI 用で、このアンサーの最後に添付されています。パッチを使用する場合は、環境変数 XIL_XST_ADDERTREE_ZERO を 1 に設定する必要があります。
2. XST をコマンド ラインから実行する場合 - run コマンドを実行する前に XST ファイルまたは SCR ファイル内に次のコードを追加します。

set -checkcmdline no
set -addertree 0

この問題は ISE Design Suite 14.5 で修正されています。上記の ISE の GUI およびコマンド ラインの回避策が含まれています。

AR# 54218
日付 04/11/2013
ステータス アクティブ
種類 既知の問題
ツール