当前位置: 首页 > news >正文

vscode的Verilog/SystemVerilog Tools(Andrew Nolte)插件简单配置

//=====================================================================
//=====================================================================

【功能】

1、自动补全(无需设置)
2、工程的树状结构(无需设置)
3、将悬停在变量上显示声明(设置"verilog.includes")
4、跳转到变量/parameter/define定义查看定义("verilog.includeGlobs")
5、模块自动例化(无需设置,输入#)
6、内联显示例化模块的的输入输出(Inlay Hints:port选项on)
.vscode/setting.json
{"verilog.includes": [//设置头文件的文件夹静态路径,不会递归子文件夹"hdl/include"//搜索include文件夹],"verilog.excludeGlob": "**/*.fsdb",//搜索排除.fsdb,提高性能"verilog.includeGlobs": [//设置头文件的文件夹动态路径,会递归子文件夹"hdl/INCLUDE/*.sv"],"verilog.lint.modelsim.args": "+define+SIMULATION -svinputport=relaxed",//vlog的参数"verilog.lint.modelsim.includes": [ "hdl/INCLUDE" ],//vlog的头文件 类似于 +incdir+/path
}

//=====================================================================
//=====================================================================

【JSON】

概要数据在名称/值对中数据由逗号 , 分隔大括号 {} 保存对象,一个无序的名称/值对的集合。中括号 [] 保存的数组是值(value)的有序集合。双引号 "" 代表字符串反斜杆 \  来转义字符    值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array),它们是可以嵌套。JSON 名称/值对key : value
JSON 值数字(整数或浮点数)字符串(在双引号中)逻辑值(true 或 false)数组(在中括号中)对象(在大括号中)null
JSON 数字 可以是整型或者浮点型:{ "age":30 }
对象在大括号 {} 中书写{key1 : value1, key2 : value2, ... keyN : valueN }
数组在中括号 [] 中书写:{"sites": [{ "name":"菜鸟教程" , "url":"www.runoob.com" }, { "name":"google" , "url":"www.google.com" }, { "name":"微博" , "url":"www.weibo.com" }]}

//=====================================================================
//=====================================================================

【vscode】

1.修改配置后需重启 VSCode 或重新加载窗口(Ctrl+Shift+P→ Reload Window)。
2.命令面板输入“Preferences: Open Settings (JSON)”来打开
project-root/
├── src/
├── .vscode/
│   ├── settings.json  # 项目级配置
│   └── launch.json    # 调试配置
└── package.json

//=====================================================================
//=====================================================================
插件:Verilog/SystemVerilog Tools(Andrew Nolte)
1.不能点击例化名字跳转打开文件?–文件名与模块名要一致。
2.不能跳转到include文件内?–verilog.include没有设置
2.define参数不能跳转?–
//=====================================================================
//=====================================================================
【配置项 exclude glob】 (glob:通配符)
排除特定文件或目录在代码分析、索引和自动补全等场景中的参与。其核心作用是通过glob 模式匹配精准控制插件需要处理的文件范围,从而提升性能并避免无关文件的干扰。
Glob 模式语法:
**:匹配任意层级的子目录。
:匹配任意字符(不含路径分隔符)。
?:匹配单个字符。
[abc]:匹配括号内的任意字符。
!:取反(需配合其他规则使用)。
【expandMacroScript配置项】
用于自定义宏展开逻辑,其核心作用是通过脚本动态解析和替换代码中的宏定义(define),从而提升代码可读性和调试效率。需要自己编写脚本,暂不使用。
【verilog.formatDirs配置项】
指定格式化规则文件的搜索路径,用于加载自定义的代码风格模板或配置文件。
【verilog.includeGlobs配置项】–会递归查子文件夹
通过通配符模式指定需要索引的 Verilog 头文件(.h/.svh/…等任何后缀)路径,从而增强插件对跨文件模块、参数和宏的解析能力。"include/
"
【verilog.includes配置项】–不会递归查子文件夹
指定 Verilog 头文件(特定后缀.h或 .svh)的搜索路径,使插件能够正确解析跨文件的模块声明、参数定义和宏引用
【verilog.index.enableSymlinks配置项】
控制是否通过符号链接(Symlink)加速模块和文件的索引过程。
插件会在项目根目录下创建 .sv_cache/files目录,并为所有 Verilog 源文件(.v/.sv)和头文件(.h/.svh)生成符号链接。
这些符号链接会被传递给 Linter 工具(如 Verilator、Slang),使工具能快速定位模块定义,无需依赖复杂的路径配置。
【verilog.index.indexAllIncludes配置项】
控制是否递归索引所有包含路径(include指令)中的头文件,从而扩大插件对模块、参数和宏的解析范围。
当设置为 true(默认值)时,插件会递归扫描 verilog.includes中指定的所有目录及其子目录,自动索引其中的头文件(.h/.svh),建立全局符号索引。
【verilog.inlayHints.wildcardPorts配置项】
控制是否在模块实例化时显示通配符端口(.*)的智能提示,帮助开发者快速识别可用的端口名称和方向,提升代码编写效率。???
【verilog.lint.modelsim.args配置项】
为 ModelSim 的 vlog编译器传递额外的命令行参数,以控制语法检查(Lint)的行为。
+incdir+/path/to/includes 指定头文件搜索路径多级目录下的头文件索引
+define+SIMULATION定义宏 SIMULATION,用于条件编译测试平台区分仿真与综合代码
【verilog.lint.modelsim.include 配置项】
指定 ModelSim 工具在进行语法检查(linting)时需要额外包含的目录路径。注意:是路径,不是文件

http://www.dtcms.com/a/486286.html

相关文章:

  • Rokid设备连接全解析:蓝牙与Wi-Fi通信源码深度剖析
  • 浦口区建设中学网站湖北什么是网站建设
  • 在阿贝云免费云服务器上体验LightGBM模型训练的愉快经历
  • 工业设计核心软件全解析:从绘图到高端制造
  • 20251015荣品的PRO-RK3566开发板在buildroot下解决驱动编译异常的问题
  • pytest 库用法示例:Python 测试框架的高效实践
  • 公司接到网站中文域名到期在云服务器打建网站
  • 为什么做的网站预览出来什么都没有wordpress开发西瓜
  • uniapp使用音频录音功能
  • 【Linux运维】 Prometheus + Grafana + Alertmanager 监控系统部署指南(CentOS Ubuntu 通用版)
  • 目标检测核心知识与技术
  • 【免费源码】使用YOLOv11和OCSort进行多类别目标跟踪。(基于ncnn框架,c++实现)
  • 学习:uniapp全栈微信小程序vue3后台(31)
  • 微信小程序开发实战指南(三)-- Webview访问总结
  • 公司自建网站加盟装修公司哪家好
  • 哪个软件做网站好如何制作橡皮泥 简单
  • DDE方式下Delphi7程序间及与VB6程序的数据交换
  • 网络安全等级保护要求(10+4 层面)记忆总结
  • 活字格AI智能体:重塑企业级自动化与智能交互新范式
  • 【通信网络安全主题】第六届计算机通信与网络安全国际学术会议(CCNS 2025)
  • 海商网做网站价格自己做的网站怎么添加采集模块
  • vscode使用翻译插件分享
  • Web通信技术:Comet(服务器推送)详解
  • 互联网营销网站建设玩具租赁网站开发与实现论文
  • 为什么格林公式二重积分一侧的被积函数是两项相减
  • 成都网站建设软件石家庄模板网站
  • 【实战-12】flink版本表
  • ‌MyBatis-Plus 的 LambdaQueryWrapper 可以实现 OR 条件查询‌
  • 带你了解STM32:SPI通信(硬件部分)
  • CentOS下安装配置JDK24和tomcat11