AR# 6433

Exemplar - 合成プロセスでインスタンシエートされたザイリンクス コンポーネントが削除される (最適化)

説明

キーワード : optimize, component, removed, optimized out, instance, 最適化, コンポーネント, 削除, インスタンス

重要度 : 標準

概要 :
特定のザイリンクス コンポーネント (BUFG、BUFGDLL など) をインスタンシエートしましたが、合成の最適化コマンドを実行すると、インスタンシエートされたコンポーネントが削除されてしまいました。 間違ってインスタンシエートしてしまったのでしょうか。 ザイリンクス特有のコンポーネントをインスタンシエートする際、特定の属性を使用する必要がありますか。

ソリューション

1

ザイリンクス特有のコンポーネントをインスタンシエートする場合、合成でコンポーネントが削除されるべきではありません。 インスタンシエートされたコンポーネントが削除、または異なるコンポーネントに最適化された場合、合成ツールのバグに問題があります。

特定のインスタンスが削除されないようにするには、次の属性を使用します。

読み込みが終了したら、TCL スクリプトで次のように入力するか、GUI を使用して入力してから、最適化コマンドを使用します。

set_attribute -instance instance_name -name NOOPT -value TRUE

たとえば、インスタンス U1 から BUFG が削除される場合、次の構文を使用します。

set_attribute -instance U1 -name NOOPT -value TRUE

2

VHDL 構文 :

attribute noopt : boolean;
attribute noopt of <component_name> : <type> is TRUE;

たとえば、BUFG をインスタンス U1 から削除する場合、次の構文を使用します。

attribute noopt : boolean;
attribute noopt of U1 : label is TRUE;

3

Verilog 構文 :

//exemplar attribute <module_name> noopt TRUE

たとえば、BUFG をインスタンス U1 から削除する場合、次の構文を使用します。

//exemplar attribute U1 noopt TRUE
AR# 6433
日付 04/24/2007
ステータス アーカイブ
種類 一般