【芯片设计封装与测试】芯片测试目的、方法、分类及案例

目录

1.芯片测试概述(目的、方法)

1.1.测试在芯片产业价值链上的位置

2.测试如何体现在设计的过程中

2.1.半导体测试定义与基本工作机制

2.2.半导体测试环节分类及对应设备

2.3.设计验证

3.测试的各种类型

3.1.抽样测试和生产全测

3.2.测试相关的各种名词

4.晶圆、单颗die和封装的芯片

5.测试系统的基本工作机制

5.1.晶圆测试(wafer test,或者CP-chip probering)

5.2.最终测试(FT或者封装测试)

6.如何进行一个产品的测试开发

6.1.各种规格书

6.1.1.设计规格书

 6.1.2.测试规格书       

6.1.3. 产品规格书       

6.1.4.测试计划书

6.1.5.测试项目流程

6.2.有关芯片测试的错误类型及测试方法

6.2.1.半导体芯片的defects、Faults

6.2.2.Stuck At Faults

6.2.3.Stuck Open(off)/Short(on) Faults

6.2.4.桥接(Bridge Faults)

6.2.5.开路故障(Open)

6.2.6.延迟缺陷(delay faults)

7.Pattern向量测试及IDDQ测试方法

7.1.Pattern向量测试的方法

7.2.IDDQ测试的方法

8.其它的Hardware测试介绍

8.1.连通性测试介绍

8.2.DC参数测试(DC Parameters Test)

8.3.IDD测试

8.4.Gross IDD/ICC Test (power pin short test)

8.5.Static IDD/ICC Test (静态功耗测试)

8.6.Dynamic IDD/ICC Test (动态功耗测试)

8.7.Leakage测试

9.CP测试

9.1.什么是CP测试

9.2.为什么要做CP测试

9.3.CP测试内容和测试方法

9.3.1SCAN

9.3.2.oundary SCAN

9.3.3.存储器

9.3.4.DC/AC Test

9.3.5.RF Test

9.3.6.其他Function Test

9.4.CP测试流程

9.4.1.可测试性设计

9.4.2.选测试厂,测试机

9.4.3.制作ProbeCard以及Test Program

9.4.4. 调试以及结果分析

9.4.5.量产

9.4.6.成本控制

9.4.6.1.固定成本

9.4.6.2.可变成本

10.参考


1.芯片测试概述(目的、方法)

1.1.测试在芯片产业价值链上的位置

        如下面这个图表,一颗芯片最终做到终端产品上,一般需要经过芯片设计、晶圆制造、晶圆测试、封装、成品测试、板级封装等这些环节。

        在整个价值链中,芯片公司需要主导的环节主要是芯片设计和测试,其余的环节都可以由相应的partner(公司)来主导或者完成。

2.测试如何体现在设计的过程中

2.1.半导体测试定义与基本工作机制

        半导体测试作为半导体设计、生产、封装、测试流程中的重要步骤,是使用特定器具,通过对待检器件(DUT,Device Under Test)的检测,区别缺陷、验证器件是否符合设计目标,分离好品与坏品的过程。

         半导体测试可以确保生产芯片达到要求良率,减低成本浪费,同时提供有效的测试数据,改善设计与制造。

        根据电子系统故障检测中的”十倍法则“:若芯片测试未发现芯片设计制造的相关故障问题,那么在电路板(PCB)级别发现故障的成本则会升至芯片级别的十倍。以此类推,成本也会以指数式增长。

半导体测试基本工作机制为:编写程序、产生测试向量、施加给DUT、产生输出反馈、与编程值进行比对、得出测试结果

2.2.半导体测试环节分类及对应设备

        上图表示的是设计公司在进行一个新的项目时候的一般流程:

        从市场需求出发,到产品tape out进行制造,包含了系统设计、逻辑设计、电路设计、物理设计,到最后开始投入制造。

        最下面一栏标注了各个设计环节中对于测试的相关考虑,从测试架构、测试逻辑设计、测试模式产生、到各种噪声/延迟/失效模式综合、进而产生测试pattern,最后在制造完成后进行测试,对测试数据进行分析,从而分析失效模式,验证研发。

        所以,测试本身就是设计,这个是需要在最初就设计好了的,对于设计公司来说,测试至关重要,不亚于电路设计本身。

2.3.设计验证

        设计公司主要目标是根据市场需求来进行芯片研发,在整个设计过程中,需要一直考虑测试相关的问题,主要有下面几个原因:

        1) 随着芯片的复杂度原来越高,芯片内部的模块越来越多,制造工艺也是越来越先进,对应的失效模式越来越多,而如何能完整有效地测试整个芯片,在设计过程中需要被考虑的比重越来越多。

        2) 设计、制造、甚至测试本身,都会带来一定的失效,如何保证设计处理的芯片达到设计目标,如何保证制造出来的芯片达到要求的良率,如何确保测试本身的质量和有效,从而提供给客户符合产品规范的、质量合格的产品,这些都要求必须在设计开始的第一时间就要考虑测试方案。

        3) 成本的考量。越早发现失效,越能减少无谓的浪费;设计和制造的冗余度越高,越能提供最终产品的良率;同时,如果能得到更多的有意义的测试数据,也能反过来提供给设计和制造端有用的信息,从而使得后者有效地分析失效模式,改善设计和制造良率。

3.测试的各种类型

3.1.抽样测试和生产全测

        对于芯片来说,有两种类型的测试,抽样测试和生产全测

        抽样测试,比如设计过程中的验证测试,芯片可靠性测试,芯片特性测试等等,这些都是抽测,主要目的是为了验证芯片是否符合设计目标,比如验证测试就是从功能方面来验证是否符合设计目标。

        可靠性测试是确认最终芯片的寿命以及是否对环境有一定的鲁棒性,而特性测试测试验证设计的冗余度。

        这里我们主要想跟大家分享一下生产全测的测试,这种是需要100%全测的,这种测试就是把缺陷挑出来,分离坏品和好品的过程。这种测试在芯片的价值链中按照不同阶段又分成晶圆测试和最终测试(FT,也叫封装测试或者成品测试),就是上面图(1)中的红色部分。

