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开发. 首先是系统环境和下载安装包 ...
随机推荐
- 两步实现让antd与IDE和睦相处的处理案例
导读: Web IDE的开发从来是整个大数据平台开发中非常繁复和笨重的一环,从零搭建一个 Web IDE 通常意味着大量的殚精竭虑和苦思冥想,时间成本更是不可计数.两个UI组件库一起用更是bug的代名 ...
- Java源码分析系列笔记-17.ReentrantReadWriteLock
目录 1. ReentrantReadWriteLock是什么 2. 非公平ReentrantReadWriteLock 2.1. 是什么 2.2. 怎么使用 2.3. 源码分析 2.3.1. uml ...
- Kafka入门实战教程(6):调优Kafka的实践
1 调优Kafka的目标 通常来说,任何系统调优的目标都是为了满足系统常见的非功能性需求,而性能则是众多非功能性需求中最重要的一个. 不同的系统对性能的侧重点不同,DB的话性能是响应时间,而对于Kaf ...
- Trie 字典树的原理和应用解析
如何高效地存储和查找大量字符串或前缀?比如自动补全.拼写检查.敏感词过滤等场景,都对字符串的处理速度有很高要求.哈希表虽然查找快,但并不擅长前缀匹配:普通树结构虽然灵活,但对于大量字符串的处理效率并不 ...
- 混合von-misse分布
以下是混合 von Mises 分布的 C 语言实现,包含数据生成和 EM 算法参数估计.代码实现了核心数学逻辑,并附有详细注释. 1. 核心代码实现 (1) 头文件与宏定义 (mix_vonmise ...
- java开发超级简单技巧
JAVA EE Java Platform,Enterprise Edition---java平台企业版 java SE Java Platform,Standard Edition---java平台 ...
- vue3 让元素可以拖动指令v-draggable
第一种情况:仅需移动 仅需要使得某个容器可以拖动,仅此而已 定义指令 // v-draggable.ts type DraggableElement = HTMLElement & { _cl ...
- 基于lede开发自己的路由器系统openWrt
搭建linux环境 强烈推荐ubuntu,debian会遇到大量的依赖问题 安装编译依赖 更新软件包 sudo apt update -y 整体更新软件包 sudo apt full-upgrade ...
- 转载的 linux 下的搜狗拼音问题
转载自http://blog.csdn.net/jilijelon/article/details/53759965 炎热的夏日 拼音问题搞的我很烦躁 之前一段时间正常使用的搜狗输入法突然无法输出中 ...
- leetcode 113 路径总和II
简介 路径总和 思路 回溯. 不推荐层次遍历, 代码比较复杂. code /** * Definition for a binary tree node. * struct TreeNode { * ...