必须精确安装veriloghighlighter插件(首字母大写、无空格连字符、结尾无s),重启后手动将.sv文件绑定为systemverilog语法,否则语法不加载、代码全灰、片段不触发。

VerilogHighlighter 必须装对,否则 .sv 文件永远是灰色的——Sublime 默认根本不认识它,不是高亮“失效”,而是压根没加载语法定义。
怎么装对 VerilogHighlighter 插件
网上搜到的 Verilog Syntax、Verilog-HDL、Verilog-SystemVerilog 都不顶用,真正起作用的只有 VerilogHighlighter(首字母大写、无空格、无连字符、结尾无 s)。
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Package Control: Install Package回车 - 在弹出搜索框中**逐字输入
VerilogHighlighter**,注意大小写和拼写,选中后回车安装 - 安装完必须重启 Sublime Text,插件不会热加载
- 如果之前装过其他 Verilog 相关插件(如
Verilog-HDL),建议先禁用或卸载,避免scope冲突
为什么 .sv 文件还是 Plain Text
.v 文件通常能被自动识别为 Verilog,但 .sv 是 Sublime 硬编码未映射的扩展名——不手动绑定,logic、always_ff、interface 全是灰色,代码片段也完全不响应。
- 新建或打开一个
test.sv,右下角显示Plain Text?立刻点击它 → 选择SystemVerilog - 更稳妥做法:菜单栏 →
View→Syntax→Open all with current extension as…→ 选SystemVerilog - 检查
Preferences → Settings – User中是否误加了类似"extensions": ["sv"]→"syntax": "Packages/Text/Plain text.tmLanguage"的规则,有就删掉 - 验证方式:
Ctrl+Shift+P→ 输入Developer: Show Scope Name,光标停在module上,状态栏应显示source.systemverilog
代码片段(mod / alw / if)按 Tab 没反应
Sublime 的补全是纯 snippet 触发,不是语义感知型,不弹窗、不联想、不分析上下文。输完缩写后不按 Tab,或作用域不对,就完全没反应。
- 右下角状态栏必须显示
SystemVerilog(不是Verilog、VHDL或Plain Text) - 输入
mod后光标必须停在末尾,**立刻按Tab** —— 按空格、回车、鼠标点别的地方都会中断触发 - 不能在注释里、字符串里、
/* */块里、已缩进的行首敲缩写,那些位置的scope是comment.line.double-slash或string.quoted,不匹配source.systemverilog - 自定义
.sublime-snippet时,<scope></scope>字段必须设为source.systemverilog或source.verilog,写成source.verilog.systemverilog会失效
构建系统调用 iverilog 报 “Unknown module type”
这不是语法错,是 iverilog 压根没读到被引用的模块文件。默认只编译当前文件,不递归查找依赖。
-
"cmd"里仅写"$file"只处理当前文件;若模块间有引用(比如fifo_ctrl.v被top.sv实例化),必须显式列出所有源文件,或用-f filelist.f - 路径含空格或中文时,
"$file"和"$file_path"必须加双引号,例如:"cmd": ["iverilog", "-o", "$file_base_name", "<code>$file"] - Windows 下若设
"shell": true,命令中需带.exe后缀,否则可能调用失败;推荐统一用"cmd"数组方式 - 确保
"working_dir"设为"$file_path",否则相对路径的`include "defs.v"找不到
容易被忽略的一点:插件装对、语法绑对、构建写对,三者缺一不可;但最常卡住的是第二步——.sv 文件没手动切到 SystemVerilog 语法,状态栏还显示 Plain Text,后面所有功能都白配。