3.2.测试相关的各种名词

ATE-----------Automatic Test Equipment,自动化测试设备,是一个高性能计算机控制的设备的集合,可以实现自动化的测试。

Tester---------测试机,是由电子系统组成,这些系统产生信号,建立适当的测试模式,正确地按顺序设置,然后使用它们来驱动芯片本身,并抓取芯片的输出反馈,或者进行记录,或者和测试机中预期的反馈进行比较,从而判断好品和坏品。

Test Program---测试程序,测试机通过执行一组称为测试程序的指令来控制测试硬件

DUT-----------Device Under Test,等待测试的器件,我们统称已经放在测试系统中,等待测试的器件为DUT。

4.晶圆、单颗die和封装的芯片

晶圆、裸的芯片、封装后的芯片

 
        如上图,Wafer就是晶圆,这个由Fab进行生产,上面规则地放着芯片(die),根据die的具体面积,一张晶圆上可以放数百数千甚至数万颗芯片(die)。

        Package Device就是封装好的芯片,根据最终应用的需求,有很多种形式,这个部分由芯片产业价值链中的封装工厂进行完成。

5.测试系统的基本工作机制

        对测试机进行编写程序,从而使得测试机产生任何类型的信号,多个信号一起组成测试模式或测试向量,在时间轴的某一点上向DUT施加一个测试向量,将DUT产生的输出反馈输入测试机的仪器中测量其参数,把测量结果与存储在测试机中的“编程值”进行比较,如果测量结果在可接受公差范围内匹配测试机中的“编程值”,那么这颗DUT就会被认为是好品,反之则是坏品,按照其失效的种类进行记录。

5.1.晶圆测试(wafer test,或者CP-chip probering)

        晶圆测试就是在晶圆(wafer)上直接进行测试。

        上图中就是一个完整的晶圆测试自动化系统。

        Prober--- 与Tester分离的一种机械设备,主要的作用是承载wafer,并且让wafer内的一颗die的每个bond pads都能连接到probe card的探针上,并且在测试后,移开之前的接触,同时移动wafer,换另外的die再一次连接到probe card的探针上,并记录每颗die的测试结果。

        Probe Card---乃是Tester与wafer上的DUT之间其中一个连接介面,目的在连接Tester Channel 与待测DUT。

        大部分为钨铜或铍铜,也有钯等其他材质;材质的选择需要高强度、导电性及不易氧化等特性,样子如上图所示。

        当 probe card 的探针正确接触wafer内一顆 die的每个bond pads后, 送出start信号通过Interface给tester开始测试, tester完成测试送回分类讯号 ( End of test) 给Prober, 量产時必須 tester 与 prober 做连接(docking) 才能测试。

5.2.最终测试(FT或者封装测试)

        最终测试(FT或者封装测试)就是在Package Device(Package Device就是封装好的芯片)上进行测试。

        上图就是一个完整的FT的测试系统。对比wafer test(晶圆测试),其中硬件部分,prober换成了handler,其作用是一样的,handler的主要作用是机械手臂,抓取DUT,放在测试区域,由tester对其进行测试,然后handler再根据tester的测试结果,抓取DUT放到相应的区域,比如好品区,比如坏品1类区,坏品2类区等。

         而probe card则换成了load board,其作用是类似的,但是需要注意的是load board上需要加上一个器件—Socket,这个是放置package device用的,每个不同的package种类都需要不同的socket,如下面上图所示,load board上的四个白色的器件就是socket。
        Handler 必须与 tester 相结合(此动作叫 mount 机)及接上interface才能测试, 动作为handler的手臂将DUT放入socket,然后 contact pusher下压, 使 DUT的脚正确与 socket 接触后, 送出start 讯号, 透过 interface 给 tester, 测试完后, tester 送回 binning 及EOT 讯号; handler做分类动作。

6.如何进行一个产品的测试开发

6.1.各种规格书

        通常有三种规格书,设计规格书、测试规格书、产品规格书。

6.1.1.设计规格书

        设计规格书,是一种包含新电路设计的预期功能和性能特性的定义的文档,这个需要在设计项目启动阶段就要完成,通常由市场和设计人员共同完成,最终设计出来的产品的实际功能和性能需要和设计规格书的规定进行比较,以确认本次设计项目的完成度。

 6.1.2.测试规格书       

        测试规格书,其中包含详细的逐步测试程序、条件、方法,以充分测试电路,通常由设计人员和产品验证工程师在设计过程中完成。

6.1.3. 产品规格书       

        产品规格书,通常就是叫做datasheet,由设计公司对外发布的,包含了各种详细的规格、电压、电流、时序等信息。

6.1.4.测试计划书

        测试计划书,就是test plan,需要仔细研究产品规格书,根据产品规格书来书写测试计划书,具体的需要包含下面这些信息:

        a)DUT的信息,具体的每个pad或者pin的信息,CP测试需要明确每个bond pads的坐标及类型信息,FT测试需要明确封装类型及每个pin的类型信息。

        b)测试机要求,测试机的资源需求,比如电源数量需求、程序的编写环境、各种信号资源数量、精度如何这些,还需要了解对应的测试工厂中这种测试机的数量及产能,测试机费用这些。

        c)各种硬件信息,比如CP中的probe card, FT中的load board的设计要求,跟测试机的各种信号资源的接口。

        d)芯片参数测试规范,具体的测试参数,每个测试项的测试条件及参数规格,这个主要根据datasheet中的规范来确认。类型如上图这样。

        e)测试项目开发计划,规定了具体的细节以及预期完成日期,做到整个项目的可控制性和效率。

6.1.5.测试项目流程

        桃芯科技目前量产的是BLE的SOC产品,里面包含了eflash、AD/DA、 LDO/BUCK、RF等很多模块,为了提供给客户高品质的产品,我们针对每个模块都有详细的测试,下面图(9)是我们的大概的项目测试流程:

Open/Short Test: 检查芯片引脚中是否有开路或短路。

DC TEST: 验证器件直流电流和电压参数

Eflash TEST: 测试内嵌flash的功能及性能,包含读写擦除动作及功耗和速度等各种参数。

Function TEST: 测试芯片的逻辑功能。

AC Test: 验证交流规格,包括交流输出信号的质量和信号时序参数。

Mixed Signal Test: 验证DUT数模混合电路的功能及性能参数。

RF Test: 测试芯片里面RF模块的功能及性能参数。

6.2.有关芯片测试的错误类型及测试方法

        上面我们给大家介绍了芯片的测试目的,原理以及方法和流程,这次我们将比较详细的给大家介绍芯片的错误类型,对应的测试策略以及跟芯片整体质量相关的一些具体测试方法。

6.2.1.半导体芯片的defects、Faults

        芯片在制造过程中,会出现很多种不同类型的defects,比如栅氧层针孔、扩散工艺造成的各种桥接、各种预期外的高阻态、寄生电容电阻造成的延迟等等,如下图所示,大概展示了各种基本的defects。

        这些defects单独、或者组合一起,造成了电路的表现不符预期,这就是造成了Faults.而且各种Faults的表现也是不一样的:

        永久的Faults,就是彻底的坏品,各种不同的条件下都会表现出来,易于测试发现。

        间或的Faults,时有发生的不符合预期,不是总能发现,需要一定的外部条件刺激。

        偶然的Faults,只是偶然的,在特定的外部硬件或者工作模式条件下才表现出来。

        可靠性问题的Faults,这种一般不会表现出来,只会在一些极端条件才会表现出来,比如高低温或者偏压情况下。

        为了更有效地检测出各种faults、避免浪费更多芯片的资源、节省费用,业界定义了很多种Faults Model,并提供了各种测试方法论。

6.2.2.Stuck At Faults

        工艺制造过程中造成的硬件defects,使得某个节点Stuck At 0或者Stuck At 1, 如下图所示的一个或非门:输入节点x1发生了Stuck At 0的defect; x1和x2输入了00时候,Q1和Q2断开,Q3和Q4导通, z输出为H,正确;

        x1和x2输入了01时候,Q1和Q3断开,Q2和Q4导通, z输出为L,正确;

        x1和x2输入了10时候,此时x1被Stuck At 0了,等同于输入00,结果还是Q1和Q2断开,Q3和Q4导通,z输出为H,错误;

        至此,通过输入00,01,10就发现了这个defect。这种顺序输入00,01,10,而比较z输出的结果与预期的值进行判断的方法,就是所谓的Function测试。

        那对于一个电路,需要生成多少pattern,能达到多少的测试覆盖率呢?下图就以一个与门为例,说一下生产测试向量及计算测试覆盖率的基本理念。

        如上面图示,一个与门,有三个节点a、b、c, 每个节点都有两种fault的情况(Stuck At 0或者1),那么一共就有6种stuck-at faults情况:a0,a1,b0,b1,c0,c1.

        那么如上面图中列出的,需要输入(1,0),(0,1),(1,1)可以完全测试出所有的6种可能的Stuck-at Faults的情况,测试覆盖率为:可以发现的faults/所有可能的Faults,上面的输入的测试覆盖率为100%。

6.2.3.Stuck Open(off)/Short(on) Faults

        制造过程种造成的晶体管的defects,使得某个晶体管常开或者常闭了,如下图所示的时一个晶体管发生了Stuck Open(off)的错误了。

        如上图,这种Stuck open可以用两组Stuck At的向量进行测试,AB输入从10变换到00,可以检测出这种Stuck Open的fault,也就是说大部分的Stuck Open/Short的faults都是可以通过Stuck At model的测试向量覆盖的。

        这种通过向量(function)的方式来测试Stuck Open/short,可能需要非常多的测试图形,需要的测试时间和成本都很多。还有一种测量电流的方式,也可以有效的测试一些这种Stuck open/short的faults,但是会节省很多测试时间和测试成本。

        如下图上半部分所示,右边的那个P沟道MOS管发生了Stuck short(on)的faults,图的下半部分展示了输入AB的四种不同的情况,当AB输入为00时,看起来这个晶体管表现的正常;但是当AB输入为11时,地和电源间存在一个直接导通的电路,输出端Z的状态是异常的。

        此时VDD上的漏电比较大,也可以通过测量VDD上面的电流来判断正误,即IDDQ的测试方法,后面会详细的介绍这种方法。

6.2.4.桥接(Bridge Faults)

        桥接缺陷是由于电路中两个或多个电节点之间短路造成的,而设计中并未设计这种短接。这些短接的节点可能是某一个晶体管的,也可能是几个晶体管之间的,可能处于芯片上同一层,也可能处于不同层。下图是桥接缺陷的几种图例。

        上图中:

        (a)是因曝光不足导致7条金属线桥接子在一起的情形;

        (b)是外来颗粒的介入导致4条金属线桥接在一起的情形;

        (c)是因掩模划伤导致桥接的情形;

        (d)是1um大小的缺陷造成短路的情形;

        (e)是金属化缺陷导致2条金属线桥接的情形;

        (f)则是层间短路情形。上述情形中虽然导致缺陷的原因各有不同,但结果都是桥接。

        同样的,桥接测试也可以通过电压的方法完成,即run pattern方式,也就是stuck at的模式进行检测,但是电流测试是发现电压测试无法检查的故障的有效方法。
下图表示的是mos管的source和drain桥接了。

        上图中,因为上面的P沟通的MOS管的source和drain桥接了,电源VDD上会有很大的漏电,用电流测试方法,可以很快发现问题。

