ModelSim および Questa Advanced Simulator でのシミュレーション ステップ制御コンストラクト - 2023.2 日本語

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

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

次の表に、do ファイル フォーマットに基づくステップ実行の制御に使用されるコンストラクトを示します。

ネイティブ do ファイル
デフォルトの do ファイル フォーマットです。このフォーマットでは、コンパイルおよびエラボレート シェル スクリプトは source <tb>_compile/elaborate.do を呼び出します。次に例を示します。
source bft_tb_compile.do 2>&1 | tee -a compile.log
シミュレーション スクリプトは vsim -64 -c -do do {<tb>_simulate.do} を呼び出します。次に例を示します。
$bin_path/vsim -64 -c -do do {bft_tb_simulate.do} -l simulate.log
クラシック do ファイル
コンパイルおよびエラボレート シェル スクリプトでは、クラシック do ファイル フォーマットはネイティブ do ファイルと異なります。シミュレーション スクリプトでは変更はありません。このフォーマットでは、コンパイルおよびエラボレート シェル スクリプトは vsim -c -do do {<tb>_compile/elaborate.do} を呼び出します。次に例を示します。
$bin_path/vsim -64 -c -do do {bft_tb_compile.do} -l compile.log
これには、Tcl コンソールで set_param project.writeNativeScriptForUnifiedSimulation 0 コマンドを実行して project.writeNativeScriptForUnifiedSimulation を 0 に設定する必要があります。

シェル スクリプトでは Questa Advanced Simulator/ModelSim ユーティリティがハードコード化されているので、このファイル フォーマットは共有プロジェクトに便利です。

表 1. シミュレーション ステップ制御コンストラクトのパラメーター
パラメーター 説明 デフォルト
project.writeNativeScriptForUnifiedSimulation シミュレータ コマンドのみを含む (Tcl またはシェル コンストラクトなし) 純粋な .do ファイルを記述します。 0 (false)
simulator.quitOnSimulationComplete ModelSim/Questa Advanced Simulator のシミュレーションで、シミュレータ完了時にシミュレータを終了します。終了をディスエーブルにするには、このパラメーターを false に設定します。 1 (true)
simulator.modelsimNoQuitOnError ModelSim/Questa Advanced Simulator のシミュレーションでは、エラーまたはブレークが発生したときにデフォルトではシミュレータは終了しません。エラーまたはブレークが発生したときにシミュレータを終了するには、このパラメーターを false に設定します。 1 (true)

説明

simulator.quitOnSimulationComplete
デフォルトでは、生成された simulate.doquit -force が含まれます。シミュレーションが指定した時間実行されると、シミュレータは終了します。シミュレータが終了しないようにするには、set_peram simulator.quitOnSimulationComplete 0 を実行して simulator.quitOnSimulationComplete を 0 に設定します。
simulator.modelsimNoQuitOnError
デフォルトでは、エラーまたはブレークが発生してもシミュレータは終了しません。シミュレータが終了するようにするには、次のパラメーターを設定します。
set_param simulator.modelsimNoQuitOnError 0
これにより、<tb>_simulate.do に次の 2 行が追加されます。
onbreak {quit -f}
onerror {quit -f}