芯片测试其实分成两个完全不同的方面——研发测试和量产测试,它们的目标、方法、甚至思维方式都截然不同。
研发测试的核心任务只有一个:验证芯片设计有没有按照预期工作。这个阶段工程师要做的是实验性质的工作,通过各种测试手段来确认电路设计、功耗指标是否符合规格书的要求。
研发测试是一个反复迭代的过程。发现问题就要回去改测试vector甚至ECO,直到所有指标都稳定达标。这个阶段测试工程师和设计工程师几乎是绑在一起工作的,测试的目的除了筛选好坏,还要找出设计的边界和缺陷。
等研发测试全部通过,设计确认无误后,芯片进入量产阶段。这时候测试的性质彻底变了——不再是验证设计对不对,而是要快速判断这颗芯片生产出来后有没有缺陷。
量产测试面对的是海量的芯片。一个晶圆上可能有几千颗die,每天产出几万甚至几十万颗芯片。你不可能像研发阶段那样慢慢测,必须在几秒到几十秒内完成一颗芯片的全部测试项目。
量产测试关注的重点也不一样了:
功能测试- 芯片的各个模块能不能正常工作,逻辑功能有没有问题
参数测试- 工作电流、漏电流、输入输出电平这些参数是否在规格范围内
老化筛选- 通过高温高压加速老化,把早期失效的芯片提前筛出来
量产测试要有明确的判定标准。每一项测试都要给出pass或fail的结果,这个结果直接决定芯片能不能出货。测试程序需要经过严格的验证和优化,确保既不会漏掉有缺陷的芯片,也不会误杀良品。
研发测试允许失败,甚至期待失败——因为每次失败都能帮你发现设计问题。而量产测试追求的是高良率和低测试成本,失败意味着生产出了废品。
这种差异体现在测试设备上也很明显。研发测试用的往往是示波器、逻辑分析仪、频谱仪这类通用测量仪器,可以灵活观察各种信号细节。量产测试用的是ATE(自动测试设备),强调的是速度和效率,一台设备可能同时测试几十上百颗芯片。
还有一个容易被忽视的点:量产测试的测试向量是从研发测试中提炼出来的。研发阶段可能会跑几十万甚至上百万个测试向量,到量产时要精简到几千个,既要保证测试覆盖率,又要控制测试时间。这也是个技术活。