6.2.5.开路故障(Open)

        开路缺陷是制造工艺不当造成的,物理缺陷中大约40%属于开路缺陷。典型的开路缺陷包括线条断开、线条变细、阻性开路和渐变开路等。如下图所示:

图中(a)和(b)是电路存在开路的情形,(c)则是造成同时开路和短路缺陷的情形。

        开路缺陷的形式取决于缺陷的位置及大小。例如,对于栅极开路(一般称为浮栅,floating gate)这种缺陷,在缺陷面积小的情况下,隧道电流仍可流动,但信号的上升和下降时间增加;在缺陷面积大的情况下,输入信号就在栅极形成耦合,形成的浮栅就获得偏压,此电压可能导致晶体管导通,因此开路故障是否可检测,取决于缺陷的面积和位置。

        开路缺陷不一定都可以用Stuck At的模式检测到,如下图所示:

        上图中,红线部分表示那个mos管的drain与输出开路了,当顺序输入ab为00、01、10、11,从01变换为10的时候,输出Q保持了上面一个状态1,看起来还是正常的,这种情况下,就没有检测出来这个fault。但是如果调整一下输入的向量的顺序为00、01、11、10,就可以发现这个fault。

        通过IDD的测试方法,也可以测试出一些open缺陷,如下图所示

        上面红色表示open的缺陷,当输入ABCD为1111时,输出O为0,当输出转为0001时候,在x、y和o之间出现了充放电,会有大电流出现。

6.2.6.延迟缺陷(delay faults)

        在一些高速芯片应用中,延迟缺陷特别重要,这种缺陷有很多原因,比如小面积的open导致某段线路的阻值偏大。如下图所示:

        这个path的delay已经超过了一个clock的间隙,通过stuck At的测试方式,可以检测到这个缺陷。但是有的时候,延迟没有超过clock的间隙,就会造成潜在的失效,在某些情况下,比如硬件变化、外界温度变化等,延迟超过clock的间隙,导致缺陷。

        这种延迟缺陷,可以通过AC测试的方法进行补充,比如测试上升沿的时间、下降沿的时间等等。

7.Pattern向量测试及IDDQ测试方法

        上面给大家介绍了一下各种失效模式及测试原理。通过Pattern向量测试,加以电流测试为补充,可以有效地测试各种faults。

7.1.Pattern向量测试的方法

        设计人员对某种fault模型进行仿真,给出波形向量,通常是VCD格式或者WGL格式,测试人员需要结合时序、电平和逻辑,进行编程,来对芯片输入向量,以检测输出。如下面图(12)表示的就是测试机force给芯片的一段波形。

图(12)

        而芯片在接受到这段输入的波形后,运行特定的逻辑,输出波形如下面图(13),测试机需要在指定的strobe window进行比较输出的与预期的逻辑值的情况,以此来判断DUT是否逻辑功能正常。

图(13)

        下面图(14)是一个AND gate的逻辑测试的例子,实际的输出会有波动,如图中的紫色的波形,在Edge Strobing地方(pattern的timing设定的)采样到此时的输出为High的状态,表明此AND Gate的逻辑功能是正常。

图(14)

7.2.IDDQ测试的方法

        CMOS电路具有低功耗的优点,静态条件下由泄露电流引起的功耗可以忽略,仅仅在转换期间电路从电源消耗较大的电流。Q代表静态(quiescent),则IDDQ表示MOS电流静态时从电源获取的电流。

        IDDQ测试是源于物理缺陷的测试,也是可靠性测试的一部分,其有着测试成本低和能从根本上找出电路的问题(缺陷)所在的特点。即若在电压测试生成中加入少量的IDDQ测试图形,就可以大幅度提高电压测试的覆盖率。即使电路功能正常,IDDQ测试仍可以检测出桥接、短路、栅氧短路等物理缺陷。

        测试方法如下面图(15)所示

图(15)

Step1: 给VDD上最高电压,并且tester的电压源设定一个钳制电流,防止电流过大损测试机。

Step2: run一个特定condition的pattern,去toggle尽量多的晶体管on。等待 5~10ms。

Step3: 量测流过VDD上的电流。

Step4: run另外一个特定condition的pattern,去toggle尽量多的晶体管off。等待5~10ms。

Step5: 量测流过VDD上的电流。

Step6: 重复上述的step2到step5的步骤大概5~10次,取读出的平均值。跟datasheet中的规范进行比较。

        各种测试的测试覆盖率的大概情况如下面图(16)所示:

图(16)

        如上图所示,hardware直接量测是最直接的方法,但是这种方法可以测试的电路有限,很多内部电路无法通过这种方法完成。

        而Stuck At测试和IDDQ测试的组合,可以有效的在时间和成本经济的情况下提高测试覆盖率。

8.其它的Hardware测试介绍

8.1.连通性测试介绍

        连通性测试是测试芯片的管脚是否有确实连接到测试机之上,芯片的管脚之间是否有短路的一种测试,

        通常情况下,这项测试会放在第一项进行,因为连通性测试可以很快发现测试机的setup问题,以及芯片管脚开短路的问题,从而在第一时间发现bad dut,节省测试成本。

        如下图(17)所示的一个封装芯片的剖面图,造成连通性失效主要有这几个原因:

a) 制造过程中的问题,引起某些pin脚的开短路。

b) 封装中的missing bonding wires,会造成开路。

c) 静电问题,造成某个pin被打坏从而造成开短路问题。

d) 封装过程中造成的die crack或者某个pin脚的弯曲。

图(17)

        这个测试主要是去测试pin的ESD保护二极管。一般情况下,会把open/short测试放在一个项目里同时测试,也有情况是需要分开测试这两个项目。

        测试某个pin到ground/其它pin之间的连通性,如下图(18),

图(18)

Step1: 所有不测试的pin都置0v。

Step2: 在需要测试的pin上source一个-100uA的电流。

