半导体厂商如何做芯片的出厂测试呢,这对芯片来说,是流片后或者上市前的必须环节。
大公司的每日流水的芯片就有几万片,测试的压力是非常大。当芯片被晶圆厂制作出来后,就会进入WaferTest的阶段。这个阶段的测试可能在晶圆厂内进行,也可能送往附近的测试厂商代理执行。生产工程师会使用自动测试仪器(ATE)运行芯片设计方给出的程序,粗暴的把芯片分成好的/坏的这两部分,坏的会直接被舍弃,如果这个阶段坏片过多,基本会认为是晶圆厂自身的良品率低下。如果良品率低到某一个数值之下,晶圆厂需要赔钱。
WT的测试结果多用这样的图表示:
通过了WaferTest后,晶圆会被切割。切割后的芯片按照之前的结果分类。只有好的芯片会被送去封装厂封装。封装的地点一般就在晶圆厂附近,这是因为未封装的芯片无法长距离运输。封装的类型看客户的需要,有的需要球形BGA,有的需要针脚,总之这一步很简单,故障也较少。由于封装的成功率远大于芯片的生产良品率,因此封装后不会测试。
封装之后,芯片会被送往各大公司的测试工厂,也叫生产工厂。并且进行FinalTest。生产工厂内实际上有十几个流程,FinalTest只是第一步。在FinalTest后,还需要分类,刻字,检查封装,包装等步骤。然后就可以出货到市场。
FinalTest是工厂的重点,需要大量的机械和自动化设备。它的目的是把芯片严格分类。以Intel的处理器来举例,在FinalTest中可能出现这些现象:
1.虽然通过了WaferTest,但是芯片仍然是坏的。
2.封装损坏。
3.芯片部分损坏。比如CPU有2个核心损坏,或者GPU损坏,或者显示接口损坏等
4.芯片是好的,没有故障
这时,工程师需要和市场部一起决定,该如何将这些芯片分类。打比方说,GPU坏了的,可以当做无显示核心的“赛扬”系列处理器。如果CPU坏了2个的,可以当“酷睿i3”系列处理器。芯片工作正常,但是工作频率不高的,可以当“酷睿i5”系列处理器。一点问题都没有的,可以当“酷睿i7”处理器。(上面这段仅是简化说明“芯片测试的结果影响着产品最终的标签”这个过程,并不是说Intel的芯片量产流水线是上文描述的这样。实际上Intel同时维持着多个产品流水线,i3和i7的芯片并非同一流水线上产品。)
那这里的FinalTest该怎样做?
以处理器举例,FinalTest可以分成两个步骤:1。自动测试设备(ATE)。2。系统级别测试(SLT)。2号是必要项。1号一般小公司用不起。
ATE的测试一般需要几秒,而SLT需要几个小时。ATE的存在大大的减少了芯片测试时间。
ATE负责的项目非常之多,而且有很强的逻辑关联性。测试必须按顺序进行,针对前列的测试结果,后列的测试项目可能会被跳过。这些项目的内容属于公司机密,我仅列几个:比如电源检测,管脚DC检测,测试逻辑(一般是JTAG)检测,burn-in,物理连接PHY检测,IP内部检测(包括Scan,BIST,FuncTIon等),IP的IO检测(比如DDR,SATA,PLL,PCIE,Display等),辅助功能检测(比如热力学特性,熔断等)。
这些测试项都会给出Pass/Fail,根据这些Pass/Fail来分析芯片的体质,是测试工程师的工作。
SLT在逻辑上则简单一些,把芯片安装到主板上,配置好内存,外设,启动一个操作系统,然后用软件烤机测试,记录结果并比较。另外还要检测BIOS相关项等。
图为测试厂房的布置