Repository navigation
v3.4.2 — Icarus Verilog 工具链集成 + 内置 VCD 波形查看器
v3.4.2 — Icarus Verilog 工具链集成 + 内置 VCD 波形查看器
本版将 svtools 从格式化工具升级为 FPGA 仿真调试入口:输入时自动语法检查、一键仿真、双击 .vcd 直接看波形,全部零外部依赖(波形查看器为纯 Canvas 渲染)。
✨ 新增
Icarus Verilog 集成:语法检查与仿真验证
- 自动 lint:输入(防抖)/ 打开 / 保存
.v/.sv时自动运行iverilog -tnull,诊断进入 Problems 面板;未保存的缓冲区内容经临时文件参与检查 - 跨文件模块解析:工作区目录自动加入
-y/-I,模块名与文件名不一致时按模块索引自动补编译(最多 3 轮迭代) - 一键仿真:状态栏 ▶ / 命令面板 "Icarus Verilog: Run Simulation",编译 + vvp 流式输出,支持停止与超时
- 工具链自愈:自动探测 iverilog(配置 →
IVERILOG_HOME→PATH);Cygwin 构建缺cygwin1.dll时自动定位同级 Cygwin 注入 PATH
内置 VCD 波形查看器
- 双击
.vcd直接以波形面板打开(.vcd 默认编辑器),标签页右上角波形 ↔ 文本一键切换;仿真产出波形后自动打开 - 信号管理:层级信号树(折叠/展开/双击单独显示模块)、常量开关(默认隐藏、显示沉底)、名称排序/按模块分组
- 多选与分组:Ctrl+点击单选加/减、Shift+点击范围多选(树与波形行统一);右键分组——组员聚拢到第一个成员位置(其余行相对序不变,Vivado 式),组可命名(建组后原位输入),支持重命名/解除
- 拖拽调序:按住名称栏上下拖拽调整行顺序(手动排序优先),虚线箭头指示插入位
- 显示格式:右键二级菜单切换 Hex / Bin / Dec / SDec / Analog 模拟量(阶梯折线自动量程),模拟量行底边可拖拽调高(24~240px)
- 全名/简称切换:名称栏显示完整层级路径或短名,全名模式自动加宽
- 边沿导航 + 吸附:点击自动吸附 8px 内最近跳变,◀ 沿 / 沿 ▶ 或 ←/→ 键跳沿并自动居中
- 滚轮方向区分:上下滚=滚动信号行,左右滚(或 Shift+滚轮)=平移时间轴,Ctrl+滚轮缩放
- 视口窗口渲染:数十亿 ticks 时间跨度流畅缩放,刻度尺按
$timescale换算真实物理时间
🐛 修复
- 总线信号被渲染成实心色块(
drawBus形参错位导致填充色失效) - 波形区 Shift 多选与分组此前只能从信号树触发
- 手动 lint 清除缓存的工具链探测失败状态,环境修复后无需重载窗口
- 波形面板折叠层级后无法再次展开
安装:附件 svtools-3.4.2.vsix 可直接下载安装;Open VSX / VS Code Marketplace 同步更新。
完整变更: CHANGELOG.md