测试方案设计原则:DFM、DFT与测试覆盖率
各位工程师朋友,咱们直接进入正题。测试方案设计,说白了就是回答三个问题:测什么?怎么测?测多少才够?这三个问题背后,站着三个核心原则:可制造性设计(DFM)、可测试性设计(DFT)和测试覆盖率。我做了十几年量产导入,见过太多因为前期没想清楚这三个问题,导致后期在产线上焦头烂额的案例。
今天这一章,我就把这三个原则掰开揉碎了讲清楚。咱们不搞虚的,全是实战中能直接用的东西。
2.1 可制造性设计(DFM)基础
DFM,全称 Design for Manufacturing。翻译成人话就是:你设计的东西,工厂能不能顺利造出来?
我记得刚入行那会儿,带我的老工程师跟我说过一句话,我一直记到现在:「设计图上画一条线,产线上可能要多花十分钟。」当时我不太理解,直到自己踩了坑才明白。
核心观点:DFM不是生产部门的事,是设计部门的事。设计阶段多花一天想DFM,量产阶段能省一个月。
DFM主要关注以下几个维度:
- 元件选型:尽量选用标准封装、通用料号。别用那种只有一家供应商能做的特殊元件,否则一旦断供,整条产线都得停。
- PCB布局:元件间距要留够,焊盘尺寸要符合工艺窗口。我见过一个设计,两个QFP芯片挨得太近,贴片机吸嘴都放不下去,最后只能手工焊——那良率,惨不忍睹。
- 工艺窗口:回流焊的温度曲线、波峰焊的波峰高度,这些工艺参数要有足够的容忍度。设计时别卡在临界值上,工厂稍微波动一点就出问题。
- 测试点预留:这个其实已经跨到DFT了,但DFM里也要考虑。关键信号节点要留出测试点,别等板子做好了才发现没地方下探针。
实战技巧:我建议你在设计评审阶段,直接邀请工厂的工艺工程师参与。他们一眼就能看出哪些设计「不好造」。我曾经有一个项目,就是因为提前让工厂看了设计,把几个BGA封装的间距从0.8mm改成了1.0mm,虽然板子大了5%,但良率从82%直接跳到了97%。
2.2 可测试性设计(DFT)基础
DFT,Design for Test。核心思想就一句话:让测试变得简单、高效、可靠。
你想想看,一个产品如果设计得很难测试,那测试成本就会飙升,测试效率就会下降,最终导致出货延迟。更可怕的是,有些缺陷可能根本测不出来,直接流到客户手里。
DFT的几个关键手段:
- 边界扫描(JTAG):这是最经典的DFT技术。通过JTAG链,可以测试芯片引脚之间的连接是否正常。我在项目中遇到过一块12层的背板,上面有几十个BGA芯片,如果没有JTAG,光靠人工目检和万用表,一个月都测不完。
- 内建自测试(BIST):让芯片自己测试自己。比如内存BIST、逻辑BIST。上电后自动跑一遍,输出一个Pass/Fail信号。省去了外部测试设备的依赖。
- 测试点插入:在PCB上预留测试焊盘或测试孔。ICT(在线测试)和FCT(功能测试)都需要这些点。我建议关键节点(电源、时钟、复位、数据总线)必须留测试点。
- 测试模式设计:芯片内部要设计专门的测试模式,比如扫描链模式、存储器测试模式。这些模式在正常工作时不可用,只在测试时激活。
避坑指南:我曾经有一个项目,设计团队为了省面积,把JTAG链上的几个芯片跳过了。结果量产时发现某两个芯片之间的连接有问题,但JTAG测不到,只能靠功能测试去碰运气。最后花了三周才定位到问题。从那以后,我要求所有设计必须保证JTAG链的完整性,一个都不能少。
2.3 测试覆盖率的概念
测试覆盖率,是衡量测试方案「够不够」的核心指标。它不是一个虚无缥缈的概念,而是有具体计算方法的。
常见的测试覆盖率类型:
| 覆盖率类型 | 定义 | 典型目标值 |
|---|---|---|
| 节点覆盖率 | 被测试到的电路节点占总节点的比例 | ≥95% |
| 故障覆盖率 | 能检测到的故障模型占总故障模型的比例 | ≥90% |
| 功能覆盖率 | 被测试到的功能点占总功能点的比例 | ≥85% |
| 边界扫描覆盖率 | JTAG链覆盖的引脚占总引脚的比例 | ≥98% |
为什么要有这些目标值?因为100%覆盖率是不现实的。你想想看,一个复杂的SoC芯片,内部可能有上亿个晶体管,要测到每一个晶体管的每一种故障模式,测试时间可能是天文数字。所以我们需要在覆盖率和测试成本之间找一个平衡点。
我的经验:对于消费类产品,故障覆盖率做到90%以上基本就够用了。但对于汽车电子、医疗设备这类高可靠性产品,覆盖率目标要定在95%甚至98%以上。我做过一个车规级项目,客户要求故障覆盖率必须达到99.5%,少0.1%都不行。
2.4 测试成本与测试效率的平衡
这是测试方案设计中最难的部分。测试成本高了,利润就薄了;测试效率低了,出货就慢了。怎么平衡?
我画了一张图,把核心逻辑展示出来:
从这张图可以看出,测试方案设计处于中心位置,它同时影响着测试成本和测试效率。而这两个维度又是相互制约的:
- 提高覆盖率 → 测试成本上升:要测更多点、更多模式,就需要更贵的设备、更长的测试时间。
- 提高测试效率 → 可能降低覆盖率:为了加快测试节拍,可能会跳过一些非关键测试项。
- 降低测试成本 → 可能影响效率:用便宜的治具,可能故障定位更慢,反而拉低了整体效率。
怎么破这个局?我个人的经验是:不要追求单点最优,要追求系统最优。
实战策略:
- 分层测试:把测试分成ICT、FCT、老化测试、系统测试等多个层次。每个层次覆盖不同的故障类型,避免在一个层次上追求100%覆盖。
- 并行测试:在条件允许的情况下,多个测试站点并行工作。比如同时测4块板子,效率直接翻4倍。
- 数据驱动优化:收集产线上的测试数据,分析哪些故障类型出现频率高,哪些测试项从来没过。然后针对性地调整测试方案。我做过一个项目,通过数据分析发现某个测试项连续三个月没测出过故障,果断把它从必测项改成了抽测项,测试时间缩短了15%。
2.5 三个原则的协同关系
DFM、DFT和测试覆盖率,不是三个独立的东西。它们是一个整体:
| 原则 | 关注点 | 对测试的影响 |
|---|---|---|
| DFM | 产品好不好造 | 影响测试点的可访问性、工艺一致性 |
| DFT | 产品好不好测 | 决定测试覆盖率的理论上限 |
| 测试覆盖率 | 测得到底够不够 | 衡量测试方案的有效性 |
举个例子你就明白了。假设一个产品DFM做得很好,元件间距合理、焊盘尺寸标准,但DFT没做好,关键节点没留测试点。那测试覆盖率再高也白搭——你根本没法测到那些节点。反过来,DFT做得再好,如果DFM一塌糊涂,板子造出来全是虚焊、短路,那测试方案再完美也救不了良率。
我的结论:DFM是基础,DFT是手段,测试覆盖率是目标。三者缺一不可。在设计阶段就把这三个原则想清楚,量产导入的时候才能游刃有余。