Step3: 量测这个在测试的pin上的电压

        如果tester与这个测试pin接触很好,并且这个pin本身没有任何的开路或者短路到VDD/ground/其它的pin脚上,那么理想的测试到的电压会是-0.7v。 --如果这个在测试的pin有开路的fault,会量测到一个大的负电压。 --如果这个在测试的pin有短路到vdd/ground/其它的pin上,会量测到一个接近0v的电压。考虑到实际的电路的情况,一般limit设置为-1.5V ~-0.2V。

        测试某个pin到VDD/其它pin之间的连通性,如下图(19)

图(19)

Step1: 所有不测试的pin都置0v。

Step2: 在需要测试的pin上source一个100uA的电流。

Step3: 量测这个在测试的pin上的电压。

        如果tester与这个测试pin接触很好,并且这个pin本身没有任何的开路或者短路到VDD/ground/其它的pin脚上,那么理想的测试到的电压会是0.7v。

        如果这个在测试的pin有开路的fault,会量测到一个大的正电压。

        如果这个在测试的pin有短路到vdd/ground/其它的pin上,会量测到一个接近0v的电压。

        考虑到实际的电路的情况,一般limit设置为0.2V~1.5V。

8.2.DC参数测试(DC Parameters Test)

        DC参数的测试,一般都是force电流测试电压或者force电压测试电流,主要是测试阻抗性。一般各种DC参数都会在datasheet里面标明,测试的主要目的是确保delivery的芯片的DC参数值符合规范。

8.3.IDD测试

        IDD测试(或者叫做ICC测试),在CMOS电路中是测试Drain to Drain的流动电流的,在TTL电路中是测试Collector to Collector的流动电流。如下面图(20)所示:

图(20)

8.4.Gross IDD/ICC Test (power pin short test)

        电源pin的短路测试,通常Open/short测试后马上进行,如果在制造过程中有issue,导致了电源到地的短路,会测试到非常大的电流,也会反过来损害到测试机本身。

        测试的基本方法如下面图(21)所示

图(21)

Step1: 给VDD上最高电压,并且tester的电压源设定一个钳制电流,防止电流过大损测试机。

Step2: 所有的输入pin置高,所有的输出pin置0. 等待5~10ms。

Step3: 量测流过VDD上的电流,正向或者反向电流过高都说明电源到地短路了。

8.5.Static IDD/ICC Test (静态功耗测试)

        这个项目是测试当芯片在静态或者idle state的情况下,流过VDD的漏电,这个参数对低功耗应用场景特别重要;这项测试也能检测出一些在制造中产生的margin defect,这些defect非常有可能会给芯片带来潜在的可靠性风险。

        测试方法与下面图(22)所示

图(22)

Step1: 给VDD上最高电压,并且tester的电压源设定一个钳制电流,防止电流过大损测试机。

Step2: 跑pre-condition pattern,把芯片设置到低功耗状态。等待5~10ms。Step3: 量测流过VDD上的电流,根据datasheet中的标识设定limit,超过limit即表示坏品。

8.6.Dynamic IDD/ICC Test (动态功耗测试)

        这个项目是测试当芯片在不停地运行某种function的情况下,流过VDD的电流。这个类似于某种工作情况下的功耗,需要meet产品spec中的值,对于功耗要求严格的应用方案,此项指标非常重要。

        测试方法如下面图(23)所示:

图(23)

Step1: 给VDD上最高电压,并且tester的电压源设定一个钳制电流,防止电流过大损测试机。

Step2: 让芯片持续不断的运行特定的pattern,等待5~10ms。Step3: 量测流过VDD上的电流,根据datasheet中的标识设定limit,超过limit表示坏品。

8.7.Leakage测试

        芯片内部晶体管不可能在理想的状态,因此或多或少会存在一定的漏电流,需要测试漏电,保证漏电是在正常的允许的范围内,而不是潜在的defect。

Input Leakage Test(IIH and IIL)

IIH是当芯片的某个input pin被设定为输入VIH时,从这个input pin到芯片的ground之间的漏电流,如下图(24)所示

图(24)

        IIL是当芯片的某个input pin被设定为输入VIL时,从芯片的VDD 到这个input pin的之间的漏电流,如下图(25)所示

图(25)

Output Tristate Leakage Test(IOZL and IOZH)

        Tristate表示的是输出pin是高阻状态,当这个时候,如果输出pin上有电压VDD,那么从输出pin到芯片的ground上会有漏电(IOZH);如果输出pin接地,那么从芯片的VDD到这个输出pin上也会有漏电(IOZL),如下面图(26)所示,这些漏电必须保持在spec规定的范围内,以确保芯片的正常工作,不会有潜在的defect产生。

图(26)

Output Logic Low DC Test(VOL/IOL)

        VOL表示的是当输出pin为状态low的时候的最大电压,IOL表示的是在此种状态下这个输出pin的最大的电流驱动能力,这个项目是测试当此状态下的输出pin对地的电阻大小,如下面图(27)所示。

图(27)

Output Logic High DC Test(VOH/IOH)

        VOH表示的是当输出pin为状态high的时候的最小电压,IOH表示的是在此种状态下这个输出pin的最大的电流驱动能力,这个项目是测试当此状态下的芯片的VDD到这个输出pin的电阻大小,如下面图(28)所示。

图(28)
IC那些事儿长期关注半导体与集成电路产业、人才、投资、政策等,分享最新咨询、助力IC产业发展。

公众号

9.CP测试

9.1.什么是CP测试

        CP(Chip Probing)指的是晶圆测试。CP测试在整个芯片制作流程中处于晶圆制造和封装之间。晶圆(Wafer)制作完成之后,成千上万的裸DIE(未封装的芯片)规则的分布满整个Wafer。由于尚未进行划片封装,芯片的管脚全部裸露在外,这些极微小的管脚需要通过更细的探针(Probe)来与测试机台(Tester)连接。

        在未进行划片封装的整片Wafer上,通过探针将裸露的芯片与测试机连接,从而进行的芯片测试就是CP测试。

CP Test在芯片产业价值链上的位置

Wafer上规则的排列着DIE(来源于网络)

9.2.为什么要做CP测试

        Wafer制作完成之后,由于工艺原因引入的各种制造缺陷,分布在Wafer上的裸DIE中会有一定量的残次品。CP测试的目的就是在封装前将这些残次品找出来(Wafer Sort),从而提高出厂的良品率,缩减后续封测的成本。

        而且通常在芯片封装时,有些管脚会被封装在内部,导致有些功能无法在封装后进行测试,只能在CP中测试。

        另外,有些公司还会根据CP测试的结果,根据性能将芯片分为多个级别,将这些产品投放入不同的市场。

9.3.CP测试内容和测试方法

9.3.1SCAN

        SCAN用于检测芯片逻辑功能是否正确。DFT设计时,先使用DesignCompiler插入ScanChain,再利用ATPG(Automatic Test Pattern Generation)自动生成SCAN测试向量。SCAN测试时,先进入Scan Shift模式,ATE将pattern加载到寄存器上,再通过Scan Capture模式,将结果捕捉。再进入下次Shift模式时,将结果输出到ATE进行比较。

Scan Chain示意图(来源于网络)

9.3.2.oundary SCAN

        Boundary SCAN用于检测芯片管脚功能是否正确。与SCAN类似,Boundary SCAN通过在IO管脚间插入边界寄存器(Boundary Register),使用JTAG接口来控制,监测管脚的输入输入出状态。

Boundary Scan原理图(来源于网络)

9.3.3.存储器

        芯片往往集成着各种类型的存储器(例如ROM/RAM/Flash),为了测试存储器读写和存储功能,通常在设计时提前加入BIST(Built-In SelfTest)逻辑,用于存储器自测。芯片通过特殊的管脚配置进入各类BIST功能,完成自测试后BIST模块将测试结果反馈给Tester。

        ROM(Read-Only Memory)通过读取数据进行CRC校验来检测存储内容是否正确。

        RAM(Random-Access Memory)通过除检测读写和存储功能外,有些测试还覆盖DeepSleep的Retention功能和Margin Write/Read等等。

        Embedded Flash除了正常读写和存储功能外,还要测试擦除功能。Wafer还需要经过Baking烘烤和Stress加压来检测Flash的Retention是否正常。还有Margin Write/Read、Punch Through测试等等。

9.3.4.DC/AC Test

        DC测试包括芯片Signal PIN的Open/Short测试,电源PIN的PowerShort测试,以及检测芯片直流电流和电压参数是否符合设计规格。

        AC测试检测芯片交流信号质量和时序参数是否符合设计规格。

9.3.5.RF Test

        对于无线通信芯片,RF的功能和性能至关重要。CP中对RF测试来检测RF模块逻辑功能是否正确。FT时还要对RF进行更进一步的性能测试。

9.3.6.其他Function Test

        芯片其他功能测试,用于检测芯片其他重要的功能和性能是否符合设计规格。
 

9.4.CP测试流程

9.4.1.可测试性设计

        DFT(Design For Test),可测试性设计。如第二节CP测试内容和测试方法所述,芯片测试中用到的很多逻辑功能都需要在前期设计时就准备好,这一部分硬件逻辑就是DFT。
DFT逻辑通常包含SCAN、Boundary SCAN、各类BIST、各类Function Test Mode以及一些Debug Mode。

        测试人员需要在芯片设计之初就准备好TestPlan,根据各自芯片的规格参数规划好测试内容和测试方法。

        芯片通常会准备若干种TestMode功能,通过配置管脚使芯片进入指定的测试状态,从而完成各个类型的测试。

  • 对于SCAN和Boundary SCAN,需要插入ScanChain,根据芯片规模、Timing、SCAN覆盖率等参数,DFT工程师需要决定插入ScanChain的长短和数目。然后使用ATPG自动生成SCAN测试向量,覆盖率决定了测试向量的长短。为了节约成本还要对ScanChain进行压缩。然后再进行功能仿真和SDF仿真,保证功能和Timing满足要求。ATPG可输出WGL或STIL格式文件供Tester使用。细节还有很多,这里不再展开叙述了。
  • BIST(Built-In SelfTest)逻辑。这些自测逻辑完成对ROM/RAM/Flash等功能的测试。
  • Function Test Mode。一些专门的功能测试需要增加硬件逻辑,例如ADC/DAC/时钟等

9.4.2.选测试厂,测试机

        测试厂和测试机的选择要考虑芯片类型、测试内容、测试规格和成本等因素。

        一套芯片测试设备称为ATE(Automatic Test Equipment),由机台(Tester)、Loadboard、Probe Card、Handler和测试软件等部分组成。CP测试ATE不需要Loadboard和Handler。

ATE机器

        按照侧重的芯片类型和测试内容分,测试机台有很多品牌和产品系列:

        例如存储器芯片Advantest T55xx 系列等、数字混合信号或SoC芯片Teradyne J750 系列等,RF射频芯片Credence ASL-3000 系列等。

9.4.3.制作ProbeCard以及Test Program

        选好测试机后,硬件方面需要制作ProbeCard,软件方面需要制作Test Program。

        ProbeCard是探针卡。

        ProbeCard包括探针和芯片外围电路。裸DIE规则的布满整个Wafer,无论哪片Wafer,每颗DIE都有固定的位置,芯片管脚的位置也就固定。这些位置坐标和间距都信息在芯片投产前已经确定,制作针卡需要这些参数。探针有钨铜、铍铜或钯等材料,这些探针在强度、导电性、寿命、成本等方面各有特点。

        针卡还需要确定同测数(Site)。增加同测数可以节约测试机时成本,但是受限于测试机台资源,同测数有上限,例如32/16/8/4。

