Linux下使用iVerilog进行Verilog开发
一、iVerilog的安装
首先要在Linux中安装iVerilog
这里提供两种方式:
方法一:
sudo apt-get install iverilog
方法二:
下载iVerilog源码
git clone git://github.com/steveicarus/iverilog.git
切换到v11分支
git checkout v11-branch
安装依赖
sudo apt-get install autoconf gperf flex bison build-essential
编译、安装iVerilog和vvp
sh autoconf.sh
./configure
make
make install
二、使用VSCode插件WaveTrace(个人认为好用且美观)

ps:VSCode使用教程请百度
到这一步其实就已经可以编写Verilog程序并且仿真了,但是不够方便。所以接下来介绍一些VSCode上的插件,来帮助开发。
三、插件安装
Ⅰ. Verilog代码高亮与自动检错
在VSCode中下载

安装完成后,代码就可以高亮显示了

同时,我们可以利用这个插件进行自动检错
在Linux中下载ctags
sudo apt install universal-ctags
然后找到ctags的安装位置:
使用命令行
whereis ctags

再在VSCode中的Verilog-HDL/SystemVerilog/Bluespec SystemVerilog这个插件中进行设置(点击小齿轮,再点击扩展设置)
找到Ctags的安装路径的填写位置。

将框内填写为你的Ctags安装目录,这样此插件就能找到你的Ctags。

接下来,我们需要在设置里面选择一个合适的Linter,通常选择免费开源的iverilog,它的作用是编译文件,有了它才能实现自动检错。继续在刚才的设置页面找到:

将选项框的none改为iverilog,即此插件使用Verilog对你编写的程序进行语法检测。
完成以上步骤,我们的VSCode在编写Verilog的程序就可以实现自动检错了。
但是会出现以下情况,明明你编写的程序没有语法问题,但是Testbench还是会提示你语法错误,并且没有解决方案。

这是因为自动检测时,VSCode并不知道你的module其实是在另一个文件中。这里给出GitHub上的关于此问题的讨论:讨论链接
此时我们继续在Verilog-HDL/SystemVerilog/Bluespec SystemVerilog这个插件中进行设置

在输入框内添加-i参数

到此为止,我们就完全实现了高亮显示+自动检错!Congratulations!
Ⅱ.Verilog代码格式化
这一步就比较简单了,在VSCode中下载Verilog Format

你可以在编写完代码后使用CTRL+Shift+~把你的代码格式化,这样会更加的美观(如果你平时编码习惯不好的话,这会让你感叹:原来编码可以这么美!)。
最后说明,此篇文章是参考了参考链接
Linux下使用iVerilog进行Verilog开发的更多相关文章
- windows/Linux下设置ASP.Net Core开发环境并部署应用
10分钟学会在windows/Linux下设置ASP.Net Core开发环境并部署应用 创建和开发ASP.NET Core应用可以有二种方式:最简单的方式是通过Visual Studio 2017 ...
- Linux编程环境介绍(3) -- linux下的c/c++程序开发
目录: 1. 编辑器( Vi ) [vi 与 vim] vi(visual interface)是linux系统最重要的文本编辑器, 所有的 Unix-Like 系统都会内置vi文本编辑器. vim ...
- 10分钟学会在windows/Linux下设置ASP.Net Core开发环境并部署应用
创建和开发ASP.NET Core应用可以有二种方式:最简单的方式是通过Visual Studio 2017 来创建,其优点是简单方便,但需要安装最新版本Visual Studio 2017 prev ...
- 【资源下载】Linux下的Hi3861一站式鸿蒙开发烧录(附工具)
下载附件 2021春节前夕,华为发布了 HUAWEI DevEco Device Tool 2.0 Beta1,整体提供了异常强大的功能.得知消息后,我在第一时间带着无比兴奋的心情下载尝鲜,但结果却是 ...
- Linux下搭建gtk+2.0开发环境
安装gtk2.0 sudo apt-get install libgtk2.0-dev 查看 2.x 版本 pkg-config --modversion gtk+-2.0 #有可能需要sudo ap ...
- linux下安装微信小程序开发工具
一.环境:: ubuntu 16.04 二.安装过程: 2.1 安装wine sudo apt-get install wine 2.2 安装nwjs-sdk 2.2.1 下载linux版nwjs-s ...
- linux下播放器设计和开发
http://blog.csdn.net/henryjee/article/details/6737392 本文根据DawnLightPlayer的开发经验写成.DawnLithtPlayer是今天3 ...
- 关于Windows与Linux下32位与64位开发中的数据类型长度的一点汇总
32位与64位的数据类型长度是不一样的,而且windows和linux也有些许区别,下面把64位下的数据长度列表如下(无符号unsigned和有符号的长度一样): linux64 ...
- linux下的 c 和 c++ 开发工具及linux内核开发工具
https://opensource.com/article/18/6/embedded-linux-build-tools https://github.com/luong-komorebi/Awe ...
- Linux下使用VsCode进行Qt开发环境搭建
最近在Linux上搞Qt, vim环境还用不太习惯, QtCreator之前使用时莫名其妙崩溃然后丢失代码之后就被我彻底放弃了, 于是研究了一下用VsCode进行Qt开发. 首先是系统环境和下载安装包 ...
随机推荐
- MyBatis时区问题
(事不过三!!!!第二次犯时区的错误了) 关于根据MyBatis官方文档 配置全局xml文件时遇到的问题: org.apache.ibatis.exceptions.PersistenceExcept ...
- 学习spring cloud记录5-Ribbon负载均衡
前言 在上次记录中,后台调用的http://demo-user/demouser/user/test并不是一个直接可用的地址,Ribbon将其拦截拉取eureka的服务列表,然后选择其中一个地址进行请 ...
- R语言包学习之dplyr包:数据处理
dplyr简介 dplyr是R语言的数据分析包,类似于python中的pandas,能对dataframe类型的数据做很方便的数据处理和分析操作. 安装并导入dplyr包 install.packag ...
- 【8*】Slope Trick 学习笔记
前言 从 一些快速笔记 中分离出来的,因为这一知识点写的内容太多了,可以拿出来专门开一篇学习笔记. Slope Trick 不是斜率优化!Slope Trick 不是斜率优化!Slope Trick ...
- 前端开发系列066-JQuery篇之框架使用准备
一.jQuery框架和JavaScript加载模式对比 jQuery框架的加载模式 <script> window.onload = function () { console.log(& ...
- linux 主题
linux 默认主题见多了之后总会觉得审美疲劳,换一个新鲜的吧 装载自 linux公社 讲的已经比较好了 如果你使用的是图形界面,你会发现Ubuntu默认的界面真是丑的一批,所以下面以Ubuntu 1 ...
- Ansys 添加弱弹簧
简介 添加弱弹簧 image
- 揭开SQL Server和PostgreSQL填充因子的神秘面纱
揭开SQL Server和PostgreSQL填充因子的神秘面纱 理解SQL Server和PostgreSQL中的填充因子 在调优数据库性能时,一些小设置往往能带来显著的差异.填充因子就是其中一个经 ...
- 多源异构数据源融合怎么做?Join操作篇(2)
在探讨多源异构数据融合的过程中,除了上篇介绍的通过Union方式实现的数据整合之外,Join操作同样是一种非常重要的手段.如果说Union是从横向角度将不同来源但结构相似的数据集合起来的话,那么Joi ...
- Easy_log移植笔记
Easy_log移植笔记 1. 目录结构 demo 包含多平台移植示例,如 Linux.RT-Thread.裸机系统等,提供实际工程参考,帮助开发者快速适配不同环境. docs 存放中英文文档,详细说 ...