当前位置: 首页 > 工具软件 > GTKWave > 使用案例 >

Linux下安装gtkwave仿真波形软件并运行简单用例

艾志尚
2023-12-01

首先我们需要简单的了解一下iverilog和gtkwave是干什么用的:

iverilog:用于功能仿真并记录仿真结果数据,编译verilog和vhdl文件进行语法检查并生成可执行文件。

gtkwave:可以用开查看iverilog产生的数据波形文件

vvp:根据可执行文件,生成仿真波形文件

第一步:下载iverilog和gtkwave工具

安装iverilog

sudo apt-get install iverilog  //安装12.0的iverilog

安装gtkwave

sudo apt-get install gtkwave 

如果安装不成功。试着更换一下地址,或者重新运行一下安装程序。

第二步:查看是否安装成功

which iverilog
which vvp
which gtkwave

第三步:下面以一个简单的计数器为例,运行仿真波形并查看。

创建.v的源文件

$:vim counter.v

输入.v的源文件内容

module counter(irst, iclk, ocnt );
  input irst, iclk;
  output reg [3:0] ocnt;
  always @ (posedge iclk)
    if(irst)
      ocnt <= 4'b0000;
    else
      ocnt <= ocnt + 1'b1;
endmodule

创建testbench仿真文件

$:vim counter_tb.v

输入testbench仿真文件内容

module counter_tb;
  reg irst = 0;
  reg iclk = 0;
  wire [3:0] ocnt;
  initial begin
    irst = 1; #100;
    irst = 0; #300;
    $stop;
    #1000;
    $finish;
  end
  always begin #5 iclk = !iclk; end
  counter counter_test(
    .irst(irst),
    .iclk(iclk),
    .ocnt(ocnt)
  );
  initial
  $monitor("At time %t, ocnt = %d", $time, ocnt);
  initial
  begin
    $dumpfile("counter_test.vcd");
    $dumpvars(0, counter_test);
  end
endmodule

第四步:进行编译,生成波形文件,打开波形文件

$:iverilog -o counter_test counter_tb.v counter.v  //创建一个test测试文件,对源文件和仿真文件,进行语法规则检查和编译
$:vvp -n counter_test -lxt2  //生成.vcd波形文件
$:cp counter_test.vcd counter_test.lxt
$:gtkwave counter_test.lxt    //打开波形文件,可以在图形化界面中查看仿真的波形图

 类似资料: