OPEN IC EDA · VECTOR TOOL
Vector Scope:把存储器编译器的向量文件直接变成数字波形
单文件、零后端、离线可用。把 .vec 文件拖进浏览器,即可查看总线、时钟、控制信号与测试阶段,并可一键导出标准 VCD。

存储器编译器输出的测试向量文件,例如 Vector_X8Y4D2_..、Vector_X264Y32D32_..,往往是几十 KB 到几十 MB 的表格文本。过去要理解其中的时序,通常只能逐行检查,或者先转换成 VCD,再打开 GTKWave、Surfer 等桌面工具。Vector Scope 把这段流程压缩成一次拖拽:文件进入页面后,波形立即出现。
从向量文本到可交互波形
页面支持文件拖放、按钮选择和直接粘贴文本三种入口。解析完成后,信号会按表头中的 vname、radix、io 与 Tunit 信息自动组织。总线可随时切换为十六进制、十进制、二进制或有符号显示,未知态 x 与高阻态 z 则使用独立颜色突出。
像示波器一样操作
缩放、平移、单击或 Shift 点选双光标,直接测量 Δt 与频率。按 F 回到全局视图,按 Esc 清除光标。
测试阶段自动分区
诸如 ;Initial write address 的注释段落会转化为时间轴标记,点击即可跳到对应测试阶段。
快速管理信号
通过搜索过滤与批量多选,从大量总线、时钟和控制信号中迅速聚焦关键信号。
一键导出 VCD
缩放后默认导出可见区间,全局视图则导出全部;阶段标记还能按需写入注释,并支持下载与剪贴板交付。
为什么大文件仍然流畅
Vector Scope 把大文件解析交给 Web Worker,主线程只接收进度,因此解析过程中界面仍可操作,也能随时取消。渲染阶段只处理当前可见时间窗口,并按屏幕像素进行分桶聚合,避免把数十万条跳变逐条描边。项目给出的基准中,32 MB、约 78 万条跳变的文件解析约需 1.3 秒,之后的缩放和平移仍保持流畅。
| 传统流程的痛点 | Vector Scope 的处理方式 |
|---|---|
| 先转 VCD,再安装波形工具 | 拖入 .vec 后直接显示波形 |
| 大文件容易卡住浏览器 | Worker 解析 + 可视窗口裁剪 + 像素分桶 |
| 远程或移动环境缺少 EDA 软件 | 触屏手势、抽屉式信号栏与深色模式 |
| 损坏或不完整文件直接失败 | 按位宽推断缺失字段,不齐的行补 x |
| 关闭页面后视图状态丢失 | 同一文件再次载入时恢复缩放、光标与选择 |
面向异常输入的韧性设计
浏览器工具最怕输入规模不可控。Vector Scope 对文件大小、单行长度、总跳变数、信号数和标记数都设置硬上限;触发限制时,会提供“只解析前 N 行”等明确的降级选项,而不是继续消耗内存直至页面崩溃。
如何使用
在线体验
- 打开 Vector Scope 页面
- 拖入 .vec 文件,或先点击“载入示例”查看效果
- 搜索并选择需要观察的信号,缩放到目标时间区间
- 放置双光标测量时差与频率,必要时导出 VCD
实现要点与测试
整个应用使用原生前端技术实现,波形由 Canvas 2D 绘制,不依赖第三方库。解析与渲染之间通过精简的数据结构通信,既减少主线程压力,也为取消、进度展示和错误恢复保留空间。项目还覆盖了正常路径与攻击、异常路径的 E2E 测试矩阵:核心功能、PWA 离线能力和 VCD 导出分别完成 70、93、137 项验证。
总结
让向量文件回到“打开就能看”的状态
Vector Scope 不是要替代完整的桌面 EDA 波形工具,而是消除查看存储器测试向量前最繁琐的准备步骤。无需转换、无需安装、无需上传文件,尤其适合快速检查、远程协作、移动环境和轻量工具链集成。