iverilog入门教程

安装

windows

可以在这里http://bleyer.org/icarus/下载后安装,并添加iverilog/bin和gtkwave/bin到环境变量中。使用时进cmd或者powershell,或者安装一个git,git自带了一个bash控制台。git bash最好用。

linux

这里以Ubuntu系统为例进行说明。(https://gitee.com/liangkangnan/tinyriscv)

  1. 下载iverilog源码

git clone https://github.com/steveicarus/iverilog.git

  1. 切换到v11分支(必须用V11或以上的版本)

git checkout v11-branch

  1. 安装依赖

sudo apt-get install autoconf gperf flex bison build-essential

  1. 编译、安装iverilog和vvp

sh autoconf.sh
./configure
make
make install

使用

方式一

本教程和其他教程略微不同,通常情况其他教程使用如下方式:

iverilog -y D:/test/demo led_demo_tb.v -o test
-y:表示去跟着的目录中找源文件
-o:表示生成test的文件

在tb文件中用以下命令指示需要保存波形。

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

然后用vvp把波形dump出来。vvp也是exe,在iverilog.exe的同级目录下。加入了环境变量后,直接就可以找到这个可执行文件。

vvp -n wave -lxt2
-n: Non-interactive ($stop = $finish) 表示遇到stop就当成finish,结束dump波形。

随后使用gtkwave就可以查看波形了。用vvp保存波形的名称是在tb中指定的。

gtkwave wave.vcd
在这里插入图片描述

方式二

以下方式更接近vcs的用法。

iverilog iverilog -g2005-sv -o test -f filelist.f -s tb_add
-g2005-sv:表示支持sv语法
-f:表示后面跟着的是源文件列表
-s:指定顶层模块

filelist.f中用相对路径或绝对路径,当然推荐使用相对路径,指定源文件即可。例如:

add.sv
tb_add.sv

并且filelist支持嵌套,很坑的一点是,嵌套的filelist中的文件引用也必须相对于启动iverilog的路径去编写。vcs可以使用-F filelist.f 来引用写成相对路径内容的filelist。一定要注意,filelist最后要留一行空白行,防止出现文件名未终止的错误。在git bash中可以用find命令来快速生成filelist文件。

find ./ -name “.v" -or -name ".sv” >> filelist.f

当然,filelist中也支持添加宏定义和头文件搜索路径。

+incdir+路径
+define+name=value

vvp的使用和方式一就差不多了。

vvp -n test -l err.log >> run.log
-l 表示有错误时,打印到里面。
>> 把所有打印都重定向到run.log中。

这些都是linux的常用用法,就不过多叙述。
更多信息参考https://iverilog.fandom.com/wiki/Main_Page

在使用VS Code进行iverilog开发时,你可以按照以下步骤进行设置和配置。 首先,你需要选择iverilog作为你的工具。你可以在设置中找到这个选项,并将其设置为iverilog。这样做可以确保VS Code使用iverilog进行编译和链接,并避免链接错误的报错。\[1\] 接下来,你需要安装Verilog-HDL/System插件。你可以在扩展中搜索"verilog",找到下载人数最多的这个插件,并点击"安装"按钮进行安装。安装完成后,你会发现代码会有颜色标记,但它并没有自动检错的功能。\[2\] 使用VS Code进行iverilog开发的好处是,它提供了许多常用插件,如自动例化、自动补全和自动格式化等。这使得开发过程更加方便。许多工程师喜欢使用VS Code进行FPGA开发,特别是在验证算法时,因为它提供了一个简单的开发环境。\[3\] 所以,通过在VS Code中设置iverilog工具和安装Verilog-HDL/System插件,你可以在VS Code中进行iverilog开发。 #### 引用[.reference_title] - *1* [【无标题】](https://blog.csdn.net/weixin_42193451/article/details/127799939)[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^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [如何用VS code开发FPGA的程序,iverilog使用说明](https://blog.csdn.net/icekoor/article/details/126510836)[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^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值