IP サンプル デザインのインプリメンテーション
IP サンプル デザインのインプリメンテーションを実行するプロジェクトを作成します。
# Create a project
create_project <name> <dir> -part <part>
# Create an IP customization and a DCP
# This will also generate all the output products
create_ip ...
create_ip_run [get_ips <ip>.xci]
launch_runs <ip>_synth_1
wait_on_run <ip>_synth_1
# Open the example design for the IP
# This will use the IP DCP generated
open_example_project -force -dir <project_location> -in_process [get_ips <ip>]
launch_runs synth_1
wait_on_run synth_1
launch_runs impl_1
wait_on_run impl_1 -to write_bitstream
open_run impl_1
# produce some reports
report_timing_summary ...
report_utilization ...
非プロジェクト合成
非プロジェクト フローのデザインを合成およびインプリメントする場合、1 つの IP には OOC DCP が生成され、別の IP はユーザー ロジックと共に合成されます。
IP XCI ファイルを読み込む際に、OOC DCP を含むすべての出力ファイルが使用されるので、それらを生成する必要はありません。
IP の出力ファイルが生成されていない場合は、出力ファイルを生成するか、または出力ファイルを生成する synth_ip
コマンドを使用して DCP を作成する必要があります。
IP に対してグローバル合成を使用するように選択した場合は (IP の合成オプションを参照)、チェックポイント サポートをオフにして出力ファイルを生成する必要があります。次の Tcl スクリプトは、このためのテンプレートとして使用できます。
#create an in memory project to provide the part to use for IP creation and for
#running synthesis
set_part <part>
# read in sources
read_verilog top.v
# Read in an existing IP customization
# or create an IP from scratch
# create_ip ... or read_ip ip1.xci
# Generate a DCP for the IP
# will generate output products if needed
synth_ip [get_ips ip1]
# Read in an existing IP customization
# or create an IP from scratch
# create_ip ... or read_ip ip2.xci
# Set IP to use global synthesis (no DCP generated)
set_property generate_synth_checkpoint false [get_files ip2.xci]
# Need to generate output products for IP
generate_target all [get_ips ip2]
# synthesis the complete design
synth_design -top top
# run implementation
opt_design
place_design
route_design
# write the bitstream
write_bitstream -file top
IP サンプル デザインのシミュレーション
IP サンプル デザインのシミュレーションを実行するためのプロジェクトを作成します。
#create the project
create_project <name> <dir> -part <part>
# create IP and a synthesis run
create_ip ...
create_ip_run [get_ips <ip_name>]
#launch runs
launch_runs <ip>_synth_1
wait_on_run <ip>_synth_1
#open the example project
open_example_project -force -dir <project_location> -in_process [get_ips <ip>]
#launch simulation
<launch_simulation> | <target_simulator>
IP の合成およびシミュレーション
IP にサンプル デザインが含まれず、テストベンチが含まれる場合は、IP のみをシミュレーションできます。
#create the project
create_project <name> <dir> -part <part>
# create_ip ... or add_files ip.xci
# create an IP design run
create_ip_run [get_ips <ip_name>]
#launch IP synthesis run
launch_run <ip>_synth_1
wait_on_run <ip>_synth_1
# Setting up simulation test bench
set_property top <tb> [current_fileset -simset]
# Launch simulation
<launch_simulation> | <target_simulator>
ビデオ: 詳細は、Vivado Design Suite QuickTake ビデオ: Vivado で制約ファイルとして Tcl スクリプトを使用をご覧ください。