文章目录

  • General ATPG Flow
  • ATPG DRC
    • example clock to data
  • ATPG setting
  • delay test的两种方法
    • single capture
    • double capture
  • Coverage Analysis
    • Fault class
    • coverage how to caculate
    • report faults
  • Coverage Analysis

本博文是博主记录DFT实训教程的笔记版本,此笔记并没有对所有的知识进行记录,仅仅以自身的认知水平,来记录了一些部分笔记并加上了自己的理解.

General ATPG Flow

ATPG DRC

  • scan chain tracing
    第一步ATPG就是要去判断scan chain 的tracing,判断这个chain在shift过程中是否通畅。
    如果发现不通,会报告S级别的violation。
    只有chain能够正常工作了,后续的工作才有意义。这里的scanchain tracing主要是指的是shift里面能否正常的work。

  • Clock rule checking
    1、capture clock
    2、clock to D
    在scan chain 通顺了之后,ATPG就需要去考量converage能否达标。
    除了shift阶段需要打通以外,要注意capture阶段也需要正确的抓到值。所以,这里的clock rule check指的是capture阶段,cell能不能正确的值锁存下来。另外check clock对converage的影响,其中具有代表性的是clock to D的Design rule。比如C1,C2等

  • Data rule checking
    另外还有Data的check,当shift完成了之后,相当于PPI此时已经赋值好了,接下来再capture的过程,这个时候,我们有一个scan enable拉低,稍后拉高的一段过程,在这样的过程的切换里面,有可能破环掉scan chain里面存储的值。data rule check指的是在shiftin完成之后,以及shiftout开始之前,这些cell能不能保持值,是否可能会被破坏掉,比如D1 D2等violation。

不同等级的violation,error级别的必须要fix,产生出来的parttern是不work的。warning级别的可能会导致converage降低。

  • Bus contention
    某一个点能够被多个driver来驱动,有多个驱动源。可能产生短路情况。

  • compress/power aware rules

ATPG在产生parttern时候大概会有以上几个check

example clock to data

如下图所示,如果是下面这种设计,clk不仅仅连接到了clk而且连接到了data端口,这种电路结构也称之为clock as data,此时在D端口的PPO就是不确定的,可能为0,可能为1。ATPG就会把设置为X,从而前面的组合逻辑的fault就无法测试到。但如果D端口的值不受CLK的变化影响,还是能测到部分fault的。

ATPG setting

  • Fault model
  • Fault list
  • Specify capture procedure for delay testing
  • ATPG constraints
  • ATPG limitation(pattern/converage/abort)
    1、Fault model需要给工具指定根据怎样的fault model来产生parttern
    2、Fault list 在某些场景下,我只想看看一个点上的fault,或者我只想看看这个micro的fault converage, 或者说我不想ATPG cover ram\anologo方面的。所以我使用no add fault,告诉工具ATPG不要把这些计算到converage里面。
    3、Specify catpture procedure for delay testing
    DC指的是SAF测试,AC指的是AT Speed测试
    4、ATPG constraints 由于我们的IO上面有一些test相关的IO,比方说这个design要保持在test模式下面等一些port,(TE),如果你没有告诉工具这个port始终为1的话,工具可能会对其赋值0导致错误。
    5、ATPG limitation(pattern/converage/abort)
    比如能否先约束工具,只产生100条pattern,然后给我,然后你继续产生。
    针对converage,产生95%就可以啦
    abort,在推断某一条pattern的过程中,可以告诉工具,比如尝试推断pattern 20次就不推断了。

delay test的两种方法

single capture


该方法利用最后一个shift来产生transition从而测量delay test
也就是说利用最后一个shift来产生transition。
好处是利用shift就能产生transiton,实现赋值。赋值上非常容易。而对于double capture来说,如果要实现transition的话,需要PPO前面的logic的推导,难度更大。
但是single capture却很少使用,因为要实现在最后一个shift后,希望se立即拉低打出clk,非常困难。换句话说,se很难在一个高频的clk时间范围内拉低。
我们知道一个芯片只有一个scan enable,这个scan enable要传到所有的scan FF上面去,fanout非常大,所以scan enable需要的时间来稳定。但是single capture由于可以很好的推出transition的值,所以converage会更高。而double capture由于前面logic的限制可能推不出transition的值。

double capture

Coverage Analysis

Fault class

工具会对Fault进行分类,以及report出来的细节可以帮助我们更好地分析converage低的原因

1、UT(UU/TI/BL/RE)
2、TE(DT/PD/AU/UD)

1、是指UT:untestable 由于电路的设计结构无法推出parttern
UU: unused 没有用的一类design,比如一些点处于float状态。
TI: Tie cell、Tie 0、Tie 1 ,在做physical的时候,会把这些1’b1、1‘b0转换为tie 1 cell或者tie 0 cell,因此对于这种cell,你只能检测他是否被sta到了相反值,比如tie1 cell你不能检测他是否被tie1了。

BL:代表block,意思是被block住了,比如一个与门,一端为0,另一端就没办法检测。
RE:redundant冗余逻辑,代表我们有某些原因,design里面有一部分冗余的逻辑,这些path永远不会有数据的传递,所以也不会去考虑。
2、是指TE:testable
DT:确定能cover的这些fault
PT:potential testable也就是潜在的可能被detect的fault
AU:ATPG untestable就是ATPG里面没有办法推出pattern,但是无法证明这个fault不能untestable。(可能由ATPG constrant导致)
UD:undetect 待具体查询手册

