Vivado IDE では、次の 3 つのモードで出力ファイルを生成できます。
- [Global]: デザイン全体のトップダウン合成で使用される出力ファイルを生成します。ブロック デザインのアウト オブ コンテキスト合成がディスエーブルになり、デザインのほかの部分と共に合成されます。
- [Out of context per IP]: ブロック デザインで使用される IP それぞれに対する出力ファイルを生成し、ブロック デザインで使用される IP ごとに DCP を作成します。このオプションを IP キャッシュと共に使用すると、IP が変更されない場合に、Vivado 合成でその IP の出力ファイルは生成し直されないので、合成時間を大幅に短縮できます。IP キャッシュの使用に関する詳細は、 『Vivado Design Suite ユーザー ガイド: IP を使用した設計』 (UG896) のこのセクションを参照してください。
- [Out of context per Block Design]: ブロック デザイン自体のデザイン チェックポイントを生成して、ブロック デザインを最上位デザインから独立させてアウト オブ コンテキストで合成します。このオプションは通常、サードパーティ合成を使用する場合に選択します。
次の図は、[Generate Output Products] ダイアログ ボックスを示しています。
[Global] モード
このモードを選択すると、最上位デザイン全体の合成済みデザイン チェックポイント (DCP) が生成されますが、ブロック デザインまたは個々の IP のデザイン チェックポイントは生成されません。ブロック デザイン全体がトップ ダウン合成モードで生成されます。[Design Runs] ウィンドウでは、1 つの合成 run のみが定義されます。
[Global Synthesis] モードで出力ファイルを生成する Tcl コマンドは、次のとおりです。
set_property synth_checkpoint_mode None [get_files <name_of_bd>.bd]
generate_target all [get_files <name_of_bd>.bd]
[Out of context per IP] モード
このモードを選択すると、デザインにインスタンシエートされている各 IP に対してアウト オブ コンテキスト (OOC) 合成 run および DCP が生成されます。[Sources] ウィンドウに、ブロック デザインに含まれる各 IP に対して、IP が OOC とマークされていることを示す四角形のアイコンが表示されます。
[Design Runs] ウィンドウには、ブロック デザインで使用される各 IP の合成 run が表示されます。
[Out of context per IP] モードでの個々の出力ファイルの生成には、グローバル合成 run よりも多少時間が長くかかりますが、2 回目以降の実行では最上位デザイン全体が再合成されるのではなく変更されたブロックまたは IP のみが再合成されるので、実行時間が短縮されます。このモードで IP キャッシュをイネーブルにすると、再カスタマイズまたはパラメーター伝搬により変更された IP のみが再合成または再カスタマイズされるので、Vivado 合成の実行時間はさらに短縮されます。
[Out-of-Context per IP] モードで出力ファイルを生成する Tcl コマンドは、次のとおりです。
set_property synth_checkpoint_mode Hierarchical [get_files <name_of_bd>.bd]
generate_target all [get_files <name_of_bd>.bd]
IP キャッシュのイネーブル/ディスエーブルおよび関連の設定は、次の図に示すように、[Settings] ダイアログ ボックスの [IP] ページで指定できます。
[Cache scope] は、デフォルトでは [Local] に設定されています。この設定を [Disabled] または [Remote] に変更することもできますが、合成モードを [Out of context per IP] に設定している場合は、[Cache scope] を [Local] または [Remote] に設定することを強くお勧めします。
Vivado で [Cache scope] を [Local] に設定すると、プロジェクト フォルダーに <project_name>.cache フォルダーが作成され、ブロック デザインのすべての IP のコンフィギュレーション データおよび合成結果が保存されます。[Cache scope] を [Remote] に設定すると、[Cache location] で指定した IP キャッシュ フォルダーが作成されます。
[Clear Cache] をクリックすると、キャッシュ データをクリアできます。
[Out of context per Block Design] モード
このモードは、通常サードパーティ合成ツールを使用する場合に使用され、ブロック デザインを OOC モジュールとして合成し、ブロック デザイン全体のデザイン チェックポイントを作成します。次の図に示すように、[Sources] ウィンドウに ブロック デザインのデザイン チェックポイント ファイル (DCP) が表示されます。
ブロック デザインの横に OOC にマークされていることを示す四角形のアイコンが示されます。[Design Runs] ウィンドウには、ブロック デザインの OOC 合成が表示されます。
Add Sources ウィザードを使用して ブロック デザインを合成済みネットリストとしてほかのプロジェクトに追加すると、DCP ファイルがプロジェクトに追加されます。デザイン ソースとして ブロック デザインを追加する方法については、 『Vivado Design Suite ユーザー ガイド: システム レベル デザイン入力』 (UG895) のこのセクションを参照してください。
[Out-of-Context per Block Design] モードで出力ファイルを生成する Tcl コマンドは、次のとおりです。
set_property synth_checkpoint_mode Singular [get_files <name_of_bd>.bd]
generate_target all [get_files <name_of_bd>.bd]