可测试性设计技术:ATPG篇 Fault Classes(2)

发布于:2022-11-29 ⋅ 阅读:(529) ⋅ 点赞:(0)

Fault Classes


除了上文提到的UT外,Fault还有另一大类也是我们更加关心的一类TE,即可以检测到的fault。工具在计算test coverage时并不会将UT计算进去,而是计算detect到的fault的数量以及可能detect到的fault占所有fault中除去不可测试的fault的比值,所以提高coverage主要从AU、UD入手。全部Fault的关系如下图所示:
Fault Class Hierarchy

TE(testable)

DT(detected)

所有ATPG可以检测到的fault都被归为DT,主要包括以下两类:

  • DI(detect implication)
    使用write_pattern产生的pattern就可以将这些点cover到,不需要专门针对这些点产生test pattern,工具在执行scan chain分析时就发现的fault,通常是扫描链中的fault。
  • DS(detect simulation)
    当工具进行fault simulation时检测到的fault归为DS,此时对产生的pattern去看fault simulation的结果,对比good circuit和actual circuit的simulation的结果,如果不同则说明这个fault可以被detect到。
    Fault Detection Process

Scan chain能cover到的都是DI类型的fault,推的pattern能cover到的是DS类型的,DT=DI+DS。
另外针对path delay的测试还会有以下两类:

  • DR(robust detected faults)
    鲁棒性检测,来检测电路容忍噪声的能力。
  • DF(functionally detected faults)
    功能性检测,放宽了对路径门控的要求,既不需要像鲁棒性测试那样稳定,也不需要像非鲁棒性测试那样在capture阶段敏感,只要求门控输入不阻碍沿路径传输的转换。

PD(possible detected)

在fault simulation中可能被检测到又不一定被检测到的fault,比如multi-driven的情况,一个点有两个输入,一个输入是0/1不确定的,另一个是1,那么这个点可能是1/X,可能能测到fault也可能测不到。
默认情况下会设定50%的概率用来计算,如果想要更改可以通过set_possible_credit命令来修改。

  • PT(possible detect testable)
    潜在的可检测到的fault。
  • PU(possible detect untestable)
    ATPG untestable和难以检测的fault。

AU(ATPG untestable)

ATPG无法产生检测到这部分fault的pattern,但又不能证明这部分fault是冗余的,会将这种test point归为AU。引起这部分情况的原因有很多,通常是约束引起的,约束阻止ATPG去产生pattern检测到这部分fault,或者是针对non-scan cell设定的clock sequential depth不足等等。

UD(undetected)

  • UC(uncontrolled)
    在test pattern生成之前,所有的testable fault都被定义为UC,无法将特定fault设置为需要状态的点也会被设为UC。
  • UO(unobserved)
    如果在fault point不能被propagate到一个可观测的点会被归为UO,如果一个点既不可控又不可观测会被归为UC。
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到