3. 原理图与PCB一致性评审

原理图与PCB一致性评审,是硬件设计从“逻辑正确”走向“物理可实现”的关键闸口。原理图(DSN)描述的是电气意图:谁和谁相连、每个器件是什么、每个网络叫什么;PCB(BRD)描述的是物理实现:器件放在哪里、焊盘怎么连、走线怎么走。两者一旦脱节,轻则出现“原理图有、PCB没有”的悬空网络,重则导致打样后功能失效。Allegro 提供的原理图与 PCB 同步工具(Design Sync / PCB Editor 的 Logic 菜单)正是用来把这种脱节显性化、可修复化。

一、同步工具到底在比什么

Allegro 的一致性检查不是简单比对两个文件,而是以“网表”为中间基准,从四个维度逐项核对:

  • 网表差异:原理图导出的网表与 PCB 当前网表是否一致,包括网络名、网络上的引脚集合、网络属性(如差分对、总线、电源类)。
  • 器件位号:原理图中的 RefDes 与 PCB 中的 RefDes 是否一一对应,是否存在“原理图有 R12、PCB 里 R12 是另一个器件”或“PCB 多出未在原理图出现的器件”。
  • 封装映射:原理图器件所指定的 PCB Footprint 名称,是否与 PCB 中实际调用的封装一致,引脚编号是否对得上。
  • 连接关系:每个网络的引脚连接是否一致,是否存在 PCB 上多连、少连、错连,以及未连接(No Connect)标记是否同步。

这四类问题在工具中通常以不同颜色和状态呈现:绿色表示一致,黄色表示可自动同步的差异,红色表示需要人工判断的冲突。评审时不能只看“有没有红”,还要看“黄能不能自动修、修完会不会引入新问题”。

原理图与PCB一致性检查:四维比对与修复路径 原理图 DSN • 网络名 / 网络类 • 器件 RefDes • PCB Footprint 属性 • 引脚连接 / NC 标记 • 差分对 / 总线定义 Design Sync 比对引擎 ① 提取 DSN 网表 ② 提取 BRD 网表 ③ 按网络/器件/封装/引脚 四维逐项比对 ④ 输出差异状态与建议动作 PCB BRD • 已布网络 / 铜皮 • 已放置器件 RefDes • 实际调用封装 • 焊盘连接 / 飞线 • 差分对 / 等长组 四类典型不一致与修复动作 ① 网表差异 现象:网络名不一致、 引脚集合不同 修复:确认以 DSN 为准, 执行 Update PCB 注意:先备份 BRD ② 位号不一致 现象:PCB 多/少器件, RefDes 重复或错位 修复:删除多余器件, 重新导入缺失器件 检查 Room 归属 ③ 封装映射错误 现象:Footprint 名不符, 引脚编号对不上 修复:统一封装库命名, 核对 Pin Number 映射 检查 Padstack 焊盘 ④ 连接关系错误 现象:多连/少连/错连, NC 标记未同步 修复:用飞线定位, 逐网络核对连接 确认 NC 引脚不铺铜 修复后重新比对 → 全绿 → 输出一致性检查清单 → 进入下一评审环节

二、实际操作:从比对到修复的完整过程

在 Allegro 中,一致性评审通常从原理图端发起。以 Cadence Allegro Design Entry CIS(或 HDL)为例,先确保原理图工程已通过 DRC 并生成最新网表,然后在 PCB Editor 中打开对应的 BRD 文件,通过 Logic → Design Sync 或 Tools → Design Sync 调出同步窗口。窗口会列出所有差异项,并按“器件、网络、引脚”分类。

一个典型的比对结果可能如下(示例数据,用于说明判读方式):

Design Sync 差异摘要(示例)
器件差异:3 项
  - U7:DSN 存在,BRD 缺失(封装 LQFP48)
  - R22:BRD 存在,DSN 无此位号
  - C105:位号相同,但封装不同(DSN=0603,BRD=0805)
网络差异:2 项
  - NET_DDR_DQ0:DSN 连接 U7.12、U9.5;BRD 仅连 U9.5
  - NET_VDD_1V2:BRD 多连 R22.1(DSN 中 R22 不存在)
引脚差异:1 项
  - U7.24:DSN 标记 NC,BRD 中仍连接至 GND

面对这些差异,不能一键“全部同步”。正确顺序是:先处理器件级差异,再处理网络级,最后处理引脚级。因为器件不存在时,网络差异往往是它的衍生结果。例如上例中,先补入 U7、删除 R22,再重新比对,NET_DDR_DQ0 和 NET_VDD_1V2 的差异可能自动消失或收敛为更明确的连接问题。

