次の表に、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}
を呼び出します。次に例を示します。
これには、Tcl コンソールで$bin_path/vsim -64 -c -do do {bft_tb_compile.do} -l compile.log
set_param project.writeNativeScriptForUnifiedSimulation 0
コマンドを実行してproject.writeNativeScriptForUnifiedSimulation
を 0 に設定する必要があります。
シェル スクリプトでは Questa Advanced Simulator/ModelSim ユーティリティがハードコード化されているので、このファイル フォーマットは共有プロジェクトに便利です。
パラメーター | 説明 | デフォルト |
---|---|---|
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.do に
quit -force
が含まれます。シミュレーションが指定した時間実行されると、シミュレータは終了します。シミュレータが終了しないようにするには、set_peram simulator.quitOnSimulationComplete 0
を実行してsimulator.quitOnSimulationComplete
を 0 に設定します。 -
simulator.modelsimNoQuitOnError
- デフォルトでは、エラーまたはブレークが発生してもシミュレータは終了しません。シミュレータが終了するようにするには、次のパラメーターを設定します。
これにより、<tb>_simulate.do に次の 2 行が追加されます。set_param simulator.modelsimNoQuitOnError 0
onbreak {quit -f} onerror {quit -f}