[DFT]Scan mode & ATPG

                                          Scan mode & ATPG


       前言:Testability用来表征一个manufactured design的quality。

       将testability放在ASIC前端来做,成为DFT(Design For Test),用可控(controllable)可观(observable)来表征。DFT的实现的两个大方向:ad hoc和structure。

       1)ad hoc:利用良好的设计习惯,来保证testability。减少无关逻辑,异步逻辑,增加可控可查点。

       2)structured:更加系统,自动的方法。包括三个方法:

          scan design:需要改变内部时序逻辑。

          Built-in Self-Test(BIST):需要在器件中插入测试功能。

          boundary scan:增加电路,来保证板级测试性。

          其中bist和boundary需要在DC之前来做,scan design在DC之后做增量型编译。bist逻辑中也需要scan design。

二、scan操作的流程:

       1)使能scan mode;

       2)打开scan clock,输入stimulus;

       3)比较output,再关掉scan clock,来输入下一stimulus。

       scan操作可以分为full scan和Partial scan。full scan的覆盖率最高而且ATPG容易产生,但是对面积和时序不友好。

       Partition Scan:针对大型设计,从block的层次来进行scan设计,加入scan input/output/enable

       Test Points:针对一些难以观察控制的点,额外加入mux来进行控制。

       如或门的输出,输入还有一个1,另一个输入,就难以观察,后续逻辑就难以控制,此时可以在或门之后,加入一个mux,以及一个input和一个output来保证coverage。(例程见相册)

三、ATPG(Automatic Test Pattern Generation),Test patterns也叫做test vector。

       DFT通过增加额外的专门用于测试的硬件逻辑,以增强设计的可测试性。但对于测试,最后是需要体现在由此可以产生的测试向量。

       ATPG:自动测试向量生成

       测试是向一个处于已知状态的对象施加确定的输入激励,并测量其确定的输出响应与“理想”的期待响应进行比较,进而判断被测对象是否存在故障。测试向量:输入激励+ “理想”的期待响应,从DFT来自动产生测试向量。ATPG 工具可以满足大部分生产测试中所需的测试向量自动生成的要求,自动生成的测试向量提供改ATE测试程序用。

       1、有random pattern和Deterministic pattern两种,不过多数使用random,包含两部分:

              1)generation patterns;

              2)完成fault simulation;

       2、Soft ATPG constraints

              1)Maximize driving strength to aggressor, e.g., all 1’s on NOR for strong-0

              2)Minimize driving strength to victim, e.g., single 0 on NAND for weak-1

四、测试种类(Test Type):分为三类:

       1)functional test,主要针对static defects,(open,short,stuck-on,stuck-open)

       2)IDDQ,测试静态功耗current。以Pseudo stuck-at模型来进行分析。对于Full static的CMOS电路,IDDQ接近于零,上拉下拉,三态总线的IDDQ较高,RAM这样的动态存储器中也会产生较高IDDQ。

       3)At-Speed test:主要分析transaction,path delay。如slow-to-rise,slow-to-fall。

       以上都是单一的fault模型,也可能发生fault collapsing。

五、scan中的专业术语:

       (1)Scan Cells:一个scan cell,在一条scan chain中至少包含一个memory element(FF或latch)。

       (2)Master Element:直接从上一个scan cell中,得到数据的scan cell,与scan input直接相连接。

       (3)Slave Element:在scan chain中的同一个clock的scan cell。

       (4)Shadow Element:在scan chain之外的FF或latch。

       (5)Copy Element:与上下的scan cell拥有相同或相反的数据的scan cell。

       (6)Extra Element:在master element和slave element之间的任意一个element。

       (7)Scan chain:一系列连接起来的scan cell,包括一个input ,output,enable。靠近output的scan cell编号0。

       (8)Scan Groups:一系列可并行处理的scan chain(有自己的输入和输出)。

       (9)Scan Clocks:scan操作的时钟信号,包括reset和set信号。

六、scan architecture:主要有三种:

       1)mux-scan:在传统的DFF数据输入端,加入mux。

       2)clocked-scan:替换FF为一个mux clock的FF。

       3)LSSD(Level-Sensitive Scan Design) architecture:将一个latch替换为主从两个latch。

       其中mux-scan和clocked_scan,主要用在FF电路,LSSD主要用在锁存器电路,框图见相册。

Test Procedure Files:描述scan circuirty的操作。用STIL语言编写(Standard Test Interface Lauguage)。

Model Flattening:一些DFT有内部自己的model,他们通过将netlist中的单元替换为自己的model,再进行操作。

发布了140 篇原创文章 · 获赞 81 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/gsjthxy/article/details/104117214
dft