環境搭建
安裝 Icarus Verilog 和 GTKwave
由於Icarus Verilog中已經包含了GTKWave所以直接從http://bleyer.org/icarus/下載安裝,這裏提供的爲Windows版,我下載的爲當前時間最新版:iverilog-10.1.1-x64_setup.exe,整個安裝包才9.77MB,安裝後也只有不到50MB。經測試,其實安裝後只要把安裝所在目錄打包複製到其它電腦也可以用,即下載的這個安裝類似一個自解壓文件,但會增加兩個路徑到PATH。所以將安裝目錄打包複製到其它電腦後只要將以下兩個目錄(iverilog和gtkwave可執行文件所在目錄)加入系統PATH環境變量中即可(這裏假設放入其它電腦的目錄爲E:\iverilog):
如下所示:
使用舉例:
4線-2線編碼器
程序:
coder4x2.v
// 4線-2線編碼器
`timescale 1ns/1ns
module coder4x2(I0,I1,I2,I3,Y0,Y1);
input I0,I1,I2,I3;
output Y0,Y1;
reg Y0,Y1;
always @(I0 or I1 or I2 or I3)
begin
Y0 = I1 + I3;
Y1 = I2 + I3;
end
endmodule
test_coder4x2.v
// 測試編碼器功能
module test_coder4x2;
reg i0,i1,i2,i3;
output y0,y1;
coder4x2 C1(i0,i1,i2,i3,y0,y1);
initial
begin : ONLY_ONCE
reg [7:0] pal;
for (pal=0;pal<16;pal=pal+1)
begin
{i3,i2,i1,i0} = pal;
#5 $display("%d I = %b %b %b %b",pal,i3,i2,i1,i0,
" ####### Y = %b %b",y1,y0);
end
end
initial
begin
$dumpfile("test_coder4x2.vcd");
$dumpvars(0,test_coder4x2);
end
endmodule
若需要查看波形則需要在 test_bench 中添加以下:
initial
begin
$dumpfile("test_coder4x2.vcd");
$dumpvars(0,test_coder4x2);
end
運行:
1.打開命令行界面
2.定位到文件處,本程序地址如下:
3.執行下面的命令編譯
iverilog -o test_coder4x2 test_coder4x2.v coder4x2.v
得到
4.再執行下面的命令運行程序
vvp test_coder4x2
5.若查看波形則可執行
gtkwave test.vcd &
得到
參考:
https://blog.csdn.net/husipeng86/article/details/60469543