Skip to content

Signal Tracing

wenjiapeng edited this page Oct 30, 2026 · 2 revisions

信号追踪与波形联动

适用于4.1.0。工程侧边栏的静态走向分析与电路局部逻辑锥分别服务于工程定位和详细电路调试;两者可独立使用。

在工程中看信号走向

  1. 打开SV Tools工程侧边栏,在顶部切换器选择Vivado工程或创建SV Tools自管理工程。
  2. 自管理工程可在资源管理器右键文件/目录,选择“添加到SV Tools工程”;使用“文件”或“实例层级”投影查看成员。
  3. 在RTL编辑器选中一个信号,约300ms后自动追踪。文件/实例右侧用圆点表示内部声明,右箭头表示输出,左箭头表示输入;不重复在侧边栏列出已选信号名。
  4. 多层透传、端口改名和可确定的切片/拼接按实际位映射追踪。同一模块的多个实例分别处理;仿真文件优先使用相应TB作为根,不改变综合Top。
  5. 可固定当前追踪,或在“…”菜单切换手动触发。手动模式仍可在编辑器右键执行工程信号追踪。

4.1 单侧边栏的工程切换、投影、信号走向和 Vivado 流程

图中编号 操作与含义
1 · 工程切换 同一个侧边栏内切换 Vivado / SV Tools 工程;右侧标签说明当前工程类型
2 · 文件 / 实例层级 在两种投影间切换;实例层级用于区分同一模块的不同例化
3 · 追踪根与固定 先核对根模块;固定后保留当前追踪,取消固定后继续跟随编辑器选择
4 · 文件右侧标记 ● 内部声明,→ 输出,← 输入;一个文件可同时出现多个角色
5 · Vivado 流程 综合、布局布线、Bitstream 和报告集中在树下方;自管理工程没有这组 Vivado 任务

截图使用公开界面夹具渲染,并未执行 Vivado 综合/实现。“…”和“查看报告”再次点击即可收起,也可按 Esc 或点击外部区域关闭。数字为指南标注,不是界面控件。

工程走向使用独立静态RTL分析,不调用Yosys、不执行综合。仅确定的直连和端口位映射自动穿透;组合逻辑、寄存器、黑盒或未解析宏/生成/类型处止步。详细限制可从工程菜单查看“分析提示”。

在电路中追踪驱动和负载

  1. 在RTL信号上右键,执行“追踪信号驱动”或“追踪信号负载”;也可从已打开电路的网络发起。
  2. 确认声明、实际实例和位范围。局部图使用原始连接模型,逐级展开或收起分支。
  3. 默认在时序和未知语义边界停止;需要时显式跨时序。使用前进/返回恢复追踪分支及视口,固定关注对象或定位经过快照核验的源码。

q 总线驱动追踪与显式时序边界

图中编号 怎么使用
1 · 摘要 / 精度 核对起点、所选位数、驱动/负载方向及实际实例上下文;“结构位映射”与保守依赖范围分开显示
2 · 追踪边界 当前图在寄存器处停止;点击“跨时序展开”才继续查看寄存器另一侧的组合逻辑
3 · 返回 / 前进 在已访问的模块与追踪结果间切换,恢复对应的展开状态和视口
4 · 小地图 观察局部图范围;点击小地图可移动当前视窗

示例追踪 q[7:0] 的驱动。停在触发器处是明确的时序边界,不代表它前面的逻辑不存在。切片追踪可在属性栏输入如 7:4,再点击驱动或负载按钮。

电路数据来自内置Yosys或本机Vivado,与无需综合的工程走向不同。修改源文件后须重新生成,旧快照不会冒充当前设计。未知位宽/实例无法可靠确定时明确提示,不按名称猜测。

与VCD关联和观察A/B值

  1. 打开电路和仿真结束后的VCD,点击“关联波形…”或“关联电路…”。
  2. 人工确认DUT根实例,例如电路chip对应VCD中的tb.dut。这是层级对应,不证明双方来自同一次构建。
  3. 从电路“添加到波形…”定位真实命名网络;从波形行右键“电路追踪”反查驱动/负载。逐位行只追踪对应HDL下标。
  4. 电路选中网络后选择“观察A/B读值…”,移动波形游标即可查看画布A值、列表A/B值及变化位;无事件、未设置B、缺少dump和X/Z分别显示。

最多观察32个信号、合计4096位。源码变化、关闭、刷新及重新仿真会撤销旧映射,重新打开后再次确认根实例。临时读值标注不包含在结构图导出中。

电路操作 · 波形操作 · 详细关联范围

Clone this wiki locally