DFT - 对芯片测试的理解(一) 初识
总结—>详细论述和分析
为什么要做DFT
芯片生产过程中,导致的物理缺陷。
DFT用来测试芯片质量,看是否在生产过程中,因为物理制造过程,导致芯片损坏的问题。即不是检查芯片的功能是否正常,只检查芯片的内部连线等等,是否都正确连接到。
以前想的是,可以直接设计一个功能测试脚本程序,如果脚本程序运行结果正确,同样可以检查出芯片是否完好。这样做的好处是,不用再在芯片内部插入DFT,简化设计,并且减少MUX等逻辑资源。但不好的地方是,测试脚本要按照芯片功能来编写,测试脚本复杂,而且要测试到每个逻辑点,则要测试脚本足够完善,几乎不可能做到。
从这一点来看,因为当前的SOC设计很大,想要通过测试脚本来验证芯片的质量,会比插入DFT更耗时费力。而且,编写的测试脚本,无法保证每个逻辑点都被测试到。因此,这也是使用DFT的必要性。
stuck at Fault – 用于低速测试
模拟器件间互联的短路和断路故障,stuck-at 1:在pin A上接入1,屏蔽信号a。stuck-at 0:在pin Y上接入0,使Y的输出脚恒为0。
At_Speed Fault – 用于在速测试
Path Delay Model
scan的过程
上图,让我对DFT有了全新的认识,原来DFT是这样做的?该博文给出一种理解,每个公司可能设计方法不同。但殊途同归,文中有很多值得学习之处,关键在于熟悉和建立一些DFT思想。
按照目前的理解,首先SE=1,进入scan mode ,通过SI向 scan sell中不断输入一个确定的值(shift);然后SE=0,切换到正常功能模式,通过PI加入期望的激励,让所有的内部结点上都有确定的值;但此时PPO上还没法直接观测信号,因此使用 pulse clock将PPO的值锁存在 scan cell中;最后SE=1,再次切换回Scan mode,通过scan chain 逐个时钟移除 scan cell中的值并进行观测。通过该结果(所有内部节点上的值),来判断芯片是否有缺陷。
为了提高覆盖率,可以在某些地方增加一些可观测的寄存器。
Strctured DFT: Full scan , Partial Scan
AD HOC DFT : Make flip-flops initialize; Provide test control fordifficult-to-control signls.
ATPG – Automatic Test Pattern Generation
典型的DFT串Scan的的Flow
在DFT之前,先要进行DRC,插入DFT之后,再次进行DRC,检查插入DFT之后,没有改变电路设计功能,即pre_DFT (此时所有的FF换成了scan-FF)和 post_DFT(已经串好了scan) 都要做DRC。除此,还有 RTL DRC,即RTL时的早期,此时还没有scan_FF,还全是DFF。
在串scan的时候,如果是 shift register类型的电路,此时只需添加一个MUX即可,节约面积和时间。
DFT小结
DFT会增加额外的硬件开销,但带来高效经济的结构性测试向量,方便在ATE上进行芯片测试。
上面我说功能测试也可以做,但功能测试没法reuse且很难给出coverage,所以采用DFT:结构性测试方法,依赖于设计实现结构的测试方法,具备通用性。不同芯片可以用相同的DFT方法进行测试。
synopsys 工具,Tetramax: ATPG tool
DFT Architecture
对组合电路而言,检测fault非常容易,但是对于时序电路来说难以将数据传输到问题点,并且传出去也非常困难。
Scan synthesis
1、Scan synthesis 主要包括两个步骤:scan replacement & scan stitching
2、Scan synthesis 可以包含于logic synthesis,也可以独立于logic synthesis之外
3、Scan synthesis的主要作用是:把一个difficult to test sequential circuit 转变成一个easy to test combinational circuit.
测试步骤分为了两大部分:
1、sequential part:
enable scan mode
shift register test -flush test (00110011…)
shift through scan-in and measure on scan -out
首先用确定的一组pattern,此时没有capture,能否正确地将这组pattern shift输出
2、combinational part
select scan mode; scan in test pattern;
force primary input values and set normal mode
measure primary outputs; set the scan mode
scan out,combied with scan in for the next pattern
在做DFT时候,经常用到的signal
Scan clock:Reset/Set is also treated as a clock
Scanenable:it is 1 in shift, when capture it is 0
Scan mode/Test mode: always 1 in the whole test mode
Scan input/Scan output 。
————————————————
版权声明:本文为CSDN博主「时间看得见」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_21394333/article/details/110930352