之前的资料,一直在分享什么是ATE、SLT等相关芯片测试。但没有说为什么需要这些测试,其实学东西从为什么出发,会留有更加影响深刻。
Perface
半导体芯片从想法到最终可以交付客户的产品,简单的说经历芯片设计,芯片生产,芯片封装和芯片测试。
半导体测试对于大多数人,甚至很多半导体从业人员而言,也是陌生的;很多人将半导体测试与设计阶段的设计验证,以及流片后的芯片功能验证相互混淆。
半导体测试作为半导体产业链中不可或缺的一环,随着工艺的持续下探,SoC的规模复杂度的持续增加,在项目中的重要性也越来越高,某种程度上决定了产品能否按时量产并交付客户。
半导体测试是什么?
传统意义的半导体测试指基于ATE机台的产品测试,分为wafer level的CP测试(chip probing)或FE测试(FrontEnd test)和封装之后的FT测试(final test)或BE测试(backend test)。当然随着WLCSP (wafer level chip scale package)封装的推广,越来越多产品只需要CP测试后就可以切割分片供货了。
在FrontEnd test中,主要测试晶圆的电性参数,如CMOS的电容、电阻、Contact、Metal Line等,通过这些参数来监控各步工艺是否正常和稳定。这个测试环节通常采用CP测试(Chip Probing)或FE测试(FrontEnd test)。
CP测试和FE测试是在芯片制造过程中的wafer level进行的,即芯片还没有进行封装之前。而FT测试和BE测试是在芯片封装完成之后进行的。
+ CP测试(Chip Probing):这是在晶圆(wafer)级别进行的测试,主要用于测试一些基本的器件参数,如阈值电压、导通电阻、源漏击穿电压、栅源漏电流和漏源漏电流等。此外,对于内存器件,CP测试还可以通过MRA计算出chip level的Repair address,通过Laser Repair将CP测试中的Repairable die修补回来,这有助于提高良率和可靠性。CP测试在芯片制造完成后、封装前进行,能挑出坏的芯片,减少封装和测试的成本,并直接了解晶圆的良率。
+ FE测试(FrontEnd test):这是在封装之前进行的测试,主要针对的是逻辑设计。使用verilog/VHDL等语言进行行为级的描述,并使用仿真软件进行RTL编程和仿真。
+ FT测试(Final test):这是在封装之后的最终测试,主要检查芯片的功能和性能。
+ BE测试(Backend test):也是封装之后的测试,主要针对的是后端设计。
传统的半导体测试是高度依赖DFT设计,完备的DFT设计可以提供高故障覆盖率的测试激励,保证半导体测试可以用最小的时间成本筛选出有故障的芯片。
但是随着芯片软硬件复杂度的提高,许多问题无法或很难抽象出相应的故障模型,因此SLT(system level test)也被多数公司采用,放在FT测试之后整个FT测试的故障覆盖率,保证DPM(defects per million )满足客户需求。
DPM(defects per million)是指每百万缺陷率,是一种衡量产品或系统中缺陷数量的指标。它通常用于评估产品质量、过程能力和可靠性等方面。
为什么半导体测试是必须的?
芯片在设计阶段有完备的验证流程,仿真验证、UVM、形式验证以及基于FPGA的SLE(system level emulation)等等验证手段可以保证100%设计功能正确性。一般来说芯片可以流片,芯片的netlist是通过验证的所有测试用例,完美实现设计需求的。
因此很多人会奇怪为什么每一个芯片都需要费时费力的经过严格的半导体测试,才能提供给客户呢?
以成熟的28nm工艺为例,总体yield在93%左右(wafer的yield一般在93%左右而封装后的yield一般在99%)。一个复杂电子产品比如手机需要集成很多芯片在一个基板上,整个系统的DPM是每个芯片的DPM乘积,因此每个芯片的DPM 需要控制在500以下以保证集成商可以低成本的生产出合格可靠的电子产品。
为了达到DPM的目标,半导体测试是保证芯片出厂品质所不能缺少的一步。而随着半导体工艺的不断下探1nm,量产工艺的总体yield也下降到80%左右,更多的产品生产故障率进一步要求更完备的半导体测试,否则低故障覆盖率的测试会导致大量customer return,影响产品的量产上市时间。
半导体测试的数据结果也用于工艺监控和优化以及产品设计优化中。比如scan/mbist测试一般会将故障的具体信息存储在数据库,大量产品测试的这些故障信息会反标到wafer具体die上,甚至反标到layout的X/Y坐标上,如果有明显的defect signature出现,工艺和设计就需要检查是否有什么原因造成这种通用问题, 是否有可以改进的地方。
半导体测试也用stress加速老化测试,减少或者避免burn-in。burn-in一般需要125C/24h,目的是根据澡盆曲线,将早期失效的DUT通过stress筛选出来。
因为burn-in的时间一般很长,多数产品在ATE测试中加入超高电压短时stress测试可以加速老化,用最短的stress时间快速筛选出早期失效的DUT。
DUT(Device Under Test)是指被测试的设备或部件。在这个上下文中,它指的是在烧机过程中被测试的设备或部件。
烧机(burn-in)是一种可靠性测试技术,目的是通过模拟产品在正常工作条件下的应力和环境因素,如温度、湿度、电压等,来检测和识别出早期失效的产品。
芯片根据应用领域不同,Jedec会有不同的qualification的要求,一般qualification包括ESD/latchup,HTOL,TC,ELFR,HTS,THB等等。
无论哪种qualification,在stress之前要使用完备的ATE测试程序筛选出完好的芯片,在stress之后需要使用相同的程序做readout,判断芯片是否经过stress后损坏。因此对于qualification而言ATE测试也是不可或缺的,需要在项目中和测试工程师合作制定可行的计划。
是的,Jedec(固态技术协会)制定了许多关于半导体器件的测试和认证标准。在半导体行业中,qualification通常指的是产品或工艺的验证过程,以确保它们符合特定的规格和要求。
在Jedec的标准中,不同的qualification可能有不同的要求,涵盖了各种不同的测试和评估。以下是一些常见的Jedec qualification标准和它们的目的:
- ESD(Electrostatic Discharge):这是测试半导体器件对静电放电的抵抗能力。ESD测试通常模拟实际操作环境中可能出现的静电放电情况,以确定器件是否能够承受这些潜在的应力。
- Latchup:这是一种测试,用于评估半导体器件在遇到瞬态电压时内部电路的保护能力。Latchup测试通常模拟潜在的电压瞬变情况,以确定器件是否会遭受损坏或功能失效。
- HTOL(High Temperature Operating Life):这是一种测试,用于评估半导体器件在高温工作条件下的寿命和稳定性。HTOL测试通常暴露器件于高温条件下,并监测其性能随时间的推移而变化的情况。
- TC(Thermal Cycling):这是一种测试,用于评估半导体器件在不同温度循环下的可靠性和稳定性。TC测试通常暴露器件于一系列的温度循环中,以模拟实际使用中可能出现的温度变化。
- ELFR(Early Life Failure Rate):这是一种测试,用于评估半导体器件在早期使用阶段的故障率。ELFR测试通常通过加速寿命试验来预测器件的早期故障率。
- HTS(High Temperature Storage):这是一种测试,用于评估半导体器件在高温存储条件下的稳定性和可靠性。HTS测试通常将器件暴露于高温条件下并监测其性能的变化情况。
- THB(Thermal/Hybrid Bump):这是一种测试,用于评估半导体封装中的焊球在经受温度循环时的可靠性和稳定性。THB测试通常通过施加温度循环来模拟实际使用中可能出现的温度变化对焊球的影响。
这些只是一些常见的Jedec qualification标准和它们的示例目的。实际上,根据不同的应用和产品要求,可能还有其他特定的qualification要求需要进行评估。通过执行这些测试和认证程序,可以确保半导体器件符合特定的性能和质量标准,并能够满足应用的需求。
半导体测试流程
芯片根据应用领域,温度和可靠性要求的不同,需要定义不同的test insertion。比如汽车电子的产品测试流程如下共有5个test insertion,如此多的test insertion是因为汽车电子的DPM要求zero defect,必须在不同温度下多次测试最大限度地筛选新品。
而一般用于消费类比如手机通讯的芯片,因为不涉及生命和公共安全,DPM要求一般在500附近,因此测试的流程也尽可能的简化去降低测试成本。如下图所示,根据工艺在不同温度对logic/sram的影响,决定wafer和device的测试温度。
因为增加一个test insertion,测试成本就会显著增加,产品利润就会降低。因此半导体测试的一个重要工作是研究如何用尽量少的test insertion达到同样的DPM目标。
以上图为例,在项目的早期定下目标是“量产程序需要去除device test@cold,burn-in以及SLT”,在早期测试程序开发过程中,就需要研究尝试如何在保留的test insertion中增加更多的测试(比如scan/mbist/IO stress测试,更严格的pass/fail limit等等),以达到筛选出同样有问题的芯片。
如何定义不同test insertion的测试内容呢? 概括而言是需要测试工程师根据故障概率,测试时间和测试条件的综合评估而定。
wafer test使用探针卡+probe实现芯片与ATE机台的电气连接,一般而言探针卡的接触电阻以及感性阻值较大,尽量避免测试频率高的测试(限制在50M~100M以内),而将重点放在scan/mbist等故障率比较高的测试上,保证90%以上的defect可以在wafer level筛出而不浪费assembly和FT测试的cost。
FT测试一般在早期需要实现所有的测试以保证测试覆盖率。除了筛选defect之外,一般FT测试还需trim一些analog模块比如bandgap,reference current,reference resistance等等,以及其他一些需要将结果写到fuse内的测试。
除了筛选缺陷之外,FT测试还需要进行一些模拟模块的测试,例如bandgap、reference current和reference resistance等。这些测试用于模拟和测量芯片的内部电路和元件的性能,以确保它们符合设计规格和性能指标。
此外,FT测试还需要进行一些需要将结果写到fuse内的测试。这些测试通常用于对芯片进行个性化配置或编码,以确保每个芯片都具有正确的标识符、序列号或其他特定信息。这些信息可以通过编程写入到芯片的fuse(熔丝)中,用于后续的识别、追踪和管理。
SLT一般使用类似系统应用板搭建的mini-system执行系统应用软件,筛选出无法用DFT的故障模型表征的defect,或者是ATE机台受限的一些和性能相关的功能测试。但是因为SLT测试不容易提供工艺和设计改进需要的具体数据,一般需要在量产过程中提高ATE测试的故障覆盖率以及有效性,最大限度地减少进入SLT测试的defect device的数量,最终目标是去除SLT测试。
ATE测试抽象模型
业界用于SoC产品测试的ATE测试机台主要由两家提供:
- Teradyne: J750 (low cost) and UltraFlex (high performance)
- Advantest: V93000 and T2000
尽管各个机台各有特点,但主要的功能是一致的,可以用下图抽象。
ATE测试机台提供测试需要的硬件资源,测试板(wafer使用探针板probecard,device使用loadboard)实现待测芯片和ATE测试机台的物理电气连接。
基于这个硬件系统,测试工程师开发ATE的测试软件程序,实现各种测试。
下面简要介绍一些通用SoC测试机台的基本模块及功能:
-
clock Generation模块提供各个板卡需要的时钟信号,保证所有时钟同源同相。在定义测试程序的timing的时候,需要综合考虑机台的这个最大基频和最小period resolution,保证机台可以尽可能高精度的提供芯片测试需要的各种时序信号;
-
Pattern Gen模块控制测试程序的测试激励(Pattern)按照定义的timing时序执行,它是tester的核心模块;
-
PE Card模块提供通用Tester channel,一般连接SoC的IO。通用tester channel可以提供输入激励,采样DUT输出;集成PPMU进行电流电压的测试;强大的tester支持protocol编程支持业界通用的串行总线协议;
- DPS 模块给待测DUT提供电源supply,一般支持动态电流测试,高级的支持纹波扰动测试以及IFVM模式(current force voltage measure);
-
不同的SoC tester会提供不同的模拟信号或数字高速板卡,支持不同的测试需求。一般AWG(analog waveform generation)和Digitizer是多数SoC芯片测试需要的板卡;如果SoC芯片的HSIO IP支持内建自测试,高速数字板卡就不是必须的;
-
测试机台还需要提供一些Auxillary Power比如15V/12V/5V, 继电器控制需要的utility bits等等;甚至有些tester会提供usb/pcie的接口;
半导体测试的基本内容
半导体芯片有各种类型,不同类型的芯片测试内容不同。以通讯类基带SoC芯片为例,半导体测试程序需要包括以下测试,具体测试原理可以参照。
Pad相关测试
涵盖IO contact,Pad leakage,Pad pullup&pulldown,输入输出VIX/VOX/IOX测试以及输出阻抗测试。测试原理很简单,是基于欧姆定理进行电流电压的测量。但该类测试可以有效筛选出pad/bump/ball相关的故障,该类故障多发生在wafer切割,assembly/package等工序,以及qualification的一些stress测试。
ESD/Latchup的测试程序需要实现完备的Pad测试,保证stress损坏的defect可以筛选出来。
Power电流相关测试
涵盖SICC(static/leakage current),DICC(dynamic work current)以及休眠电流。测试可以评估DUT的功耗指标,根据用户对功耗的要求将产品分为不同类别。采用PAT(Part Average Testing)技术,可以使用adaptive test limit的方式将功耗异常的芯片筛选出来。
Performance相关测试
一般core/cpu/dps需要测试最大工作频率,最低工作电压等性能相关的参数,这些测试结果用于产品分类以及系统软件运行时DVFS(Dynamic voltage and frequency scaling)的具体设置。
Scan测试
数字logic的故障覆盖率主要是DFT的scan保证的,大部分产品的scan覆盖率在95%以上。Scan测试激励是基于故障模型(stuck-at fault,transition fault,bridge fault…等等)由EDA工具生成。相比较于传统功能激励测试,优势是可以用最少的测试时间获得最大的故障覆盖率,同时一般不需要高速的测试机台,也避免了DUT和测试机之间的异步通讯要求,而且DUT测试失败可以反标回具体的设计电路,便于后期的分析。
Scan测试主要取决于DFT/DFM的设计,需要在设计阶段就覆盖率,故障模型,vector大小,shift时的脉冲电流等等进行充分沟通。
Mbist测试
Sram在SoC中占据很大的面积,和数字逻辑类似,Sram有很成熟的内建自测试方案mbist保证100%的故障覆盖率。Sram也有多种故障模型(stuck-at,transition fault,address fault,Coupling fault, Neighborhood sensitivity,Stability Fault,Retention Fault等),需要根据工艺的稳定度以及DMP要求,选择多种mbist的算法保证测试强度。
mbist测试需要支持redundancy的修补,repair的测试流程需要不断优化,保证可以将多数weak cell用完好的redundancy cell替换掉。
为了支持工艺优化,量产程序还需要能够将sram defect的信息输出到后台数据库中,经过大数据分析,一些工艺或设计的缺陷可以暴露加以改正。
高速数字接口测试
SoC一般集成很多数字高速接口,常见的比如USB,MIPI,PCIE,SATA…等等。这些接口的data rate在2GHz以上,多数ATE测试机的普通PE Card是无法支持如此高的频率,而选取高速板卡意味着测试成本的大幅提高,而且不容易在OAST寻找到合适的测试机台。
一般DFT可以在这些phy中实现TX/RX的loop back,使用类似bist的方式发送PRBS数据并采回,通过修改内部比较电压和采样时间自动测试眼图。
DC参数的测试一般需要参照datasheet,在设计阶段需要和DFT沟通保证重要的DC参数可以测试;
Analog模块测试
涵盖了PLL,LDO,bandgap, OSC… 等等。测试需求来自这些IP的设计者,需要在设计阶段讨论定义,并寻求DFT的支持避免对ATE测试机的过高要求。
参考资料
感谢原文作者李涛的优秀博客,暗框为笔记,如有不正确欢迎指正。
公众号文章皆可随意转载,务必注明出处。