ProbeCard照片

        Test Program是测试程序。
        测试程序控制整个机台的测试过程。

        不同的测试机有不同的测试软件系统,对应的测试程序也有不同的格式。通常工程师提供WGL/STIL/VCD等格式的文件,再转换成测试机需要的文件格式,并增加其他测试程序。

9.4.4. 调试以及结果分析

        Wafer由Foundry出厂转运至测试厂,ATE软硬件就绪后就可以开始进行调试了。
根据TestPlan,Pattern(测试向量)被分作不同的BIN,从而定位测试错误的位置。调试时还可以在系统上直接看到一个Pattern中错误的Cycle位置,工程师根据这些错误信息进行debug,修改Pattern和测试程序,逐个清理,直到所有BIN都PASS。

        同测的多Site全部PASS,Loop多轮后,便可以在整片Wafer上Try Run。此时工程师还要调试探针力度、清理探针周期等参数,确保整片Wafer上每一次Touchdown都可以测试稳定。

        整片Wafer的测试结果通常生成一个WaferMap文件,数据生成一个datalog,例如STD文件。WaferMap主要包含良率、测试时间、各BIN的错误数和DIE位置,datalog则是具体的测试结果。工程师通过分析这些数据,决定是否进入量产。

WaferMap截图

9.4.5.量产

        进入量产阶段后,根据大量测试的统计数据,可以进行一些调整以进一步优化测试流程。

根据结果将错误率较高的BIN尽量排在靠前的位置,测试进行到第一个出错的BIN后就不在继续向下进行,以节省测试时间,并且防止已发现的错误导致后续测量损坏针卡。

  • 将错误率较低的BIN排在靠后的位置,当错误率极低时,甚至删除该测试,以节省测试时间。
  • 决定是否对出错的DIE进行复测。由于各种原因,对于出错的DIE,再重新测试一次可能会PASS。通常复测可以纠正一定比例的错误,但是要多用一部分测试时间,所以要综合考虑决定是否复测。
  • 通常处于Wafer边缘位置的DIE出错的概率较高,综合考虑,有时可以直接将边缘DIE剔除,不进行测试就标为坏品,以节省测试时间。
  • 还需要关注良率是否稳定,当连续出现良率较低的情况时,需要停止测试,进行数据分析,检查设备或与Foundry沟通。

        量产CP测试的结果需要交给后续封装厂使用。通常是一个含有分BIN信息的Map文件,封装厂根据Map文件挑选好品封装,剔除坏品,还可以保留客户选择的特殊BIN别。

9.4.6.成本控制

        CP测试成本由前期一次性投入的固定成本和后期量产的可变成本组成。

9.4.6.1.固定成本

        固定成本包含DFT开发以及面积和功耗、ProbeCard制作和养护,Test Program制作和调试。

        DFT开发以及面积和功耗

        DFT有开发成本。并且DFT硬件逻辑将占用一部分芯片面积(虽然很小),DFT要提高效率,减小面积和功耗。

  • ProbeCard制作

        ProbeCard有公板和专板两种。顾名思义,公板是公用板,专板是专用板。公板是在已有的板子上通过飞线等方式组成芯片外围电路,制作成本低,制作周期短,适用于对测试规格要求不高的CP测试。专板是为自家芯片专门制作的板子,适用于对外围电路要求高,测试规格精密的芯片,设计和制作成本高,周期长。

        ProbeCard上的探针材料和探针数也影响成本。各种材料的探针各有特点,价钱也不同,这里不再展开。减少探针数量也能降低成本。

        在资源允许的条件下要尽可能的增加同测数,多Site同测可以减少测试时间成本。

  • Test Program制作和调试

        Test Program有开发成本。调试时需要机台,有调试机时成本。还需要一片调试Wafer,调试过程中反复Touchdown会导致该片Wafer上的若干DIE无法再进行封装。

9.4.6.2.可变成本

        可变成本主要就是量产测试时间。量产测试时间是整个CP测试成本中的最重要组成。而且测试前期投入固定成本后,今后量产的全部成本几乎都在测试时间成本上。直接影响测试时间的内容主要有:DFT效率、同测数、Test Program效率和一些量产策略。

DFT效率

        DFT测试执行的高效直接影响单个DIE的测试时间。因此在芯片设计之初,DFT就要考虑到测试效率。减少测试时间,提高覆盖率,这对节约成本至关重要。

        提高测试时钟;Scan使用压缩模式;缩减TestMode上电时间;检查测试计划,缩减不必要的测试项;检查测试策略是否合理,优化测试方案等等。一切DFT设计以提高效率为根本原则,既要高覆盖率,又要缩减时间。有时这两者之间的矛盾则需要相互权衡。

  • 同测数

        在资源允许的条件下要尽可能的增加同测数,多Site同测可以减少测试时间成本。

  • Test Program效率

        和DFT效率相比,测试程序效率作用不大,但是合理安排测试程序还是可以缩减测试时间。例如在程序中减少不必要的等待时间;多个测试项并行进行等。

  • 一些量产策略

        如关于量产一节所述,一些量产的策略可以节约测试时间。

10.参考

最全面芯片测试目的、方法、分类及案例(史上最全) - 知乎 (zhihu.com)

芯片验证之DUT&SOC - 知乎 (zhihu.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/105908.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用HTML5新增的标签来优化SEO?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用HTML5新增的标签来优化SEO?⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对…

深层次分析字符数组和字符串的区别是什么?

前言 (1)休闲时刻刷B站,看到一个卖课的,发视频问,char arr1[]{‘H’,‘E’,‘L’,‘L’,‘O’};和char arr2[]“HELLO”;区别是什么。 (2)看那个卖课博主一顿分析,最后成功得出&…

2023年高教社杯数学建模思路 - 案例:ID3-决策树分类算法

文章目录 0 赛题思路1 算法介绍2 FP树表示法3 构建FP树4 实现代码 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 算法介绍 FP-Tree算法全称是FrequentPattern Tree算法,就是频繁模…

C语言基础之——数组

前言:本篇文章,我们将对一维数组,和二维数组进行展开式的讲解,并进行实际应用。 目录 一.一维数组 1.一维数组的创建和初始化 (1)数组的创建 (2)数组的初始化 2.一维数组的使用…

什么是负载均衡

前提概述 关于负载均衡,我会从四个方面去说 1. 负载均衡产生的背景 2. 负载均衡的实现技术 3. 负载均衡的作用范围 4. 负载均衡的常用算法 负载均衡的诞生背景 在互联网发展早期,由于用户量较少、业务需求也比较简单。对于软件应用,我们只需要…

Django(3)-创建第一个数据模型-ORM映射

数据库配置 根目录下settings.py 。这是个包含了 Django 项目设置的 Python 模块。 通常,这个配置文件使用 SQLite 作为默认数据库。如果你不熟悉数据库,或者只是想尝试下 Django,这是最简单的选择。Python 内置 SQLite,所以你无…

JavaScript函数调用其他函数

在JavaScript中,函数可以调用其他函数。这通常被称为函数组合,它允许你通过将较简单的函数组合在一起来创建更复杂的功能。 例如:还是以之前的水果加工举例,但是现在我们需要输出,这个苹果有几块,橘子有几块…

【Qt学习】02:信号和槽机制

信号和槽机制 OVERVIEW 信号和槽机制一、系统自带信号与槽二、自定义信号与槽1.基本使用student.cppteacher.cppwidget.cppmain.cpp 2.信号与槽重载student.cppteacher.cppwidget.cppmain.cpp 3.信号连接信号4.Lambda表达式5.信号与槽总结 信号槽机制是 Qt 框架引以为豪的机制之…

vue3+ts+uniapp小程序端自定义日期选择器基于内置组件picker-view + 扩展组件 Popup 实现自定义日期选择及其他选择

vue3ts 基于内置组件picker-view 扩展组件 Popup 实现自定义日期选择及其他选择 vue3tsuniapp小程序端自定义日期选择器 1.先上效果图2.代码展示2.1 组件2.2 公共方法处理日期2.3 使用组件 3.注意事项3.1refSelectDialog3.1 backgroundColor"#fff" 圆角问题 自我记…

软考A计划-系统集成项目管理工程师-项目风险管理-尾

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

windows系统服务器在不解锁屏幕不输入密码的前提下,电脑通电开机启动程序。

在控制面板中找到“管理工具”中的 “任务计划程序”,打开“任务计划程序”窗口。如图: 双击打开任务计划程序,空白出右键创建基本任务,或者点击最右侧的创建基本任务。 输入名称,点击下一步。 先选择计算机启动时&a…

2023年高教社杯 国赛数学建模思路 - 复盘:校园消费行为分析

文章目录 0 赛题思路1 赛题背景2 分析目标3 数据说明4 数据预处理5 数据分析5.1 食堂就餐行为分析5.2 学生消费行为分析 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 赛题背景 校园一卡通是集…

Android进阶之路 - EditText输入字体自适应

遇到这么一个需求:“控件宽度有限,随着输入内容,动态修改字体大小”,如果是你,只如何来实现?又有几种方式? 嗯,就是这么一个简单的需求,让我记录了俩篇blog Android进阶…

用docker-compose搭建LNMP

docker-compose搭建LNMP 一、compose 的部署1.Docker Compose 环境安装 二、编写Docker Compose1.准备依赖文件,配置nginx2.配置mysql3.配置php4.编写docker-compose.yml5.执行6.查看 一、compose 的部署 (1)公司在实际的生产环境中,需要使用…

商品搜索网:连接您与各类商品的桥梁

导语:在如今信息爆炸的时代,购物已经不再是传统的实体店购买,而是通过互联网实现的线上购物方式。而要实现高效的线上购物,商品搜索引擎则成为我们的得力助手。作为国内垂直的商品搜索之一,为中国用户提供全面的数码电…

【Qt专栏】实现单例程序,禁止程序多开的几种方式

目录 一,简要介绍 二,实现示例(Windows) 1.使用系统级别的互斥机制 2.通过共享内存(进程间通信-IPC) 3.使用命名互斥锁(不推荐) 4.使用文件锁 5.通过网络端口检测 一&#xf…

Linux 下 Mysql 的使用(Ubuntu20.04)

文章目录 一、安装二、使用2.1 登录2.2 数据库操作2.2.1 创建数据库2.2.2 删除数据库2.2.3 创建数据表 参考文档 一、安装 Linux 下 Mysql 的安装非常简单,一个命令即可: sudo apt install mysql-server检查安装是否成功,输入: …

使用kubeadm方式快速部署一个K8S集群

目录 一、环境准备 二、环境初始化 三、在所有主机上安装相关软件 1、安装docker 2、配置k8s的yum源 3、安装kubelet、kubeadm、kubectl 四、部署Kubernetes Master 五、加入Kubernets Node 六、部署CNI网络插件 七、测试k8s集群 一、环境准备 我的是CentOS7系统&am…

iOS App签名与重签名:从开发者证书到重新安装运行

前文回顾: iOS脱壳技术(二):深入探讨dumpdecrypted工具的高级使用方法 iOS逆向:越狱及相关概念的介绍 在本文中,我们将详细介绍iOS应用的签名过程,包括开发者证书的种类、证书与App ID、Provisi…

利用 Apifox 的 Mock 功能模拟常见业务数据的最佳方法

Apifox 拥有强大的 Mock 功能,兼容 Mock.js 语法的同时还提供 Nunjucks 和自定义脚本支持,能够满足不同场景需求。 今天给大家分享一些常见业务场景的 Mock 使用技巧,当然,实现的方法不唯一。在开始之前,你需要将 Api…