verilog/sv/uvm和各种脚本的插件
芯片验证工程师的 VSCode/Vim 插件推荐
以下按你的使用场景分类整理,涵盖 HDL/UVM、脚本语言(Python/Perl/Shell)、文本对齐与编辑增强、以及波形调试工具。
一、HDL / SystemVerilog / UVM 核心插件
这是芯片验证工程师最核心的插件类别,建议至少安装 2-3 个搭配使用。
1. Verilog-HDL/SystemVerilog(mshr-h)
VSCode 中最经典的 Verilog/SV 插件。支持 IEEE 标准语法高亮、Go to Definition、Hover 信息、模块例化自动生成(默认前缀 u_),以及代码对齐功能(快捷键 Alt+=),可对齐端口声明、信号声明、赋值等。需要注意的是,该插件的代码对齐是独立命令,不是保存时自动触发。
2. SystemVerilog Tools(JayceVane.svtools)
功能非常全面的一款插件,v3.0 后核心引擎用 Rust 重构,无需 Python 依赖,启动快、性能高。功能包括:
- 自动格式化 Verilog/SV 文件,支持完整 Unicode(中文注释不乱码)
- 对齐模块端口声明、信号/变量声明、模块实例化端口、赋值语句、case 语句、always 块
- 模块实例化自动生成(
Ctrl+Shift+C) - 测试台自动生成(
Ctrl+Shift+T),可配置 fsdb/vpd/shm/vcd 波形 dump - 代码重复编号:选中含占位符的代码,自动生成带编号的重复代码(如批量生成
assign signal_0到signal_8),写宏或批量声明时非常实用 - 插入标准化文件头
3. SystemVerilog - Language Support(eirikpre)
轻量级插件,优势在于支持 UVM 框架,能自动生成断言代码,适合验证环境搭建。可与 mshr-h 的插件同时安装,两者在语法高亮和补全上互补。
4. VeriGood - SystemVerilog/Verilog Formatter
专业格式化工具,可自动检测并独立格式化 UVM Testbench,对格式化的控制粒度很细。
5. Sigasi Visual HDL
如果你需要更强大的语义分析能力,Sigasi 是重量级选择。它把 VSCode 变成完整的 HDL 平台,内置支持 UVM、OSVVM、UVVM、VUnit、Cocotb 等验证框架,提供实时错误检测、设计可视化(框图和状态机图)、与 EDA 工具链的集成。适合需要深度代码分析的场景。
6. HDL Notes
专门为 Verilog/SV/UVM 学习者设计的插件,但它有一个对验证工程师很有用的功能:一键生成可跑的完整 UVM 工程模板(10 格分文件),并且能自动检测 iverilog/Questa/VCS/Verilator,代码含 UVM 时自动优先 Questa。做 UVM 练习或快速搭建原型时很方便。
二、Python / Perl / Shell 插件
Python
安装微软官方的 Python 扩展包 即可,包含 Pylance(语言服务器)、调试器、Jupyter 支持等。验证环境中常用 Python 做脚本自动化、Cocotb 验证等,官方扩展是标配。
Perl
Perl 在芯片验证中仍大量用于旧脚本和 EDA 工具集成。推荐两个方案:
- Perl Language Server(perl-lsp) :基于 Rust 的原生 LSP,支持代码智能、诊断、重构和逐步调试,性能好。
- PerlNavigator(bscan) :集成语法检查、Perl Critic 静态分析和代码导航。
- 基础方案:安装 rebornix 的 Perl 扩展(语法高亮 + 括号匹配),搭配 perl-debug 调试扩展。注意需要在设置中手动配置
perl.perlPath。
Shell
- Bash IDE(mads-hartmann) :最核心的 Shell 插件,提供符号分析、定义跳转、高亮、语法检查(集成 shellcheck)、格式化(集成 shfmt)、变量和函数补全。
- ShellCheck(timonwong.shellcheck) :实时语法检查与安全提示,需先安装 shellcheck CLI(
sudo apt install shellcheck)。 - Bash Debug(rogalmic) :支持断点和变量查看,需配合 bashdb 使用。
Code Runner:如果你想快速运行一段 Python/Perl/Shell 片段而不想切终端,这个插件支持一键运行多种语言。
三、文本对齐与编辑增强
对齐类
- Better Align:最推荐的通用对齐插件。按
=、:、=>、+=等符号自动对齐,无需手动选中(插件会自行识别),支持尾部注释对齐。 - Align Regex:基于正则表达式对齐,可自定义模板。内置了
//尾部注释、=、:等常用模板,适合对齐验证代码中的信号声明和注释。 - align-columns:通过多光标实现对齐。在多行对应位置插入光标后一键对齐,适合对齐不规则的文本列。
编辑增强
- multi-command:VSCode 原生不支持键盘宏,这个插件可以串联多个编辑命令,模拟宏录制回放的效果。
- Text Marker (Highlighter):同时用不同颜色高亮多种文本模式,在大型验证环境中快速定位关键信号或宏定义非常实用。
- Sort Lines:对选中行进行排序,处理信号列表、端口列表时方便。
- Surround:快速给选中内容添加括号、引号、begin/end 等包裹,写 SV 时高频使用。
- Indent Rainbow:用颜色区分不同缩进层级,SV 中嵌套的 begin/end、class、function 层级多,这个插件能显著提升可读性。
四、波形调试与辅助工具
wave-mcp(腾讯蓬莱实验室开源)
这是一个 MCP Server,不是 VSCode 插件,但对验证工程师极有价值。它提供免 License 的波形调试能力,支持 FST 直读,VCD/FSDB 自动转 FST(FSDB 转换不占 Verdi License)。提供 34 个工具,包括设计层次探索、信号值查询、驱动分析、X 态根因追踪、波形对比(定位首个分歧时刻)等。通过 pip install wave-mcp 安装,可与 AI Agent 配合使用。在生产级芯片项目(OpenTitan、香山)上验证过,225 万信号级查询准确性 100%。
Vivado 集成
如果你用 Vivado,可以在 Vivado 的 Tools → Settings → Text Editor 中配置 Custom Editor,直接调用 VSCode 打开文件并跳转到指定行,实现两者联动。
五、如果你也用 Vim/Neovim
verilog_systemverilog.vim(vhda) :最主流的 Vim SV 插件,支持语法高亮和 UVM 文件编辑。
verilog-support.vim(jmcneal) :为 SystemVerilog 和 UVM 文件提供代码模板,可快速插入常用代码块(如 UVM 的 class 骨架、sequence、driver 模板等)。
Neovim + LSP 方案:社区有专门为 SystemVerilog/UVM 配置的 Neovim 配置(thecooldaniel/nvim-config-systemverilog),集成 LSP(svls 或 svlangserver)、tree-sitter(语法高亮和解析)和 nvim-lint。
快速上手指南
建议按以下优先级安装:
第一天:Verilog-HDL/SystemVerilog (mshr-h) + SystemVerilog Tools + Better Align。这三个覆盖语法支持、格式化和对齐,是最高频的需求。
第二天:Bash IDE + ShellCheck + Python 官方扩展 + Perl 扩展(或 perl-lsp)。把脚本环境配齐。
第三天:根据实际需要补充——如果做 UVM 环境搭建加 eirikpre 的 SystemVerilog - Language Support;如果要做波形调试调研 wave-mcp;如果觉得对齐还不够灵活加 Align Regex 和 multi-command。
浙公网安备 33010602011771号