vscode搭建Verilog环境

这篇具有很好参考价值的文章主要介绍了vscode搭建Verilog环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

VScode搭建Verilog源码开发环境记录【2023-7-21更新】


最近实验室要做FPGA相关的工作,于是笔者开始自学相关技术。目前市面上最成熟的工具应该是VCS+Verdi,但是考虑到该工具链仅支持Linux,而且软件画面过于古早,安装和使用都过于冗杂,并且对新手来说学习成本实在太高。

因此我整理了各种资料,记录了本人使用vscode搭建轻量级Verilog开发环境的全过程,以供他人和自己将来参考。

一、从官网下载安装VScode

此步骤略

二、登录账号同步数据(如果已有)

注意,本人在实际使用时发现了vscode关于登录账户的一个bug:如果首次登陆选择使用GitHub登陆,那么无法直接注销账户再用Microsoft账户登陆。反之,若首次登陆选择使用Microsoft账户登陆,那么如果之后想换用GitHub账户登陆,也是不行的。它注销后再次登录会直接跳转到原来的登录方式验证网址,并且没有切换登陆渠道的选项(在2023年6月当前版本还未修复)。

在这种情况下,如果想切换登陆账户,只能在设置中,先关闭云同步,注销账户,再重新打开云同步:

vscode配置verilog,日常运维,vscode,fpga开发,ide

可以直接点击左下角设置中的“设置同步已打开”将其关闭,也可以通过命令将其关闭(如下):

vscode配置verilog,日常运维,vscode,fpga开发,ide

按住CTRL+shift+P,召唤出vscode命令输入框(顶部弹出),在输入框中输入turnoff即可查找到【设置同步关闭】选项。

如果还从未使用过vscode可以暂时跳过此步。


三、安装插件

vscode本身是不支持Verilog语言开发的,要想在vscode中顺利的编写Verilog源码,需要安装如下插件:

3.1 Chinese(simplified)中文汉化包

在左栏的插件“extension”栏目中,搜索Chinese即可看到这个插件,安装后按照提示重启vscode,整个软件大部分界面即可变为中文。

vscode配置verilog,日常运维,vscode,fpga开发,ide

3.2 文件管理器的图标包icon theme

vscode默认的资源管理器界面全部以文本显示,很多时候难以区分不同文件类型,安装图标包可以显著地区分开各种源码文件以及各种配置信息文件。

vscode配置verilog,日常运维,vscode,fpga开发,ide

在vscode拓展插件市场中,本人推荐使用图中的这俩icon pak👆

3.3 安装Verilog-HDL/systemVerilog插件

搜索安装此插件:

vscode配置verilog,日常运维,vscode,fpga开发,ide

这个插件提供了Verilog开发环境的绝大多数基础功能,例如:

  • 代码高亮(highlight)
  • 简单语法补全提示(snippets)
  • 静态语法检查(lint,需要自行配置linter组件)
  • Ctags功能集成(需要额外安装ctags组件)
    • 自动补全
    • 文档符号大纲
    • 鼠标悬停显示代码声明
    • CTRL鼠标点击跳转到代码声明
    • 自动实例化模块
  • Language server(实验性功能)
  • 代码自动格式化(formatting,实验性功能)

这个插件虽然是vscode拓展市场下载量最高的插件,但是部分功能仍然残缺不全,很多高级功能无法开箱即用,需要我们进一步配置(这个细节配置将在第四节详细介绍。)

3.4 安装Verilog Highlight插件

vscode配置verilog,日常运维,vscode,fpga开发,ide

此插件配合上面的Verilog-HDL/systemVerilog插件使用,能够完善.v文件和.sv文件的代码高亮功能。

3.5 安装CTags Support插件

搜索ctags,下载安装此插件:

vscode配置verilog,日常运维,vscode,fpga开发,ide

注意:此插件本身不带ctags组件,它只是作为ctags到vscode的桥梁,将两者联系起来,使得vscode中的其他插件能够自动调用ctags相关功能。

3.6 安装Verilog Testbench插件

