用于分析扫描链和确定扫描链中的保持时间故障的数目或位置的方法

文档序号:7515897阅读:131来源:国知局
专利名称:用于分析扫描链和确定扫描链中的保持时间故障的数目或位置的方法
用于分析扫描链和确定扫描链中的保持时间故障的数目或
位置的方法
背景技术
随着技术节点缩小,在为了测试目的而被添加到器件中的扫描链中发现了更多的 缺陷。这是由于本文献中描述的若干个原因而引起的。为了将新的集成电路投入市场,并 且使产率上升到可接受的水平,需要新的方法和装置来识别扫描链缺陷。扫描链是测试和产率提升的关键项。当它们损坏时,它们将被测器件(例如,芯 片)归入失败种类(fail bin)(添加到产率损失问题)并且它们掩蔽并阻止对源自组合、 时序、电力分布或时钟逻辑的其他失败的及时、精确的评估。面向测试设计(design for test,DFT)或扫描方法的方式是利用扫描触发器来替 换设计中的所有触发器。扫描触发器(或扫描单元)提供进入每个触发器的两条路径一 条路径用于设计的任务,另一路径辅助测试。扫描触发器的两种最常见方式是MUXD和LSSD方式。MUXD方式在触发器的D输入 的前端放置复用器(mux)。去往mux的选择信号(被称为扫描使能)判定是使用mux的任 务模式输入还是扫描测试输入。LSSD方式使用多个非重叠时钟其中的一对操作用于传播 任务数据的分离的主锁存器和从锁存器;另一对操作分离的主锁存器和从锁存器以产生扫 描移位操作。在LSSD方式的情况下,整个扫描移位和采样操作可以利用仅一对时钟或者利 用所有时钟的组合来进行。通过将DUT的扫描触发器(或扫描单元)缝合到被称为扫描链的一个或多个移位 寄存器中,每个触发器可被预设或观察。这使得可以构建将集中于找出DUT的子电路中的 故障的测试式样。进一步的描述性评论将专注于MUXD型扫描,因为它描述起来更容易和简单。在 MUXD型扫描中,每个扫描触发器具有两条输入路径,这两条路径受触发器的D输入处的mux 的控制。当扫描使能被断言(assert)时,扫描链作为移位寄存器操作。这允许了每个触发 器被设定到特定的状态。它还允许了在值从器件移出到扫描输出上的同时观察每个触发器 的状态。电平敏感型扫描设计在Storey et al.,〃 Delay Test Simulation",14th Design Automation Conference Proceedings, pp. 492-494 (June 1977)和美国专利 3,783,254 和 4,293,919 中公开。对于扫描链中的缺陷(或故障),有若干种一般接受的模型阻塞链(blocked chain)、桥接(bridging)和保持时间(hold time)。阻塞链-此状况是通过在处于扫描模式中时观察扫描输出来确定的。如果不论移 位到链中的数据如何,输出都处于固定电平,则链在一个或多个点处被阻塞,并且最接近扫 描输出的阻塞主导着从该链观察到的内容。故障模型一般是扫描链的输出从位于阻塞点处 的时序元件起固着在0或固着在1。桥接-桥接故障是当经过一条扫描链的数据能够修改另一扫描链中的数据或者 同一扫描链中的不同位置处的数据时的数据依赖状况。所怀疑的机制是当所涉及的两个信 号处于相反值时所实行的“侵略者_受害者”短接或桥接。
保持时间-保持时间故障是允许来自一个触发器的数据在链中向前移动的状况。 保持时间故障归因于若干个因素,包括与触发器的时钟到Q时间和时钟偏斜(Clock skew) 相比的长导线路径。当在输出处产生的数据仍在切换但看起来却是偏斜的时(响应正确但 在时间上有移位),或者当缺失了比特时(数据拖尾或比特跳过),则怀疑出现了这种状况。 总体上,保持时间故障可被看作“意外加密”。如果在扫描输入处施加的比特的数目不匹配 扫描输出上的数据,则有可能存在保持时间故障。在一些情况下,保持时间故障使得扫描链 看起来拥有的触发器比其实际拥有的少。保持时间是扫描链中的两个相邻单元之间的数据通信故障,其中最接近扫描输入 的比特是侵略者单元,而最接近扫描输出的比特是受害者单元。当保持时间故障存在时,受 害者单元的数据值被侵略者单元的数据值所替换。由此得到的数据流两次显示侵略者的数 据,而受害者的数据则丢失了。存在三类常见的保持时间故障。标准保持时间故障_当两个数据状态(侵略者和受害者)都被不正确地传达时, 产生模拟扫描链中的缺失的触发器的失败签名。数据1保持时间故障_当侵略者单元的数据是逻辑1时,其数据被前拉一个位置, 覆盖了受害者的数据。由此得到的失败签名具有太多的1。数据0保持时间故障_当侵略者单元的数据是0时,其数据被前拉一个位置,覆盖 了受害者的数据。由此得到的失败签名具有太多的0。通常,为了确保扫描链测试逻辑可操作,将在执行器件的功能逻辑测试之前对扫 描链测试逻辑执行测试。对扫描链测试逻辑的这些测试通常被称为扫描链完善性测试。最 常见的方式是在扫描输入处发送一系列的1和0。在扫描使能被断言的情况下,扫描链实质 上是一个大的移位寄存器。随着扫描使能持续被断言,功能逻辑被从测试中移除。在η个 时钟周期之后(其中η等于链中的扫描单元的数目),如果扫描链操作正确,则将在扫描输 出上观察到输入流。如果扫描链没有可靠地将数据从扫描输入传送到扫描输出,则整个扫描方法失败 了。用于加载链的输入数据和用于卸载链的输出数据都受到了干扰。这通常表明其自身为 扫描链完善性失败。这使得扫描链看起来比其实际情况要短至少一个触发器。时钟偏斜问 题可能由于诸如定时闭合之类的设计问题或者诸如故障通孔或弱时钟树缓冲器之类的制 造缺陷而引起。在纳米几何条件中,它通常是由两者的组合引起的,从而由于保持时间问题 而导致产率损失。由当今的ATPG工具产生的传统链完善性式样被实现为“0-0-1-1-0-0-1-1”序列 的重复流。该序列具有每隔一个向量改变的数据。因此,具有标准保持时间故障的器件看 起来被移位了一个比特,并且最后的比特是不确定的。被移出的最后的比特不是式样的一 部分;它是当扫描输出序列被施加时在扫描输入管脚上的状态。参见图1。注意,具有单个 标准保持时间故障的失败签名基本上是通过-失败-通过-失败。通常,保持时间故障是定时敏感的。即,由于触发器的Q输出的上升时间和下降时 间是不对称的,所以保持时间故障可能导致触发器有能力传送一个数据状态,但不能传送 另一个。这种失败可能由于Q输出的上升时间比下降时间更慢导致。图2所示的示例假定单个保持时间故障,其中“0”是侵略者状态,“1”是受害者状 态。当器件在单个链上具有多个保持时间故障时,数据对于每个故障移位一个周期。较小几何条件的器件在单个链上具有多个保持时间故障是很常见的。在标准的00110011式样 的情况下,链可能使数据移位4个位置,结果式样实际上通过了扫描链测试。如前所述,在面向测试设计方法中,触发器具有双重功能。在正常或功能模式期 间,它们锁存电路中的数据状态并且存储将被发送到设计中的下一片逻辑的值。在测试模 式期间,它们被用于向组合逻辑提供测试激励,并且捕捉逻辑运算的结果。为了将测试式样 传送到被测器件中和传送出被测器件,触发器被重配置为一个或多个串行移位寄存器。如果两组寄存器之间的逻辑的量太大,以至于数据没有传播经过逻辑并且没有在 扫描链被钟控(clock)之前所允许的建立时间(setup time)内在一触发器的输入处变得 稳定,则可能发生一种被称为建立背离(setupviolation)的设计问题。当发生这种问题 时,被钟控到触发器中的结果可能是无效的。这是通过与术语“定时分析”相关联的设计方 法和工具来解决的。在期望的扫描式样被加载到一个或多个扫描链中之后,扫描使能不被断言,并且 器件的逻辑在任务模式中被钟控一次或多次。逻辑运算的结果在器件的扫描触发器中被捕 捉。希望将此结果带出被测器件,以便其能够被测试系统所检查。这是通过使触发器回到 串行移位模式,并随后施加足够的时钟以将某一数目的扫描链中的每一比特移出(一个或 多个)扫描输出端口来完成的。大多数设计都有一些扫描链比其他的长,因此对于甚至最 长的扫描链也足够多次地移位数据以使之被完全卸载,是很重要的。更短的链被过度移位, 因此被填充以χ(不关心)状态。在数据被移入时也应用同样的技术,其中较短的链通常在 实际数据流之前被预填充以虚设的“0”数据。此时,通常通过扫描输入端口移入新的测试 式样。在传统的扫描寄存器的实现中,为了建立时钟事件以及状态改变,需要电荷流动 或者电流。器件的传导介质的缺陷可能降低电流速率,使得状态改变或时钟事件可能相对 于其期望时间有所延迟。另外,时钟信号必须被分布在整个芯片上,并且需要缓冲器来推升 电流。任何两个时钟信号在到达其寄存器方面可能具有差异,这被称为时钟偏斜,并且可通 过调整缓冲器大小和承载时钟信号的导线的选路来管理。作为保持时间故障的影响的一个示例,考虑长度为8(即,8个比特位置、触发器或 扫描单元)的扫描链,其中比特零(0)最接近扫描输出端口,并且比特七(7)最接近扫描输 入端口。在一功能时钟之后,在扫描链的八个寄存器内完全捕捉了器件的逻辑的状态,如 下V(O) V(I) V(2) V(3) V(4) V(5) V(6) V(7)在正确的移位寄存器中,八个比特中的每一个被顺序地移出,并且以I(O)开始的 新的测试式样被移入。但是,设想比特六(6)表现出保持时间故障。在第一移位时钟上, V(O)被从扫描输出端口发射出。然而,比特六(6)处的故障使得其在此第一移位期间捕捉 V(7)而不是V(6)。在施加八个移位时钟后,在扫描输出处捕捉到的式样将为V(O) V(I) V(2) V(3) V(4) V(5) V(7) I(O)另外,考虑上述扫描链的输入测试式样的损坏,其看起来可能是I(O) I(I) 1(2) 1(3) 1(4) 1(5) 1(7) I(N)可以认识到,扫描链传统上可包括10,000个寄存器(即,触发器或单元),并且即 使小于的表现出保持时间故障,也可能使扫描链中的数百个比特无效。
8


