Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>XLXLNew to Visual Studio Code? Get it now.
XLXL

XLXL

zhaiyl

|
2 installs
| (0) | Free
HDL project organization and static analysis for VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

XLXL

0.15.3 与 0.15.2 功能一致,仅更新发布版本号。新建工程自动创建 include/ 并递归发现 .vh/.svh 头文件,接入语法检查和 Slang 的头文件搜索路径。保留 Verilog 与 SystemVerilog 按后缀区分的补全:.v/.vh 使用 Verilog,.sv/.svh 使用 SystemVerilog。

XLXL 是一款面向 Verilog 和 SystemVerilog 工程的 VS Code 插件 MVP,参考 Digital-IDE 的工程组织体验。

设置与工具路径

在 XLXL 的 Toolchain 视图点击“打开 XLXL 设置”,或在命令面板执行 XLXL: Open Settings(xlxl.openSettings)。也可以打开 VS Code 设置并搜索 @ext:zhaiyl.xlxl。设置按工具路径、语法与语义、格式化、仿真与波形、厂商构建及工程发现分类。

“配置工具路径”(xlxl.configureToolPath)统一提供编译器、厂商工具、Slang 和 Verible 的路径选择。选择用户或工作区作用域后,可选择文件、适用的目录、手动输入或恢复自动检测/内置工具。取消不修改设置;工作区设置会覆盖用户设置。原来的语法检查器路径命令仍可使用。

工具 配置键 路径含义
Vivado 语法检查 xlxl.xvlogPath xvlog、bin 或安装根目录;未单独指定时可使用 vivadoPath
Vivado 主程序 xlxl.vivadoPath Vivado 程序、bin 或安装根目录
ModelSim / Questa xlxl.modelsimPath / xlxl.questaPath 对应安装目录或 vlog / vsim;两者分别检测
Icarus 编译与运行 xlxl.iverilogPath / xlxl.vvpPath iverilog 和 vvp;vvp 留空优先使用编译器同目录
Lattice Diamond xlxl.diamondPath 安装目录、bin 或 pnmain / pnmainc
安路 TD xlxl.anlogicPath 安装目录、bin 或 TD 程序
Pango PDS xlxl.pdsPath 安装目录、bin 或 pds / pds_shell
Slang 语义服务 xlxl.semantic.serverPath slang-server 可执行文件;Windows x64 留空使用内置版本
Verible 格式化 xlxl.formatter.path 格式化程序绝对路径;Windows x64 留空使用内置版本

工具安装在自定义位置时可填写 xlxl.toolSearchPaths,例如 G:\EDA。许可证设置单独位于厂商构建分组,不会修改系统环境。

“格式化设置”(xlxl.openFormattingSettings)可直接打开缩进、行宽和对齐选项:

  • xlxl.formatter.indentSize:整数 0–16。0 跟随编辑器 Tab Size,2 / 4 / 8 等值表示固定空格数;默认 0。
  • xlxl.formatter.columnLimit:目标行宽,默认 100。
  • xlxl.formatter.alignPorts:多行端口与参数对齐,默认开启。

例如在用户或工作区设置中写入 "xlxl.formatter.indentSize": 4,即可固定使用 4 个空格;保存时自动格式化仍使用 VS Code 的 editor.formatOnSave,配置示例见下文。

编译输入与语义刷新

语法检查、Slang、Icarus 仿真以及厂商创建/同步共用包含目录解析规则:保留显式 include 顺序,并补入工作区、当前文件集的源码及头文件目录。宏内容保留原样,由各工具按自身规则转义。综合只选设计和 IP 文件,仿真可额外选入 testbench。

Slang 仍会在 HDL 保存或外部文件变化后重新加载,以确保未打开子模块和头文件的修改传播到父模块诊断。刷新期间连续发生的请求合并成一次后续刷新;未宣称已实现 Slang 增量编译。

