在win10系统中应用iverilog(Icarus verilog)学习笔记

安装iverilog
1.iverilog下载地址:(http://bleyer.org/icarus/)
2.下载版本选择:
我下载的是上面两个中的任意一个,install的时候它会自动添加path,比较方便。
3.安装非常容易,next一路,注意选择有的地方✔就好了。
iverilog使用指南
注:iverilog安装好以后,它与常见的应有软件不同的是,当你双击打开它的图标时,你看到的是:
在这里插入图片描述
4. 按下快捷键“win+r",输入”cmd“,打开win10系统的运行窗口。输入”iverilog",显示下图,则说明安装成功。
在这里插入图片描述

1.使用iverilog的方法是:
a. 按下快捷键“win+r",输入”cmd“,打开win10系统的运行窗口。
b.[在这里我们以D触发器的verilog代码为例,说明使用方法:
dff的模块代码(design.v):

// Design
// D flip-flop
module dff (clk, reset,
  d, q, qb);
  input      clk;
  input      reset;
  input      d;
  output     q;
  output     qb;

  reg        q;

  assign qb = ~q;

  always @(posedge clk or posedge reset)
  begin
    if (reset) begin
      // Asynchronous reset when reset goes high
      q <= 1'b0;
    end else begin
      // Assign D to Q on positive clock edge
      q <= d;
    end
  end
endmodule

dff的测试代码(testbench.v):

// Testbench
module test;

  reg clk;
  reg reset;
  reg d;
  wire q;
  wire qb;
  
  // Instantiate design under test
  dff DFF(.clk(clk), .reset(reset),
          .d(d), .q(q), .qb(qb));
          
  initial begin
    // Dump waves
    $dumpfile("dump.vcd");
    $dumpvars(1);
    
    $display("Reset flop.");
    clk = 0;
    reset = 1;
    d = 1'bx;
    display;
    
    $display("Release reset.");
    d = 1;
    reset = 0;
    display;

    $display("Toggle clk.");
    clk = 1;
    display;
  end
  
  task display;
    #1 $display("d:%0h, q:%0h, qb:%0h",
      d, q, qb);
  endtask

endmodule

]
c. 背景交代:我的dff代码放在D盘中:
在这里插入图片描述
因此,在运行窗口中,需要路径切换(cd)。
d. 在运行窗口中,依次输入以下命令(有error则在文件中改正后继续操作以下命令):

C:\Users\86152>d:      //由C盘切换到D盘
D:\>cd icer            //找到D盘中存放代码的文件夹(路径切换用cd)
D:\icer>cd verilog     //找到D盘中存放代码的文件夹
D:\icer\verilog>iverilog    
D:\icer\verilog>iverilog -o design_name dff1.v    //使用-o来说明dff1.v是待测模块代码
D:\icer\verilog>iverilog -o dff1test.vvp dff1test.v dff1.v  //dff1test.vvp就是我们用iverilog中的可执行文件(iverilog.exe)生成的连接design.v和testbench.v的文件
D:\icer\verilog>vvp -n dff1test.vvp    //-n,testbench.v中,输出一个以矢量形式存在的文件dump.vcd(用于后面可显示波形图)
D:\icer\verilog>gtkwave dump.vcd       //显示波形图命令

e. 弹出波形图
在这里插入图片描述

注释:在testbench.v中,写入:

initial
begin            
$dumpfile("wave.vcd"); //生成的vcd文件名称
$dumpvars(0, led_demo_tb); //tb模块名称
end

是可以出现波形图的关键。

  • 6
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值