第四章 测试模式详解:SCAN、MBIST、BIST、边界扫描
做芯片量产测试这十年,我越来越觉得测试模式就像工具箱里的不同工具。你不能指望一把螺丝刀搞定所有问题。SCAN、MBIST、BIST、边界扫描,这四种模式各有各的脾气。今天咱们就把它掰开揉碎了聊清楚。
4.1 SCAN测试:数字逻辑的照妖镜
SCAN测试,说白了就是把芯片里那些散落的寄存器串起来。就像把一堆散落的珍珠穿成一条项链。测试时数据从这条链子灌进去,再从头到尾吐出来。一对比,就知道哪颗珠子出了问题。
我在项目里吃过亏。设计做得好好的,一上ATE测试,扫描链覆盖率只有85%。流片回来,良率掉了3个点。后来追查发现,有个时钟域没处理好。所以千万要记住:SCAN覆盖率不到95%,别轻易 Tape-out。
4.2 MBIST测试:存储器的专属医生
MBIST,Memory Built-In Self-Test,专治各种存储器毛病。SRAM、DRAM、ROM,都归它管。它内部有个小控制器,生成各种测试图案往存储器里写,再读出来比对。
常用的测试算法有March C-、March LR。我个人喜欢March C-,因为它覆盖了90%以上的故障模型。包括 stuck-at fault、transition fault、coupling fault,都能抓到。
| 故障类型 | 含义 | MBIST能否检测 |
|---|---|---|
| Stuck-at 0/1 | 存储单元固定在0或1 | ✅ 可以 |
| Transition fault | 从0到1或1到0变不过去 | ✅ 可以 |
| Coupling fault | 一个单元翻转影响邻居 | ✅ 可以 |
| Address decoder fault | 地址译码逻辑出错 | ✅ 可以 |
我遇到过一款存储器,地址译码电路有毛病,外部测试愣是没抓到。一上MBIST,立刻原形毕露。所以啊,对高速接口芯片来说,MBIST不是可选项,是必选项。
4.3 BIST测试:自己动手,丰衣足食
BIST和MBIST是一个大家族的。只不过MBIST专攻存储器,BIST范围更广。SerDes的BIST、PLL的BIST、甚至整个芯片的BIST,都能做。
高速接口里最常用的是Loopback BIST。发端发一串数据,收端收回来比对。嗯,这里要注意:物理层路径得确认没问题。我有个工程师同事,BIST报错修了半天,最后发现是PCB走线短路,闹了个大笑话。
4.4 边界扫描:板级互联的体检器
边界扫描,IEEE 1149.1标准,也就是常说的JTAG。它在每个IO引脚旁边加一个边界单元。这些单元串成一条链,可以读取或驱动引脚状态。
这么做的好处是,不用拿示波器去点那些细密的BGA焊球。只要通过TDI、TDO、TCK、TMS四个脚,就能测遍所有引脚的通断。
我测过一块板子,BGA虚焊特别多。用边界扫描一跑,5分钟就定位了3个开路。如果拿万用表去量,估计得折腾半天。边界扫描就是为这种场景准备的。
边界扫描还能做其他事,比如在线编程、调试、甚至配置FPGA。它不光管测试,还管产品生命周期管理。
4.5 四种模式的对比与选择
说到底,怎么选?看你测什么东西:
- 数字逻辑多 → 优先上SCAN,保证覆盖率
- 嵌入式存储器多 → 必须上MBIST,别犹豫
- 模拟或高速接口 → 用BIST做功能验证
- 板级互联 → 边界扫描是最佳方案
实际项目中,通常是四种模式混合用。我惯用的套路是:先跑BIST,快速筛掉明显坏的片子;再上SCAN,查逻辑问题;接着跑MBIST,盯住存储器;最后边界扫描做板级验证。这套流程下来,良率基本能拉到预期。
这四种模式不是孤立的。我见过最优秀的测试方案,能把四种模式的测试时间压缩到50ms以内,比只跑一种模式的方案还快。为什么?因为BIST跑的时候,SCAN可以并行抓数据。边界扫描和MBIST也能重叠。测试时间压缩,良率自然就上去了。
好了,这一章的内容就到这儿。你心里对四种模式应该有谱了。记住:测试模式选得对,良率翻倍不是梦;选错了,流片回来全是泪。自己慢慢体会吧。