vscode配置verilog,日常运维,vscode,fpga开发,ide

虽然上文3.3中安装的【Verilog-HDL/systemVerilog插件】已经有Verilog模块实例化功能,但是它只能生成一个空的例化模块(读者可以自行研究尝试),其功能并不完善。

通过3.6安装的testbench插件,不仅可以生成完整的例化代码,还可以生成信号比较完善的testbench测试代码。

注意:这个插件的功能需要依赖python3,并且安装过程会产生许多错误,不建议新手尝试。

当然,笔者既然写这篇文章,后文肯定会介绍安装和调试的过程。


四、高级环境详细配置

如果你只是一个新手,那么安装完上面的3.1,3.2,3.3,3.4插件已经足够简单的学习使用。

如果这些功能都不能满足你,可以继续往下看,进行更复杂的环境配置。通过下面的配置,可以在vscode中实现代码声明跳转、静态语法检查、模块自动例化、生成测试模块等高阶功能。

4.1 配置默认文本编码格式,修正中文乱码

如果你在打开含有中文注释的源码时发现中文变为乱码,100%的情况是因为文本字符编码和系统不兼容。

  • 对于中国大陆的Windows用户来说,最佳的默认文字编码是GBK:

vscode配置verilog,日常运维,vscode,fpga开发,ide

  • 对于大多数Linux用户来说,最佳的字符编码是UTF-8:

vscode配置verilog,日常运维,vscode,fpga开发,ide

如果在使用的过程中,出现中文字符乱码,请参考上述推荐编码模式进行配置。


4.2 安装ctags

vscode配置verilog,日常运维,vscode,fpga开发,ide

如图所示,这个插件依赖于 universal ctags ,在该插件的详情页有各种操作系统的ctags安装网址,对应自己的操作系统选择对应的安装方式即可。

特别注意: Verilog-HDL/SystemVerilog/Bluespec SystemVerilog插件只兼容universal ctags ,并不兼容其他的ctags实现!!!

如果安装完以后,发现出现ctags索引不全,大概率安装的ctags并非这里所说的最新版universal ctags

● Windows系统安装universal ctags

点击插件Verilog-HDL/SystemVerilog/Bluespec SystemVerilog详情页中的:

vscode配置verilog,日常运维,vscode,fpga开发,ide

进入该网址,从release page选择最新版下载:

vscode配置verilog,日常运维,vscode,fpga开发,ide

vscode配置verilog,日常运维,vscode,fpga开发,ide

下载到本机,建议解压到一个不含空格和特殊字符的纯英文路径,例如:

vscode配置verilog,日常运维,vscode,fpga开发,ide

然后将路径添加到Windows系统环境变量中的Path中,以我为例:

vscode配置verilog,日常运维,vscode,fpga开发,ide

打开cmd终端,输入ctags --version,观察输出是否正常:

vscode配置verilog,日常运维,vscode,fpga开发,ide

出现对应的版本信息,特别注意显示的ctags信息是universal ctags,说明安装正常,顺利结束。


● Linux主流发行版安装universal ctags

打开对应的下载官网:

vscode配置verilog,日常运维,vscode,fpga开发,ide

vscode配置verilog,日常运维,vscode,fpga开发,ide

  • 如果你使用的Linux发行版版本较新,例如Ubuntu较新的版本,或者是Fedora较新的版本,则可以直接通过系统内置的包管理器apt install 或者dnf install。这个是最省事的。首选推荐方案!
  • 如果你用的Linux发行版是较老的centOS或者其他不带apt或dnf工具的Linux版本,那么需要从源码安装universal ctags
    • 特别注意:yum包管理器不行!!!!

从源码安装universal ctags参考官方最上面的教程:

$ git clone https://github.com/universal-ctags/ctags.git
$ cd ctags
$ ./autogen.sh
$ ./configure --prefix=/where/you/want # defaults to /usr/local
$ make
$ make install # may require extra privileges depending on where to install

注意,最后两步骤makemake install请务必在root权限下执行(加上sudo执行)!

