この時点で、Tcl スクリプトで read_xdc
を使用して、合成およびインプリメンテーションの両方で使用される XDC ファイルを読み込む必要があります。
- Tcl スクリプトに次を追加します。
read_xdc ../Lab_3_4_sources/Constraints/top_timing.xdc
これでデザインの合成準備ができました。
非プロジェクト モードでは、プロジェクト モードとは違い、起動すべきデザイン run はなく、また、使用されるストラテジやデザインのステートを管理するインフラストラクチャもありません。したがって、合成およびインプリメンテーションのさまざまな段階を手動で起動します。
- 合成の場合は、synth_design コマンドを使用します。Tcl スクリプトに次を追加します。
synth_design -top sys_integration_top
既にインメモリ プロジェクトを作成し、ターゲット パーツを設定しているので、ターゲット パーツをここで定義する必要はありませんが、
synth_design
コマンドを使用して最上位モジュール名を指定する必要があります。手順 1 でインメモリ デザインにさまざまな Verilog ファイルを読み込んであるので、デザインのソース ファイルを読み込むときに、
`include
文を使用してほかのファイルを参照はしません。参照する場合は、-include_dirs
オプションを使用して`include
検索ディレクトリを定義する必要があります。合成後、結果を保存するためデザイン チェックポイントを生成する必要があります。こうしておくと、再度合成を実行しなくても、任意時に合成済みデザインを復元できます。
- Tcl スクリプトに次の
write_checkpoint
コマンドを追加します。write_checkpoint -force post_synth.dcp
-force
オプションは、同じチェックポイント ファイルが既に存在する場合、ファイルを上書きするために使用されます。この時点で、合成後のタイミング サマリ レポートなど、必要なレポートを生成することもできます。
- Tcl スクリプトに次の行を追加します。
report_timing_summary -file timing_syn.rpt
このコマンドにより、デザインの完全タイミング レポートが作成され、ファイルにそのレポートが書き込まれます。