一、插件安装

在Vscode扩展中搜索verilog 安装下面几个插件

Verilog-HDL/SystemVerilog/Bluespec SystemVerilog

可实现功能:

  • 语法高亮(颜色较少)
  • 自动补全(实现简单代码补全)
  • 语法检查(需配置相应的语法检查工具)
  • 自动例化(需配合ctags使用,下同)
  • 代码提示和跳转

语法检查的配置

  1. 使用Vivado的xvlog.exe作为语法检查工具
  • Vivado安装目录下面的bin文件夹加入到环境变量PATH里面,重新打开vscode,命令行窗口输入 xvlog --version显示正常版本信息则添加成功。
  • 然后在vscode中选择语法检查工具为xvlog,然后重启vscode,大概就具有语法检查功能了
  • 如果依旧不行,试试重启电脑、管理员模式打开vscode、配置ctags(这个应该不会影响语法检查)、检查环境变量是否正确这几种可能多试试或许就好了。
  1. 使用modelsim的vlog.exe作为语法检查工具
  • 将 modelsim 安装目录下的含有 vlog.exe 的 win64 文件夹加入系统变量(或将 modelsim-Altera 安装目录下的 win32aloem 文件夹加入系统变量)
  • 打开modelsim新建一个空白工程(项目路径不可包含中文与非法字符),然后复制 包含_info文件 的work文件夹路径。
  • 打开vscode,将语法检查工具改为modelsim,并将上面复制的路径粘贴到Verilog> Linting>Modelsim: Work中,然后重启vscode
  • modelsim中打开首页面中初始可能会有一个work文件夹,如果按照上面配置后,没有语法检查的功能,可尝试删除原有的work文件夹。

自动例化&代码提示和跳转

  1. ctags配置步骤:
    a. 下载最新版ctags,旧版的有些功能不够齐全;windows可选x64版本;
    b. 将ctags.exe的路径设置到系统环境变量中;

c. 插件设置中配置ctags路径;这里直接填写ctags,不要填写绝对地址

vscode配置spark vscode配置Verilog_Verilog

d. 重启VSCode,终端中输入 ctags --version如果没有报错,右键-转到定义,来验证是否成功跳转;

e. 此时,ctrl + shift + p输入 verilog 可以实现模块例化。

Verilog Highlight

语法高亮,安装直接使用

Verilog_Testbench

可实现功能

  • Instance
  • testbench

安装完成后,在相应的文件中按下 ctrl + shift + p ,然后在弹出的输入栏中输入 testbench,回车可在终端中生成相应的testbench代码。同样的如果输入 instance 则会生成模块实例。

如果电脑没有python环境会报错,需要安装python环境或者是需要添加python路径到系统变量中。

SystemVerilog and Verilog Formatter

可实现功能

  • 自动格式化文件
  • 自动格式化选定内容
  • 自定义格式
  1. 下载 verible并解压至特定位置,添加其路径到环境变量,(可选项,verible是谷歌提供的一块verilog工具,我们主要使用它的代码格式化工具。当然仅配置2的内容可以实现大部分常用代码段对齐。,如果我没理解错的话,ubuntu、centos和win64是不需要这个的 )
  2. 配置自定义格式化参数
--column_limit=300 --indentation_spaces=2 --assignment_statement_alignment=align --named_port_alignment=align  --port_declarations_alignment=align --module_net_variable_alignment=align

vscode配置spark vscode配置Verilog_编辑器_02

  1. 用法:shift+ctrl+f就可以格式化文件,选定内容格式化(未知,似乎是我快捷键被占用了)

其他问题

乱码问题解决

勾选 Auto Guess Encoding可以避免一些情况下文件打开乱码的情况。(建议修改用户,工作区仅对当前文件夹有效)

vscode配置spark vscode配置Verilog_ide_03

文件图标不够直观

安装插件Material Icon Themevscode-icons

TerosHDL

功能挺多的 暂时没体验