合成が完了したので、インプリメンテーションをスクリプト化します。インプリメンテーションには、プロジェクト モードと非プロジェクト モードの両方で、多くのステップがあります。ただし、プロジェクト モードの場合は、さまざまなステップをすべて制御するデザイン run ストラテジを選択して、それを実行します。非プロジェクト モードの場合は、デザイン run を使用せず、インプリメンテーションの各ステップを手動で実行し、各ステップで使用する Tcl コマンド オプションを選択して、インプリメンテーション ストラテジを決定する必要があります。また、ロジック最適化、消費電力最適化、物理合成など、一部のステップを省略するよう選択することも可能です。
この演習では、次のステップを実行します。
- ロジック最適化:
opt_design
- 配置:
place_design
- 物理合成:
phys_opt_design
- 配線:
route_design
- ビットストリーム生成:
write_bitstream
各ステップの詳細は、 『Vivado Design Suite ユーザー ガイド: インプリメンテーション』 (UG904) を参照してください。
各ステップ間で、インプリメンテーションのさまざまな段階のデザインを保存するため、レポートを生成したり、チェックポイントを書き出したりできます。
インプリメンテーションを起動する前に、インプリメンテーションのみで使用されるデザイン制約を読み込んでおく必要があります。XDC ファイル top_physical.xdc には、インプリメンテーションで使用される物理制約が含まれていますが、これを合成には適用しないでください。
このケースでは、合成でこれらの制約が無視されるので、合成前にインメモリ デザインに読み込んでおくことが可能でしたが、合成では使用されない異なったタイミング制約がこのファイルに含まれている可能性もあるので、合成の後、インプリメンテーション前にファイルを読み込む必要があります。
- Tcl スクリプトに次の行を追加します。
read_xdc ../Lab_3_4_sources/Constraints/top_physical.xdc
- Tcl スクリプトに最適化および配置コマンドを追加します。
opt_design place_design write_checkpoint -force post_place.dcp report_timing -file timing_place.rpt
配置が完了すると、スクリプトにより配置後のチェックポイントが書き出され、カスタムのタイミング レポートが作成されます。このレポートには、デザインのワースト タイミング パスの詳細が記載されています。
- Tcl スクリプトに物理合成および配線コマンドを追加します。
phys_opt_design route_design write_checkpoint -force post_route.dcp report_timing_summary -file timing_summary
配線が完了すると、スクリプトにより配線後のデザイン チェックポイントが書き出され、タイミング サマリ レポートが作成されます。
- 最後に、次の行を追加して、ビットストリームが生成されます。
write_bitstream -force sys_integration_top.bit
IP を使用した設計を含め、RTL ソース ファイルからデザインをインプリメントし、ビット生成までの非プロジェクト モードのデザイン フローがこれで完了しました。