v0.2.0
wave-mcp v0.2.0
浏览器波形查看器、pass/fail 波形对比、FSDB 输入。工具数 27 到 34。
安装
pip install "wave-mcp[viewer]" # 含波形查看器
pip install wave-mcp # 仅分析工具查看器资产是独立包(wave-mcp-viewer-assets,EUPL-1.2),因此主包保持 MIT。
不用 PyPI 也可以:下载本 Release 的 wave_mcp_viewer_assets-0.25.6-*.whl 装上,
或解开后用 WAVE_MCP_VIEWER_ASSETS 指向资产目录。
主要变化
浏览器波形查看器。 open_wave_view 把 session 渲染成真正的波形 GUI(Surfer 编到
WASM,由 surver 流式喂数据),agent 可以把发现的问题直接摆给你看,而不是用文字描述。
update_wave_view 原地改视图(信号、分组、颜色、进制、游标、marker、视口、分析说明),
get_view_state 读回用户手动改过什么,双向闭环。39GB FST 实测打开 114 到 339ms。
视图生命周期。 list_wave_views / close_wave_view 管理已开视图,流式后端按波形文件
集共享并引用计数,关掉一个视图不会切断另一个还在读同一份波形的视图。默认上限 8 个并发视图
(WAVE_MCP_MAX_VIEWS),长批量跑不会堆积进程。端口可用 WAVE_MCP_VIEWER_PORT_BASE
钉在 64 端口窗口内,一条 ssh -L 规则就能一直用。
pass/fail 对比。 diff_waveforms 定位同一设计两次运行的首个分歧点,给出逐信号首次
差异时刻与比较覆盖率。
FSDB 输入。 prepare_session 直接吃 .fsdb,自动调自带的 fsdb2fst 转换(无 VCD
中间文件),大文件可用 fsdb_scopes / fsdb_signals_file 切片。转换只需本机有 Verdi 的
FsdbReader 运行库,运行时不占 license。在 MCP 配置里给出 VERDI_HOME 即可,转换器
首次使用时自动构建并缓存到用户目录。
Xcelium 直出 FST。 通过 fstdumper VPI 插件让 xrun 在仿真时直接写 FST,零转换、免商用
波形 license,含针对 Xcelium 的五项修复补丁。适用范围与硬限制(generate/task 子 scope
不可遍历)在指南里写明。
转换缓存。 VCD 与 FSDB 转换产物落在源波形旁并跨 session 复用,缓存键含源文件身份与
切片参数,换了范围不会误用旧产物。
离线部署。 一条命令产出加密网 bundle 矩阵(glibc 2.17 / 2.28),自带独立 Python 3.11,
目标机不需要 docker,也不需要升级系统 Python。CentOS 7 实测通过。
修复
查看器的 /index.html 抢占了 Surfer WASM 入口导致波形区空白;update_wave_view 的
marker 参数顺序颠倒导致落在错误时刻;HTTP server 关闭时泄漏监听 socket;service worker
在 range 请求失败时返回 undefined 卡住流式传输;多词信号分组名被波形后端静默丢弃导致
分组标题不显示。
校验和
见本 Release 附件 SHA256SUMS.txt。
完整变更记录见 CHANGELOG.md。