非プロジェクト モードのサンプル スクリプト - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: インプリメンテーション (UG904)

Document ID
UG904
Release Date
2023-11-01
Version
2023.2 日本語

次に、非プロジェクト モードでインプリメンテーションを実行するスクリプト例を示します。スクリプト名が run.tcl である場合、Tcl シェルに「source run.tcl」と入力してスクリプトを呼び出します。

注記: read_xdc ステップでは、XDC ファイルから XDC 制約が読み出され、制約がデザイン オブジェクトに適用されます。このため、XDC 制約が目的のデザイン オブジェクトに必ず適用されるようにするには、read_xdc の前に、すべてのネットリスト ファイルを Vivado に読み込んで link_design を実行しておく必要があります。
source run.tcl

# Step 1: Read in top-level EDIF netlist from synthesis tool 
read_edif c:/top.edf
# Read in lower level IP core netlists 
read_edif c:/core1.edf
read_edif c:/core2.edf

# Step 2: Specify target device and link the netlists
# Merge lower level cores with top level into single design 
link_design -part xc7k325tfbg900-1 -top top

# Step 3: Read XDC constraints to specify timing requirements 
read_xdc c:/top_timing.xdc
# Read XDC constraints that specify physical constraints such as pin locations 
read_xdc c:/top_physical.xdc

# Step 4: Optimize the design with default settings 
opt_design

# Step 5: Place the design using the default directive and save a checkpoint 
# It is recommended to save progress at certain intermediate steps
# The placed checkpoint can also be routed in multiple runs using different options 
place_design -directive Default
write_checkpoint post_place.dcp

# Step 6: Route the design with the AdvancedSkewModeling directive. For more information
# on router directives type 'route_design -help' in the Vivado Tcl Console route_design -directive AdvancedSkewModeling

# Step 7: Run Timing Summary Report to see timing results report_timing_summary -file post_route_timing.rpt
# Run Utilization Report for device resource utilization 
report_utilization -file post_route_utilization.rpt

# Step 8: Write checkpoint to capture the design database;
# The checkpoint can be used for design analysis in Vivado IDE or TCL API
write_checkpoint post_route.dcp