coverage how to caculate

coverage分为了两大类:
Fault coverage and test coverage
F.C=(DT+PD因子)/full
T.C=(DT+PD
因子)/testable

注意的是第二个公式相当于Full减掉哪些untest的点。

report faults

根据报告来提高coverage

Coverage Analysis

根据项目经验来看,大概有以下几类原因导致了coverage过低:
1、full scan or not
确定所有的scanFF都要串接到chain上
2、ATPG constranints
AU的fault是否较多
3、ATPG limitation
combination logic非常深,影响ATPG的效果,
4、Special design
1、test point
增加test point就是增加control point 和obseve point,也就是增加和PPI和PPO

ATPG pattern validation

  • chain pattern simulation
  • scan pattern simulation
  • serial simulation VS parallel simulation
  • back annotation with SDF

在parallel simulation中,通过一个pulse clk的动作就能把值并行锁存到scancell中,完成shift这个过程,然后再进行capture动作,此时也不需要进行shift out,直接在scan cell内部中观察PPO的值。

带SDF是非常耗时的

脚本实验部分由于采取的mentor ,现在还用不上截止93分 ATPG practice II

ATPG Practice ATPG Practice II相关推荐

  1. Tessent scan ATPG(2) ATPG basic flow

    ATPG 的基本步骤 DFT lib 一般vendor会提供 也可使用 tessent 的libcomp工具 将simulation lib转化为 DFT lib 什么是 simulation lib ...

  2. PAT (Advanced Level) Practice 题解代码 - II (1051-1100)

    PAT PAT (Advanced Level) Practice - II(1051-1100) -------------------------------------------------- ...

  3. stata:应用stata学习计量经济学原理 practice 2 stata绘图基础

    应用stata学习计量经济学原理 Practice 2 Practice 2 * Q1 clear all * 1 sysuse uslifeexp.dta * 2 scatter le year s ...

  4. stata:应用stata学习计量经济学原理 practice 6 边际效用 Marginal effect

    应用stata学习计量经济学原理 Practice 6 边际效用 边际效用参考资料 课堂代码 Practice 6 Practice 6 边际效用 边际效用参考资料 Stata:边际效应分析\交乘项的 ...

  5. practice是什么意思_practice是什么意思_practice在线翻译_读音_用法_例句_含义-查字典网...

    1 . 实践 就同样通过"话语"作为媒介的个体行为对规则.结构发挥的影响这后一个方面而言,行为所具有的"实践"性质非常重要."实践"(pra ...

  6. Mentor-dft 学习笔记 day27-Timing-Aware ATPG vs. Transition ATPG

    Timing-Aware ATPG vs. Transition ATPG 以下是starc03的testcase来评估timing-aware ATPG,为了对比transition fault A ...

  7. Do Lots of Deliberate Practice 22

    Do Lots of Deliberate Practice Deliberate practice is not simply performing a task. If you ask yours ...

  8. 我的数字IC学习路线

    引言 很多朋友和我一样也是从FPGA转行入到数字IC,所以对数字IC很多知识也不是很清楚,我也一样不清楚,我想把我的数字IC学习路线记录在此, 全网也没有博客能如此详细的汇总这条路线并且分享出来,本博 ...

  9. 机器学习 深度学习 ai_如何学习机器学习和人工智能?

    机器学习 深度学习 ai STRATEGY 战略 Learn theory + practical aspects. 学习理论和实践方面的知识. (At first get an overview o ...

最新文章

  1. 红旗linux可以做服务器吗,在红旗Linux中的E-MAIL服务器(postfix及dovecot)配置过程...
  2. 《Unity开发实战》——2.2节创建画中画效果
  3. 一篇文章让你彻底了解什么叫Netty!大牛看了直呼内行!
  4. 【C/C++】内存分配函数:malloc,calloc,realloc,_alloca
  5. 2017蓝桥杯省赛---java---B---8(包子凑数)
  6. 分号不是个“随便的人”
  7. 云在天之南——我的七天七夜(率性苍山洱海)
  8. 数据结构之二叉树的定义和性质
  9. Web Hacking 101 中文版 八、跨站请求伪造
  10. Mondrian xml服务mysql_mondrian与java工程的集成
  11. IBM TPM2.0 模拟器
  12. [K/3Cloud] 调用其他界面时通过Session传递对象参数
  13. 各种格式PPC手机软件的安装方法
  14. 永洪BI-通过传输参数控制页面显示多少数据量
  15. 学C++就学服务端,先把apue和unp两卷看了,接着libevent,出来找工作应该没问题
  16. 【ABAP】销售订单修改税率
  17. 伪随机生成器具体实现——杂乱的方法
  18. 【深度学习】ResNet50
  19. 商务礼仪——尊重、适合、适合的尊重
  20. python代码画海绵宝宝步骤图解_简笔画教程 | 有一种回忆叫做海绵宝宝

热门文章

  1. SQL优化(二)-- 慢查询
  2. 关于面试,我也有说的
  3. Java联网技术之一HTTP
  4. WCF 第八章 安全
  5. 也谈表达式分析和计算
  6. 量子力学 一 基础6 厄尔米特算符的相容性
  7. VC++更改鼠标指针为系统预定义形状和自定义形状
  8. C++ NULL指针学习 - Win32版本
  9. .Net装箱拆箱编程实例
  10. 理解Promise (4)