姓名:李沈轩 学号:20181214373 学院:广研院
【原文链接】半导体测试概述 - 知乎 (zhihu.com)
【嵌牛导读】本文介绍了什么是芯片测试?
【嵌牛鼻子】芯片测试
【嵌牛提问】什么是芯片测试?
【嵌牛正文】
半导体芯片从想法到最终可以交付客户的产品,简单的说经历芯片设计,芯片生产,芯片封装和芯片测试。半导体测试对于大多数人,甚至很多半导体从业人员而言,也是陌生的;很多人将半导体测试与设计阶段的设计验证,以及流片后的芯片功能验证相互混淆。半导体测试作为半导体产业链中不可或缺的一环,随着工艺的持续下探,SoC的规模复杂度的持续增加,在项目中的重要性也越来越高,某种程度上决定了产品能否按时量产并交付客户。
芯片测试是什么?
传统意义的芯片测试指基于ATE机台的产品测试,分为wafer level的CP测试(chip probing)或FE测试(FrontEnd test)和封装之后的FT测试(final test)或BE测试(backend test)。当然随着WLCSP (wafer level chip scale package)封装的推广,越来越多产品只需要CP测试后就可以切割分片供货了。
传统的芯片测试是高度依赖DFT设计,完备的DFT设计可以提供高故障覆盖率的测试激励,保证半导体测试可以用最小的时间成本筛选出有故障的芯片。但是随着芯片软硬件复杂度的提高,许多问题无法或很难抽象出相应的故障模型,因此SLT(system level test)也被多数公司采用,放在FT测试之后整个FT测试的故障覆盖率,保证DPM(defects per million )满足客户需求。
为什么芯片测试是必须的?
芯片在设计阶段有完备的验证流程,仿真验证、UVM、形式验证以及基于FPGA的SLE(system level emulation)等等验证手段可以保证100%设计功能正确性。一般来说芯片可以流片,芯片的netlist是通过验证的所有测试用例,完美实现设计需求的。 因此很多人会奇怪为什么每一个芯片都需要费时费力的经过严格的半导体测试,才能提供给客户呢?
以wafer的工艺流程为例,从mask set到真正的wafer,需要经过很多复杂的加工步骤。每个加工步骤可以抽象成 Zi = F(Xi,Yi)。Xi是输入,Yi是该加工的process variant,Zi是输出。因为每个加工步骤的存在,最终得到的wafer上的芯片会一定概率的存在故障点,或者某些门以及走线的某些参数严重偏离设计要求,这些都会导致芯片功能问题。
以成熟的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。
芯片根据应用领域不同,Jedec会有不同的qualification的要求,一般qualification包括ESD/latchup,HTOL,TC,ELFR,HTS,THB等等。无论哪种qualification,在stress之前要使用完备的ATE测试程序筛选出完好的芯片,在stress之后需要使用相同的程序做readout,判断芯片是否经过stress后损坏。因此对于qualification而言ATE测试也是不可或缺的,需要在项目中和测试工程师合作制定可行的计划。
芯片测试流程
芯片根据应用领域,温度和可靠性要求的不同,需要定义不同的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内的测试。
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测试机的过高要求。