EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
大公司每日流水的芯片就有几万片, 测试的压力是非常大,当芯片被晶圆厂制作出来后, 就会进入Wafer Test的阶段。这个阶段的测试可能在晶圆厂内进行,也可能送往附近的测试厂商代理执行。 生产工程师会使用自动测试仪器(ATE)运行芯片设计方给出的程序,简单粗暴的把芯片分成好的/坏的这两部分, 坏的会直接被舍弃, 如果这个阶段坏片过多, 基本会认为是晶圆厂自身的良品率低下。如果良品率低到某一个数值之下, 晶圆厂需要赔钱。 WT的测试结果多用这样的图表示: 通过了WaferTest后,晶圆就会被切割,切割后的芯片按照之前的结果分类。只有好的芯片会被送去封装厂封装,封装的地点一般就在晶圆厂附近, 因为未封装的芯片无法长距离运输,封装的类型看客户的需要,有的需要球形BGA, 有的需要针脚, 总之这一步很简单, 故障也较少,由于封装的成功率远大于芯片的生产良品率, 因此封装后不会测试。 封装之后, 芯片会被送往各大公司的测试工厂, 也叫生产工厂。并且进行Final Test,生产工厂实际上有十几个流程, FinalTest只是第一步。在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) 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相关项等。
* b- C3 W2 F& n! u
0 ~$ Z7 h$ j1 q4 C0 W( A0 [. G% V% C$ s
测试厂房的布置 . w. o4 H# k) T+ ~% S0 |" e4 c5 R. |
而所有的这些工作, 都需要芯片设计工程师在流片之前都设计好。测试工作在芯片内是由专属电路负责的, 这部分电路的搭建由DFT工程师来做, 在流片后, DFT工程师还要生成配套输入矢量, 一般会生成几万个,这些矢量是否能够正常的检测芯片的功能, 需要产品开发工程师来保证。此外还需要测试工程师, 产品工程师, 和助手来一同保证每天能够完成几万片芯片的生产任务不会因为测试逻辑bug而延迟。 考虑到每一次测试版本迭代都是几十万行的代码, 保证代码不能出错。需要涉及上百人的测试工程师协同工作, 这还不算流水线技工, 因此测试是费时费力的工作。实际上, 很多大公司芯片的测试成本已经接近研发成本。
: \" D( {/ h7 |. W1 o9 w& a- b |