第六章Schematic Viewer
概述
Schematic Viewer 以原理图方式展示 RTL 的结构,直观展示信号连接、逻辑门、寄存器,特别适合调试 CDC 路径、组合环和 COI。
Color Code
Schematic Viewer 用一套颜色编码帮你识别画布上的对象。注意颜色编码的分组方式:线网颜色编码的是位宽,不是信号方向;门/实例的背景色编码的是实例种类,不是逻辑类型。
| 颜色 | 含义 |
|---|---|
| Orange(橙色) | 搜索结果 |
| Net Color(线网颜色) | |
| Bright yellow(亮黄) | 单 bit 线网 |
| Dark yellow(暗黄) | 多 bit 宽线网 |
| Bright blue(亮蓝) | 内部线网(宽的或按位的) |
| Gate/Instance Color(门/实例颜色) | |
| Purple background(紫色背景) | 普通门/实例 |
| Black background(黑色背景) | 抽象块(abstract block) |
| Black background + 斜线阴影 | 黑盒(blackbox) |
| Gray background(灰色背景) | 低功耗元件(隔离、corruption point)、function |
操作
- Zooming:滚动鼠标滚轮缩放;
I放大、O缩小、FZoom Fit、Ctrl+F缩放到选中对象 - Panning:用键盘方向键朝输入方向平移视图
- Minimap:缩略图显示整张原理图的全貌,红色矩形框标示当前视野——可以点框外移动它、拖动它,或拖角/拖边改变它的大小
- Context Menu:右键菜单提供 Plot Selected Signals、Driver、Load、Why、Go to Source 等选项
- 与 Visualize 耦合:在 Visualize 中右键信号名,选择打开与之耦合的 Schematic Viewer
原理图调试心法
什么时候用 Schematic
- 想看信号怎么在 RTL 逻辑中传播(从输入到输出经过了哪些门/flop)
- 调试 CDC 跨域路径(直观看到同步器链路)
- 定位组合环(从 Combo Loop Viewer 可以打开联合的 Schematic Viewer 和 Graph 窗口,逐条分析每个环)
- 理解一个不熟悉模块的结构(比看代码更直观)
核心操作
| 操作 | 功能 | 什么时候用 |
|---|---|---|
| Driver(Ctrl+D) | 显示给所选信号赋值的那段源码(往输入方向追) | 想知道某个信号的值从哪来 |
| Load(Ctrl+L) | 列出该信号作为负载出现的所有 RTL 行(往输出方向追) | 想知道某个信号影响了哪些逻辑 |
| Why(Ctrl+W) | 看指定周期直接扇入中影响证明结果的信号 | 理解某个值为什么是这样 |
| Plot Selected Signals(Alt+A) | 将选中信号添加到 Visualize 波形 | 在波形中观察原理图选中的信号 |
| View Fanin(B)/ View Fanout(N) | 查看扇入 / 扇出 | 沿逻辑向前或向后展开 |
| Add All Connected Objects(Shift+A) | 把所有相连对象加入画布 | 想把一个信号周围的逻辑一次铺开 |
颜色编码速查
记住这两条分组规则,扫一眼原理图就能识别关键元素:
- 线网看黄/蓝,编码的是位宽:■ 亮黄 单 bit 线网、■ 暗黄 宽线网、■ 亮蓝 内部线网
- 门/实例看背景色,编码的是实例种类:■ 紫底 普通门/实例、■ 黑底 抽象块、▨ 黑底+斜线 黑盒、■ 灰底 低功耗元件与 function
- ■ 橙色 — 搜索结果
别把颜色望文生义:黄色不代表寄存器,蓝色不代表输入端口,灰色不代表组合逻辑。原理图里另有一处红色,但它指的是 minimap(缩略图)中标示当前视野的红色矩形框,不是"违规路径"。
波形联动:Schematic 和 Visualize 可以耦合,但要显式操作,不是自动双向联动。在 Visualize 窗口的 Waveforms pane、Signal Browser pane 或 Source Pane 中右键信号名,上下文菜单里就有"打开与该 Visualize 窗口耦合的 Schematic Viewer"的选项。之后可以在 Visualize 中继续选信号,用上下文菜单把它们逐步加入原理图,增量地把图画出来。这是理解反例传播路径最有效的方式。
来源文档
jaspergold_apps_userguide.pdf Ch.9