审查清单:通用审查清单的构建方法,如何根据项目定制清单

做电路设计审查这么多年,我最大的体会就是——好记性不如烂笔头。你想想看,一个复杂的板子几百个网络,几十个电源域,光靠脑子记,漏掉一个细节就可能让整个项目返工。

我个人习惯,每个项目开始前先搭一个审查清单的骨架。这个骨架就是所谓的「通用审查清单」。它不针对某个具体项目,而是把过去踩过的坑、行业标准里的硬性要求、芯片厂商的勘误表,统统收进来。

核心观点:通用清单是「保底」的,定制清单才是「提效」的。没有通用清单,你会漏掉基础项;没有定制清单,你会被通用项淹死。

通用审查清单的构建方法

我把它分成四个步骤,每一步都有血的教训在里面。

第一步:从历史故障库中提取「必查项」

我在上一家公司带团队时,做过一件事:把过去三年所有板级的故障报告翻出来,分类统计。结果发现,60% 的硬件故障集中在 20% 的检查项上。比如电源上电时序、信号完整性反射、连接器 pin map 错位——这些几乎每个项目都会出问题。

所以,通用清单的第一部分,就是这些「高频故障点」。我建议你建一个简单的表格:

故障类别 典型问题 检查方法 优先级
电源 上电时序不满足芯片要求 仿真 + 实测波形对比 P0
信号完整性 DDR 数据线等长偏差超 50mil Layout 后提取拓扑仿真 P0
热设计 散热器与高器件干涉 3D 模型装配检查 P1
连接器 Pin 定义与线束不匹配 原理图与线束图交叉比对 P0
EMC 高速信号跨分割参考平面 Layout 层叠检查 P1

小技巧:优先级用 P0/P1/P2 来标。P0 是「不通过就绝对不能投板」的项,P1 是「建议修复」的项,P2 是「锦上添花」的项。这样审查时能快速聚焦。

第二步:从芯片数据手册中提取「强制约束」

这一步很多人会忽略。我记得有一次,一个 FPGA 项目,芯片手册里明确写了「VCCINT 与 VCCAUX 上电间隔不能超过 10ms」,结果原理图里两个电源用了同一个使能信号,上电时间差只有 2ms。板子回来一上电,FPGA 配置失败率高达 30%。

所以,我现在的做法是:每个新芯片,必须把数据手册里的「绝对最大额定值」和「推荐工作条件」表格摘出来,直接塞进通用清单的附录里。审查时一条一条过。

第三步:从行业标准中提取「合规项」

比如 IPC-2221 的爬电距离要求、IEC 60950 的安规间距、PCIe 规范的参考时钟抖动容限。这些标准不会天天变,但一旦违反,认证测试就会卡住。

我习惯把这些标准要求做成一个「合规检查矩阵」:

标准编号 适用场景 关键参数 检查节点
IPC-2221 所有 PCB 导体间距 ≥ 0.5mm (250V) Layout 完成后
IEC 60950 AC-DC 电源 初级-次级爬电距离 ≥ 6mm 原理图 + Layout
PCIe Base Spec PCIe 接口 参考时钟抖动 ≤ 86ps p-p 仿真阶段

第四步:把前三步合并,形成「通用清单模板」

这个模板我建议按审查阶段来组织,而不是按电路功能。因为不同阶段关注的点完全不同。

下面这张图是我自己一直在用的通用清单结构:

通用审查清单结构 需求审查 功能需求核对 性能指标确认 接口协议对齐 成本/交期评估 原理图审查 电源树/时序检查 信号网络完整性 去耦电容布局 连接器Pin定义 Layout审查 层叠/阻抗控制 高速信号走线 电源/地平面 热设计/结构干涉 生产文件审查 Gerber文件核对 BOM物料确认 装配图/钢网 测试点/治具 测试验证审查 测试用例覆盖 边界条件测试 可靠性/老化 EMC预测试 量产审查 可制造性DFM 可测试性DFT 供应链物料 良率/成本优化 每个阶段内部再按 P0/P1/P2 优先级排列检查项

如何根据项目定制清单

通用清单是基础,但每个项目都有自己的「脾气」。定制清单说白了就是做减法、做加法、做微调。

做减法:砍掉不相关的项

比如你做的是一个纯数字板,没有射频部分,那通用清单里关于「射频匹配」「天线阻抗」的项就可以直接删掉。别舍不得,清单太长反而没人愿意看。

我见过最夸张的清单有 300 多项,审查工程师看到第 50 项就开始走神了。所以我的原则是:每个项目的定制清单,控制在 80-120 项之间。超过这个数,说明你还没想清楚哪些是真正重要的。

做加法:加入项目特有的风险项

这一步最考验经验。我举个例子:

  • 新芯片首用:必须加上「芯片勘误表核对」「参考设计对比」「未使用引脚处理」
  • 高密度 BGA:必须加上「扇出过孔检查」「相邻焊盘间距」「回流焊方向」
  • 车规项目:必须加上「AEC-Q 认证要求」「PPAP 文件清单」「失效模式分析 FMEA」
  • 超低功耗:必须加上「漏电流路径检查」「电源域隔离」「唤醒电路时序」

我曾经踩过的坑:一个物联网项目,用了新出的 NB-IoT 模组。通用清单里没有「模组天线匹配网络预留 π 型电路」这一项,结果板子回来发现天线阻抗不匹配,灵敏度差了 5dB。后来我就在清单里加了一条:「所有无线模组,天线走线必须预留 π 型匹配网络位置」。

做微调:调整优先级和检查深度

同一个检查项,在不同项目里的重要程度是不一样的。比如「电源纹波」这个检查项:

项目类型 优先级 检查深度
数字逻辑板 P1 目测示波器波形,纹波 < 50mV
模拟采集板 P0 频谱分析仪测噪声,纹波 < 5mV
射频发射板 P0 相位噪声测试,纹波 < 1mV

你看,同样是电源纹波,检查深度差了 50 倍。这就是定制清单的意义——把精力花在最容易出问题的地方。

清单的维护与迭代

清单不是写出来就完事的。我自己的习惯是:每个项目结束后,花半天时间复盘清单。

  • 这次审查中发现了哪些清单里没有的项?——加进去
  • 哪些项这次完全没用上?——考虑降级或删除
  • 哪些项的描述不够清晰导致理解偏差?——重新写

说白了,审查清单是一个活文档。你用它越久,它就越懂你。我手头这份清单,从 2016 年开始用,到现在迭代了 40 多个版本,每个版本都对应着一次真实的教训。

我的建议:用版本管理工具来维护清单,比如 Git。每次修改都写清楚原因:「2024-03-15:增加 DDR5 参考电压 VREF 检查项,因某项目 VREF 噪声过大导致系统不稳定」。这样以后回溯时,你能知道每一条规则背后的故事。

嗯,关于审查清单的构建和定制,大概就是这些。记住一句话:清单的价值不在于它有多全,而在于它有多准。一个精准的清单,能让你的审查效率翻倍,也能让那些隐藏的 bug 无处遁形。