DFT - 对芯片测试的理解(一) 初识 总结—>详细论述和分析

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

  • 2
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值