| ||
随着集成电路工艺技术的不断进步,今天的集成电路产品具有体积小,集成度高,性能好等特点。一个合格的集成电路产品不仅要实现特定的功能,更要在满足一定性能要求的前提下功能正确。而在130nm及以下的工艺中,人们越来越多的观测到这样一个问题:低频时钟的时候,制造出的芯片功能正确;但当提高到一定程度时就会导致芯片不能正常工作。这种性能相关,导致芯片产品不能满足时序设计需求的制造缺陷正越来越成为影响芯片质量的主要因素之一。
Transition Delay VS Path Delay
传统的stuck-at故障模型已不能充分覆盖这一类问题,因而新的delay故障模型应运而生。对delay故障模型求解的结果就是产生出所谓的at-speed测试向量。此类测试向量的应用对减少芯片DPM(Defect Per Million),提高产品良率有着非常明显的效果。本文的重点不是介绍at-speed测试向量,而是通过对两类主流的delay故障模型的比较,让读者更好得了解相关问题,并彻底掌握delay故障模型。
Transition delay和path delay是业界广泛采用的两种delay故障模型。下面我们就从不同的方面来比较剖析这两种故障模型。
1、模型定义
Delay故障是一个很直观的概念,它是指在芯片某区域的过度延迟导致其不能在一个系统时钟周期内完成数据的传递。
Transition delay模型是模拟CUT(circuit under test)中某一node上的过度延迟,该延迟大到令所有经过其的时序路径都不能在系统时钟周期内完成数据的传递。在具体实现中,定义中的node通常是指gate的输入输出信号。
Path delay模型则是模拟时序路径上的gate及连线的累积delay。相比较transition delay模型,Path delay更接近于芯片中的实际问题。
2、故障集
Transition delay模型是着眼于gate输入输出端的缺陷,因此它的故障集是与设计中gate的数量成正比关系。
而path delay模型的故障集,在极端情况下,与设计中的连线数量成指数关系。如此庞大的问题集成为制约path delay模型被广泛采用的主要瓶颈。
3、求解
对delay故障求解的过程也是非常直观。以path delay为例,我们就是想知道目标path能不能在一个系统周期完成数据的传递。首先需要两个连续的at-speed时钟cycles。 在第一个时钟上升沿令path的起点产生一个跳变(例如0->1),在第二个时钟上升沿,如果能在终点捕捉到跳变后的值(这里是1),那么目标path能在一个系统周期完成数据传递,反之则该path有path delay故障。
对transition delay故障求解的过程也非常类似。 区别在于: 在第一个at-speed cycle,只需要在目标故障点处产生一个跳变, 之后该跳变可以沿任意经过该故障点的path传递到终点。如果在第二个cycle不能在传输path的终点观测到跳变后的值,目标故障点有transition delay故障。
很显然,path delay故障模型的求解过程更为复杂困难。
4、效率
如前所述,path delay模型更贴近实际问题的本质。如果有足够的测试向量能覆盖所有的path delay故障,这肯定是一个完备的,能覆盖芯片中所有的delay缺陷的测试向量集。
但是通过之前的讨论,这样的测试向量集是根本不可能得到的。原因之一就是过于庞大的故障集合,解其所花费的时间是不可能接受的。另一个重要原因就是求解过程过于复杂,很多时候甚至是无解,使得测试的coverage过低。
Transition delay故障模型恰恰避免了上述问题。但它也有着趋吉避凶的本性,在求解的过程中更容易沿着相对简单的路径来推导出答案,而忽略了我们真正在意的问题路径。
5、应用
在实际的芯片设计项目中,transition delay故障模型被广泛采用来检测delay故障。这与我们上述的分析是一致的。
但是,很多情况下,path delay故障模型也被认为是对transition delay的有益补充。
它们往往被应用在设计中的timing critical路径,而这些路径往往被transition delay所忽略。
至此大家应该对本文所提及的两种delay故障模型有了清楚的认识和很好的掌握,在后续的微信公众号文章中我们会为大家进一步介绍at-speed测试向量的产生过程和产生方法。