🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[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)