问题

半导体厂商如何做芯片的出厂测试?

回答
好的,咱们来聊聊半导体厂商怎么给芯片做“出厂体检”,确保送到客户手里的是个合格的、能干活的家伙。这活儿可不是简单地按个开关看看亮不亮,那可是一套精密、繁琐、严苛的系统工程。

第一关:设计验证(EDA Tools & Simulation)

其实,芯片在设计阶段就开始了“体检”。工程师们会利用一套叫做EDA(Electronic Design Automation)的软件工具,把芯片设计变成数字信号,然后在电脑上“模拟”出芯片的运行状态。这就像是造房子前先在电脑里建个虚拟模型,看看结构是否合理,有没有安全隐患。

功能验证: 模拟芯片能不能按照设计规格实现它的各项功能。比如说,CPU要能做加法,GPU要能画图,这都要在模拟里一遍遍地跑。
时序验证: 芯片里的信号传输有时间要求,就像一个人说话,不能前言不搭后语。时序验证就是确保信号在正确的时间到达,不会因为太快或太慢出错。
功耗验证: 芯片是怎么耗电的?功耗太高可不行,不仅影响续航,还可能导致芯片过热。

第二关:晶圆测试(Wafer Sort / Electrical Test ET)

设计图纸画好,工厂里也把这些小小的“集成电路”刻在了大圆盘一样的硅片(Wafer)上,这时候就要进行第一轮的“批量体检”了。

测试设备(ATE Automatic Test Equipment): 这是一台台昂贵、复杂的大型设备,里面有几十上百个测试探针,能像无数根细小的针一样,同时接触到硅片上成百上千个芯片(称为Die)。
测试步骤:
上电检查: 给每个Die上电,看看它有没有基本反应。
基本功能测试: 跑一些简单的测试程序,验证核心功能是否正常。
参数测试: 检测芯片在不同电压、温度下的工作状态,比如速度、功耗、漏电流等。
直流和交流测试: 专门测试芯片在静态(直流)和动态(交流)情况下的电气性能。
结果标记: 如果某个Die测试不通过,设备会在数据库里把它标记为“坏品”,并且在硅片图上记录下它的位置,方便后续切割和封装时避开。

第三关:封装后测试(Package Test / Final Test)

通过了晶圆测试的Die,会被切割下来,然后封装起来(装进我们平时看到的黑色的、带引脚的塑料壳或陶瓷壳里)。封装是为了保护芯片,并提供连接到外部设备的接口。封装完成后的芯片,还需要进行更全面的“终极体检”。

更高精度的测试: 封装后的芯片,它的引脚已经连接好了,可以进行更精细、更完整的测试。
功能全面性测试: 运行更复杂的测试程序,覆盖芯片的所有功能,确保它能满足所有设计规格。这就像给一个刚出厂的车子做一次全面的路试,检查发动机、变速箱、刹车、灯光等等。
性能极限测试: 在不同的电压、温度、频率下测试芯片的极限性能,看它在各种极端条件下能否稳定工作。
稳定性与可靠性测试:
温度循环测试(Temperature Cycling): 将芯片在高温和低温之间反复循环,模拟实际使用中的温度变化,检查是否有因为热胀冷缩引起的开裂或接触不良。
高低温烘烤测试(Burnin): 在高温环境下,让芯片长时间运行(通常是几十到几百小时)。这是一种“加速老化”的测试,目的是让那些设计上或者制造上有潜在缺陷、但早期不一定能测出来的芯片,在早期就“暴露”出来,避免它们在用户手中出现早期失效。
湿度测试(Humidity Test): 模拟潮湿环境,检查芯片的密封性和耐湿性。
良率监控: 经过封装后测试,能更准确地知道最终产品的良率。根据测试结果,厂商会反过来优化制造工艺和设计,提高良率。

第四关:抽样可靠性测试(Reliability Test Qualification Test)

并不是每一批次、每一个芯片都会做上面提到的所有严苛的可靠性测试,那样成本会非常高。通常,厂商会从每一个新设计、新工艺、或者大批量生产的批次中,随机抽取一定数量的样品,进行更长时间、更极端、更全面的可靠性测试。

目的: 评估芯片在长期使用中的可靠性,确保其寿命和稳定性。
测试项目:
加速寿命测试(Accelerated Life Test): 在比正常工作条件更严苛的电压、温度、电流下,让芯片长时间运行,以预测其在正常使用下的寿命。
电迁移测试(Electromigration Test): 长期大电流通过金属导线时,金属原子可能会移动,导致断路。测试就是评估这种现象。
ESD(Electrostatic Discharge)测试: 模拟静电放电对芯片的冲击,确保芯片有足够的抗静电能力。
Latchup测试: 检查芯片是否存在“闩锁效应”,这种效应会导致芯片短路甚至烧毁。

谁来做这些测试?

内部测试团队: 半导体大厂都有自己的测试部门,负责设计测试方案、编写测试程序、维护测试设备,并执行大部分测试。
晶圆厂(Foundry): 比如台积电、三星,它们也会在制造过程中进行一些基础的测试,确保晶圆制造的质量。
封装测试厂(OSAT Outsourced Semiconductor Assembly and Test): 很多厂商会将封装和测试的环节外包给专门的公司,这些公司拥有更专业的设备和技术。
客户(Customer): 很多大客户,尤其是汽车电子、航空航天等行业的客户,也会对厂商提供的芯片进行自己的验证和可靠性测试,以确保其符合自己的严苛要求。

为什么测试这么重要?

1. 质量保证: 确保芯片能正常工作,满足客户需求,这是最基本的要求。
2. 品牌信誉: 交付有问题的芯片,会严重损害厂商的声誉。
3. 成本控制: 一旦芯片设计或制造有缺陷,最终导致大量产品失效,那损失是巨大的。早期发现问题,可以在损失扩大前进行纠正。
4. 法律法规: 很多行业(如汽车、医疗)对芯片的可靠性有强制性的法规要求。

总而言之,芯片的出厂测试是一个从设计到生产,再到封装,贯穿始终的“质量守护”过程。每一步都精益求精,是为了让这些藏在各种电子设备里的小家伙,能够稳定、可靠地为我们服务。这背后是无数工程师的智慧和汗水,以及对细节的极致追求。

网友意见

user avatar

我觉得这个问题就是为我量身定制的!作为前Teradyne ATE工程师,现AMD DFT+数字IC设计工程师,以亲身项目经验,来谈谈这个问题。

先来说一下完整的测试流程,再针对题主的两个问题回答一下。

一、芯片测试概述

芯片测试分两个阶段,一个是CP(Chip Probing)测试,也就是晶圆(Wafer)测试。另外一个是FT(Final Test)测试,也就是把芯片封装好再进行的测试。

CP测试的目的就是在封装前就把坏的芯片筛选出来,以节省封装的成本。同时可以更直接的知道Wafer 的良率。CP测试可检查fab厂制造的工艺水平。现在对于一般的wafer成熟工艺,很多公司多把CP给省了,以减少CP测试成本。具体做不做CP测试,就是封装成本和CP测试成本综合考量的结果。

一片晶圆越靠近边缘,die(一个小方格,也就是一个未封装的芯片)出问题的概率越大。

随着芯片规模的越来越大,测试也更为复杂。ATE(Automatic Test Equipment)也就应运而生。 目前ATE公司最大的是Teradyne和爱德万,NI目前也在做这一块,并且很多小公司都在用NI的仪器。国内的公司知名的有长川科技。

ATE作为集成了众多高精密的Instruments的设备,价格自然不菲。一台泰瑞达的高端Ultra Flex可以买上海的几套房!

二、芯片测试流程

在测试之前,当然要有ATE设备,CP测试需要Probe Card, FT测试需要Load board, Socckt等。来一张全家福吧。最下边左一是Load Board(又叫DUT Board), 左二是Probe Card.

然后由芯片设计公司来提供Design Spec和Test Spec(datasheet)来制定Test Plan,开发测试程序,建立测试项。

Test Plan示意图:

一般测试通常包含以下测试项:

DC parameters Test

主要包含以下测试,Continuity测试(又称open/short test)主要是检查芯片的引脚以及和机台的连接是否完好。其余的测试都是检查DC电气参数是否在一定的范围内。

Continuity Test

Leakage Test (IIL/IIH)

Power Supply Current Test (IDDQ)

Other Current/Voltage Test (IOZL/IOZH, IOS, VOL/IOL, VOH/IOH)

LDO,DCDC 电源测试。

以下这张图就是open/short test原理示意图,DUT(Device Under Test)的引脚都挂有上下两个保护二极管,根据二极管单向导通以及截至电压的特性,对其拉/灌电流,然后测试电压,看起是否在设定的limit范围内。

整个过程是由ATE里的instruments PE(Pin Electronics)完成的。

  • Digital Functional Test

这部分的测试主要是跑测试向量(pattern),pattern则是设计公司的DFT工程师用ATPG(auto test pattern generation)工具生成的。

pattern测试基本就是加激励,然后捕捉输出,再和期望值进行比较。

与Functional Test相对应的的是Structure Test,包括Scan,Boundary Scan等,Pattern是根据芯片制造过程中产生的的defects和fault 模型来产生的,详细介绍参见下文。

应用Structure Test能更好的提高覆盖率。

当然还有Build-in-Self-Test (BIST)主要是针对memory进行的测试。

  • AC Parameters Test

主要是AC Timing Tests,包含Setup Time, Hold Time, Propagation Delay等时序的检查。

  • ADC and DAC Test

主要是数模/模数混合测试,检查信号经过ADC/DAC后的信号是否符合期望,这个地方涉及到的信号知识比较多。总体来说包含静态测试和动态测试。

Static Test – Histogram method (INL, DNL)

Dynamic Test – SNR, THD, SINAD

除了以上常规测试项,根据芯片的类型不同可能会进行不同的测试,比如RF测试,SerDes高速测试。Efuse测试等。

一个基本的测试流程图如下:

所有的测试项都是在ATE上执行的,一般会执行几秒到几十秒,因为ATE是根据机时来付费的(很少有海思,苹果这种土豪公司一次买数十台),所以缩短测试时间变得尤其重要!另外一般芯片在量产测试的时候,都是百万颗或者千万颗,每个芯片节省一秒,总体来说缩短的时间还是很可观的。

在测试执行完成后,ATE会输出一个Datalog,以显示测试结果。对于测试pass或fail测试项的不同,也会对其进行分类(Bin),最后由Handler分拣。

datalog 示意图:

以上就是芯片的测试完整流程。再放两张芯片测试的封测厂/实验室的环境图:

至于题主的两个问题:

1、BGA 这样的封装,应该不能多次焊接吧,那又如何上电测试呢?

对于封装好的芯片,通常测试是不需要进行焊接的,它和ATE机台的连接方式是通过socckt和Load board。

socckt也就是放芯片的底座,长这样:

不同大小,不同封装类型的芯片,socckt也不同,有专门的做这个的厂商。

先把芯片放到socckt里,再把socckt放到load board上,load board再放在机台上。有的load board很重,对很多女同志来说搬起来是有些辛苦啊!

一个load board上面支持放多个socckt,我们称其为site。示意图如下,共6个site,可以对6个芯片同时进行测试:

2、那么多的功能,真的要写软件一样一样测吗?很费时间吧

在这里先说明一下,芯片的逻辑功能是有IC验证工程师来完成的,是在流片之前,并不依赖于测试。

而芯片测试里的function test/structure test是跑pattern, 测试的是在制造过程中芯片是否有缺陷,从而影响功能/性能。

所以测试工程师所需要的关心的就是把pattern都跑通,如果跑不通可能会和DFT工程师一起进行diagnosis。

测试工程在写测试项的时候,也不是要一行一行代码去写,通常ATE机台的嵌入式软件都有提供测试项的Template, 只需要填写参数就好。另外针对一些大客户的成熟测试项,也会开发一些测试模板,留好必要的参数接口,这样就很方便应用到其他的芯片测试上。

写在最后:

一个完备的的芯片测试不是靠芯片测试工程师一个人完成的,而是需要设计工程师,DFT工程师的支持,以及由可靠的EDA工具,优秀的硬件支撑等多方因素共同决定的。

芯片测试是极其重要的一环,有缺陷的芯片能发现的越早越好。在芯片领域有个十倍定律,从设计-->制造-->封装测试-->系统级应用,每晚发现一个环节,芯片公司付出的成本将增加十倍!!!

所以测试是设计公司尤其注重的,如果把有功能缺陷的芯片卖给客户,损失是极其惨重的,不仅是经济上的赔偿,还有损信誉。因此芯片测试的成本也越来越高!

在 IC 行业,每一个环节都要十分小心,一次流片的费用在数百万美金,一天的ATE机台使用几百美金。而一个芯片的利润可能只有几美分。这也是IC行业投资周期长,收益少的原因,基本前几年都在亏钱。幸运的是国家越来越重视芯片了,期待国内IC发展能越来越好。

以上,共勉!

user avatar

对大公司来说, 这是需要几千名员工协作的工作.

芯片测试的目的是快速了解它的体质.

大公司的每日流水的芯片就有几万片, 测试的压力是非常大. 当芯片被晶圆厂制作出来后, 就会进入Wafer Test的阶段. 这个阶段的测试可能在晶圆厂内进行, 也可能送往附近的测试厂商代理执行. 生产工程师会使用自动测试仪器(ATE)运行芯片设计方给出的程序, 粗暴的把芯片分成好的/坏的这两部分, 坏的会直接被舍弃, 如果这个阶段坏片过多, 基本会认为是晶圆厂自身的良品率低下. 如果良品率低到某一个数值之下, 晶圆厂需要赔钱.

WT的测试结果多用这样的图表示:


通过了Wafer Test后, 晶圆会被切割. 切割后的芯片按照之前的结果分类. 只有好的芯片会被送去封装厂封装. 封装的地点一般就在晶圆厂附近, 这是因为未封装的芯片无法长距离运输. 封装的类型看客户的需要, 有的需要球形BGA, 有的需要针脚, 总之这一步很简单, 故障也较少. 由于封装的成功率远大于芯片的生产良品率, 因此封装后不会测试.

封装之后, 芯片会被送往各大公司的测试工厂, 也叫生产工厂. 并且进行Final Test. 生产工厂内实际上有十几个流程, Final Test只是第一步. 在Final Test后, 还需要分类, 刻字, 检查封装, 包装等步骤. 然后就可以出货到市场.

Final Test是工厂的重点, 需要大量的机械和自动化设备. 它的目的是把芯片严格分类. 以Intel的处理器来举例, 在Final Test中可能出现这些现象:

1. 虽然通过了Wafer Test, 但是芯片仍然是坏的.

2. 封装损坏.

3. 芯片部分损坏. 比如CPU有2个核心损坏, 或者GPU损坏, 或者显示接口损坏等

4. 芯片是好的, 没有故障

这时, 工程师需要和市场部一起决定, 该如何将这些芯片分类. 打比方说, GPU坏了的, 可以当做无显示核心的"赛扬"系列处理器. 如果CPU坏了2个的, 可以当"酷睿i3"系列处理器. 芯片工作正常, 但是工作频率不高的, 可以当"酷睿i5"系列处理器. 一点问题都没有的, 可以当"酷睿i7"处理器.

(上面这段仅是简化说明"芯片测试的结果影响着产品最终的标签"这个过程, 并不是说Intel的芯片量产流水线是上文描述的这样. 实际上Intel同时维持着多个产品流水线, i3和i7的芯片并非同一流水线上产品. )

那这里的Final Test该怎样做?

以处理器举例, Final Test可以分成两个步骤: 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相关项等.

图片是测试厂房的布置.

而所有的这些工作, 都需要芯片设计工程师在流片之前都设计好. 测试工作在芯片内是由专属电路负责的, 这部分电路的搭建由DFT工程师来做, 在流片后, DFT工程师还要生成配套输入矢量, 一般会生成几万个. 这些矢量是否能够正常的检测芯片的功能, 需要产品开发工程师来保证. 此外还需要测试工程师, 产品工程师, 和助手来一同保证每天能够完成几万片芯片的生产任务不会因为测试逻辑bug而延迟.

考虑到每一次测试版本迭代都是几十万行的代码, 保证代码不能出错. 需要涉及上百人的测试工程师协同工作, 这还不算流水线技工, 因此测试是费时费力的工作. 实际上, 很多大公司芯片的测试成本已经接近研发成本.

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有