« Prev | Next » 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" など。 ライブラリ管理コマンド vlib (新しいライブラリの作成) vlist (カレントディレクトリ内のライブラリをリスト) vdir (ライブラリ内容をリスト) vdel (ライブラリからコンパイル済みユニットを削除) vmap (ライブラリマッピングへの追加と削除) コンパイルコマンド vcom (VHDL ファイルのコンパイル) vlog (Verilog ファイルのコンパイル) ccomp (SystemC ファイルのコンパイル) addsc (共有オブジェクトライブラリ、またはダイナミックリンク・ライブラリからSystemC モジュールをインポート) シミュレーションコマンド vsim (デザインのエラボレーションとシミュレーションの起動) ASDB 操作 使用可能なコマンドの詳細を調べるために、vsimsa シェルの "$" プロンプトで"help" と入力します。 asdbcompare (2つのASDB ファイルを比較し、テキストレポートを作成) asdb 変換ユーティリティ (asdb2ctf, asdb2ctv, asdb2lst, asdb2macro, asdb2vcd, vcd2asdb) 以下にデザインをコンパイルしてシミュレートを行う、外部呼び出しの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"に保存します。 アルデックのシミュレーションデータベースは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_CLK とGEN_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"を開く必要があります。 Previous article Next article