当前位置:首页 > 演讲稿 > 服装设计机构 基于JTAG的MBIST设计实现
 

服装设计机构 基于JTAG的MBIST设计实现

发布时间:2019-02-16 04:46:18 影响了:

  摘要:边界扫描(BSD,有时也称为JTAG)和存储器内建自测试(MBIST)是两种常用的集成电路可测试设计技术,然而如何有效处理MBIST产生的众多管脚是DFT工程师必须考虑的问题。本文介绍JTAG和MBIST基本原理和设计方法,在此基础上提出了用JTAG控制MBIST的实现方法,解决了由MBIST引起的管脚复用问题。
  关键词:DFT;JTAG;MBIST
  
  1引言
  
  随着数字集成电路复杂性不断提高规模不断扩大,完备的集成电路测试显得尤为重要,同时由测试引入的成本也在不断增加。然而残酷的市场竞争对成本提出了更加苛刻的要求,在满足测试的条件下如何降低由测试引起的成本是每一个研发人员必须面对的问题。在此背景下本文介绍一种基于边界扫描的内建自测试技术(BIST),既能完成BIST测试又不会因BIST测试而增加PAD的数量,从而避免了制造和封装成本的增加。
  
  2JTAG设计
  
  边界扫描是一种板级系统测试技术,它在集成电路的测试中也得到了广泛的应用。它在测试时不需要其他的测试设备,不仅可以测试芯片或PCB的逻辑功能,还可以测试集成电路之间和PCB之间的连线是否存在障碍。边界扫描技术的基本原理是在核心逻辑电路的每一个输入输出端增加一个寄存器,这些寄存器具有以下特点:
   (1) 每个寄存器都既可以输入数据,也可以输出数据;
   (2) 所有的寄存器可以连接成一个移位寄存器。
   一个系统中可以有多个扫描链,各个扫描链可以串联成一个扫描链,也可以并联起来。在一个PCB板上所有具有边界扫描的集成电路中的扫描寄存器可以连接成一个大的移位扫描链。
   根据IEEE 1149.1标准,JTAG设计的硬件结构如图1所示,由测试通道控制器(TAP Controller)、指令寄存器、旁路寄存器、测试数据寄存器组等几个部分组成。
   TAP Controller主要由一个有限状态机组成,用于控制指令寄存器和数据寄存器的操作,硬件接口包括5个引脚:
   1.TCK:移位时钟输入引脚。
   测试时钟是独立的,与芯片系统时钟无关,由测试系统提供。
   2.TMS:模式选择输入引脚。
   在测试过程中,有数据捕获、移位、暂停和输出等不同的工作模式。在不同的状态下,TMS信号为高点平或低电决定下一个时刻的状态。
   3.TDI:数据串行输入引脚。
   串行输入指令寄存器或测试数据寄存器的数据。输入指令或数据由TAP状态机控制。
   4.TDO:串行数据输出引脚。
   串行输出指令寄存器或测试数据寄存器的数据。
   5.TRST:异步复位信号。
   指令寄存器是一个带有锁存器的移位寄存器,在Shift_IR状态下,指令在TCK的上升沿串行移入指令寄存器,在Update_IR状态下,以并行方式将指令寄存器的内容移入指令锁存器。指令经过指令译码后产生控制边界扫描电路的各种信号。
  旁路寄存器用于旁路整个芯片,当芯片的其他部分不需要测试时,TDI直接经旁路寄存器输出至TDO。
   测试数据寄存器用于保存操作数据,包括从访问单元中读出来的数据或向访问单元写入的数据。
   除IEEE 1149.1标准规定的指令外,JTAG可以实现用户自定义的指令,使用户可以根据不同需要扩展JTAG的功能。对JTAG指令和测试数据寄存器进行扩展,可以实现通过JTAG对芯片内部资源的访问和测试。对MBIST的控制既是JTAG功能扩展的应用之一。
  
  3MBIST设计
  
  内建自测试(BIST)是目前广泛应用的DFT技术,可用于随机逻辑器件和存储器件如RAM、ROM等测试,它将测试电路置于被测器件内部,通过外围配置实现器件的自动测试和故障诊断。下面将以RAM为例对嵌入式存储器的内建自测试技术(MBIST)的设计做简要介绍。MBIST电路包括控制器、比较器、collar三部分,如图2所示。MBIST针对不同的目标器件采用不同算法产生相应测试向量,并对输出相应进行比较,根据比较结果可判断被测器件失效与否。
  
  图1
  MBIST控制器由状态机和向量产生器组成,状态机控制MBIST对存储器的读写操作,向量产生器可产生多种测试向量,不同的测试算法实现的电路所产生的测试向量内容也不同。常用的算法是March2算法,通过对同一地址读写/写读操作,遍历整个地址空间后完成存储器测试。March2算法通常对每一地址读写全0或全1,为增加故障的检测率改变March2 算法的起始值,既把存储器初值由h00…00改为h55…55。March2算法如图3所示:
  
  图2
  1. 对所有存储地址由低到高写h55…55,完成存储器初始化。
  2. 对最低位地址进行读h55…55,写hAA…AA,读hAA…AA操作;地址累加,重复上述操作,直至完成最高位地址的操作。
   3. 对最低位地址进行读hAA…AA,写h55…55,读h55…55操作;地址累加,重复上述操作,直至完成最高位地址的操作。
   4. 重复2、3步操作,地址遍历顺序由升序改为降序。
   MBIST控制器输出测试状态标志信号test_done,当测试结束时test_done被置为有效状态。
  MBIST collar电路根据测试要求的不同包含内容不同,简单的collar电路由多路选择器组成,选择信号为MBIST的使能信号test_h,当test_h处于有效状态时存储器处于测试模式,输入数据、地址和控制信号来自MBIST控制器,当test_h处于无效状态时存储器处于功能模式,数据、地址和控制信号来自功能电路。
  
  图3
  从存储器读出的数据送入比较器与MBIST控制器输出的期望数据进行比较,测试过程中发现任何错误,比较器输出信号fail_h即被置为有效并保持到测试结束。通过检测test_done和fail_h的状态可以判断测试通过或失败。
  MBIST电路不仅可以判断器件实效与否,还能够自动分析失效的原因,此时测试数据被同时用来分析定位存储器失效的具体地址空间。此外,MBIST电路还可以提供自动诊断和自动修复功能。设计者可以根据具体要求灵活扩展MBIST的功能。本文将不再对扩展功能电路进行额外介绍。
  当芯片内包含的存储器较多时可以多个存储器共享一个MBIST控制器,但由于设计本身或其他限制往往需要设计多个控制器,因此就会有多个test_h、test_done、fail_h信号。在复用资源比较紧张的情况下不可能与功能管脚复用解决,增加PAD又会增加成本。而利用MBIST自动自测试的特性,可以由JTAG控制MBIST的启动和测试结果的输出,在不增加成本的前提下,很好地解决了这种问题。
  
  4JTAG控制MBIST的实现
  
  JTAG设计时增加一条MBIST指令,同时增加一个数据寄存器-MBIST数据寄存器-用于保存MBIST使能信号test_h,同时保存测试结果test_done和fail_h。结构如图4所示。
  MBIST测试前JTAG将MBIST指令载入指令寄存器,TAP controller转到Shift-DR状态,MBIST控制位数据(test_h)由TDI移位输入到MBIST数据寄存器,TAP controller转到Run-Test/Idle状态等待MBIST测试完成,同时MBIST在test_h控制下进入自测试状态;TAP controller在Run-Test/Idle状态下保持一定的TCK时钟周期后,MBIST测试完成并产生测试结果信号test_done和fail_h,TAP controller转到Capture-DR状态,test_done和fail_h存入MBIST数据寄存器,在Shift-DR状态下MBIST数据寄存器的数据移位输出至TDO。通过TDO输出数据与期望数据的比较判断测试通过与否。
  
  图4
  如果芯片中有多个MBIST controller则可以通过扩展MBIST数据寄存器得到多个控制信号test_h,从而实现多个MBIST controller同时工作和存储器的并行测试。如果芯片内存储器较多,考虑到存储器的功耗较大,为避免测试过程中芯片局部过热而造成对芯片的损害存储器的测试往往不能完全并行,而采用分步测试的方法,一次测试片内一部分存储器,完成后再测另一部分。JTAG控制下的MBIST同样也可以实现这样的操作既将MBIST指令的执行分两步或多步完成。
  首先数据由TDI输入MBIST数据寄存器使一部分test_h信号处于有效状态其他处于无效状态,控制一部分MBIST controller启动,测试完成后结果由TDO输出;MBIST数据寄存器重新载入数据,前一步处于有效状态的test_h信号被置为无效,另一部分test_h置为有效,从而又启动一部分MBIST controller进行存储器的自测试。重复上述步骤直至存储器全部测完。
  
  5结论
  
  用JTAG控制MBIST完成存储器的测试是大规模芯片设计中有效的DFT设计方法,它解决了MBIST带来的冗余复杂的复用设计及复用资源的竞争。这种方法的缺点是使JTAG电路变的复杂增加了芯片面积,同时JTAG需要几个TCK周期才能启动存储器自测试增加了测试时间。但对于大规模的设计,增加的面积和测试时间所占整个芯片面积和测试时间的比例较小,几乎可以忽略不计,因此不会增加芯片的成本。
  EDA工具在芯片设计中扮演着重要角色,Mentor公司的MBISTArchitect是优秀的MBIST设计工具,它支持多种BIST算法,自动实现存储器内建自测试电路,结合边界扫描电路设计工具BSDArchitect可使复杂的设计简单化,缩短了芯片设计和开发周期。
  
  参考文献
  [1]Alfred L. Crouch. Design-For-Test For Digital IC’s and Embedded Core Systems.中国电力出版社
  [2]Janusz Rajski, Jerzy Tyszer. Arithmetic Built-in Self-Test for Embedded Systems.
  [3]牛风举. MBIST:用于嵌入式存储器的可测试设计技术. 电子系统设计
  [4]Boundary Scan Process Guide. Mentor Graphics
  [5]MBISTArchitect Process Guide. Mentor Graphics

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3