Active-HDL バッチモード入門

ツールシェルモードでActive-HDLを実行

Active-HDL のインストールディレクトリにあるvsimsa.bat ファイルをシェルモードで実行してActive-HDL 起動することができますvsimsa.bat ファイルは、bin\vsimsa.exe バッチモードシミュレータのラッパースクリプトになります。

Note: この文書に記載されているすべてのパスがActive-HDLインストールディレクトリに関連しています。

vsimsa シェルの起動後、以下に示すようにコマンドプロンプトからActive-HDL コマンドを手入力で入力を行うことができます。

# creating library
$ alib work
# ALIB: Library `work' attached.
# work = c:\my_designs\fpc_pll\work\work.lib
# setting work library as the default target for all commands
$ set worklib work
# VSIMSA: 'work' is now working library.

Note: `$vsimsa シェルプロンプトを示しています

あるいは、.doか.tcl 拡張子のマクロファイルにActive-HDL のコマンドを記載してバッチで実行することができます:

$ do runsim.do

runsim.do マクロは以下のコマンドを含むことが出来ます:

# creating library
alib work
# setting work library as the default target for all commands
set worklib work
# compiling verilog source files
acom fpc.vhd fpcTB.vhd
# starting simulation with tb_top as the top level module
asim fpc_tb
# running the simulation
run 1000us
# closing the simulation
endsim
quit

Note: Verilog のコンパイルには、alog コマンドを使用する必要があります。

alog file1.v file2.v

前述のActive-HDL の構文に関しては、Active-HDL のオンラインヘルプを参照するか、またはコマンドコンソールに"help"と入力してください。たとえば、"help vsimsa","help acom","help asim" など。

さらに、DOS シェルからvsimsa を起動する際、以下のコード行を含む.bat ファイルで引数としてマクロファイルを渡せ、ログファイルを作成することができます:

vsimsa -do runsim.do > mylog.log
exit

マクロでvsimsa が問題なく実行し完了した場合、vsimsaのコマンドプロンプトに戻ります。vsimsa シェルスクリプトをスクリプト終了時に閉じるようにする場合、マクロスクリプトの最後にquit コマンドを使用します。マクロ実行でエラーが発生した場合、vsimsa は全てのメッセージを読み、問題のソースを調査することが出来るようにツールシェルを停止します。もしエラーを報告後にvsimsa マクロの実行を継続したい場合、マクロファイルに次のエントリを追加します:

$ onerror {resume}

OS シェルでActive-HDL コマンドを実行

最も重要なActive-HDL のコマンドは、単体で実行可能なファイルとして利用可能で、オペレーティングシステムのシェルから直接起動することが出来ます。全ての外部コマンドは、Active-HDL のインストールディレクトrのbin/ サブディレクトリにあります。外部コマンドは、ライブラリ管理、コンパイル、シミュレーションあんどの使用することが可能です。

もっとも頻繁に使用するActive-HDLのコマンドは以下で見つけることができます。Active-HDLの構文に関しては、Active-HDLのオンラインヘルプを参照するか、またはコマンドコンソールに"help"と入力してください。たとえば、"help vlib","help vlog","help asdb2vcd" など。

ライブラリ管理コマンド

コンパイルコマンド

シミュレーションコマンド

ASDB 操作

以下にデザインをコンパイルしてシミュレートを行う、外部呼び出しのActive-HDL コマンドを使用したシェルスクリプトの完全な例を示します。

# create library v_bjack
vlib v_bjack
# compile source files
# working library is specified with –work switch
vlog -work v_bjack c:/my_designs/samples_83/v_bjack/src/*.v
# initialize simulation
vsim  -c -lib v_bjack V_BJACK_tb
run -all
endsim

Note: バッチ(コンソール)モードでシミュレーションを実行するためには、外部vsimコマンドで-cスイッチを使用する必要があります。-cスイッチを省略すると、GUIモードでシミュレーションを実行します。

Active-HDLでダンプされた信号値を有効にする方法については下位の波形セッションを参照してください。

信号波形

Active-HDL はシミュレーション結果を$waveformoutputのデフォルト値(vsimsaシェルからsetコマンドで変更することが可能)である"wave.asdb"に保存します。

"trace"コマンドで信号を記録

このコマンドは、シミュレーションデータベースファイル(.asdb)に指定された信号をトレースします。 シミュレーションデータベースのデフォルト名はwave.asdb になります。カレントディレクトリにデフォルト作成されます。パスと波形ファイル名は、asim コマンドに渡される引数 -asdbで上書きできます。

Note: 任意のvsimsa コマンドやマクロを実行する前に、Active-HDL"wave.asdb" クローズすることが重要です

例:

UUT デザイン領域に再帰的に記述された全てのポートトレース

# create library v_bjack
log
log hands_played
vlib v_bjack
# compile source files
# working library is specified with –work switch
vlog -work v_bjack c:/my_designs/samples_83/v_bjack/src/*.v
# initialize simulation
vsim  +access +r -c -lib v_bjack V_BJACK_tb -do 
trace -rec -ports UUT/* 
run -all
log
endsim

カレントデザイン領域からGEN_CLKGEN_RES 信号をトレース

# create library v_bjack
log
log hands_played
vlib v_bjack
# compile source files
# working library is specified with –work switch
vlog -work v_bjack c:/my_designs/samples_83/v_bjack/src/*.v
# initialize simulation
vsim  +access +r -c -lib v_bjack V_BJACK_tb -do 
trace GEN_CLK GEN_RES
run -all
log
endsim

traceコマンドを使用できるようにするために、シミュレーション実行前にvsim コマンドへ+access +r スイッチを設定する必要があります:

vsim +access +r -lib v_bjack V_BJACK_tb

パフォーマンス上の+access スイッチの影響を最小限にし、特定のデザイン領域へのリードアクセスを有効にすることが可能です:

# create library v_bjack
log
log hands_played
vlib v_bjack
# compile source files
# working library is specified with –work switch
vlog -work v_bjack c:/my_designs/samples_83/v_bjack/src/*.v
# initialize simulation
vsim -c +access +r +p+/UUT/I11 -lib v_bjack V_BJACK_tb -do 
trace -rec -ports UUT/I11/*
run -all
log
endsim

このケースでは、デザイン領域からの信号を記録することができるようになります:

trace -rec -ports UUT/I11/*

記録されたシミュレーションを開く

波形ウィンドウで信号を表示するには、Active-HDLを起動して、新しく作成された波形ファイル "wave.asdb"開く必要があります。



Printed version of site: support.aldec.com/jp/support/resources/documentation/articles/1144