对于封装映射错误,重点检查原理图器件的 PCB Footprint 属性与 PCB 中实际调用的封装名是否完全一致。Allegro 对封装名大小写敏感,LQFP48 与 lqfp48 会被视为两个不同封装。此外,还要核对引脚编号映射:原理图符号的 Pin Number 必须与封装焊盘的 Pin Number 一一对应,否则会出现“网络连到了错误的焊盘上”。

连接关系错误的定位,最有效的方法是打开 PCB 的飞线显示(Ratsnest),结合 Display → Show Rats → All,逐条查看差异网络。对于 NC 引脚,要确认原理图中已放置 No Connect 标记,并在 PCB 中对该引脚执行 Logic → Assign No Connect,避免铺铜或走线误连。

三、一致性检查清单(可直接使用)

以下清单按评审顺序排列,建议在每次原理图变更后、投板前各执行一次。表中“判据”列是判断该项是否通过的依据,“不通过时的动作”列给出修复方向。

序号 检查项 判据 不通过时的动作
1 器件位号一致性 DSN 与 BRD 的 RefDes 集合完全相同,无重复、无缺失 缺失器件从 DSN 重新导入;多余器件确认后删除;重复位号在 DSN 中重新标注
2 封装映射一致性 每个器件的 PCB Footprint 属性与 BRD 实际封装名完全一致(含大小写) 统一封装库命名;修正 DSN 属性或 BRD 封装调用;核对 Pin Number 映射表
3 网络名一致性 DSN 与 BRD 的网络名集合一致,无别名冲突 以 DSN 为准更新 BRD;检查是否有网络被误改名为电源/地网络
4 网络连接一致性 每个网络的引脚集合完全一致,无多连、少连 用飞线定位差异引脚;确认是原理图错误还是 PCB 误连;修正后重新比对
5 NC 引脚一致性 DSN 中标记 NC 的引脚,在 BRD 中同样为未连接状态 在 BRD 中执行 Assign No Connect;检查该引脚是否被铺铜或走线误连
6 差分对/总线一致性 差分对成员、总线位序与 DSN 定义一致 在 Constraint Manager 中核对差分对命名与成员;修正总线展开顺序
7 电源/地网络完整性 所有电源、地网络在 BRD 中均有对应连接,无悬空 检查电源层分割、过孔连接;确认没有电源网络被误删或改名
8 同步后复检 执行 Update PCB 后再次比对,所有差异项清零或已记录豁免原因 对无法自动修复的项,记录在评审报告中并指定责任人
提示:每次执行 Design Sync 前,先对 BRD 做一次备份(File → Save As 另存为带日期的版本)。同步操作会直接修改 PCB 数据,一旦误同步,回退成本很高。
注意:不要用“全部接受”的方式处理所有差异。器件级差异和网络级差异存在依赖关系,批量同步可能把本应保留的 PCB 手工调整(如已优化的布局、已布好的关键走线)覆盖掉。建议逐项确认,先器件后网络,先删除后添加。

四、典型不一致问题的修复要点

问题一:PCB 中存在原理图没有的器件。常见原因是该器件在原理图中被删除,但 PCB 中未同步删除;或者是从旧版本 PCB 复制而来。修复时先在 BRD 中确认该器件是否真的无用,若确认无用则删除,并检查其所在网络是否因此断开。若该器件实际需要保留,则应在原理图中补回并重新标注位号。

问题二:封装名一致但引脚连接错位。这通常发生在自定义封装上,例如原理图符号的 Pin 1 对应封装焊盘 Pin 1,但封装焊盘编号从 0 开始,或存在散热焊盘未编号。修复方法是打开封装焊盘(Padstack)核对 Pin Number,必要时在原理图符号中调整引脚编号映射,而不是在 PCB 中强行改网络。

问题三:网络在 PCB 中被误连到电源或地。这类问题最危险,因为飞线可能显示正常,但实际铜皮已经短接。修复时使用 Display → Show Rats → Net 单独显示该网络,检查是否有意外的铜皮连接;同时用 Tools → Reports → DRC 检查短路报告。确认后删除误连的走线或铜皮,重新从 DSN 同步网络。

一致性评审的最终产出,不是“工具显示全绿”,而是一份可追溯的检查记录:哪些差异被修复、哪些被判定为可接受、依据是什么。这份记录在后续改版、量产转移和问题回溯时,往往比网表本身更有价值。