在make install安装完成之后,ctags可执行文件将生成于$prefix/bin/路径下。默认为/usr/local/bin/ctags

同样,安装完成之后(没报错),随意在任何一个路径下打开终端,输入ctags --version观察回显是否正常。

vscode配置verilog,日常运维,vscode,fpga开发,ide

至此,两大主流平台Windows和Linux安装ctags的教程介绍完毕。

(什么??你说还有macOS??)


4.3 在vscode:ctags support中进行相关配置

上一步我们只是在本机操作系统中成功安装了universal ctags组件,但是vscode中的拓展插件还不会自动调用ctags命令,需要我们在拓展设置中填入一些配置信息()

打开vscode拓展插件栏,找到ctags support,右键,点【拓展设置】:

vscode配置verilog,日常运维,vscode,fpga开发,ide

在拓展设置中,按下图设置:

vscode配置verilog,日常运维,vscode,fpga开发,ide

ctags support配置完成!


4.4 配置Verilog-HDL/SystemVerilog/Bluespec SystemVerilog的相关参数

vscode配置verilog,日常运维,vscode,fpga开发,ide

● ctags PATH

vscode配置verilog,日常运维,vscode,fpga开发,ide

由于前面我们安装universal ctags的时候添加了系统环境变量,因此这里只需要填入“ctags”即可。

● linter(语法检查工具)

vscode配置verilog,日常运维,vscode,fpga开发,ide

该插件支持以上静态语法检查工具(需要额外安装对应的软件),在Windows上笔者推荐使用Xilinx vivado自带的xvlog,在Linux上笔者推荐开源的轻量级iverilog。

对于vivado的安装以及iverilog,或者verilator的安装,不在本文范围之内,否则本文将过于冗长啰嗦,若有需要这两者的安装和使用教程,等后面笔者有时间再更新新的文章。

最后特别注意:linter工具只会在保存(CTRL+S)之后进行语法检查,因此,在编写源码的过程中没有红色波浪线提示,是正常的,如果你需要立刻进行一次语法检查,可以立即保存一次,或者通过rerun lint tool命令强制执行一次。

vscode配置verilog,日常运维,vscode,fpga开发,ide



五、将vivado默认文本编辑器替换为VsCode【2023-7-21更新】

按照前文所述,安装好vscode环境后。启动vivado,按照如下所示,配置默认的 text editor:
vscode配置verilog,日常运维,vscode,fpga开发,ide
*特别注意: 图中第五个框处的vscode调用代码应该写为:

cmd /S /K 	"code -g [file name]:[line number]"

如果直接写code -g [file name]:[line number] 会造成打开的vscode界面卡死!!!!




最终的使用效果,就不放展示视频了,基本上可以还原verdi端的50%的常用功能吧,各种鼠标悬停显示,代码声明跳转,静态语法检查,基本上都有了。总的来说,作为学习和科研使用,这套配置的体验是非常优秀的~







​本文完·····························································Write by tsukimi @2023文章来源地址https://www.toymoban.com/news/detail-824877.html

