非プロジェクト モードでのソースの操作 - 2022.1 日本語

Vivado Design Suite ユーザー ガイド: システム レベル デザイン入力 (UG895)

Document ID
UG895
Release Date
2022-05-11
Version
2022.1 日本語

非プロジェクト モードの場合、ソース ファイルが自動的に管理されるプロジェクト モードと異なり、ソース ファイルはユーザーが管理する必要があります。Tcl コマンドを使用すると、ネットリスト、ビットストリーム、レポート ファイルなど、処理するファイルおよび生成する出力ファイルを指定できます。表 1 は、よく使用されるプロジェクト モードのコマンドとそれに対する非プロジェクト モードのコマンドをリストしています。デザイン フローのプロジェクト モードおよび非プロジェクト モードの詳細は、 『Vivado Design Suite ユーザー ガイド: デザイン フローの概要』 (UG892)このセクションを参照してください。Tcl コマンドの詳細は、 『Vivado Design Suite Tcl コマンド リファレンス ガイド』 (UG835) を参照してください。

注記: 非プロジェクト モードの場合、ファイルは Tcl スクリプトの read_* コマンドのリスト順にコンパイルされます。
注記: 現在のインストールで新しいパーツを選択するには、現在のプロジェクトを閉じて、現在のインストールをアップグレードしてパーツを追加してください。
表 1. プロジェクト モードと非プロジェクト モードのコマンド
操作 プロジェクト モードのコマンド 非プロジェクト モードのコマンド
デザイン ソースの読み込み

add_files

import_files

read_<file_type>

(例: read_verilogread_vhdlread_xdcread_edifread_ip)

非プロジェクト モードの場合、read_edif コマンドを使用すると NGC ファイルをインポートできます。

合成の実行 launch_runs synth_1 synth_design
インプリメンテーションの実行 launch_runs impl_1

opt_design

place_design

phys_opt_design

route_design

launch_runs impl_1 -to_step write_bitstream write_bitstream <file_name>
レポートの生成

report_timing

report_timing_summary

report_drc

report_methodology

report_clock_interaction

report_utlization

report_route_status

プロジェクト モードでは、多くのレポートが自動的に生成されます。すべてのレポートをリストするには、help report_* と入力します。

プロジェクト モードと同じ
シミュレーションの実行 launch_xsim

xsim

このコマンドは、Vivado IDE 外で Vivado シミュレーションを起動します。

デザイン チェックポイントの書き出し

write_checkpoint <file_name>.dcp

プロジェクト モードの場合、DCP ファイルはインプリメンテーションの段階ごとに自動的に作成されます。

プロジェクト モードと同じ

次は、さまざまなソース ファイルを読み込む非プロジェクト モードのスクリプト例です。

# create_bft_batch.tcl
# bft sample design 
# A Vivado script that demonstrates a very simple RTL-to-bitstream batch flow
#
# NOTE: typical usage would be "vivado -mode tcl -source create_bft_batch.tcl" 
#
# STEP#0: define output directory area.
#
set outputDir ./Tutorial_Created_Data/bft_output       
file mkdir $outputDir
#
# STEP#1: setup design sources and constraints
#
read_vhdl -library bftLib [ glob ./Sources/hdl/bftLib/*.vhdl ]     
read_vhdl ./Sources/hdl/bft.vhdl
read_verilog [ glob ./Sources/hdl/*.v ]
read_xdc ./Sources/bft_full.xdc
#
# STEP#2: run synthesis, report utilization and timing estimates, write checkpoint 
design
#
synth_design -top bft -part xc7k70tfbg484-2 -flatten rebuilt  
write_checkpoint -force $outputDir/post_synth
report_timing_summary -file $outputDir/post_synth_timing_summary.rpt
report_power -file $outputDir/post_synth_power.rpt
#
# STEP#3: run placement and logic optimzation, check against the UltraFast 
methodology checks, report utilization and timing estimates, write checkpoint design
#
opt_design
report_methodology -file $outputDir/post_opt_methodology.rpt
place_design
phys_opt_design
write_checkpoint -force $outputDir/post_place
report_timing_summary -file $outputDir/post_place_timing_summary.rpt
#
# STEP#4: run router, report actual utilization and timing, write checkpoint design, 
run drc, write verilog and xdc out
#
route_design
write_checkpoint -force $outputDir/post_route
report_timing_summary -file $outputDir/post_route_timing_summary.rpt
report_timing -sort_by group -max_paths 100 -path_type summary -file 
$outputDir/post_route_timing.rpt
report_clock_utilization -file $outputDir/clock_util.rpt
report_utilization -file $outputDir/post_route_util.rpt
report_power -file $outputDir/post_route_power.rpt
report_drc -file $outputDir/post_imp_drc.rpt
write_verilog -force $outputDir/bft_impl_netlist.v
write_xdc -no_fixed_only -force $outputDir/bft_impl.xdc
#
# STEP#5: generate a bitstream
# 
write_bitstream -force $outputDir/bft.bit