本发明的示例性实施例在附图中示出,在附图中图1示出了第一示例性保持时间故障;图2示出了第二示例性保持时间故障;图3示出了耦合到示例性的被测器件的示例性测试系统;图4示出了用于确定扫描链中的保持时间故障的数目的第一示例性方法;图5示出了用于确定扫描链中的至少一个保持时间故障的位置的第一示例性方 法;图6示出了用于分析扫描链的第一示例性方法;图7示出了用于分析扫描链的第二示例性方法;图8示出了用于确定扫描链中的保持时间故障的数目的第二示例性方法;并且图9示出了用于确定扫描链中的至少一个保持时间故障的位置的第二示例性方法。注意,在以下描述中,不同附图中出现的相似标号指代相似的元件/特征。因此, 通常将不会针对每幅附图详细描述出现在不同附图中的相似元件/特征。
具体实施例方式在描述用于确定一个或多个扫描链中的保持时间故障的数目或位置的多种新颖 方法之前,将公开示例性的被测器件300、扫描链314、316以及测试系统312。图3示出了 包括两个扫描链314、316的示例性电路300 (或被测器件(DUT)),这两个扫描链中的第一个 包括一系列四个触发器302、304、306、308,这些触发器与电路300的组合逻辑310互连。为 了简单,组合逻辑310被包封在黑盒中。作为示例,每个扫描链314、316是通过在相应触发 器302、304、306、308的数据输入(D)之前添加信号复用器来创建的。被称为扫描使能(SE) 的单个控制信号被添加来控制这些复用器的选择。或者,扫描链314、316也可以通过其他 方式来创建,例如利用LSSD技术来创建。当SE信号为低时,电路300正常工作,即输入到触 发器302、304、306、308的数据来自组合逻辑310。当SE信号为高时,每个触发器302、304、 306、308的输入连接到另一触发器的输出或者电路300的外部扫描输出(SO)管脚。输入到 扫描链中的第一触发器302的数据还被带出到电路300的外部管脚(S卩,扫描输入(Si)管 脚)。在将测试(或分析)式样移入扫描链314中之后,在一个周期期间使SE信号为低,并 且在触发器302、304、306、308中捕捉由于所移入的测试式样而产生的组合逻辑310的数据 输出。随后SE信号返回到高,并且所捕捉的数据结果被移出SO管脚并被测试系统312与 预期结果相比较。组合逻辑310中的任何操作缺陷将使得数据输出序列的一个或多个比特 与预期结果不同。示例性的测试系统312能够对器件300执行结构测试(也称为扫描测试或DFT测 试),并且在一些情况下可能能够对电路300执行功能测试。数据式样存储器被加载了要被 施加到器件300的测试式样以及预期将从器件300读取的数据式样。测试系统300可具有 一种可选择模式,用于1)每当有差错发生时(例如,当输出数据状态不同于预期数据状态 时)终止测试,或者2)完成整个式样集并且记录所观察到的所有差错。为了完成这一点,测试系统需要具有数据捕捉存储器。该存储器可记录数据周期计数和观察到差错的输出管 脚。数据捕捉存储器的另一模式是记录从器件300的扫描输出读取的原始(实际)状态。图4-9示出了用于分析被测器件(DUT)的扫描链的各种示例性方法400、500、600、 700、800、900。这些方法是为了针对保持时间故障分析扫描链而特别定制的,但也可用于针 对其他类型的故障分析扫描链。图4示出了用于确定扫描链中的可能的保持时间故障的数目的示例性方法400。 方法400包括判定一扫描链是否是用于保持时间故障分析的良好候选者(在块402),并且 如果是,则利用某一数目的扫描测试的结果来确定该扫描链中的可能的保持时间故障的数 目(在块404)。用于确定可能的保持时间故障的数目的示例性方法将在本说明书中稍后部 分论述。图5示出了用于确定扫描链中的至少一个可能的保持时间故障的位置的示例性 方法500。方法500包括判定一扫描链是否是用于保持时间故障分析的良好候选者(块 502)。如果是,则该扫描链表现出保持时间故障行为处的环境变量的值被记录(作为环境 变量的第一值)(在块504)。该环境变量随后被设定为一个或多个不同的值,并且判定是否 存在该环境变量的第二值,在该第二值上,扫描链在不表现出保持时间故障行为的情况下 操作(在块506)。如果判定存在该第二值,则某一数目的扫描测试的结果被用于确定扫描 链中的至少一个可能的保持时间故障的位置(在块508)。该某一数目的扫描测试是利用该 环境变量的第一值和第二值来执行的。用于确定扫描链中的至少一个可能的保持时间故障 的位置的示例性方法将在本说明书中稍后部分论述。方法500改变的环境变量可以采取各种形式,并且在一些情况下可包括以下各项 中的一个或多个电源电压、温度或者扫描移位时钟速率。发明人所做的实验表明,在一些 情况下,提高或降低扫描链(或者整个DUT)的电源电压可改变扫描链的内部定时,改变程 度足以产生或消除保持时间问题。温度和扫描移位时钟速率(图3中的CK速率)也可以 影响内部定时并且对扫描链的有效操作做出贡献。图6示出了用于组合并实现图4和5所示的方法400、500的示例性方法600。方 法600开始于一扫描链被置于移位模式中(在块602)。然后,对于环境变量的一个或多个 值中的每一个(参见块604),方法600反复进行一系列步骤。在块606,将一非恒定序列式样移经扫描链,并且观察扫描链的输出(在块608)。 “非恒定序列式样”在这里被定义为包括至少两个逻辑状态的式样。优选地(但并非一定), “非恒定序列式样”还包括两个或更多个逻辑状态之间的频繁转变。“非恒定”不意味着式 样必须没有重复。在块610,判定该非恒定序列式样是否在预期的时间从扫描链输出。如果是,则扫 描链被识别为在该环境变量的特定值上是“正常的”(在块612)。如果否,则方法600前进 到步骤614。在块614,判定扫描链的输出是否切换。当非预期的切换式样从扫描链输出时 (即,块614的答案是“是”),则扫描链是保持时间故障分析的良好候选者。当水平线式样 从扫描链输出时,扫描链被识别为“水平线式”(在块616)。“水平线式样”在这里被定义为 由连续的一系列具有单个逻辑状态的比特构成的式样(例如,全都为逻辑1,或者全都为逻 辑0)。响应于非恒定序列式样输出水平线式样的扫描链通常被阻塞了(例如,因为接地短 路)。
10
保持时间故障分析开始于判决块618,并且包括判定扫描链是否在该环境变量的 任何值上都输出该非恒定序列式样。如果扫描链未能在该环境变量的任何值上都输出该非 恒定序列式样,则基于第一数目的扫描测试的结果来确定扫描链中的可能的保持时间故障 的数目(在块620)。然而,如果扫描链确实输出了该非恒定序列式样,则基于第二数目的扫 描测试的结果来确定扫描链中的至少一个可能的保持时间故障的位置(在块622 ;并且优 选地确定所有保持时间故障的位置)。第二数目的扫描测试是利用该环境变量的第一和第 二值来执行的。方法400、500和600的步骤只是示例性的,并且存在对方法400、500、600的各种
置换。在一些情况下,额外的步骤可被插入到方法400、500、600中,并且在相同或不同的情 况下,步骤的执行顺序可被改变。图7示出了方法600的置换700,其中,当扫描链输出非预期的切换式样(并因此 是保持时间故障分析的良好候选者)时,无论扫描链是否在该环境变量的任何值上都输出 该非恒定序列式样,都确定扫描链中的可能的保持时间故障的数目(在块702)。在公开用于确定可能的保持时间故障的数目或位置的示例性方法之前,将介绍 “背景式样”的概念。背景式样是至少η个连续比特的式样,其中η是所分析的扫描链的长 度。因为具有可能的保持时间故障的扫描链无法在数据改变时被可靠地加载或卸载,并且 因为这种扫描链的长度看起来是不一致的,所以希望在向扫描链加载分析式样(即,将为 其观察扫描链的输出的那个式样)之前向该扫描链加载背景式样。背景式样用于冲刷掉扫 描链中的未知的数据转变。取决于跟随背景式样之后的分析式样的类型,背景式样例如可 以是至少η个连续的逻辑1比特,或者至少η个连续的逻辑0比特。在一些情况下,背景式 样也可以跟随分析式样之后,以确保侵略者比特不会破坏分析式样。论述了背景式样的概念后,图8示出了用于确定扫描链中的可能的保持时间故障 的数目的示例性方法800。作为示例,方法800可以作为执行图4、6或7所示的方法400、 600,700中的任何一个的结果而执行。方法800开始于将扫描链的环境变量设定为被认为会导致扫描链中的保持时间 故障的值(在块802)。然后,一式样被移经扫描链(在块804)。该式样包括至少η个连续 的第一逻辑状态的比特的背景式样,后跟至少一个第二逻辑状态的比特,其中η是该扫描 链的长度。在将该式样移经扫描链的同时或者之后,可以按照以下两项之间的差异来确定 扫描链中的可能的保持时间故障的数目i)预期该至少一个比特引起扫描链的输出处的 转变时的时钟周期,和ii)该至少一个比特实际引起扫描链的输出处的转变时的时钟周期 (在块806)。换言之,因为保持时间故障使得数据能够太迅速地传播经过一个或多个扫描 单元,所以方法800确定“第二逻辑状态的至少一个比特”引起扫描链的输出处的转变的时 间“早” 了多少个时钟周期。如果该第二逻辑状态的至少一个比特在预期的时间引起转变, 则扫描链可能不具有保持时间故障;而如果该第二逻辑状态的至少一个比特太晚地引起转 变,扫描链则可能具有不是保持时间故障的故障。虽然跟随第一逻辑状态的背景式样之后的“第二逻辑状态的至少一个比特”可能 仅由单个比特构成,但是为了鲁棒性(以及与传统的扫描链加载过程的兼容性),优选将 “第二逻辑状态的至少一个比特”配置为第二逻辑状态的至少η个连续的比特。方法800如前所述使得能够确定一个“极性”的保持时间故障的数目(例如,上升沿或逻辑0到1故障的数目或者下降沿或逻辑1到0故障的数目)。然而,方法800可被扩 展为使能确定上升沿保持时间故障的数目与下降沿保持时间故障的数目。例如,在一个实 施例中,根据方法800移经扫描链的式样可包括第一逻辑状态的2η比特,后跟第二逻辑状 态的2η比特,后跟第一逻辑状态的η比特。在此实施例中,在将该式样移经扫描链的同时或 之后,可以按照以下两项之间的差异来确定上升和下降沿保持时间故障的数目i)预期相 应边沿从扫描链输出时的时钟周期,和ii)相应边沿实际从扫描链输出时的时钟周期。移 经扫描链的式样具有初始的第一逻辑状态的2η比特,因为链中的保持时间故障可能使得 扫描链的“表观”长度改变,而2η比特使得更有可能完整地清洗扫描链。在公开用于确定可能的保持时间故障的位置的示例性方法之前,将论述用于确定 环境变量的第一和第二值的示例性方法。第一值是在扫描链中观察到保持时间故障行为时 的值,第二值是在扫描链中未观察到保持时间故障行为时的值。在一些情况下,可以通过简单地从用户接收环境变量的第一和第二值来确定它 们。例如,用户可以通过经由计算机的用户界面输入这些值或者通过将其保存在电子文件 中来提供它们。用户可以基于怀疑或者知道第一值使得扫描链表现出保持时间故障行为而 第二值则不,来提供这些值;或者用户可以基于第一值是“目标值”(或者对于该扫描链在 该环境变量的正常操作范围内)并且基于第二值对于该扫描链在该环境变量的正常操作 范围之外,来提供这些值。可以注意确保第二值虽然在环境变量的正常操作范围之外,但却 在预期不会毁坏扫描链的范围内。在其他情况下,可以利用诸如方法600 (图6)之类的方法来识别环境变量的第一 或第二值。即,对于环境变量的多个值(即,两个或更多个值)中的每一个,可将该非恒定序 列式样移经扫描链以判定该非恒定序列式样是否在预期的时间从扫描链输出(在块606、 608,610,614)。该环境变量的第一值随后可被识别为这多个值中使得扫描链输出非预期的 切换式样的一个值(或者目标值,或者在扫描链的正常操作范围内的值)(在块618)。该环 境变量的第二值可被识别为这多个值中使得该非恒定序列式样在预期时间从扫描链输出 的一个值(在块610)。在一些实施例中,方法600在块604内的步骤可对于环境变量的从低于目标值开 始并随后增大的值顺序重复。在其他实施例中,块604内的步骤可对于环境变量的从高于 目标值开始并随后减小的值顺序重复。在任一情况下,对其重复块604中的步骤的环境变 量的那些值可以通过根据步长步进(或扫过)环境变量的值来确定。该步长可被选择为提 供用于判定是否存在第一和第二值的足够分辨率。或者,环境变量的这些值可以随机选择 或者基于关于什么值可行的知识来选择。优选地,方法600的块604内的步骤对于环境变量的每个值被重复多于一次,以确
保结果是可重复的。识别环境变量的第一或第二值的另一种方式是通过对于环境变量的不同值执行 诸如方法800之类的方法。第一值随后可被识别为使得扫描链输出在预期时间(或时钟周 期)之前转变的值,并且第二值可被识别为使得扫描链输出在预期时间转变的值。在论述了用于确定环境变量的适当的第一和第二值的各种示例性方法之后,现在 参考图9,其示出了用于确定扫描链中的可能的保持时间故障的数目的示例性方法900。作 为示例,方法900可以作为执行图5、6或7所示的方法500、600、700中的任何一个的结果而被执行。方法900的执行假定了扫描链的环境变量可被交替设定为第一值和第二值,其中 第一值被认为导致了扫描链中的保持时间故障,而第二值被认为不导致扫描链中的保持时 间故障。在此上下文中,方法900开始于将至少一个扫描式样移入扫描链中,同时环境变量 被设定为第二值(在块902,其中N是要被移入扫描链中的扫描式样的数目)。对于被移入 扫描链中的每个扫描式样,在将特定的扫描式样移入扫描链中之后(参见块904),环境变 量被临时设定为第一值(在块906)。扫描链随后在环境变量的第一值上被钟控至少一次 (在块908)。随后,环境变量被返回到第二值,并且在环境变量保持在第二值的同时,该特 定扫描式样被移出扫描链(在块910)。以逐比特的方式,被移出扫描链的每个特定的扫描 式样被与预期的扫描式样相比较,以识别出比特差异的至少一个位置(在块912)。每当识 别出比特差异时,就基于该差异来识别出可能的保持时间故障的新位置(在块914)。因为方法900在环境变量的安全值(S卩,第二值)上将数据移出扫描链,所以当扫 描链在环境变量的第一值上被钟控(即,在环境变量的被认为导致扫描链中的保持时间故 障的值上被钟控)时,失败的比特表明数据的误传送。优选地,背景式样的加载被用于在加 载为其观察扫描链的输出的每个扫描式样之前清洗扫描链中的不合需要的数据。通常,根据方法900被移经扫描链的一个或多个式样可基于链完善性式样,例如 重复的00110011式样。因为方法900引入了至少一个额外的时钟,所以当扫描链在环境变量的第一值上 被移位时,扫描链的输出处预期的(一个或多个)扫描式样将减少至少一个比特。这是因 为如下事实所加载的式样的开头的一个或多个比特是在(一个或多个)额外时钟期间而 不是在正常的卸载过程期间被移出的。从而,对于偶数奇偶性的扫描链,以下式样被加载和 预期加载的式样00110011预期的式样0110011因为保持时间故障可能对某些数据转变发生而不对其他数据转变发生,所以方法 900可被配置为确保在扫描链在环境变量的第一值上被钟控时扫描链中的每个扫描单元经 历逻辑零到一 (0-1)、逻辑一到一 (1-1)、逻辑一到零(1-0)和逻辑零到零(0-0)转变。在 一个实施例中,这是通过使重复的00110011式样的不同相位移经扫描链,随后对于每个相 位的式样,在环境变量的第一值上仅对扫描链钟控一次,来实现的。更具体而言,不同的相 位为第一相位00110011( S卩,十六进制的3)第二相位01100110 ( S卩,十六进制的6)第三相位11001100 ( S卩,十六进制的C)第四相位10011001 ( S卩,十六进制的9)相位的命名规则和应用这些相位的顺序,是不重要的。给定以上示例性相位式样,以及偶数奇偶性的扫描链,则以下式样被加载和预 期第一相位加载式样00110011第一相位预期式样0110011
第二相位加载式样01100110第二相位预期式样1100110第三相位加载式样11001100第三相位预期式样1001100第四相位加载式样10011001第四相位预期式样0011001以上相位式样只是示例性的,其他式样也可用于确保在扫描链在环境变量的第一 值上被钟控时扫描链中的每个扫描单元经历逻辑零到一(0-1)、逻辑一到一(1-1)、逻辑一 到零(1-0)和逻辑零到零(0-0)转变。通过将方法900配置为使扫描单元经历所有可能的 逻辑转变,方法900使得能够确定所有可能的保持时间故障的位置,不论保持时间故障的 极性如何。注意,重复的式样的长度应当大于扫描链中的可能的保持时间故障的数目,以防 止重复的式样的副本自相折叠。虽然通常通过用非恒定序列式样填充扫描链来提高识别保持时间故障的位置的 速度,但是向扫描链的预期到或检测到保持时间故障的特定区域施加短数据序列,有时候 是有帮助的。例如,在环境变量的第一(或不安全)值上在一个或多个周期期间被钟控经 过扫描链的一个区域的具有1000010000式样的单个前景向量的零的背景,有时候可以检 测数据敏感性。这里公开的方法400、500、600、700、800、900可被应用到具有多个扫描链的DUT。 在这种情况下,多个(或所有)扫描链可以被并行地加载了背景或分析式样。然而,有时候 必须通过向所有扫描链加载背景式样并随后仅向一个扫描链加载分析式样,来隔离保持时 间故障的数目或位置。另外,如果扫描链的长度不相等,则可能必须用“不关心”比特来预 填充或后填充一些扫描链。在这些情况下,通常希望使“不关心”比特将这些比特的状态匹 配到背景式样。当方法500、600、700或900被应用到具有多个扫描链的DUT时,环境变量的不同
的“第二值”(或安全值)可被确定或用于不同的扫描链。这里公开的方法400、500、600、700、800、900可被应用到具有偶数或奇数奇偶性 的扫描链。当这些方法中的任何一个被应用到具有奇数奇偶性的扫描链时,方法400、500、 600,700,800或900在判定特定式样是否从扫描链输出时可以考虑式样反转。如前所述,这里公开的方法400、500、600、700、800、900使得能够确定扫描链中的 保持时间故障的数目或位置。通常,这可以帮助确定可能存在于DUT的时钟分布系统中的 缺陷的类型或位置。取决于其实现方式,方法400、500、600、700、800、900可提供各种优点。例如,这些
方法可被实现为以通用方式确定保持时间故障的数目和/或位置的自适应过程的一部分, 而不会对特定的DUT需要特定测试程序。这些方法还可被配置为使用传统的链完善性或固 着向量,这最小化或消除了对用于诊断保持时间故障的专用向量的需要。这些方法还可被 配置为提供实时分析。对于方法600和700,可以做出实时判决,并且可以基于对扫描链是“正常的”、“水 平线式的”或者是保持时间故障分析的良好候选者的判定,来修改方法600和700的流程。
14当扫描链被认为是保持时间故障分析的良好候选者时,可以依据扫描链在环境变量的不同 于目标值的值上是否正常操作,来发起不同类型的分析。方法400、500、600、700、800和900还可提供上升沿和下降沿保持时间故障的数目
和/或数据,这可以帮助确定这种故障的来源。在一些实施例中,方法400、500、600、700、800和900中的一个或多个可以在链完
善性测试失败之后被自动起动,或者在表明可能存在扫描链差错的其他通知之后被自动起 动。这里公开的方法400、500、600、700、800和900可以通过各种方式来实现,并且在
一些实施例中可以主要利用软件或固件来实现,该软件或固件可包括在被计算机或测试系 统执行时使得扫描式样的序列被施加到一个或多个扫描链的(一个或多个)扫描输入和 (一个或多个)扫描输出并被从其读取的指令。该软件或固件还可包括控制扫描测试的其 他变量的指令,所述其他变量例如是扫描使能(SE)的值和扫描时钟(CK)输入,以及(一个 或多个)扫描链的一个或多个环境变量的(一个或多个)值。该软件或固件可被存储在计 算机可读介质上。计算机可读介质例如可包括任意数目的固定或可移除介质(例如,一个 或多个固定盘、随机存取存储器(RAM)、只读存储器(ROM)或光盘)或其任何混合,其位于单 个位置或者分布在网络上。计算机可读介质还可包括编程的电路,例如现场可编程门阵列 (FPGA)。方法400、500、600、700、800和900还可利用硬件来实现,例如在扫描式样被从扫
描链的扫描输出读取时(或者在预期式样的情况下被提供到扫描链的扫描输出时)比较扫 描式样的硬件。另外,作为示例,基于硬件的计数器可用于确定扫描式样在扫描输出处导致 转变“早”或“晚” 了多少个时钟周期。方法500、600、700和900所采用的硬件还可包括式 样控制的电源,其可在式样控制下在第一和第二电压之间切换。在一些情况下,通过执行方法400、500、600、700、800和900获得的保持时间故障
的数目或位置可被保存到文件(例如STDF文件)并在以后被用户或下游分析软件所读取 或解释。或者,从方法400、500、600、700、800和900得出的数据可以立即以文本或图形格 式显示。例如,故障的数目或位置可以以文本的方式显示,或者故障的位置可被映射到所显 示的受影响的扫描单元的图像。
权利要求
一种用于分析被测器件的扫描链的方法,包括将所述扫描链的环境变量设定为第一值,并随后将一非恒定序列式样移经所述扫描链,以判定非预期切换式样是否从所述扫描链输出;将所述环境变量设定为第二值,并随后将所述非恒定序列式样移经所述扫描链,以判定所述非恒定序列式样是否在预期的时间从所述扫描链输出;以及至少当所述扫描链i)在所述环境变量的第一值上输出非预期切换式样而且ii)未能在所述预期的时间在所述环境变量的第二值上输出所述非恒定序列式样时,基于第一数目的扫描测试的结果来确定所述扫描链中的可能的保持时间故障的数目。
2.如权利要求1所述的方法,还包括当所述扫描链i)在所述环境变量的第一值上输 出非预期的切换式样而且ii)在所述预期的时间在所述环境变量的第二值上输出所述非 恒定序列式样时,基于第二数目的扫描测试的结果来确定所述扫描链中的至少一个可能的 保持时间故障的位置,其中所述第二数目的扫描测试是利用所述环境变量的第一值和第二 值来执行的。
3.如权利要求2所述的方法,其中确定所述扫描链中的至少一个可能的保持时间故障 的位置包括在所述环境变量被设定为所述第二值的同时,将至少一个扫描式样移入所述扫描链; 对于被移入所述扫描链的所述至少一个扫描式样中的每一个,在将特定的扫描式样移 入所述扫描链之后,将所述环境变量临时设定为所述第一值;并随后 对所述扫描链钟控至少一次;并随后在所述环境变量被设定为所述第二值的同时,将所述特定的扫描式样移出所述扫描链;以逐比特的方式,将被移出所述扫描链的每个特定的扫描式样与预期的扫描式样相比 较,以识别比特差异的至少一个位置;以及基于所述比特差异的至少一个位置,确定所述扫描链中的至少一个可能的保持时间故障的位置。
4.如权利要求3所述的方法,其中在确定所述扫描链中的至少一个可能的保持时间故 障的位置时将至少一个扫描式样移入所述扫描链包括将多个扫描式样移入所述扫描链,所述多个扫描式样具有确保当所述扫描链在所述环 境变量的第一值上被钟控时每个扫描单元经历逻辑零到一、逻辑一到一、逻辑一到零和逻 辑零到零转变的比特序列,从而使得无论保持时间故障的极性如何,都能够确定所有可能 的保持时间故障的位置。
5.如权利要求4所述的方法,其中,所述多个扫描式样包括重复的十六进制3、6、C和9 的式样。
6.如权利要求3所述的方法,其中对所述扫描链钟控至少一次包括对所述扫描链钟控 仅一次。
7.如权利要求1所述的方法,还包括当所述扫描链i)在所述环境变量的第一值上输 出非预期的切换式样而且ii)在所述环境变量的第二值上输出所述非恒定序列式样时,基 于第一数目的扫描测试的结果来确定所述扫描链中的保持时间故障的可能数目。
8.如权利要求1所述的方法,还包括当在所述环境变量的第一值上将所述非恒定序 列式样移经所述扫描链之后,i)当预期的式样从所述扫描链输出时,将所述扫描链识别为 “正常的”,以及ii)当水平线式样从所述扫描链输出时,将所述扫描链识别为“水平线式 的”。
9.如权利要求8所述的方法,还包括仅当所述扫描链在所述环境变量的第一值上输 出非预期的切换式样时将所述环境变量设定为所述第二值。
10.如权利要求1所述的方法,还包括从用户接收所述环境变量的第一值和第二值。
11.如权利要求1所述的方法,还包括通过以下步骤来识别所述环境变量的第二值 对于所述环境变量的多个值中的每一个,将所述非恒定序列式样移经所述扫描链,以判定所述非恒定序列式样是否在预期的时间从所述扫描链输出;以及将所述环境变量的第二值识别为所述多个值中使得所述非恒定序列式样在预期的时 间从所述扫描链输出的一个值。
12.如权利要求1所述的方法,其中,所述第一值对于所述扫描链在所述环境变量的正 常操作范围内,并且所述第二值对于所述扫描链在所述环境变量的正常操作范围之外。
13.如权利要求1所述的方法,其中,确定所述扫描链中的保持时间故障的数目包括 将所述环境变量设定为所述第一值;并随后使至少n个连续的第一逻辑状态的比特的背景式样及其后的至少一个第二逻辑状态 的比特移经所述扫描链;以及按照以下两项之间的差异来确定所述扫描链中的可能的保持时间故障的数目i)预 期所述至少一个比特引起所述扫描链的输出处的转变的时钟周期,和ii)所述至少一个比 特实际引起所述扫描链的输出处的转变的时钟周期。
14.如权利要求1所述的方法,其中,确定所述扫描链中的保持时间故障的数目包括 将所述环境变量设定为所述第一值;并随后使一式样移经所述扫描链,该式样是第一逻辑状态的2η比特,后跟第二逻辑状态的2η 比特,后跟第一逻辑状态的η比特,其中η是所述扫描链中的扫描单元的数目;以及按照以下两项之间的差异来确定上升沿保持时间故障的数目和下降沿保持时间故障 的数目i)预期相应边沿从所述扫描链输出的时钟周期,和ii)相应边沿实际从所述扫描 链输出的时钟周期。
15.如权利要求1所述的方法,其中,如果所述扫描链具有奇数奇偶性,则确定特定的 式样是否从所述扫描链输出包括考虑到式样反转。
16.如权利要求1所述的方法,其中,所述环境变量是电源电压。
17.如权利要求1所述的方法,其中,所述环境变量是温度。
18.如权利要求1所述的方法,其中,所述环境变量是扫描移位时钟速率。
19.一种用于分析被测器件的扫描链的方法,包括将所述扫描链的环境变量设定为第一值,并随后将一非恒定序列式样移经所述扫描 链,以判定非预期切换式样是否从所述扫描链输出;将所述环境变量设定为第二值,并随后将所述非恒定序列式样移经所述扫描链,以判 定所述非恒定序列式样是否在预期的时间从所述扫描链输出;以及当所述扫描链i)在所述环境变量的第一值上输出非预期切换式样而且ii)未能在所述预期的时间在所述环境变量的第二值上输出所述非恒定序列式样时,基于某一数目的扫 描测试的结果来确定所述扫描链中的至少一个可能的保持时间故障的位置,其中,所述第 二数目的扫描测试是利用所述环境变量的第一值和第二值来执行的。
20.如权利要求19所述的方法,其中,所述环境变量是电源电压。
21.一种用于确定被测器件的扫描链中的可能的保持时间故障的数目的方法,包括 将所述扫描链的环境变量设定为被认为将导致所述扫描链中的保持时间故障的值;并随后使一式样移经所述扫描链,该式样具有至少η个连续的第一逻辑状态的比特的背景式 样及其后的至少一个第二逻辑状态的比特,其中η是所述扫描链的长度;以及按照以下两项之间的差异来确定所述扫描链中的可能的保持时间故障的数目i)预 期所述至少一个比特引起所述扫描链的输出处的转变的时钟周期,和ii)所述至少一个比 特实际引起所述扫描链的输出处的转变的时钟周期。
22.如权利要求21所述的方法,其中被移经所述扫描链的式样包括第一逻辑状态的2η比特,后跟第二逻辑状态的2η比特, 后跟第一逻辑状态的η比特;并且确定所述扫描链中的保持时间故障的数目包括按照以下两项之间的差异来确定上升 沿保持时间故障的数目和下降沿保持时间故障的数目i)预期相应边沿从所述扫描链输 出的时钟周期,和ii)相应边沿实际从所述扫描链输出的时钟周期。
23.如权利要求21所述的方法,其中,所述环境变量是电源电压。
24.一种用于确定被测器件的扫描链中的至少一个可能的保持时间故障的位置的方 法,包括将所述扫描链的环境变量交替设定为第一值和第二值,所述第一值被认为导致所述扫 描链中的保持时间故障,并且所述第二值被认为不导致所述扫描链中的保持时间故障; 在所述环境变量被设定为所述第二值的同时,将至少一个扫描式样移入所述扫描链中;对于被移入所述扫描链中的每个扫描式样,在将特定的扫描式样移入所述扫描链中之后,将所述环境变量临时设定为所述第一值;并随后 对所述扫描链钟控至少一次;并随后在所述环境变量被设定为第二值的同时,将所述特定的扫描式样移出所述扫描链; 以逐比特的方式,将被移出所述扫描链的每个特定的扫描式样与预期的扫描式样相比 较,以识别出比特差异的至少一个位置;以及基于所述比特差异的至少一个位置,确定所述扫描链中的至少一个可能的保持时间故障的位置。
25.如权利要求24所述的方法,其中,将至少一个扫描式样移入所述扫描链包括将多个扫描式样移入所述扫描链,所述多个扫描式样具有确保当所述扫描链在所述环 境变量的第一值上被钟控时每个扫描单元经历逻辑零到一、逻辑一到一、逻辑一到零和逻 辑零到零转变的比特序列,从而使得无论保持时间故障的极性如何,都能够确定所有可能 的保持时间故障的位置。
26.如权利要求25所述的方法,其中,所述多个扫描式样包括重复的十六进制3、6、C和 9的式样。
27.如权利要求24所述的方法,其中对所述扫描链钟控至少一次包括对所述扫描链钟 控仅一次。
28.如权利要求24所述的方法,其中,所述环境变量是电源电压。
全文摘要
将扫描链的环境变量设定为被认为将导致保持时间故障的值,并且使一式样移经扫描链。该式样具有至少n个连续的第一逻辑状态的比特的背景式样及其后的至少一个第二逻辑状态的比特,其中n是扫描链的长度。按照以下两项之间的差异来确定扫描链中可能的保持时间故障的数目i)预期所述至少一个比特引起扫描链的输出处的转变的时钟周期,和ii)所述至少一个比特实际引起扫描链的输出处的转变的时钟周期。如果存在环境变量的某一值,在该值上扫描链正确操作,则可以确定保持时间故障的(一个或多个)位置。
文档编号H03K19/00GK101911491SQ200880123543
公开日2010年12月8日 申请日期2008年10月31日 优先权日2007年10月31日
发明者加里·A·韦伯兰德, 斯蒂芬·A·坎农, 理查德·C·道肯, 阿尔佛雷德·L·克洛彻 申请人:惠瑞捷(新加坡)私人有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1