#はじめに
Xilinx 社のFPGA開発環境の Vivado、いちいち GUI でマウスボタンをポチポチするのは面倒です。
Vivado は Tcl スクリプトでバッチ処理が出来るので、決まり切った仕事なら Tcl スクリプトを書いて処理させたほうが楽です。
この記事では、Vivado でシミュレーションするTclスクリプトを解説します。
#環境
- Xilinx Vivado 2015.4
- Xilinx Vivado 2016.4
- Xilinx Vivado 2017.1
- Xilinx Vivado 2017.2
#Tclスクリプトの説明
##1 プロジェクトを開く
このスクリプトではすでにプロジェクトが作られていることを前提にしています。
変数 project_name にプロジェクト名を、変数 project_directory にプロジェクトのあるディレクトリを設定しておきます。
この例では、project_name に "project" を、project_directory にTclスクリプトのあるディレクトリを指定しています。
set project_directory [file dirname [info script]]
set project_name "project"
open_project [file join $project_directory $project_name]
##2 実行時間を設定する
シミュレーションする実行時間(runtime)を設定します。設定しない場合は、Vivado のデフォルト値である 1000ns が設定されます。
set_property -name {xsim.simulate.runtime} -value {1000ns} -objects [get_filesets sim_1]
シミュレーションが明示的に終了されるまで無限に実行する場合は次のように all を指定します。
set_property -name {xsim.simulate.runtime} -value {all} -objects [get_filesets sim_1]
##3 シミュレーションを実行する
launch_simulation
##4 プロジェクトを閉じる
close_project
#Tclスクリプトの実行
Vivado のバッチモードで実行する
Tclスクリプトを Vivado のバッチモードで実行する場合は次のようにします。
shell% vivado -mode batch -source simulation.tcl
##Vivado の GUIモードから実行する
Tclスクリプトを Vivado のGUIモードから動かす場合は次のようにします。
Vivado > Tools > Run Tcl Script... > simulation.tcl
#Tclスクリプトサンプル
#
# simulation.tcl Tcl script for simulation
#
set project_directory [file dirname [info script]]
set project_name "project"
#
# Open Project
#
open_project [file join $project_directory $project_name]
#
# Set runtime
#
set_property -name {xsim.simulate.runtime} -value {all} -objects [get_filesets sim_1]
#
# Run Simulation
#
launch_simulation
#
# Close Project
#
close_project
#参考