可选 wave-mcp 波形分析仍需独立后端(命令:XLXL: Wave MCP Setup Guide)。VCD/FST 分析、驱动查询和 X 态追踪的插件协议接线曾通过模拟服务验证,但真实 Windows 后端、WSL 和高级查看器尚未完成端到端验证;仿真后自动分析默认关闭。

当前功能

  • 创建入口包含 Lattice Diamond、安路 TD、紫光 Pango。PDS/PDS Lite 通过已安装软件的 pds_shell 原生生成 prj/<工程名>.pds,不再使用离线占位清单或硬编码工程格式版本。 向导依次填写 Device、工程名、Family、Package、Speed Grade(按实际芯片选择,不自动猜测)。导入设计源码、FDC/SDC 约束、头文件路径和宏;有源码时必须编译通过才保存 XLXL 配置,空工程明确标记尚未验证编译。创建日志与缓存位于 .xlxl/pds/create。也可使用 XLXL: Attach PDS Project 关联已有工程。

  • Diamond 创建使用 pnmainc 命令行入口(配置为 pnmain.exe 时自动寻找同目录的 pnmainc.exe),采用 Diamond 3.14 支持的综合设置命令。收到脚本完成标记后结束等待,并检查源码与约束是否实际导入,失败或超时不报告成功。

  • 创建时可在 VS Code 输入工程名称;Diamond 还可输入 Implementation 名称(默认 impl1),随后选择综合器:默认 Lattice 自带 LSE,也可选 Synplify Pro。工作区文件夹不会重命名,工程保存为 prj/<工程名>.ldf,实现配置写入 toolchain.implementationName。再次创建会预填已有名称,不覆盖已有同名厂商工程或实现目录。

  • 内置 HDL 行尾诊断仅显示错误,保留错误淡色行背景;警告只显示原生波浪线,悬停查看完整信息,不显示行尾文字和整行背景,不修改源码。 设置 xlxl.inlineDiagnostics.mode:auto(默认,Error Lens 可用且启用时让出显示)、on(始终使用内置显示)、off(关闭)。 已安装 Error Lens 的用户可手动禁用它后使用内置显示;插件不会修改 Error Lens 的设置。 这是独立实现的常用显示能力,不是内嵌或复刻整个 Error Lens 插件,当前仅适用于 Verilog/SystemVerilog。

  • Verilog/SystemVerilog 文件类型识别与基础语法高亮

  • 调用本机 Diamond / 安路 TD 创建厂商工程,导入已有设计源码、约束和顶层,并生成 .xlxl/project.json

  • XLXL Activity Bar 工程、模块、工具链视图

  • Verilog/SystemVerilog 模块静态扫描、可展开的层次树与源码跳转

  • 多行 ANSI 端口、参数化实例、同文件多模块分析

  • 顶层模块选择与 HDL/工程配置变更后的自动刷新

  • 模块定义跳转、引用查找、悬停摘要、Outline 符号与实例化代码补全

  • 例化连接的虚拟方向箭头、端口悬浮信息和右键转到定义

  • Vivado、ModelSim、QuestaSim、Icarus Verilog 本地可执行文件检测

  • Lattice Diamond、安路 TangDynasty、紫光同创 PDS 工具检测与脚本化构建

  • 可在 Vivado xvlog、ModelSim vlog、QuestaSim vlog、Icarus iverilog 四种语法检查器之间选择,默认使用 Vivado

  • 语法检查结果写入 VS Code 诊断,可直接由 Problems 或 Error Lens 展示,不弹出成功/失败通知

  • 输入 module 可补全为空端口模块骨架,不预设参数或输入输出端口

  • 使用 Icarus Verilog 编译并运行所选顶层模块

  • 将所选工具的错误/警告显示到编辑器和 Problems 面板

  • 状态栏显示当前语法工具状态,完整工具日志写入 XLXL 输出频道

  • 保存 Verilog/SystemVerilog 文件后使用当前选择的工具自动检查(可配置)

  • 连续保存会合并同文件检查并串行使用编译器;检查当前文件保留其他文件的错误,清除诊断后丢弃旧检查结果

  • 补全按词前缀及代码位置筛选;模块索引复用未改动文件的解析结果,优先采用未保存的编辑内容

一键整理 HDL 格式

0.14.0 起支持 Verilog/SystemVerilog 文档与选区格式化,使用 Verible。Windows x64 已附带格式化程序,无需另行安装。

  • 点击编辑器右上角的格式化小图标(悬停显示“XLXL: Format HDL Document”),或右键选择同名命令。
  • Windows 下按 Shift+Alt+F 执行 VS Code“格式化文档”。若装有多个格式化器,执行“使用…格式化文档”,选择 XLXL 并设为默认。
  • 选中代码后使用“格式化选定内容”(Windows:先 Ctrl+K,再 Ctrl+F),按选中行整理。
  • 使用编辑器中最新的未保存内容;整次修改可用 Ctrl+Z 撤销。语法错误、取消、超时或文档在处理期间变动时不应用结果。

默认整理缩进、运算符空格,并对齐多行端口声明、端口连接与参数。缩进使用空格,宽度跟随编辑器 Tab Size;也可设置 xlxl.formatter.indentSize(1–16,0 跟随编辑器)。xlxl.formatter.columnLimit 默认 100,是目标行宽;xlxl.formatter.alignPorts 可关闭端口和参数对齐。

启用保存时格式化,在 VS Code settings.json 中添加:

{
  "[verilog]": {
    "editor.defaultFormatter": "zhaiyl.xlxl",
    "editor.formatOnSave": true
  },
  "[systemverilog]": {
    "editor.defaultFormatter": "zhaiyl.xlxl",
    "editor.formatOnSave": true
  }
}

对于宏较复杂或需要保留手工排版的区域,可使用 // verilog_format: off 和 // verilog_format: on 注释包围。不能独立解析的头文件片段可能无法格式化;失败原因可在 XLXL Formatter 输出频道查看。

其他平台需安装 Verible 并加入 PATH,或设置 xlxl.formatter.path 为可执行文件的绝对路径。格式化器说明见 Verible 官方文档。

HDL 高亮

Verilog/SystemVerilog 高亮基于 Digital-IDE 的 MIT 许可规则改进,覆盖变量、声明类型、参数、模块、宏、数字、字符串与单行/多行注释。修复 SystemVerilog 规则加载错误,并将普通信号与参数声明分开分类。来源和许可见 THIRD_PARTY_NOTICES.md。

执行 XLXL: Apply HDL Contrast Colors 可为当前主题应用 HDL 配色:深色主题下信号为浅蓝、注释为灰绿斜体、声明类型为蓝色、参数与数字为浅橙、模块名为青绿。浅色主题使用对应的深色文字,高对比度主题保留原配色。规则仅作用于 Verilog/SystemVerilog,保留已有用户规则;更换主题后可再次执行该命令。配色保存在用户设置 editor.tokenColorCustomizations 的当前主题分组,规则名称以 XLXL HDL: 开头,可自行修改或删除。

端口方向与跳转

端口方向提示默认开启,可通过 xlxl.portDirectionHints 关闭;同时需保持 VS Code 的 editor.inlayHints.enabled 开启。箭头属于编辑器虚拟提示,不会修改或保存到 HDL 文件中。仅在例化括号内的端口连接处显示箭头:input ←、output →、inout ↔;module 的端口声明不显示箭头。悬浮端口名、括号内连接信号或箭头可查看方向、声明、连接信号和源码位置;跨文件提示优先读取未保存内容,首次索引尚未完成时会等待索引结果;右键端口名选择“转到定义”(或按 F12)跳转至端口声明,实例名可跳转至模块定义。支持常见 ANSI / 非 ANSI 端口、命名及位置连接;未解析模块或未知方向不显示箭头。

暂不包含

VHDL 语义分析和网表渲染。0.11 起提供基础 VCD 波形查看;大型波形仍需外部工具。XLXL 通过厂商 Tcl 接口创建 Diamond / TD 工程;Diamond 可直接构建关联的原生工程;TD 位流构建使用厂商工程导出的 Tcl 流程。0.9 起已接入 Slang 语义 LSP;工程树与基础降级索引仍使用轻量 RTL 解析器。

开发

npm install
npm run compile
npm test

可选真实 Vivado 回归(PowerShell):$env:XLXL_TEST_XVLOG = 'D:\AMDDesignTools\2026.1\Vivado\bin\xvlog.bat',然后运行 npm test。默认回归中的 ModelSim/Questa 流程使用模拟工具;0.12 另完成了本机 Questa 实际编译验证。Icarus 实机回归可设置 $env:XLXL_TEST_IVERILOG = 'D:\iverilog\bin\iverilog.exe' 后运行 npm test。

按 F5 启动 Extension Development Host。

语法诊断工具

  1. 在 VS Code 中打开你准备用作工程的文件夹,例如 led_demo,工程名称会自动使用 led_demo。
  2. 按 Ctrl+Shift+P,执行 XLXL: Initialize Project,或点击 XLXL 的 Project 视图右上角“创建厂商工程”按钮。
  3. 选择 Lattice Diamond 或安路 TD,输入器件型号;已有源码时确认顶层模块。取消输入不会创建工程。
  4. 插件调用所选软件创建、保存并重新打开工程验证。默认导入 rtl、ip 中的设计文件和 constraints 中适用于所选厂商的约束;已有 XLXL 配置时使用其源码匹配规则。仿真文件不会作为综合源码导入。

工程名称取自文件夹名称,器件由厂商软件校验。根据所选软件直接在 prj 下创建工程:Diamond 为 prj/<工程名>.ldf,TD 为 prj/<工程名>.al,不再创建厂商目录或额外工程子目录。已有同名工程或会冲突的实现目录时停止创建,避免覆盖;其他脚本和文档可保留在 prj 中。成功后才更新配置中的工程路径。没有源码时仍由软件生成默认工程配置,不虚构设计逻辑或引脚约束。

Windows 下优先使用 xlxl.diamondPath / xlxl.anlogicPath / xlxl.pdsPath,未设置时查找 PATH、Windows C–Z 盘的常见厂商/版本目录和 Program Files。创建入口使用 Diamond pnmainc.exe、TD td_commands_prompt.exe、PDS pds_shell.exe,配置 GUI 路径时自动寻找配套命令行工具。

许可证可在设置中分别填写 xlxl.diamondLicensePath、xlxl.anlogicLicensePath、xlxl.pdsLicensePath,支持文件路径或 端口@服务器。显式单文件路径在启动前检查是否存在;是否有效由厂商软件验证。仅为相应子进程设置环境,不修改系统环境或 Questa 检查配置。留空继承环境;PDS 非 Lite 版本还会查找安装目录及同级 license 目录中唯一的 .lic,找不到或存在多份时提示手动指定。PDS Lite 不强制许可证;Diamond/TD 留空时可使用软件默认配置。

脚本、创建日志和验证结果保存在 .xlxl/toolchain/create/<标识>/。启动失败、超时或重开失败不会报告成功,也不会替换旧 XLXL 配置。创建不执行综合、布局布线或位流生成;添加或更改文件后可运行 XLXL: Sync Vendor Project 同步文件列表、顶层、包含路径和宏。其他厂商专用配置仍在厂商软件中设置。

创建的标准目录如下:

.xlxl/          XLXL 内部目录
  project.json  工程配置
  lint/         Vivado/ModelSim/QuestaSim/Icarus 语法检查缓存
  toolchain/    工具版本探测缓存
  sim/          Icarus 编译缓存
doc/            设计说明和工程文档
prj/            Diamond、TD、PDS 厂商工程和构建脚本
constraints/    FPGA 引脚、物理和时序约束
rvl/            在线逻辑分析与 Reveal 文件
rtl/            用户 RTL 源码
include/        公共 Verilog/SystemVerilog 头文件(.vh/.svh)
sim/            仿真顶层与测试平台
ip/             厂商或用户 IP 核
fw/             软核处理器固件和软件源码

