Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Verilog For HiroNew to Visual Studio Code? Get it now.
Verilog For Hiro

Verilog For Hiro

Hiro Young

|
23 installs
| (0) | Free
完整的Verilog开发支持扩展,包含文件树显示、一键实例化、语法高亮、定义跳转等功能
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Verilog For Hiro

一个功能完整的VS Code Verilog开发扩展,为Verilog和SystemVerilog提供全面的开发支持。

功能特性

🌳 智能文件树显示

  • 模块层次视图:清晰展示Verilog模块的实例化层次关系
  • 文件浏览视图:按目录或平铺方式浏览Verilog文件
  • 顶层模块识别:自动识别并突出显示顶层模块
  • 层次关系追踪:显示模块间的实例化关系
  • 独立活动栏:在VS Code活动栏中注册专用视图容器

⚡ 智能模块实例化

  • 多种连接风格:支持命名端口、位置端口或同时生成两种风格
  • 智能端口连接:自动识别常见信号名(clk、rst等)并生成合适连接
  • 参数处理:自动解析和包含模块参数
  • 信号声明生成:可选择自动生成所需的wire/reg声明
  • 交互式选项:提供友好的选项对话框供用户选择
  • 剪贴板集成:生成的代码自动复制到剪贴板

🎨 语法高亮

支持多种HDL相关文件的语法高亮:

  • Verilog (.v, .vh)
  • SystemVerilog (.sv, .svh)
  • UCF约束文件 (.ucf)
  • XDC约束文件 (.xdc)
  • TCL脚本 (.tcl, .do)
  • 高云CST约束文件 (.cst)

🔍 定义跳转

  • 快速跳转到模块、变量和引脚的定义位置
  • 基于Universal Ctags实现,支持精确定位
  • 用户可自定义ctags.exe路径

💡 定义悬停

  • 鼠标悬停显示变量或模块的详细定义信息
  • 显示符号类型、文件位置和源代码上下文
  • 同样基于Universal Ctags实现

🔧 语法检查

  • 使用Vivado xvlog工具进行语法错误检查
  • 实时显示错误和警告信息
  • 支持保存时自动检查

📝 智能代码补全

  • 提供符合IEEE标准的Verilog代码片段
  • 智能感知上下文,提供相关补全建议
  • 支持模块实例化、状态机、测试台等常用模板

安装要求

必需工具

  • Universal Ctags: 用于定义跳转和悬停功能
    • 下载地址: https://github.com/universal-ctags/ctags
    • 需要在扩展设置中配置ctags.exe的路径

可选工具

  • Vivado xvlog: 用于语法检查功能
    • 需要安装Xilinx Vivado工具套件
    • 在扩展设置中配置xvlog工具路径

使用方法

文件树操作

  1. 在侧边栏的"Verilog文件树"面板中查看项目结构
  2. 点击文件名打开文件
  3. 展开文件节点查看其中的模块定义
  4. 点击刷新按钮更新文件树

模块实例化

  1. 将光标放在要实例化的模块名上
  2. 右键选择"实例化模块"或使用命令面板
  3. 实例化代码将自动生成并插入到当前位置
  4. 代码同时复制到剪贴板方便复用

测试台生成

  1. 在包含模块定义的文件中
  2. 右键选择"生成测试台"
  3. 自动生成包含时钟、复位和测试激励的测试台文件

定义跳转

  1. 按住Ctrl并点击变量或模块名
  2. 自动跳转到定义位置
  3. 也可以右键选择"转到定义"

语法检查

  1. 保存文件时自动进行语法检查(如果启用)
  2. 手动执行:命令面板 -> "Verilog For Hiro: 语法检查"
  3. 错误信息显示在问题面板中

扩展设置

在VS Code设置中搜索"Verilog For Hiro"配置以下选项:

路径配置

  • verilogForHiro.ctagsPath: Universal Ctags可执行文件路径
  • verilogForHiro.xvlogPath: Vivado xvlog工具路径

功能开关

  • verilogForHiro.enableSyntaxCheck: 启用xvlog语法检查
  • verilogForHiro.enableHover: 启用悬停提示功能
  • verilogForHiro.enableGoToDefinition: 启用跳转到定义功能
  • verilogForHiro.autoFormat: 保存时自动格式化代码

实例化设置

  • verilogForHiro.instantiation.style: 实例化风格(simple/named/both)
  • verilogForHiro.instantiation.autoConnect: 自动连接同名信号

文件树设置

  • verilogForHiro.fileTree.showHierarchy: 显示模块层次关系
  • verilogForHiro.fileTree.groupByDirectory: 按目录分组显示文件

代码补全设置

  • verilogForHiro.completion.enableSnippets: 启用代码片段补全
  • verilogForHiro.completion.enableModuleInstance: 启用模块实例化补全

快捷键

功能 快捷键 命令
实例化模块 无默认快捷键 verilogForHiro.instantiateModule
生成测试台 无默认快捷键 verilogForHiro.generateTestbench
格式化文档 无默认快捷键 verilogForHiro.formatDocument
语法检查 无默认快捷键 verilogForHiro.syntaxCheck
刷新文件树 无默认快捷键 verilogForHiro.refreshFileTree

用户可以在VS Code的键盘快捷方式设置中自定义这些命令的快捷键。

代码片段

扩展提供了丰富的IEEE标准Verilog代码片段,输入以下前缀并按Tab键展开:

Verilog片段

  • module - 基本模块模板
  • module_param - 带参数的模块模板
  • always_comb - 组合逻辑always块
  • always_ff - 时序逻辑always块
  • always_ff_rst - 带复位的时序逻辑块
  • case - case语句
  • if_else - if-else语句
  • for - for循环
  • function - 函数定义
  • task - 任务定义
  • testbench - 测试台模板
  • fsm - 有限状态机模板

SystemVerilog片段

  • svmodule - SystemVerilog模块
  • interface - 接口定义
  • class - 类定义
  • always_ff - SystemVerilog时序块
  • always_comb - SystemVerilog组合块
  • typedef_enum - 枚举类型定义
  • typedef_struct - 结构体定义
  • constraint - 约束块
  • covergroup - 覆盖率组
  • assert - 断言

故障排除

常见问题

Q: 定义跳转不工作 A: 请确保已安装Universal Ctags并在设置中配置了正确的路径。扩展会自动生成.tags文件。

Q: 语法检查功能不可用
A: 需要安装Xilinx Vivado并配置xvlog工具路径。确保xvlog命令在命令行中可以正常执行。

Q: 文件树没有显示 A: 确保工作区包含.v或.sv文件,并尝试刷新文件树。

Q: 代码补全不工作 A: 确保文件语言模式设置为"Verilog"或"SystemVerilog"。

性能优化

  • 对于大型项目,ctags生成可能需要一些时间
  • 可以通过.gitignore排除不需要的文件目录
  • 语法检查建议只在需要时启用

更新日志

1.0.0

  • 初始版本发布
  • 实现所有核心功能
  • 支持Verilog和SystemVerilog
  • 提供完整的语法高亮和代码补全

贡献

欢迎提交Issues和Pull Requests来改进这个扩展。

许可证

MIT License

作者

MiniMax Agent


享受使用Verilog For Hiro进行高效的HDL开发! 🚀

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft