由于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
https://iverilog.fandom.com/wiki/User_Guide
https://blog.csdn.net/liming0931/article/category/923723