Vivado シミュレータ クイック リファレンス ガイド - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: ロジック シミュレーション (UG900)

Document ID
UG900
Release Date
2023-10-18
Version
2023.2 日本語

次の表に、よく使用される AMD Vivado™ シミュレータ コマンドのクイック リファレンスおよび例を示します。

表 1. スタンドアロン モード: コマンド ラインからの解析、エラボレート、シミュレーションの実行
HDL ファイルの解析
Vivado シミュレータでは、Verilog、SystemVerilog および VHDL の 3 つのタイプの HDL ファイルがサポートされています。これらのサポートされるファイルは、XVHDL および XVLOG コマンドを使用して解析できます。
VHDL ファイルの解析

xvhdl file1.vhd file2.vhd

xvhdl -work worklib file1.vhd file2.vhd

xvhdl -prj files.prj

Verilog ファイルの解析

xvlog file1.v file2.v

xvlog -work worklib file1.v file2.v

xvlog -prj files.prj

SystemVerilog ファイルの解析

xvlog -sv file1.v file2.v

xvlog -work worklib -sv file1.v file2.v

xvlog -prj files.prj

PRJ ファイル形式に関する詳細は、プロジェクト ファイル (.prj) の構文を参照してください。

その他の xvlog および xvhdl オプション
xvlog および xvhdl の主なオプション

コマンド オプションの全リストは、表 1 を参照してください。

次は、xvlog および xvhdl の主なオプションです。

主なオプション 適用先
xelab、xvhdl、xvlog xsim コマンド オプション xvlog
xelab、xvhdl、xvlog xsim コマンド オプション xvlogxvhdl
xelab、xvhdl、xvlog xsim コマンド オプション xvlog
xelab、xvhdl、xvlog xsim コマンド オプション xvlogxvhdl
xelab、xvhdl、xvlog xsim コマンド オプション xvlogxvhdl
xelab、xvhdl、xvlog xsim コマンド オプション xvlogxvhdl
xelab、xvhdl、xvlog xsim コマンド オプション xvlog, xvhdl
xelab、xvhdl、xvlog xsim コマンド オプション xvhdl, vlog
xelab、xvhdl、xvlog xsim コマンド オプション xvlogxvhdl
実行可能なスナップショットのエラボレートおよび生成

解析後は、XELAB コマンドを使用して、デザインを Vivado シミュレータでエラボレートできます。XELAB では、実行可能なスナップショットが生成されます。

解析段階を飛ばして直接 XELAB コマンドを実行し、PRJ ファイルを渡すこともできます。XELAB でファイルを解析するため XVLOG および XVHDL が呼び出されます。

使用法 xelab top1 top2 2 つの最上位デザイン ユニット (top1 および top2) を含むデザインをエラボレートします。この例では、デザイン ユニットが work ライブラリにコンパイルされます。
xelab lib1.top1 lib2.top2 2 つの最上位デザイン ユニット (top1 および top2) を含むデザインをエラボレートします。この例では、デザイン ユニットがそれぞれ lib1 および lib2 にコンパイルされます。
xelab top1 top2 -prj files.prj 2 つの最上位デザイン ユニット (top1 および top2) を含むデザインをエラボレートします。この例では、デザイン ユニットが work ライブラリにコンパイルされます。files.prj ファイルには、次のようなコードが含まれます。
verilog <libraryName> 
<VerilogDesignFileName>
vhdl <libraryName> <VHDLDesignFileName>
sv <libraryName> 
<SystemVerilogDesignFileName>
xelab top1 top2 -s top 2 つの最上位デザイン ユニット (top1 および top2) を含むデザインをエラボレートします。この例では、デザイン ユニットが work ライブラリにコンパイルされます。コンパイル後、xelab により top という名前の実行可能なスナップショットが生成されます。-s top オプションを指定しない場合、xelab ですべてのユニット名を連結してスナップショットが作成されます。
コマンド ライン ヘルプおよび xelab オプション

xelab -help

表 1

シミュレーションの実行
解析、エラボレート、コンパイル段階が問題なく終了すると、xsim によりシミュレーションを実行する実行可能なスナップショットがロードされます。
使用法 xsim top -R デザインを最後までシミュレーションします。
xsim top -gui Vivado シミュレータ ワークスペース (GUI) を開きます。
xsim top Vivado Design Suite コマンド プロンプトを Tcl モードで開きます。ここから次のオプションを実行できます。
run -all 
run 100 ns
重要なショートカット
解析、エラボレーション、実行ファイル生成、シミュレーションを 1 ~ 3 段階で実行できます。
  3 段階

xvlog bot.v

xvhdl top.vhd

xelab work.top -s top

xsim top -R

  2 段階

xelab -prj my_prj.prj work.top -s top

xsim top -R

my_prj.prj ファイルには、次が含まれます。

verilog work bot.v

vhdl work top.vhd

  1 段階

xelab -prj my_prj.prj work.top -s top -R

my_prj.prj ファイルには、次が含まれます。

verilog work bot.v vhdl work top.vhd

注記: デザインに UVM コンストラクトが含まれている場合は、xvlog および xelab コマンドに -L uvm を渡します。
Vivado シミュレーションの Tcl コマンド

次に、よく使用される Tcl コマンドを示します。すべてのコマンドのリストは、Tcl コンソールに次のコマンドを入力してください。

load_features simulator

help -category simulation

Tcl コマンドの詳細は、「-help <Tcl_command>」と入力してください。

よく使用される Vivado シミュレータの Tcl コマンド add_bp HDL ソースの行にブレークポイントを追加します。
add_force 信号、ワイヤ、またはレジスタを特定の値に強制的に設定します。Tcl コマンド例は、force コマンドの使用を参照してください。

current_time

now

現在のシミュレーション時間をレポートします。Tcl スクリプトでのこのコマンドの例は、-tclbatch オプションの使用を参照してください。
current_scope 現在の作業中の HDL スコープをレポートまたは設定します。詳細は、[Scope] ウィンドウ を参照してください。
get_objects 1 つまたは複数の HDL スコープで、指定したパターンごとに HDL オブジェクトのリストを取得します。コマンドの使用例は、SAIF コマンドの例を参照してください。
get_scopes 子 HDL スコープのリストを取得します。詳細は、[Scope] ウィンドウ を参照してください。
get_value 選択した HDL オブジェクト (変数、信号、ワイヤ、レジスタ) の現在の値を取得します。詳細は、Tcl コンソールに get_value -help と入力すると取得できます。
launch_simulation Vivado シミュレータを使用してシミュレーションを実行します。
remove_bps シミュレーションからブレークポイントを削除します。
report_drivers HDL ワイヤまたは信号オブジェクトのドライバーと現在の駆動値を表示します。詳細は、Tcl コマンド report_drivers の使用を参照してください。
report_values 指定した HDL オブジェクト (変数、信号、ワイヤ、またはレジスタ) の現在のシミュレーション値を表示します。Tcl コマンド例は、[Scope] ウィンドウを参照してください。
restart シミュレーションをデザインを読み込んだ後の状態に戻し、時間を 0 に設定します。
set_value HDL オブジェクト (変数、信号、ワイヤ、またはレジスタ) を特定の値に設定します。詳細は、Vivado シミュレータ Tcl コマンドの値の規則を参照してください。
step シミュレーションを次の文に進めます。シミュレーションのステップ実行 を参照してください。