• DFT设计绪论


    DFT设计的主要目的是为了将defect-free的芯片交给客户。

    产品质量,通常使用Parts Per million(PPM)来衡量。

    但是随着IC从SSI到VLSI的发展,在test上花销的时间越来越多,test的quality却很难提高,这使得DFT的engineer不断的发展着DFT的技术。

    DFT engineer面对的第一个问题是设计内部的状态的可测试性问题。在1970-1980年间,提出了ad hoc等可测试性设计的方法。

    可以提高一个design的可测试性,但是对于sequential的电路还是很难进行ATPG的产生。

    对于combinational的电路,有很多ATPG的算法可以用来进行test pattern的生成,但是对于sequential的电路却很难。

    后来带有直接外部访问的storage elements的提出,才解决了sequential的可测性与可观性。这样的cell叫做scan cells。

    scan design是目前为止,使用最多的structure的DFT方法,通过将多个storage element连接为多个shift register来实现。

    一个design中,所有的storage element都做了scan inserting,这样的design叫做full-scan design;

    一个design中,大多数的(超过98%)的storage element做了scan inserting,这样的design叫做almost full-scan design。

                         一些不用SDFF替代的cell,可能是不想要在scan mode下被改变的register,本身就是shift register的寄存器(包括sync FF)

                         timing非常critical的path等。

    一个design中,一些storage element做了scan inserting,并且使用了sequential的ATPG,这样的design叫做partial-scan design。

    其中的storage element主要为了break sequential feedback来选择,从90年代起,随着沈亚微米技术的发展,full_scan逐渐代替

    partial_scan成为主流。

    每一个DFF的D端值,可以表示为某些DFF的Q值和组合逻辑的函数来得到,Di=f(Qx, Input)。在SE为1的情况下,所有的Qx都有了确定的值。

    如果整个chip的input pad也是固定值,那每一个DFF的D端值一定是可以计算出来的。

    一些analog和ram类的输出信号,着这种会进行bypass处理,保证Di是一个确定值。如果没有相应的mux,那TMAX计算出的Di为不确定值。

    相应DFF在移位出scan chain的时候,对应的cycle应该进行mask处理。

    这些hardblock如果没有bypass处理,会影响test coverage。

    为了提高fault coverage,一些scan design rules必须被遵循。除了scan_design外,还有Built_in self_test(BIST)和test compression

    也得到了很广泛的应用。

    而近几年,DFT的测试开始从netlist转向RTL level来减小test development的时间,以及testable的code。

    scan register的替换,带来的area increased,大约在15%

    compression logic带来的area increased,大约在1%

    bist logic带来的area increased,大约在2%--5% 

    defect的model类型有:

    Stuck At

    Transition

    Path Delay

    Bridge Test

    IDDQ

    针对芯片的三大部分,我们DFT工程师手里有三大法宝

    BSCAN技术-- 测试IO pad,主要实现工具是Mentor-BSDArchit,sysnopsy-BSD Compiler

    MBIST技术-- 测试mem,   主要实现工具是Mentor的MBISTArchitect 和 Tessent mbist

    ATPG 技术-- 测试std-logic,  主要实现工具是:产生ATPG使用Mentor的 TestKompress 和synopsys TetraMAX;

                      插入scan chain主要使用synopsys 的DFT compiler/cadence的RTL Compiler

    Mentor的工具更新为Tessent平台,包括工具:Tessent FastScan                  Tessent MemoryBIST

                                                                 Tessent testKompress           Tessent LogicBIST

                                                                 Tessent Scan                      

                                                                 Tessent Diagnosis

                                                                 

    Insert scan:

    1.         虽然教科书会介绍很多种DFT DRC,但是在实际设计中95%的工作在修复scan_clk和scan_reset的DRC violation

    2.         修复clk/reset violation 的方法主要是用DC插入mux ,目的是使在scan_mode下clk和reset被芯片scan_clk和scan_reset pad控制。

                同时,scan_clk和scan_reset pad会用于ATE给芯片施加激励

    3.         插入scan时,DFT Compiler必须修复的DRC violations 类别为D1/D2/D3/D9

    4.         做全片级的DFT设计时,需要在scan_in,scan_out,scan_reset,scan_clk的IO pad 的OEN/IE/REN端插入mux,控制pad的输入和输出方向

    Atpg patterns产生和仿真

    1.         所有的模拟模块,例如PLL,POR等,一般设置为black-box,无法用ATPG测试其内部

    2.         芯片clk,power,reset的控制寄存器,一般不会放到scan_chain上,以免在测试时由于寄存器的动作,改变芯片工作状态

    3.         考虑power domain的开关,一般必须保证在scan测试时,所有power domain都打开,每个数字标准单元都能测试到。

    4.         如果有模拟的IO pad,一般必须在产生pattern时mask掉,因为他们不是数字的,ATPG工具无法控制它们

    5.         业界一般使用DC插入OCC (on chip clocking)模块,实现at-speed scan测试电路

    MBIST工具

    目前使用较多的是MBISTArchi,但是Tessent MBIST以后会成为主流。原因是Mentor公司2013年已经宣布MBISTArchi将不再提供技术支持,

    而且Tessent MBIST技术更为先进。

    1.         所有的MBIST设计应该考虑diagnose,加入diagnose电路,方便诊断mem故障,这会在芯片量产时大大提高成品率。

    2.         由于ARM与Mentor有合作,Coretex-A9以上的ARM核具有share-bus接口,可以很好支持Tessent Mbist,

                就能够实现ARM内核的mem的高速测试和访问,也提高了ARM CPU的性能。

    3.         Tessent MBIST会使用JTAP,只占用TCK/TMS/TDO/TDI/TRST五个pad,比MBISTArich使用更少的pad资源

    BSCAN 工具

    1.         所有的模拟IO,一般无法用bscan来测试,不要加上bscan_cells

    2.         所有需要测试的数字pad的OEN/IE/REN 在bscan_mode下,需要插mux来控制

    3.         所有需要测试的数字pad的PU/PD 在bscan_mode下,一般需要插mux来控制,保证在bscan_mode下,

                PU和PD=0,才能使bscan HIGHZ测试仿真通过

    4.         所有JTAG的强制要求指令如IDCODE,EXIST必须在bscan电路中实现,特别是BYPASS

    chip中的test mode可以分为analog(BIST),function,BIST,SCAN,IO

    Yield:良率 (number of acceptable parts)/(total number of parts fabricated)

    icg_mode,在shift时,设置为1,capture时,根据ATPG的情况来判断。

    icc_bypass,用在ac stuck at model下的测试,相比较于dc stuck at,低频clock的clock define点不同,可以不需要在修

                      timing,而如果没有ac stuck at,一些经过同一低频clock,不同occ clock的逻辑,可能是异步的,但是在dc mode

                      在被作为同步,designer需要为此修很多timing,增加buffer。

    ac mode下,会有很多低频的clock mux,用于测试不同的逻辑。 

  • 相关阅读:
    python mysql操作
    常用sql语句总结
    python 正则表达式总结
    hdu 6199 dp
    hdu 6212 区间dp
    hdu 6214 割边最少的最小割
    2017沈阳网络赛G XOR 分块(分类讨论sqrt)
    HDU 6166 二进制分组
    hdu 6194 后缀数组
    hdu 6201 树分治
  • 原文地址:https://www.cnblogs.com/-9-8/p/5608305.html
Copyright © 2020-2023  润新知