如果 .xlxl/project.json 已存在,插件会先询问是否重新生成。

新建或重新生成工程时,sources 会加入 include/**/*.{vh,svh},includePaths 会加入 include,并保留已有自定义配置。语法检查和 Slang 会发现子目录中的头文件,源码通过 `include "文件名.vh" 使用它们;头文件随引用源码检查,不作为独立编译单元。Slang 会在头文件修改后刷新诊断。已有工程也可直接补入这两个配置项,无需重新创建厂商工程。

在 VS Code 设置中配置 XLXL: Syntax Tool,可选择 vivado、modelsim、questa 或 iverilog;默认使用 Vivado:

{
  "xlxl.syntaxTool": "vivado",
  "xlxl.xvlogPath": "C:\\Xilinx\\Vivado\\2024.1\\bin\\xvlog.bat"
}

或:

{
  "xlxl.syntaxTool": "questa",
  "xlxl.questaPath": "C:\\questa\\win64\\vlog.exe"
}

Icarus 支持语法检查和快速仿真。选择语法检查器的示例:

{
  "xlxl.syntaxTool": "iverilog",
  "xlxl.iverilogPath": "D:\\iverilog\\bin\\iverilog.exe"
}

语法检查要求 Icarus 11.0 或更新版本,采用 SystemVerilog 2012 模式及空输出目标,不执行仿真。支持 includePaths 和 defines,允许单独检查文件及尚未提供全部子模块的设计;未定义的外部模块不会作为缺失模块报错。工具支持的 SystemVerilog 特性以安装版本为准。错误和警告显示在 Problems 及行内诊断中,切换检查器会清除旧诊断,保存后使用新工具检查。

Icarus 仿真路径配置:

{
  "xlxl.iverilogPath": "C:\\iverilog\\bin",
  "xlxl.vvpPath": "C:\\iverilog\\bin"
}

也可以将路径配置为对应工具的 bin 目录,XLXL 会自动补全可执行文件名。

执行 XLXL: Check Current HDL File 检查当前文件,执行 XLXL: Check HDL Project 检查整个工程。

保存检查等待 300 ms 合并重复请求;结果通过 Error Lens/Problems 显示,不弹出检查完成通知。检测工具版本时也使用内部缓存目录。Questa 的 work 库和本地 modelsim.ini 存在 .xlxl/lint/questa/;工程根目录的 modelsim.ini 如存在,会复制配置并调整普通相对库路径,原文件不修改。

编辑与仿真

  • 将光标放在模块名上,可使用 F12 跳转定义、Shift+F12 查找引用、F2 重命名模块。
  • 在模块体语句起始位置输入模块名并接受补全,会生成带命名端口连接的实例化代码;编辑已有实例类型或表达式时只补名字,注释、字符串、声明名和成员访问处不插入实例模板。
  • 通过 XLXL: Set Simulation Top Module 选择仿真顶层,再运行 XLXL: Simulate Project with Icarus。
  • 用户 RTL 来自 sources,IP 核来自 ipSources,测试平台来自 simulationSources;Icarus 临时产物写入 .xlxl/sim/,Vivado/QuestaSim 语法检查缓存写入 .xlxl/lint/<工具名>/。

FPGA 厂商流程

运行 XLXL: Configure FPGA Vendor Flow 选择 Diamond、安路 TD 或紫光同创 PDS,然后在 .xlxl/project.json 中填写已有厂商工程;Diamond 无需另填构建脚本。

Diamond 示例:

{
  "toolchain": {
    "vendor": "lattice",
    "tool": "diamond",
    "projectFile": "prj/demo.ldf",
    "buildScript": "prj/diamond_build.tcl",
    "artifactGlobs": ["prj/**/*.{bit,jed}"]
  }
}

Diamond 已关联工程且未配置 buildScript / buildArgs 时,自动使用控制台打开工程、选择 Implementation 并运行位流导出,无需手填脚本。自定义 Diamond 脚本构建默认使用 -t<script>。PDS 默认使用 pds_shell -project <工程> -run gen_bit_stream;指定 buildScript 时改为 -file <脚本>。PDS 默认传入 .xlxl/build/<运行ID> 作为工作目录;直接在外部 PDS GUI 中构建时,其输出目录由 PDS 自己管理。TD 请从软件导出可重复执行的 Tcl 流程,通过 buildArgs 配置参数。自定义参数支持 ${workspace}、${project}、${script}、${top} 占位符:

{
  "toolchain": {
    "vendor": "anlogic",
    "tool": "anlogic",
    "projectFile": "prj/demo.al",
    "buildScript": "prj/td_build.tcl",
    "buildArgs": ["请替换为当前 TD 版本的脚本参数", "${script}"],
    "artifactGlobs": ["prj/**/*.{bit,bin}"]
  }
}

构建必须同时满足退出码为 0、输出无厂商错误、本次新增或更新了非空产物,才报告完成。旧位流不算本次成功;仅运行综合等阶段时,应将 artifactGlobs 配置为该阶段的输出。日志保存在 .xlxl/build/<运行ID>/build.log,支持取消与超时停止;同时只允许一个厂商构建。

默认产物查找范围为当前 PDS 工作目录,或 Diamond/TD 工程所在目录(没有工程路径时才使用工作区)。显式填写的 artifactGlobs 仍相对工作区。构建前检查工程/脚本是非空文件、参数数组有效及引用的占位符已配置。xlxl.vendorBuildTimeout 可设置 1–86400 秒,默认 7200 秒。每次构建另存 result.json,记录 running、success、failed、cancelled 或 unverified 状态、时间、退出码和产物列表;异常退出 VS Code 时 running 表示没有收到最终结果,不代表成功。

工具可执行文件、bin 目录或安装根目录通过 xlxl.diamondPath、xlxl.anlogicPath、xlxl.pdsPath 设置;语法工具的路径设置同样支持安装根目录。非标准位置可在 xlxl.toolSearchPaths 中添加安装目录或其父目录,例如 G:\EDA,无需修改 PATH。显式路径配置无效时会提示该路径,清空旧电脑的路径设置后可重新自动检测。

检测不到工具时显示“未检测到”;可执行文件存在但版本命令失败时显示“已找到,版本检测失败”,不再把这两种情况混为一谈。配置完成后运行 XLXL: Build FPGA Bitstream,日志会进入 XLXL FPGA Build 输出频道。

0.9 语义语言服务

Windows x64 内置 slang-server 0.2.10,打开 Verilog/SystemVerilog 工程后默认启用, 无需另装服务器。提供基于编译器的信号/类型补全、悬停、跨文件定义、引用、重命名及实时诊断。 Vivado/Questa/Icarus 检查仍使用原设置;Slang 是额外的语义分析,不替代厂商编译。

  • 自动读取 .xlxl/project.json 的 sources、ipSources、simulationSources、includePaths 和 defines;没有工程配置时扫描 HDL 文件。
  • 自动生成的配置与文件列表仅放在 .xlxl/lsp/,不要手动修改自动生成文件。
  • 保留简洁的 module 模板和端口方向箭头;语义服务启动后停用重复的基础语言提示,服务停止后自动恢复。
  • 诊断显示在 Problems / Error Lens;服务器消息写入输出日志,不弹右下角通知。
  • 状态栏 XLXL 语义 表示服务运行中,点击可看日志。命令 XLXL: Restart Semantic Server 可重启。
  • 保存 HDL 文件或外部工具修改源码/头文件后,合并 500 ms 内的变更并重启语义分析,刷新引用该文件的顶层诊断;较大工程需等待重新分析完成。
  • xlxl.semantic.enabled 可关闭服务;xlxl.semantic.serverPath 可指定其他平台的 slang-server 可执行文件。

当前只分析工作区的第一个文件夹,并且只在受信任的本地工作区启动。 这是真实语义 LSP 接入,不代表完整复刻 Digital-IDE 或覆盖所有 SystemVerilog/UVM 特性。 加密 IP、缺失的厂商库和复杂宏条件可能无法完整分析,需要提供对应的可解析模型和宏定义。 具体能力边界见 https://hudson-trading.github.io/slang-server/features/limitations/。

0.11 工程同步与仿真波形

  • 设计顶层使用 topModule;仿真顶层单独保存为 simulationTopModule。升级后首次仿真请运行 XLXL: Set Simulation Top Module 选择 Testbench,不会自动把原设计顶层当作 Testbench。两个顶层在 Project 视图中分别显示。
  • XLXL: Sync Vendor Project 展示新增、移除和保留的文件,以及顶层、包含路径和宏。点击“应用同步”后调用厂商工具更新工程。首次同步建立管理记录,保留厂商原有文件;之后只移除上次同步记录中已不再属于工程配置的文件。仿真文件不作为综合输入。
  • 同步前请关闭对应厂商工程的 GUI。仅更新所选 Diamond Implementation;TD 更新默认 design_1 文件集的包含路径和宏。工程文件备份、预览、运行日志与结果保存在 .xlxl/sync;失败恢复主工程文件,编译缓存不回滚。同步与插件内厂商构建互斥。PDS 同步包含一次源码编译。
  • Icarus 仿真使用独立的每次运行目录保存编译产物,运行工作目录仍为工程根目录,兼容相对路径的 $readmemh。日志实时输出,支持取消、超时停止进程树和重复运行保护。
  • 成功仿真后自动识别本次新增或更新的 VCD 并打开;没有新波形时给出日志提示,不打开旧文件,也不修改 Testbench。可以通过 xlxl.openWaveformAfterSimulation 关闭自动打开。
  • XLXL: Open VCD Waveform 可手动打开工作区波形。内置查看器支持信号搜索、选择、时间区间缩放、光标读数和总线二进制显示。上限为 16 MB、4096 个信号、20 万个变化点,同时显示最多 64 路;暂不支持 FST、模拟曲线或超大波形流式读取。

Testbench 可自行添加:

initial begin
  $dumpfile("wave.vcd");
  $dumpvars(0, tb); // tb 替换为实际 Testbench 模块名
end

0.12 四选一语法检查与路径设置

点击底部 XLXL 状态栏,或运行 XLXL: Select Syntax Checker,可在 Vivado、ModelSim、QuestaSim、Icarus Verilog 中选择一个。Toolchain 视图分别显示四种检查器的检测结果。选择保存在当前工作区;没有工作区时保存在用户设置。

运行 XLXL: Configure Syntax Checker Path 可选择可执行文件、安装目录/bin 目录、手动输入路径,或恢复自动扫描。对应设置如下:

检查器 syntaxTool 值 路径设置 程序
Vivado vivado xlxl.xvlogPath xvlog.bat / xvlog.exe
ModelSim modelsim xlxl.modelsimPath vlog.exe
QuestaSim questa xlxl.questaPath vlog.exe
Icarus Verilog iverilog xlxl.iverilogPath iverilog.exe

路径留空时扫描 PATH、Windows C–Z 盘常见厂商与版本目录、Program Files 和 xlxl.toolSearchPaths。支持 AMD/Xilinx、Intel/Altera、Siemens/Mentor、ModelSim/modeltech、Questa 和 Icarus 安装布局。ModelSim/Questa 的自动检测优先读取版本标识,避免把同一个 vlog 同时当作两个产品;版本不可读取时依据安装目录区分。手动路径优先生效,错误路径不会静默切换到其他安装。

ModelSim 和 Questa 共用兼容的 vlog/vlib/vmap 调用流程,但工作库分别存放于 .xlxl/lint/modelsim 和 .xlxl/lint/questa。切换检查器后清除旧诊断,下次保存或运行检查命令时使用新选择。

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft