Icarus Verilog官网:http://iverilog.icarus.com/

 

1. iverilog的安装

Linux/Ubuntu:
官网给出的教程有点复杂,我试了一下直接用下面的命令就可以安装。
sudo apt-get install iverilog
sudo apt-get install gtkwave

 

2. iverilog的IDE

使用vscode+iverilog插件作为IDE。

iverilog插件,选择“mshr-h”这个作者创建的插件。

3.测试Demo

参考:https://www.bilibili.com/video/BV1Ef4y1X7wZ?from=search&seid=3262477841150114451

此Demo是演示“2输入与门”的仿真。仿真波形使用gtkwave工具。

首先创建如下工程目录结构。

and2.v

// 2-input and gate model

module and2 (
    input a,
    input b,
    output y
);
    
assign y = a & b;
endmodule

and2_tb.v

// Two-input and gate test-bench

`timescale 1s/100ms
`include "and2.v"

module and2_tb();
reg a;
reg b;
wire y;

and2 iand2(a, b, y);
initial begin
    $monitor("a=%b, b=%b, y=%b", a, b, y);
    $dumpfile("and2.vcd");  // 导出vcd文件
    $dumpvars(0, and2_tb);  // 导出and2_tb模块中的所有变量
    a = 0; b = 0; #10;
    a = 0; b = 1; #10;
    a = 1; b = 0; #10;
    a = 1; b = 1; #10;
    $finish;
end

endmodule

在vscode终端进行编译

编译后运行and2.out,输出如下:

其中and2.vcd即可用gtkwave工具打开进行波形仿真

打开效果如下

展开and2_tb的变量列表

然后进行波形仿真

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