欢迎访问ic37.com |
会员登录 免费注册
发布采购

芯片测试

日期:2007-4-29标签: (来源:互联网)

DFT是design for test的缩写,意为可测性设计。从广义上讲DFT包含两个范畴:一个是设计范畴,一个是测试模式生成(ATPG)范畴。设计范畴的DFT设计技术常用的有两种:扫描设计和内建自测试(BIST)。扫描设计就是将普通的触发器替换为具有扫描功能的扫描触发器并将它们连接起来形成扫描链。这就是通常意义上的测试综合。BIST则要求片上生成测试模式和进行测试响应分析,synopsys的工具还不具有BIST控制器的自动生成,MENTOR则有相应BIST控制器的自动生成工具,不过也可以自己写一个BIST控制器,bist一般用于存储器的测试。

BIST一般分为logic BIST和memory BIST。现在logic BIST还处于研究阶段,没有真正的工业应用;memory BIST是用于测试memory的工作是否正常,芯片内部有一个bist controller,用于产生memory测试的各种pattern和预期的结果,并比较memory的读出结果和预期结果。目前较常用的memory BIST算法有March算法及其变种。工业界常用的工具有Mentor Graphics的MBIST Architecture.

呵呵,总结一下:JTAG( JOINT TEST ACTION GROUP):原本就是用来作芯片测试,无论是管脚和板子的连接还是内部逻辑的测试都可以通过JTAG实现JTAG在片内由TAP控制实现各种功能,TAP可以扩展作很多事情,除了上面的基本测试任务芯片设计者,可以充分利用JTAG有限的管脚作很多额外的工作。

JTAG(或者更通俗的称 边界扫描BST)关键有两个部分组成,一个是一条由边界扫描寄存器组成的串行边界扫描链,位于外部引脚和内部逻辑之间,用于采集/施加 内部逻辑或外部引脚的信号。另外一个就是所谓的状态控制器TAP了,用来控制JTAG口的状态。这俩部分都是嵌入在符合JTAG规范的芯片内部的。JTAG最初主要应该还是是针对测试提出的一种方式:由于他的边界扫描寄存器位于内部逻辑和外部引脚之间,如果让它替代外部引脚作为内部逻辑的输入/输出,可以检查芯片逻辑的实现正确与否,就是所谓的内测试INTEST;如果让边界扫描寄存器替代内部逻辑作为外部引脚的输入/输出, 来检查外部引脚连接的可靠性,这就是所谓的外测试EXTEST。许多复杂的ICE/ICD程序似乎都是基于这两个基本的测试来开发的。当然,真正的JTAG口远不止一个边界扫描寄存器,为了配合菊花链,增加了BYPASS寄存器,某些芯片(比如基于EEPROM的CPLD)也增加了ISP寄存器用于编程。为了选择这些不同的寄存器,还需要一个专门的指令寄存器。而且,JTAG口也不再仅仅只用来测试了。比如利用他的外部测试EXTEST特性,将芯片内部逻辑和芯片外部引脚隔离开来,通过JTAG口串行的把信号/数据移位进入BSR,然后同时从芯片的外部引脚上发送出去,可以实现对相联芯片的操作。如果这个相联的外部芯片是一个存储器,如FLASH,是否就可以实现对外存的编程?Intel的JFLASH程序就是这样来烧写FLASH的。而如果串行数据流先移入的一个寄存器和内部EEPROM或SRAM的CELLs相连,是否也可以对内部的存储器编程?ISP或程序下载就是酱紫的。Lattice的吹得很牛的什么isPAC模拟器件ISP,好象也是酱紫的。芯片设计初期加入JTAG口可能是为了DFT,可是后来它的功能似乎又远不止这些了。

另外本人水平有限,很多东西也没有自己真正动手作过,大家一起讨论,今天先说一些有关测试,测试仪器方面的,往后再慢慢往前端设计走 1.什么是ATE? Automatic test equipment. 是用来给测试芯片提供测试模式,分析芯片对测试模式的响应来检测芯片是好还是坏的测试系统。ATE通常由工作站或是PC机控制(以工作站,sun平台居多,我注:) 有一个或多个CPU。 测试系统有一个或多个测试头(test headers), 包含了到被测芯片的电路。 2.how to test chips? 基本原则:施加激励(测试向量),测量芯片响应输出(response), 与事先预测的结果比较,若符合,芯片是好的。 基本原理图如下:input patterns ---->> ----------------> output response DUT ---------- ---------- stored correct response ----->> COMPARATOR<------------- ---------- V test result 3.测试种类? 按目的分,主要有四种 (1) characterization. 或是design debug ⁄verifaction testing. 应用于一个新的设计量产之前,验证设计是否正确和符合spec. 功能测试,AC/DC测试都会做。在这一过程中诊断和修改设计错误,测量最终spec用的芯片特性,并且开发一个量产用的测试程序。 (2) production. (量产) 每个芯片均需经此测试。测试向量相对第一种而言要简化,但必须保证对错误模型的一个较高的覆盖率。这里面主要考虑是成本因素,因为每个芯片都要经过测试,要求测试时间短,只做go/no-go测试,不做错误诊断。 这是一个out-going inspection test. (3) Burn-in.主要用于测试可靠性(reliability). 器件失效模型-浴盆曲线。 采用各种加速因子来模拟器件长期的失效模型,常用的有加高温,加高出其额定电压的电压等。 (4)Incoming inspection. 系统厂商所为。一般是抽样进行的,过程可象上面的测试,主要目的是为了防止在系统中使用坏的芯片,这引进的成本要远远高出incoming inspection的成本。 按测试特性分主要是功能测试(funcional tests)和电气参数测试(parametric tests)。 Parametric tests 有DC 和AC测试,DC 主要是短路(short),开路(open),最大电流(maximmum current),漏电流(leakage),输出驱动电流(output drive current),开启电平(threshold)测试等。AC主要包括传输延时(propagation delay test),建立和保持时间(setup & hold),速度测试(functional speed),访问时间(access time), 等等。这些通常跟工艺有关。 功能测试主要是输入测试向量和响应的一致性。功能测试可以覆盖极高比例的逻辑电路的失效模型。 4.test specification & test plan: Specification 应该包括以下一些内容:functional characteristics; types devices-逻辑电路,微处理器,存储器,模拟器件等;physical characteristics - 封装,引脚;工艺 - cmos, gate-array, standard cell等; evironmental characteristics - 工作电压范围,供电电压等;reliability可靠性 - DPM( defective parts per million), 1000小时失效率,噪声特性等。 在test plan 中,指定测试系统和所需的测试。 5.test programming 当芯片已经放到测试系统上,做测试需要三个东西:1.test program; 2, digital test vectors; 3. analog test waveforms. test program 包括了tester 做测试所需的一系列指令,举个例子,一个简单的可以是:加电压(apply power), 加时钟信号和输入向量(apply clock and input vectors) , 测量输出引脚(probe target=_blank>零八我的爱