1、为什么要进行芯片测试?
芯片测试是一个比较大的问题,直接贯穿整个芯片设计与量产的过程中。首先芯片fail
可以是下面几个方面:
- 功能fail:某个功能点点没有实现,这往往是设计上导致的,通常是在设计阶段前仿真来对功能进行验证来保证,所以通常设计一块芯片,仿真验证会占用大约
80%
的时间。- 性能fail:某个性能指标要求没有过关,比如
2G
的cpu
只能跑到1.5G
,数模转换器ADC/DAC
在要求的转换速度和带宽的条件下有效位数ENOB
要达到12位
,却只有10位
,以及lna
的noise figure
指标不达标等等。这种问题通常是由两方面的问题导致的,一个是前期在设计系统时就没做足余量,一个就是物理实现版图太烂。这类问题通常是用后仿真来进行验证的。- 生产导致的fail:这个问题出现的原因就要提到单晶硅的生产了。学过半导体物理的都知道单晶硅是规整的面心立方结构,它有好几个晶向,通常我们生长单晶是是按照
111晶向
进行提拉生长。但是由于各种外界因素,比如温度,提拉速度,以及量子力学的各种随机性,导致生长过程中会出现错位,这个就称为缺陷。
缺陷产生还有一个原因就是离子注入导致的,即使退火也未能校正过来的非规整结构。这些存在于半导体中的问题,会导致器件的失效,进而影响整个芯片。所以为了在生产后能够揪出失效或者半失效的芯片,就会在设计时加入专门的测试电路,比如模拟里面的test mux
,数字里面的scan chain
(测逻辑),mbist
(测存储),boundry scan
(测io及binding),来保证交付到客户手上的都是各方面pass
的芯片。而那些失效或半失效的产品要么废弃,要么进行阉割后以低端产品卖出。这些芯片fail
要被检测出来,就必须要进行芯片测试了。
2、芯片测试在什么环节进行?
DFT
简而言之:DFT
就是通过某种方法间接观察内部信号的情况,例如scan chain
之类。然后通过特定的测试仪器来测试——这种仪器不是简单的示波器,它要能产生各种测试波形并检测输出,所以一套平台大概要上百万。而且这些DFT
比较适合于小芯片,大芯片像CPU
之类的还会使用内建自测试(built-in self test
),让芯片自己在上电后可以执行测试,这样就大大减小了测试人员的工作量。DFT
测试通过之后,就到正式的芯片测试环节了。
一般是从测试的对象上分为
WAT、CP、FT三个阶段
,简单的说, 因为封装也是有cost
的, 为了尽可能的节约成本,
可能会在芯片封装前, 先进行一部分的测试, 以排除掉一些坏掉的芯片. 而为了保证出厂的芯片都是没问题的,final test
也即FT测试
是最后的一道拦截, 也是必须的环节。
-
WAT: Wafer Acceptance Test
,是晶圆出厂前对test key
的测试。采用标准制程制作的晶圆,在芯片之间的划片道上会放上预先一些特殊的用于专门测试的图形叫test key
。这跟芯片本身的功能是没有关系的,它的作用是Fab
检测其工艺上有无波动。因为代工厂只负责他自己的工作是无误的,芯片本身性能如何那是设计公司的事儿。只要晶圆的WAT
测试是满足规格的,晶圆厂基本上就没有责任。如果有失效,那就是制造过程出现了问题。WAT的测试结果多用这样的图表示:
-
CP:Circuit Probe
,是封装前晶圆级别对芯片测试。这里就涉及到测试芯片的基本功能了。不同项目的失效,会分别以不同颜色表示出来。失效的项目反映的是芯片设计的问题。CP的测试效果图表示:
通过了这两项后,晶圆会被切割,切割后的芯片按照之前的结果分类。只有好的芯片会被送去封装厂封装。封装的地点一般就在晶圆厂附近,这是因为未封装的芯片无法长距离运输。封装的类型看客户的需要,有的需要球形BGA
,有的需要针脚,总之这一步很简单,故障也较少。由于封装的成功率远大于芯片的生产良品率,因此封装后不会测试。
-
FT:Final test
,封装完成后的测试,也是最接近实际使用情况的测试,会测到比CP
更多的项目,处理器的不同频率也是在这里分出来的。这里的失效反应封装工艺上产生的问题,比如芯片打线不好导致的开短路。FT的测试效果图表示:
FT
是工厂的重点,需要大量的机械和自动化设备。它的目的是把芯片严格分类。以Intel的处理器来举例,在Final Test
中可能出现这些现象:
虽然通过了
WAT
,但是芯片仍然是坏的。封装损坏。
芯片部分损坏。比如
CPU
有2
个核心损坏,或者GPU
损坏,或者显示接口损坏等。芯片是好的,没有故障。
3、那这里的Final Test该怎样做?
以处理器举例,Final Test
可以分成两个步骤:
- 自动测试设备(
ATE
)- 系统级别测试(
SLT
)
ATE
负责的项目非常之多,而且有很强的逻辑关联性。测试必须按顺序进行,针对前列的测试结果,后列的测试项目可能会被跳过。这些项目的内容属于公司机密,比如电源检测,管脚DC
检测,测试逻辑(一般是JTAG
)检测,burn-in
,物理连接PHY
检测,IP
内部检测(包括Scan,BIST,Function
等),IP
的IO
检测(比如DDR,SATA,PLL,PCIE,Display
等),辅助功能检测(比如热力学特性,熔断等)。SLT
在逻辑上则简单一些,把芯片安装到主板上,配置好内存,外设,启动一个操作系统,然后用软件烤机测试,记录结果并比较。另外还要检测BIOS
相关项等。
4、WAT与FT比较
WAT
需要标注出测试未通过的裸片(die
),只需要封装测试通过的die
。
FT
是测试已经封装好的芯片(chip
),不合格品检出。WAT
和FT
很多项目是重复的,FT
多一些功能性测试。WAT
需要探针接触测试点(pad
)。测试的项目大体有:
- 开短路测试(
Continuity Test
)- 漏电流测试(
Stress Current Test
)- 数字引脚测试(输入电流电压、输出电流电压)
- 交流测试(
scan test
)功能性测试