--vivado
オプション (--vivado オプション を参照) および --advanced
オプション (--advanced オプション を参照) を使用すると、標準の Vivado 合成またはインプリメンテーションにさまざまな制御を適用できます。
- カスタム デザイン制約またはスクリプト化された操作を含む Tcl スクリプトを渡します。
XDC デザイン制約をデザインのオブジェクトに割り当てる Tcl スクリプトを作成し、その Tcl スクリプトを合成およびインプリメンテーション ステップの PRE および POST Tcl スクリプト プロパティを使用して Vivado ツールに渡すことができます。Tcl スクリプトの詳細は、 『Vivado Design Suite ユーザー ガイド: Tcl スクリプト機能の使用』 (UG894) を参照してください。合成ステップは 1 つですが、インプリメンテーションには、 『Vivado Design Suite ユーザー ガイド: インプリメンテーション』 (UG904) に説明されているように複数のステップがあります。Vivado ツール用の Tcl スクリプトをステップの前に実行するか (PRE)、後に実行するか (POST) を指定できます。Tcl スクリプトを割り当てることができるステップは、
SYNTH_DESIGN
、INIT_DESIGN
、OPT_DESIGN
、PLACE_DESIGN
、ROUTE_DESIGN
、WRITE_BITSTREAM
です。ヒント: さらに、--vivado.prop run.impl_1.steps.phys_opt_design.is_enabled=1
オプションを使用してイネーブルにできるオプションのステップがいくつかあります。イネーブルにすると、これらのステップにも Tcl PRE および POST スクリプトを指定できるようになります。次に、Tcl PRE および POST スクリプトの割り当て例を示します。
--vivado.prop run.impl_1.STEPS.PLACE_DESIGN.TCL.PRE=/…/xxx.tcl
この例では、PLACE_DESIGN ステップの前に実行するスクリプトを指定しています。コマンド ラインの各要素は、次のとおりです。
-
--vivado
: Vivado ツールの指示子を指定するv++
のコマンド ライン オプションです。 -
prop
プロパティ設定を渡すことを示すキーワードです。 -
run.
: run プロパティを渡すことを指定するキーワードです。 -
impl_1.
: run の名前です。 -
STEPS.PLACE_DESIGN.TCL.PRE
: 指定する run プロパティです。 - /.../xx.tcl: プロパティ値を指定します。
ヒント:--advanced
および--vivado
オプションはどちらもv++
コマンド ラインで指定するか、コンフィギュレーション ファイルで指定してそのコンフィギュレーション ファイルを--config
オプションで指定します。上記の例はコマンド ラインで指定する方法、下の例は設定ファイルで指定する方法を示します。詳細は、Vitis コンパイラのコンフィギュレーション ファイル を参照してください。 -
- run、ファイル、ファイルセットなどのデザイン オブジェクトにプロパティを設定します。これは上記の Tcl スクリプトを渡すのと似ていますが、この場合は複数のデザイン オブジェクトの異なるプロパティに値を渡します。たとえば、
Performance_Explore
のように特定のインプリメンテーション ストラテジを使用して、配置中のグローバル バッファー挿入をディスエーブルにするには、次のようにプロパティを定義します。[vivado] prop=run.impl_1.STEPS.OPT_DESIGN.ARGS.DIRECTIVE=Explore prop=run.impl_1.STEPS.PLACE_DESIGN.ARGS.DIRECTIVE=Explore prop=run.impl_1.{STEPS.PLACE_DESIGN.ARGS.MORE OPTIONS}={-no_bufg_opt} prop=run.impl_1.STEPS.PHYS_OPT_DESIGN.IS_ENABLED=true prop=run.impl_1.STEPS.PHYS_OPT_DESIGN.ARGS.DIRECTIVE=Explore prop=run.impl_1.STEPS.ROUTE_DESIGN.ARGS.DIRECTIVE=Explore
上記の例では、インプリメンテーション run の
STEPS.XXX.DIRECTIVE
プロパティさまざまなステップにExplore
という値を割り当てています。これらのプロパティを定義する構文は、次のとおりです。<object>.<instance>.property=<value>
説明:
-
<object>
: デザイン run、ファイル、またはファイルセット オブジェクトを指定します。 -
<instance>
: オブジェクトの特定のインスタンスを指定します。 -
<property>
: 割り当てるプロパティを指定します。 -
<value>
: プロパティの値を指定します。
この例では、オブジェクトは run、インスタンスはデフォルトのインプリメンテーション run (
impl_1
)、プロパティはさまざまなステップ名の引数で、この場合は DIRECTIVE、IS_ENABLED、および {MORE OPTIONS} です。コマンドの 構文の詳細は、--vivado オプション を参照してください。 -
-
Vivado インプリメンテーション プロセスでオプションのステップを有効にする。
ビルド プロセスは、Vivado 合成とインプリメンテーションを実行してデバイス バイナリを生成します。インプリメンテーション ステップの中には、デフォルトのビルド プロセスの一部として有効にして実行されるものもあれば、オプションで任意に有効にできるものもあります。
オプションのステップは、
--list_steps
コマンドを使用するとリストでき、ます。これには、vpl.impl.power_opt_design
、vpl.impl.post_place_power_opt_design
、vpl.impl.phys_opt_design
、およびvpl.impl.post_route_phys_opt_design
が含まれます。オプションのステップは、
--vivado.prop
オプションを使用するとイネーブルにできます。たとえば、PHYS_OPT_DESIGN ステップをイネーブルにするには、コンフィギュレーション ファイルに次を含めます。[vivado] prop=run.impl_1.steps.phys_opt_design.is_enabled=1
前述のようにオプションのステップが有効になっている場合、次の「--to_step または --from_step の実行実行」に示す
-from_step
/-to_step
コマンドの一部として指定するか、--linkhook オプション の説明に従って、そのステップの前または後に Tcl スクリプトが実行されるようにします。 - パラメーターをツールに渡して処理を制御します。
--vivado
オプションでも、Vivado ツールにパラメーターを渡すことができます。パラメーターは、ツールを起動する前にツールの機能または動作を設定します。パラメーターを指定する構文は、次のとおりです。--vivado.param <object><parameter>=<value>
キーワード
param
は、デザイン オブジェクトのプロパティではなく、Vivado ツールのパラメーターを渡すことを示します。適用するオブジェクト (<object>
)、指定するパラメーター (<parameter>
)、割り当てる値 (<value>
) も指定する必要があります。次の例では、現在の Vivado プロジェクト
writeIntermedateCheckpoints
を値 1 で渡して、このブール型パラメーターをイネーブルにしています。--vivado.param project.writeIntermediateCheckpoints=1
- 合成およびインプリメンテーション中に生成されるレポートを管理する。重要: Vivado ツールで生成されるレポートをカスタマイズする際、
v++
コマンド ラインで--save-temps
も指定し、合成およびインプリメンテーション中に生成される一時ファイルおよびレポートが保存されるようにします。また、Vitis ツールのビルド プロセスの一部として実行する際は、Vivado ツールで生成される標準レポート以外の追加レポートを生成および保存すると有益な場合があります。生成されるレポートをカスタマイズするには、
--advanced.misc
オプションを次のように使用します。[advanced] misc=report=type report_utilization name synth_report_utilization_summary steps {synth_design} runs {__KERNEL__} options {} misc=report=type report_timing_summary name impl_report_timing_summary_init_design_summary steps {init_design} runs {impl_1} options {-max_paths 10} misc=report=type report_utilization name impl_report_utilization_init_design_summary steps {init_design} runs {impl_1} options {} misc=report=type report_control_sets name impl_report_control_sets_place_design_summary steps {place_design} runs {impl_1} options {-verbose} misc=report=type report_utilization name impl_report_utilization_place_design_summary steps {place_design} runs {impl_1} options {} misc=report=type report_io name impl_report_io_place_design_summary steps {place_design} runs {impl_1} options {} misc=report=type report_bus_skew name impl_report_bus_skew_route_design_summary steps {route_design} runs {impl_1} options {-warn_on_violation} misc=report=type report_clock_utilization name impl_report_clock_utilization_route_design_summary steps {route_design} runs {impl_1} options {}
コマンド ラインの構文は、次の例を使用して説明します。
misc=report=type report_bus_skew name impl_report_bus_skew_route_design_summary steps {route_design} runs {impl_1} options {-warn_on_violation}
-
misc=report=
-
--advanced.misc
オプション (--advanced オプション を参照) を指定し、Vivado ツールのレポート設定を定義します。残りのコマンド ラインは、 『Vivado Design Suite Tcl コマンド リファレンス ガイド』 (UG835) に説明されているcreate_report_config
Tcl コマンドのオプションを、名前と値のペアで指定しします。 -
type report_bus_skew
-
-report_type
オプションに関連しており、レポート タイプをreport_bus_skew
に指定します。ほとんどのreport_*
Tcl コマンドをレポート タイプとして指定できます。 -
name impl_report_bus_skew_route_design_summary
-
-report_name
オプションに関連しており、レポートの名前を指定します。これはレポートのファイル名ではありません。レポート名はツールで自動生成されるので、通常このオプションはスキップできます。 -
steps {route_design}
-
-steps
オプションに関連しており、レポートを適用する合成およびインプリメンテーション ステップを指定します。レポートが各ステップで再生成されるようにレポートを複数のステップで使用するよう指定できます。その場合、レポート名は自動的に付けられます。 -
runs {impl_1}
-
-runs
オプションに関連しており、レポートを適用するデザイン run の名前を指定します。 -
options {-warn_on_violation}
- レポートを生成するときに使用する
report_*
Tcl コマンドのオプションを指定します。この例では、-warn_on_violation
はreport_bus_skew
コマンドの機能です。重要: 指定したオプションが指定したレポート タイプに正しく適用可能なものであることはチェックされません。無効なオプションを指定すると、レポートが実行されたときにエラーが返されます。
-