[TOC]
## 前言
` `初学verilog,你是否还在为了安装体积庞大的IDE,还屡屡失败,让自己学习verilog的心凉了半截?在这里根据我自己的使用习惯,推荐使用linux+iverilog+vscode+gtkwave来搭建一个轻量的verilog仿真环境。
## 优势
虽然iverilog只能仿真,但是仿真速度很快,对于比较小的模块或者中型项目的验证,完全可以使用iverilog进行前期开发,以提高开发效率。
* 轻量
* 免费
* 环境配置简单
* 在本模板上易用
## 软件安装
` `对于deepin或者ubuntu用户可以按下面方式安装:
```
sudo apt-get install iverilog
sudo apt-get install gtkwave
```
` `安装vscode最新版可以访问官网https://code.visualstudio.com/,下载.deb安装包进行安装。
![](https://img.kancloud.cn/32/c6/32c62e5ffef8eb4d7f91266d888ab4ef_1365x767.png)
deepin用户可以直接双击.deb进行安装。
` `当然vscode只是一个编辑器,可以不安装,可以使用其他编辑器。
## iverilog工程模板
[模板链接](https://gitee.com/yuan_hp/iverilog_module)
` `个人根据使用,准备了一个iverilog的工作模板,这个项目要运行需要linux环境中安装有bash。
## 模板使用
* git clone https://gitee.com/yuan_hp/iverilog_module.git
* cd iverilog_module
* ./main
* 根据提示选择需要仿真的项目
![](https://img.kancloud.cn/13/70/137029b58c91c11fc8bf4b257517763d_605x215.png)
![](https://img.kancloud.cn/5b/d1/5bd1582f15d843891616bcdc89c3bfea_1025x513.png)
## run脚本方式使用
例如我们要仿真crc7,crc7所在路径为./module/crc ,则使用方法为
* cd iverilog_module
* 执行脚本 `./run -d ./module/crc`
* 这样项目就会开始仿真
![](https://img.kancloud.cn/fe/af/feaf3c08b0060a9d575fe485bd464af8_1365x739.png)
终端输入`./run -h`显示帮助
![](https://img.kancloud.cn/f4/7d/f47d1f94976f5f6179289e1850a06441_555x153.png)
## 新建测试项目
` `新建项目时,在 module 文件夹下建立一个需要仿真的文件夹,并在里面写好testbech和其他.v文件,testbech中有几个地方的内容是不能动的!如下:
![](https://img.kancloud.cn/74/be/74bed59e9b2ecd842d7906548d8893fb_687x467.png)
` `经过测试,简单的工程基本1s就能完成仿真!
` `run脚本还提供了单个.v文件编译仿真的功能,比如有dis.v文件内容如下:
```
module dis;
integer fd,file_id ,seed;
localparam DELAY = 300;
initial begin
$display("hello,verilog!");
fd=0;
$display("fd=%0d",fd);
fd = fd + 2;
$display("fd=%0d",fd);
fd = fd * 2;
$display("fd=%0d",fd);
fd = fd % 3;
$display("fd=%0d",fd);
fd = fd / 2;
$display("fd=%0d",fd);
seed=$time;
fd= $random(seed) % 1000;
$display("fd=%0d",fd);
#DELAY
$display("simulation time is %t",$time);
end
endmodule
```
使用命令`./run -f dis.v`即可查看结果,简单快捷!
![](https://img.kancloud.cn/6a/db/6adbc4f2dfd1abce37e7f83d7027344b_679x262.png)
## 模板其他说明
` `其他说明查看gitee上的说明!
[说明链接](https://gitee.com/yuan_hp/iverilog_module)