Verilog/シミュレートの実行手順
をテンプレートにして作成
開始行:
[[FrontPage]]
*概要 [#ff6415ed]
-シミュレーションしないとバグも見つからない
*目次 [#p4a9922e]
#contents
*使用ツール [#i87ac2f2]
-IcarusVerilogとGTKWaveを使用する
-IcarusVerilog: シミュレータ
-GTKWave: 波形の表示
*シミュレート対象 [#w8206cc9]
-以下の半加算器をシミュレート対象とする
half_adder.v
#highlightjs(v)
module half_adder(
input in0,
input in1,
output c,
output s
);
assign c = in0 & in1;
assign s = in0 ^ in1;
endmodule
*シミュレートコード [#f99e5521]
adder_test.v
#highlightjs(v)
`timescale 1ps/1ps
module adder_test;
reg in0, in1;
wire c, s;
half_adder adder(
.in0(in0),
.in1(in1),
.c(c),
.s(s)
);
initial begin
$dumpfile("test.vcd");
$dumpvars(1, adder_test);
in0 = 0; in1 = 0;
#10 in0 = 1;
#10 in0 = 0; in1 = 1;
#10 in0 = 1;
#10 $finish;
end
endmodule
*コンパイルと実行 [#nf7b1fad]
-iverilog -o [出力ファイル名] -s [トップモジュール名] [.v...
-vvp [実行ファイル名]でシミュレートが開始される
-gtkwave [ダンプファイル名]で波形の描画ツールが起動される
#highlightjs(shell)
$ iverilog -o test.out -s addr_test adder_test.v half_ad...
$ vvp test.out
$ gtkwave test.vcd
#ref(2023-11-03_122808.png)
*補足 [#qdcea44b]
-GTKWaveはIcarusVerilog for Windowsをインストールすると付...
-IcarusVerilogは[[このページ:https://bleyer.org/icarus/]]...
終了行:
[[FrontPage]]
*概要 [#ff6415ed]
-シミュレーションしないとバグも見つからない
*目次 [#p4a9922e]
#contents
*使用ツール [#i87ac2f2]
-IcarusVerilogとGTKWaveを使用する
-IcarusVerilog: シミュレータ
-GTKWave: 波形の表示
*シミュレート対象 [#w8206cc9]
-以下の半加算器をシミュレート対象とする
half_adder.v
#highlightjs(v)
module half_adder(
input in0,
input in1,
output c,
output s
);
assign c = in0 & in1;
assign s = in0 ^ in1;
endmodule
*シミュレートコード [#f99e5521]
adder_test.v
#highlightjs(v)
`timescale 1ps/1ps
module adder_test;
reg in0, in1;
wire c, s;
half_adder adder(
.in0(in0),
.in1(in1),
.c(c),
.s(s)
);
initial begin
$dumpfile("test.vcd");
$dumpvars(1, adder_test);
in0 = 0; in1 = 0;
#10 in0 = 1;
#10 in0 = 0; in1 = 1;
#10 in0 = 1;
#10 $finish;
end
endmodule
*コンパイルと実行 [#nf7b1fad]
-iverilog -o [出力ファイル名] -s [トップモジュール名] [.v...
-vvp [実行ファイル名]でシミュレートが開始される
-gtkwave [ダンプファイル名]で波形の描画ツールが起動される
#highlightjs(shell)
$ iverilog -o test.out -s addr_test adder_test.v half_ad...
$ vvp test.out
$ gtkwave test.vcd
#ref(2023-11-03_122808.png)
*補足 [#qdcea44b]
-GTKWaveはIcarusVerilog for Windowsをインストールすると付...
-IcarusVerilogは[[このページ:https://bleyer.org/icarus/]]...
ページ名: