制造/封装
以处理器举例,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相关项等。
而所有的这些工作,都需要芯片设计工程师在流片之前都设计好。测试工作在芯片内是由专属电路负责的,这部分电路的搭建由DFT工程师来做,在流片后,DFT工程师还要生成配套输入矢量,一般会生成几万个。这些矢量是否能够正常的检测芯片的功能,需要产品开发工程师来保证。此外还需要测试工程师,产品工程师,和助手来一同保证每天能够完成几万片芯片的生产任务不会因为测试逻辑bug而延迟。
考虑到每一次测试版本迭代都是几十万行的代码,保证代码不能出错。需要涉及上百人的测试工程师协同工作,这还不算流水线技工,因此测试是费时费力的工作。实际上,很多大公司芯片的测试成本已经接近研发成本。
1、为什么要进行芯片测试?
芯片复杂度越来越高,为了保证出厂的芯片没有问题,需要在出厂前进行测试以确保功能完整性等。而芯片作为一个大规模生产的东西,大规模自动化测试是唯yi的解决办法,靠人工或者说benchtest是没法完成这样的任务的。
2、芯片测试都一般包含哪些测试类型?
一般来说,包括引脚连通性测试,漏电流测试,一些DC(directcurrent)测试,功能测试(functionaltest),Trimtest,根据芯片类型还会有一些其他的测试,例如AD/DA会有专门的一些测试类型。
芯片测试的目的是在找出没问题的芯片的同时尽量节约成本,所以,容易检测或者比较普遍的缺陷类型会先检测。一般来讲,首先会做的是连通性测试,我们称之为continuitytest。这是检查每个引脚的连通性是否正常。
3、芯片测试在什么环节进行?
芯片测试实际上是一个比较大的范畴,一般是从测试的对象上分为wafertest和finaltest,对象分别是尚未进行封装的芯片,和已经封装好的芯片。为啥要分两段?简单的说,因为封装也是有cost的,为了尽可能的节约成本,可能会在芯片封装前,先进行一部分的测试,以排除掉一些坏掉的芯片。而为了保证出厂的芯片都是没问题的,finaltest也即FT测试是Z后的一道拦截,也是必须的环节。
4、怎么样进行芯片测试?
这需要专业的ATE也即automaTIctestequipment。以finaltest为例,首先根据芯片的类型,比如automoTIve,MixedSignal,memory等不同类型,选择适合的ATE机台。在此基础上,根据芯片的测试需求,(可能有专门的testspecificaTIon的文档,或者干脆让测试工程师根据datasheet来设计testspec),做一个完整的testplan。在此基础上,设计一个外围电路loadboard,一般我们称之为DIBorPIBorHIB,以连接ATE机台的instrument和芯片本身。同时,需要进行test程序开发,根据每一个测试项,进行编程,操控instrument连接到芯片的引脚,给予特定的激励条件,然后去捕捉芯片引脚的反应,例如给一个电信号,可以是特定的电流,电压,或者是一个电压波形,然后捕捉其反应。根据结果,判定这一个测试项是pass或者fail。在一系列的测试项结束以后,芯片是好还是不好,就有结果了。好的芯片会放到特定的地方,不好的根据fail的测试类型分别放到不同的地方。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !