4、模拟与混合信号测试挑战
说实话,做DFT这么多年,我最怕听到的一句话就是:「这个模块是模拟的,不用测。」
每次听到这个,我心里就咯噔一下。模拟电路不是不用测,而是太难测了。今天咱们就聊聊这块硬骨头。
模拟电路测试难点:为什么这么头疼?
数字电路测试,说白了就是灌0灌1,看输出对不对。但模拟电路?嗯,它跟你玩的是连续信号。
我遇到过最典型的一个案例:一个PLL模块,数字测试全过了,结果芯片回来发现锁相环根本锁不住。为什么?因为数字测试只测了功能逻辑,没测模拟的相位噪声和抖动。
模拟测试的难点,我总结下来有这么几个:
- 参数太多:增益、带宽、噪声、失真、共模抑制比...每个参数都要测,而且相互关联
- 精度要求高:数字电路测个0和1就行,模拟电路你得测到微伏级、皮安级
- 测试环境敏感:温度、电源噪声、衬底耦合,稍微变一点结果就飘了
- 缺乏故障模型:数字有 stuck-at、transition 模型,模拟?基本靠经验猜
核心观点:模拟测试不是「要不要测」的问题,而是「怎么测才划算」的问题。
数字与模拟的接口问题:边界在哪里?
混合信号芯片最尴尬的地方在哪?就是数字和模拟的交界处。
我记得有一次做ADC测试,数字部分跑得飞快,模拟部分慢吞吞。结果数字采样时钟和模拟信号之间差了那么几个皮秒,整个测试数据全废了。
接口问题常见的有:
- 时序匹配:数字时钟域和模拟时钟域怎么同步?
- 电平转换:模拟的1.8V和数字的0.9V怎么对接?
- 噪声隔离:数字开关噪声会不会串到模拟通道里?
- 测试模式切换:正常模式和测试模式怎么无缝切换?
我的习惯:在接口处加一个测试多路选择器(Test MUX),这样数字和模拟可以独立测试,互不干扰。虽然面积会多一点点,但省下的调试时间绝对值得。
测试时间与成本权衡:每一秒都是钱
做DFT的人,脑子里永远要有一本账:测试时间 = 测试成本。
你想想看,ATE机台一小时多少钱?高端混合信号测试机台,一小时几千块很正常。你多测一个参数,可能就多花几十块。批量下来,那就是几百万的差距。
我一般会这样权衡:
| 测试项 | 测试时间 | 成本影响 | 我的建议 |
|---|---|---|---|
| DC参数测试 | 快(毫秒级) | 低 | 全测,不纠结 |
| AC参数测试 | 中等(秒级) | 中等 | 抽样或边界测试 |
| 噪声/失真测试 | 慢(分钟级) | 高 | 只在关键节点测 |
| 温度特性测试 | 极慢 | 极高 | 只做特性化验证 |
说白了,你要学会「抓大放小」。哪些参数是良率杀手?哪些参数只是锦上添花?心里要有数。
避坑指南:我曾经为了省测试时间,把一个ADC的线性度测试从全码跳到了关键码。结果良率掉了5个百分点,最后返工重测,反而花了更多钱。有些测试,真的不能省。
良率与测试质量:鱼和熊掌怎么兼得?
良率和测试质量,听起来是一对矛盾。测试严了,良率低;测试松了,质量差。
但我的经验是:好的DFT设计,能让两者兼得。
怎么做到?核心思路是:把测试做到芯片内部去。
举个例子:
- 传统方法:把模拟信号引到芯片引脚,用外部仪器测。慢、贵、容易引入噪声。
- 我的方法:在芯片内部集成BIST(内建自测试)电路。数字部分控制,模拟部分响应,直接在片内完成测试。
这样做的好处很明显:
- 测试速度快:内部测试,不用跟外部仪器来回握手
- 测试精度高:信号路径短,噪声干扰小
- 成本低:普通数字ATE就能测混合信号芯片
- 良率可控:可以实时调整测试阈值,不放过坏片,也不误杀好片
我做过一个项目,用模拟BIST把测试时间从原来的30秒降到了3秒,良率反而提升了2%。为什么?因为内部测试更稳定,减少了误判。
总结一下:混合信号测试,说白了就是跟不确定性做斗争。你控制不了工艺波动,控制不了测试环境,但你可以控制你的DFT策略。把测试做在芯片里,把问题解决在流片前,这才是DFT工程师的价值所在。
嗯,今天就聊到这儿。下一章咱们聊聊具体的DFT实现技巧,包括怎么设计模拟BIST、怎么选测试点、怎么跟后端工程师撕...哦不,沟通。