このデザインの場合、最上位のタイミング制約を clk_wiz_0 モジュールに適用できるよう、Clocking Wizard IP に含まれている XDC ファイルをディスエーブルにします。この IP の出力ファイルは生成されていないので、まずは合成ターゲットを生成がありますが、この中に XDC ファイルも含まれています。
プロジェクト モードでは、手動で出力ファイルを生成する必要はありません。 Vivado® ツールのデザイン フローでは、適宜自動的に IP から出力ファイルが生成されます。この中に、Vivado合成 DCP の生成も含まれます。ただし、ここでは clk_wiz IP で配布される XDC ファイルのプロパティを変更するので、そのプロパティを変更するには、制約ファイルを作成するため手動で出力ファイルを生成する必要があります。
さらに、IP の XDC ファイルを使用しないように設定し、最上位デザインの合成中に制約を提供するので、clk_wiz 合成 DCP (またはネットリスト) の生成もディスエーブルにする必要があります。
- 合成デザイン チェックポイント (DCP) ファイルの自動生成をディスエーブルにするには、スクリプトに次を追加します。
set_property generate_synth_checkpoint false [get_files clk_wiz_0.xci]
- これで、デザインを合成しても、アウト オブ コンテキスト (OOC) モジュール合成 run が自動的に作成されず、clk_wiz_0 IP も自動的に起動しません。代わりに、clk_wiz_0 IP は最上位デザインの一部として合成されます。
- Tcl スクリプトに
generate_target
コマンドを追加します。generate_target all [get_files clk_wiz_0.xci]
複数の出力ファイルを生成する場合は、
{synthesis instantiation_template}
などのコマンドにリストを渡します。または、すべてを指定して、使用可能な出力ファイルをすべて生成することもできます。ヒント: IP でサポートされている出力ファイルを確認するには、IP に対しreport_property
コマンドを実行するか、または、IP からKNOWN_TARGETS
プロパティを取得するため get_property を実行します。たとえば、次の行はスクリプトに追加しないでください。report_property [get_ips clk_wiz_0]
get_property KNOWN_TARGETS [get_ips clk_wiz_0]
- Clocking Wizard で配布される XDC 制約をディスエーブルにするには、ファイルの名前が必要です。
get_files
コマンドに-of_objects
および-filter
オプションを指定して、IP で配布される XDC ファイルを検索します。 - Clocking Wizard IP の XDC ファイル名を Tcl 変数に取り込むには、スクリプトに次の行を追加します。
set clk_wiz_xdc [get_files -of_objects [get_files \ clk_wiz_0.xci] -filter {FILE_TYPE == XDC}]
これで、Clocking Wizard で配布される XDC ファイルの名前が返されます。
- XDC ファイルをディスエーブルにするには、スクリプトにこの行も追加します。
set_property is_enabled false [get_files $clk_wiz_xdc]
clk_wiz IP で配布される XDC ファイルは、スクリプトを実行するとディスエーブルになります。
ヒント: プロジェクト内でどの XDC ファイルが評価され、どういう順序でファイルが処理されるのかをチェックするには、-constraints
オプションを指定してreport_compile_order
コマンドを使用します。