记一下终于用iverilog搭建好仿真环境

动机

一开始准备在linux系统里仿真的,看了非常多的教程,写的已经非常详细了,但是我这脑子还招架不住啊,最后转向在windows进行仿真,过程跟linux中其实是一样的,但是我电脑的linux系统始终找不到我的输入文件。下面记录一下(及其)详细的过程,也希望给各位刚开始接触的人有所帮助!

iverilog软件下载

下载入口(windows版本): http://bleyer.org/icarus/

下载最新版本,即下图的第一个,里面已经包含了vvp、gtkwave的包,所以不需要额外下载。

安装完成后

安装完之后需要先配置环境变量: 右键单击桌面的计算机→属性→高级→环境变量 →双击编辑系统变量方框内的Path变量→右边新建以下两个(注意自己的路径设置),再确定就行。

配置好之后,即可开始上软件了!

iverilog是需要调用命令提示符来使用的,所以安装完成后打开桌面的快捷方式,不会出现一般软件的UI界面,而是会跳转到安装包。win+R调出面板输入cmd再回车,进入输入命令界面,然后一步一步输入命令实现仿真与gtkwave的调用,

准备环节

以下面代码为例

module time_delay_module(
    input   ai, bi,
    output  so_lose, so_get, so_normal);
 
    assign #20      so_lose      = ai & bi ;
    assign  #5      so_get       = ai & bi ;
    assign          so_normal    = ai & bi ;
endmodule

相应的testbench

`timescale 1ns/1ns

module test ;
    reg  ai, bi ;
    wire so_lose, so_get, so_normal ;
 
    initial begin
        ai        = 0 ;
        #25 ;      ai        = 1 ;
        #35 ;      ai        = 0 ;        //60ns
        #40 ;      ai        = 1 ;        //100ns
        #10 ;      ai        = 0 ;        //110ns
    end
 
    initial begin
        bi        = 1 ;
        #70 ;      bi        = 0 ;
        #20 ;      bi        = 1 ;
    end
 
    time_delay_module u_wire_delay(
        .ai              (ai),
        .bi              (bi),
        .so_lose         (so_lose),
        .so_get          (so_get),
        .so_normal       (so_normal));
 
    initial begin
        forever begin
            #100;
            //$display("---gyc---%d", $time);
            if ($time >= 1000) begin
                $finish ;
            end
        end
    end
	
	initial begin
		$dumpfile("test.vcd"); 
		$dumpvars(0, test); 
	end 
 
endmodule

需要注意的是,两个文件需放在一块!

运行方法

可以直接写个makefile一步到位,编辑一个.bat文件与tb放在一块(如上图),免得中间去不停输命令,本文只通过.bat运行仿真!

chcp 65001
echo "开始编译"
iverilog -o wave D:\verilog\iverilog2/time_delay.v tb.v
echo "生成波形"
vvp -n wave -lxt
echo "显示波形"
gtkwave test.vcd
pause

步骤其实也是分三步,先编译产生输出文件(这里-o用来指定输出的文件名,wave即自定义的输出名,后面用的绝对路径),再通过中间软件vvp调用,最后调用gtkwave,这里test.vcd即代码块内定义的名字。

双击.bat文件,即开始仿真!!!!!

 选择左边的端口,双击添加波形。

 参考资料:

  1. 搭建Verilog仿真环境
  2. Verilog时延

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
配置iverilog环境变量,你可以按照以下步骤进行操作: 1. 首先,在桌面上右键单击计算机图标,并选择"属性"。 2. 在系统属性窗口中,点击"高级系统设置"。 3. 在系统属性窗口中,点击"环境变量"按钮。 4. 在环境变量窗口中,找到"系统变量"下的"Path"变量,并双击进行编辑。 5. 在编辑系统变量窗口中,点击"新建"按钮。 6. 按照自己的iverilog文件夹路径,添加以下两个路径: - iverilog文件夹中的bin文件夹路径 - gtkwave文件夹中的bin文件夹路径(如果你需要使用gtkwave) 7. 确认所有更改并关闭窗口。 这样,你就成功地配置了iverilog环境变量。这将使你能够在任何位置使用iverilog命令行工具。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [一下终于用iverilog搭建仿真环境](https://blog.csdn.net/yinjian0924/article/details/123510707)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [VScode配置verilog环境(代码补全,报错,波形仿真)](https://blog.csdn.net/weixin_60094035/article/details/126532981)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值