一部の合成属性は、RTL ファイルだけでなく XDC ファイルでも設定できます。通常、合成の最終段階で使用され、合成でのロジックの作成方法を指定する属性は、XDC ファイルで設定できます。合成の初期段階で使用され、コンパイラに影響する属性は、XDC ファイルでは設定できません。
たとえば、KEEP
および DONT_TOUCH
属性は XDC では設定できません。
これは、属性が XDC ファイルから読み込まれた時点では、KEEP
または DONT_TOUCH
属性が設定されたコンポーネントが既に最適化で削除されてしまっており、存在していない可能性があるからです。そのため、これらの属性は必ず RTL コードで設定してください。属性をどこで設定するかについては、この章の各属性のセクションを参照してください。
注記: XDC ファイルを読み込んだ時点では、マルチビット信号は合成で単一ノードとして存在します。このため、ベクター信号の個々のビットに属性を付けると、その属性は信号のすべてのビットに付けられます。
合成属性を XDC で設定するには、[Tcl Console] ウィンドウに次の構文を入力します。
set_property <attribute> <value> <target>
次に例を示します。
set_property MAX_FANOUT 15 [get_cells in1_int_reg]
これらの属性は、エラボレート済みデザインでも設定できます。これには、次の手順に従います。
- エラボレート済みデザインを開き、次のいずれかの方法を使用して、属性を設定するアイテムを選択します。
- 回路図でアイテムをクリックします。
- 次の図の RTL Netlist ビューでアイテムを選択します。
-
Cell Properties ウィンドウで Properties ビューをクリックし、次のいずれかを実行します。
- プロパティを変更します。
- プロパティが表示されていない場合は、右クリックして Add Properties をクリックするかツールバーの + ボタンをクリックして、[Add Properties] ダイアログ ボックスでプロパティを選択します。
これにより属性が現在の制約ファイルに保存されるか、制約ファイルが存在しない場合は新しい制約ファイルに保存されます。
注記: 同じ属性が XDC と RTL の両方で同じオブジェクトに設定されていても、属性の値が異なる場合は、XDC 属性が使用され、RTL 属性は無視されます。