审查清单:通用审查清单的构建方法,如何根据项目定制清单
做电路设计审查这么多年,我最大的体会就是——好记性不如烂笔头。你想想看,一个复杂的板子几百个网络,几十个电源域,光靠脑子记,漏掉一个细节就可能让整个项目返工。
我个人习惯,每个项目开始前先搭一个审查清单的骨架。这个骨架就是所谓的「通用审查清单」。它不针对某个具体项目,而是把过去踩过的坑、行业标准里的硬性要求、芯片厂商的勘误表,统统收进来。
核心观点:通用清单是「保底」的,定制清单才是「提效」的。没有通用清单,你会漏掉基础项;没有定制清单,你会被通用项淹死。
通用审查清单的构建方法
我把它分成四个步骤,每一步都有血的教训在里面。
第一步:从历史故障库中提取「必查项」
我在上一家公司带团队时,做过一件事:把过去三年所有板级的故障报告翻出来,分类统计。结果发现,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 | 仿真阶段 |
第四步:把前三步合并,形成「通用清单模板」
这个模板我建议按审查阶段来组织,而不是按电路功能。因为不同阶段关注的点完全不同。
下面这张图是我自己一直在用的通用清单结构:
如何根据项目定制清单
通用清单是基础,但每个项目都有自己的「脾气」。定制清单说白了就是做减法、做加法、做微调。
做减法:砍掉不相关的项
比如你做的是一个纯数字板,没有射频部分,那通用清单里关于「射频匹配」「天线阻抗」的项就可以直接删掉。别舍不得,清单太长反而没人愿意看。
我见过最夸张的清单有 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 无处遁形。