到了这里,关于vscode搭建Verilog环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 轻量化Verilog开发环境搭建

    本文记录基于vscode、iverilog搭建轻量化Verilog学习环境的方法。 ref: VSCode Verilog工具链、linux下搭建轻量易用的verilog仿真环境 (1)安装iverilog,这是一个轻量化的开源verilog编译器,配合gtkwave可进行波形仿真。 (2)安装vscode插件 Verilog-HDL 为verilog提供语法高亮和静态检查等基本

    2024年02月07日
    浏览(25)
  • FPGA纯verilog实现4路视频拼接,纯逻辑资源搭建,提供4套工程源码和技术支持

    FPGA高端项目:Xilinx Kintex7系列FPGA多路视频拼接 工程解决方案 提供6套工程源码和技术支持 没玩过图像拼接都不好意思说自己玩儿过FPGA,这是CSDN某大佬说过的一句话,鄙人深信不疑。。。 图像拼接在实际项目中应用广泛,特别是在医疗和军工行业,目前市面上的图像拼接方

    2024年02月08日
    浏览(46)
  • 【FPGA】基本实验步骤演示 | Verilog编码 | 运行合成 | 设备/引脚分配 | 综合/实施 | 设备配置 | 以最简单的逻辑非为例

    写在前面: 本章的目的是让你理解与门、或门和非门的行为,并使用 Verilog 语言实现多输入与门、或门和非门。在生成输入信号之后,你需要通过模拟来验证这些门的操作,并使用 FPGA 来验证 Verilog 实现的电路的行为。 0x00 引入:与门、或门与非门 构成数字系统电路的最基

    2024年02月02日
    浏览(38)
  • ZedBoard+AD9361_FPGA的PL端纯逻辑(verilog)配置控制9361(一)_初始化寄存器脚本文件生成

    由于9361的寄存器较多,首先利用AD936X Evaluation Software 软件,根据我们的项目需求,配置相应的功能参数,生成寄存器参数配置文件。 我建议大家选择安装AD936X Evaluation Software 2.1.3版本,下载安装软件,一路点击下一步即可完成安装。软件安装包:百度网盘  提取码:mww7 安装

    2024年02月13日
    浏览(41)
  • 【FPGA】Verilog设计入门——时序模块及其Verilog表述

    目录 1.边沿触发型触发器及其Verilog表述 2.电平触发型锁存器及其Verilog表述  3.含异步复位/时钟使能型触发器及其Verilog表述 4.同步复位型触发器及其Verilog表述  5.异步复位型锁存器及其Verilog表述 6.Verilog的时钟过程表述的特点和规律   7.异步时序模块的Verilog表述  8.4位二进制

    2024年02月07日
    浏览(39)
  • FPGA模块使用Verilog调用另一个Verilog模块

    FPGA模块使用Verilog调用另一个Verilog模块 在FPGA设计中,常常需要将一个大的模块分解成多个子模块来实现。而这些子模块通常由Verilog代码编写而成。在设计中,我们需要通过调用这些子模块来实现整体的功能。本文将介绍如何使用Verilog调用另一个Verilog模块。 为了说明这个过

    2024年02月07日
    浏览(43)
  • 【FPGA/verilog -入门学习4】verilog 实现多路脉冲计数

    设计一个脉冲计数器,其功能如下 输入脉冲:4路脉冲信号,分别对每路进行脉冲检测并计数 使能信号:高电平进行计数,低电平清零计数器 计数器:在使能信号高电平期间,对脉冲信号的上升沿进行检测并递增计数值 编写测试脚本,进行仿真验证 使用上一章的一路脉冲检

    2024年02月04日
    浏览(48)
  • FPGA设计Verilog基础之Verilog的运算符

    注意:后续技术分享,第一时间更新,以及更多更及时的技术资讯和学习技术资料 ,将在公众号 CTO Plus 发布,请关注公众号: CTO Plus FPGA设计Verilog基础之Verilog的运算符 Verilog是一种硬件描述语言,支持多种运算符,包括算术运算符、比较(关系)运算符、逻辑运算符、条件

    2024年02月03日
    浏览(48)
  • 【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法

    就是用代码来描述硬件结构 语言有VHDL与Verilog HDL Verilog HDL 是从C语言来的,学的快 ###例子 也叫保留字,一般是小写 module 表示模块的开始 endmodule 模块的结束 模块名 一般与.v文件的名字一致 输入信号 input 输出信号 output 既做输入也做输出 inout 需要一些变量和参数对输

    2024年02月21日
    浏览(43)
  • 【Verilog HDL】FPGA-Verilog文件的基本结构

    🎉欢迎来到FPGA专栏~Verilog文件的基本结构 ☆* o(≧▽≦)o *☆ 嗨 ~我是 小夏与酒 🍹 ✨ 博客主页: 小夏与酒的博客 🎈该系列 文章专栏: FPGA学习之旅 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏 📜 欢迎大家关注! ❤️ Verilog HDL系列博客参考书籍 《

    2024年02月04日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包