ModelSim|CUIからシミュレーション実行してVCDファイルを作成

Systemverilog
田中太郎
田中太郎

ModelSimをCUI(コマンドライン)から実行してVCDファイルを作成します

実行環境

OS:Windows

RTL:SystemVerilog(Verilogでも可)

はじめに

ModelSimはGUIを備えていますが、CUI(コマンドライン)からも操作できます

インストールしたときに自動的にパスが追加されているので、コマンドラインを立ち上げて

以下のコマンドを実行してみてください

vlog -help

エラーが起きなければばパスが通っています

実行環境を作成する

実行に必要なファイル

・run.bat・・・ModelSimで実行するための簡単な設定を書き込む

・modules.txt・・・読み込むRTLのパスを書き込んだファイル

・読み込むRTL・・・読み込みたいRTLたち

run.bat

Windows環境ではバッチファイルを作成します

以下をコピーして、「run.bat」で保存します

vlib MODELSIM_LIB
vmap MODELSIM_LIB MODELSIM_LIB
vlog -work MODELSIM_LIB -f modules.txt

vsim -c tb -lib MODELSIM_LIB -do "run -all;quit -f;"

modules.txt

読み込むRTLのリストを「modules.txt」という名前で保存します

ここでは、「tb.sv」、「sample.sv」という名前のRTLを用意しています

sample.sv
tb.sv

読み込むRTL

sample.sv

拡張子をSVにすると自動的にSystemVerilogと認識して読み込んでくれます

module sample (
    input din,
    output logic dout
);
    assign dout = ~din;
endmodule
tb.sv

$dumpfile(“wave.vcd”), $dumpvars(0, tb)を書き込むことで

wave.vcdという名前で波形ファイルが生成されます

module tb;

initial begin
    $dumpfile("wave.vcd");
    $dumpvars(0,tb);
end

initial #200 $finish;

bit clk = 0;
always #5 clk = !clk;

bit rst_b = 0;
initial #10 rst_b = 1;

bit [1:0] din = 0;
initial begin
    #20;
    din = 1;
end

sample #(
) i_sample(
    .din(din)
);

endmodule

実行する

run.bat, modules.txt, sample.sv, tb.svが同じディレクトリにある状態でrun.batを実行します

run.bat

実行が成功すると、同じディレクトリにwave.vcd(波形ファイル)が作成されます

私は、wave.vcdファイルを以下で説明しているツールで読み込んでいます

まとめ

コマンドライン上でModelSimを実行する環境を作成しました

参考文献

ModelSim, Intel FPGA Edition ソフトウェア
https://www.intel.co.jp/content/www/jp/ja/software/programmable/quartus-prime/model-sim.html

コメント

タイトルとURLをコピーしました