一、iVerilog的安装

首先要在Linux中安装iVerilog

这里提供两种方式:

方法一

sudo apt-get install iverilog

方法二

  1. 下载iVerilog源码

    git clone git://github.com/steveicarus/iverilog.git
  2. 切换到v11分支

    git checkout v11-branch
  3. 安装依赖

    sudo apt-get install autoconf gperf flex bison build-essential
  4. 编译、安装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开发的更多相关文章

  1. windows/Linux下设置ASP.Net Core开发环境并部署应用

    10分钟学会在windows/Linux下设置ASP.Net Core开发环境并部署应用 创建和开发ASP.NET Core应用可以有二种方式:最简单的方式是通过Visual Studio 2017 ...

  2. Linux编程环境介绍(3) -- linux下的c/c++程序开发

    目录: 1. 编辑器( Vi ) [vi 与 vim] vi(visual interface)是linux系统最重要的文本编辑器, 所有的 Unix-Like 系统都会内置vi文本编辑器.  vim ...

  3. 10分钟学会在windows/Linux下设置ASP.Net Core开发环境并部署应用

    创建和开发ASP.NET Core应用可以有二种方式:最简单的方式是通过Visual Studio 2017 来创建,其优点是简单方便,但需要安装最新版本Visual Studio 2017 prev ...

  4. 【资源下载】Linux下的Hi3861一站式鸿蒙开发烧录(附工具)

    下载附件 2021春节前夕,华为发布了 HUAWEI DevEco Device Tool 2.0 Beta1,整体提供了异常强大的功能.得知消息后,我在第一时间带着无比兴奋的心情下载尝鲜,但结果却是 ...

  5. Linux下搭建gtk+2.0开发环境

    安装gtk2.0 sudo apt-get install libgtk2.0-dev 查看 2.x 版本 pkg-config --modversion gtk+-2.0 #有可能需要sudo ap ...

  6. linux下安装微信小程序开发工具

    一.环境:: ubuntu 16.04 二.安装过程: 2.1 安装wine sudo apt-get install wine 2.2 安装nwjs-sdk 2.2.1 下载linux版nwjs-s ...

  7. linux下播放器设计和开发

    http://blog.csdn.net/henryjee/article/details/6737392 本文根据DawnLightPlayer的开发经验写成.DawnLithtPlayer是今天3 ...

  8. 关于Windows与Linux下32位与64位开发中的数据类型长度的一点汇总

    32位与64位的数据类型长度是不一样的,而且windows和linux也有些许区别,下面把64位下的数据长度列表如下(无符号unsigned和有符号的长度一样): linux64            ...

  9. linux下的 c 和 c++ 开发工具及linux内核开发工具

    https://opensource.com/article/18/6/embedded-linux-build-tools https://github.com/luong-komorebi/Awe ...

  10. Linux下使用VsCode进行Qt开发环境搭建

    最近在Linux上搞Qt, vim环境还用不太习惯, QtCreator之前使用时莫名其妙崩溃然后丢失代码之后就被我彻底放弃了, 于是研究了一下用VsCode进行Qt开发. 首先是系统环境和下载安装包 ...

随机推荐

  1. 两步实现让antd与IDE和睦相处的处理案例

    导读: Web IDE的开发从来是整个大数据平台开发中非常繁复和笨重的一环,从零搭建一个 Web IDE 通常意味着大量的殚精竭虑和苦思冥想,时间成本更是不可计数.两个UI组件库一起用更是bug的代名 ...

  2. Java源码分析系列笔记-17.ReentrantReadWriteLock

    目录 1. ReentrantReadWriteLock是什么 2. 非公平ReentrantReadWriteLock 2.1. 是什么 2.2. 怎么使用 2.3. 源码分析 2.3.1. uml ...

  3. Kafka入门实战教程(6):调优Kafka的实践

    1 调优Kafka的目标 通常来说,任何系统调优的目标都是为了满足系统常见的非功能性需求,而性能则是众多非功能性需求中最重要的一个. 不同的系统对性能的侧重点不同,DB的话性能是响应时间,而对于Kaf ...

  4. Trie 字典树的原理和应用解析

    如何高效地存储和查找大量字符串或前缀?比如自动补全.拼写检查.敏感词过滤等场景,都对字符串的处理速度有很高要求.哈希表虽然查找快,但并不擅长前缀匹配:普通树结构虽然灵活,但对于大量字符串的处理效率并不 ...

  5. 混合von-misse分布

    以下是混合 von Mises 分布的 C 语言实现,包含数据生成和 EM 算法参数估计.代码实现了核心数学逻辑,并附有详细注释. 1. 核心代码实现 (1) 头文件与宏定义 (mix_vonmise ...

  6. java开发超级简单技巧

    JAVA EE Java Platform,Enterprise Edition---java平台企业版 java SE Java Platform,Standard Edition---java平台 ...

  7. vue3 让元素可以拖动指令v-draggable

    第一种情况:仅需移动 仅需要使得某个容器可以拖动,仅此而已 定义指令 // v-draggable.ts type DraggableElement = HTMLElement & { _cl ...

  8. 基于lede开发自己的路由器系统openWrt

    搭建linux环境 强烈推荐ubuntu,debian会遇到大量的依赖问题 安装编译依赖 更新软件包 sudo apt update -y 整体更新软件包 sudo apt full-upgrade ...

  9. 转载的 linux 下的搜狗拼音问题

    转载自http://blog.csdn.net/jilijelon/article/details/53759965 炎热的夏日  拼音问题搞的我很烦躁 之前一段时间正常使用的搜狗输入法突然无法输出中 ...

  10. leetcode 113 路径总和II

    简介 路径总和 思路 回溯. 不推荐层次遍历, 代码比较复杂. code /** * Definition for a binary tree node. * struct TreeNode { * ...