CN103376405B - 用于扫描链诊断的方法和装置 - Google Patents
用于扫描链诊断的方法和装置 Download PDFInfo
- Publication number
- CN103376405B CN103376405B CN201210130364.2A CN201210130364A CN103376405B CN 103376405 B CN103376405 B CN 103376405B CN 201210130364 A CN201210130364 A CN 201210130364A CN 103376405 B CN103376405 B CN 103376405B
- Authority
- CN
- China
- Prior art keywords
- scan
- scan register
- register
- fan
- dependence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3172—Optimisation aspects, e.g. using functional pin as test pin, pin multiplexing
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3177—Testing of logic operation, e.g. by logic analysers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318583—Design for test
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明的实施例涉及用于扫描链诊断的方法和装置。具体地,根据本发明实施例的一种用于扫描链的方法包括:获取扫描链的初始结构;根据扫描链上的扫描寄存器所对应的功能模块,确定至少一个具有反向依赖关系的扫描寄存器对;和调整扫描链的结构,使得所述至少一个具有反向依赖关系的扫描寄存器对变为具有正向依赖关系的扫描寄存器对。采用根据本发明实施例的方案,可以增强扫描链的可诊断性。
Description
·技术领域
本发明涉及集成电路设计技术,更具体地说,涉及用于扫描链诊断的方法和设备。
·背景技术
随着半导体技术的发展,半导体的设计和制造都变得越来越复杂。这种复杂性增强了半导体集成电路的性能,但是也增加了产生缺陷的可能。因此,测试技术变得越来越重要。比如说,在半导体集成电路的前端设计完成后,通常要进行逻辑测试,以便确保逻辑设计本身是正确的。逻辑测试一般又称为验证(verification)。在逻辑测试完成后,通过综合步骤产生网表(netlist)以便用于物理制造。为了对制造好的集成电路进行物理测试,通常需要采用扫描技术。这是因为仅仅通过观察集成电路管脚上的信号无法完全获知集成电路的内部信息,而扫描技术可以将集成电路内部信息通过特定的管脚传送到集成电路外部。
为了在物理测试时能够使用扫描技术,需要在综合产生的网表中加入扫描链。本领域技术人员可以理解,为了信号的稳定,集成电路内部的各个功能模块的输出并非直接连接到下一级的输入,而是先连接到寄存器的输入,然后再由寄存器的输出连接到下一级的输入。这里的功能模块是完成集成电路自身的功能所需要的模块,例如各种逻辑门、各种运算器等。扫描链是由这些寄存器的一部分或全部构成的,用于构成扫描链的寄存器可以称为扫描寄存器。在网表中加入扫描链,就是加入扫描寄存器之间的直接连接从而将扫描寄存器串联起来,以及加入相应的扫描链管理模块。
扫描寄存器在扫描链管理模块的控制下,可以处于扫描模式和功能模式中的一种。在扫描模式下,一条扫描链可以被看做是一个移位寄存器,即下游扫描寄存器的输入连接到上游扫描寄存器的输出。可以通过移入(shift-in)的方式,将一组逻辑值写入各扫描寄存器;也可以通过移出(shift-out)的方式,将各扫描寄存器的逻辑值读出。这里的上游指的是更接近扫描链的起点,即向扫描链输入要移入的逻辑值的集成电路管脚;下游指的是更接近扫描链的终点,即从扫描链读取所移出的逻辑值的集成电路管脚。在功能模式下,扫描寄存器的输入连接到功能模块的输出。可以通过连接在扫描寄存器输入端的复用器MUX来实现扫描模式和功能模式的切换。
利用扫描技术对集成电路进行物理测试包括三个基本步骤。第一步,移入步骤。在扫描模式下,进行移入操作,将各扫描寄存器设置为期望的逻辑值;由于各扫描寄存器的输出还连接到功能模块的输入,因此各功能模块的输入也就被设置为期望的逻辑值。第二步,处理步骤。在功能模式下,向各功能模块提供一个或多个时钟周期,使得各功能模块按照时钟信号对输入的逻辑值进行处理。由于扫描寄存器处于功能模式,因此其输入连接到各功能模块的输出,从而将来自各功能模块的处理结果保存在扫描寄存器中。第三部,移出步骤。在扫描模式下,进行移出操作,从而在集成电路外部读取各扫描寄存器所保存的各功能模块的输出。在知道了集成电路中各功能模块的输入和输出后,就可以判断各功能模块是否正常工作了。
上述物理测试步骤是否准确,取决于扫描链本身是否正常工作。因此,需要一系列的方法来对扫描链本身进行诊断。
·发明内容
本发明实施例提供了用于扫描链诊断的方法和装置。
根据本发明实施例的用于扫描链的方法包括:获取扫描链的初始结构;根据扫描链上的扫描寄存器所对应的功能模块,确定至少一个具有反向依赖关系的扫描寄存器对;和调整扫描链的结构,使得所述至少一个具有反向依赖关系的扫描寄存器对变为具有正向依赖关系的扫描寄存器对。
根据本发明实施例的用于扫描链的设备包括:获取装置,配置为获取扫描链的初始结构;确定装置,配置为根据扫描链上的扫描寄存器所对应的功能模块,确定至少一个具有反向依赖关系的扫描寄存器对;和调整装置,配置为调整扫描链的结构,使得所述至少一个具有反向依赖关系的扫描寄存器对变为具有正向依赖关系的扫描寄存器对。
根据本发明实施例,可以增强扫描链的可诊断性。
·附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算系统100的框图。
图2A和图2B是扫描寄存器故障的示意图。
图3、图5、图7和图8是扫描链示意图。
图4是根据本发明实施例的用于扫描链诊断的方法的流程图。
图6是根据本发明实施例的用于扫描链诊断的方法的流程图。
图9是根据本发明实施例的用于扫描链诊断的设备的框图。
·具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算系统100的框图。如图1所示,计算机系统100可以包括:CPU(中央处理单元)101、RAM(随机存取存储器)102、ROM(只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和显示器114。在这些设备中,与系统总线104耦合的有CPU 101、RAM 102、ROM 103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。应当理解,图1所述的结构框图仅仅是为了示例的目的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况增加或减少某些设备。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言-诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
如前所述,采用扫描技术对集成电路进行物理测试,需要保证扫描链本身正常工作。现代的集成电路中,与扫描链有关的电路元件占到整个集成电路面积的10%-30%,因此扫描链出现故障的概率大到不可忽略的地步。由于扫描链本质上是一个移位寄存器,扫描链中的故障效果会因为诸如移入和移出的移位操作而具有全局性。比如,如果扫描链中的一个扫描寄存器存在固定为1(stuck-at-1,SA1)故障,在进行移位操作时,其下游各扫描寄存器都会被设置为具有逻辑值1。这样在进行移入操作时,对下游扫描寄存器设置的逻辑值会受到影响;在进行移出操作时,所读取的上游扫描寄存器的逻辑值会受到影响。
图2A和图2B示出了故障在扫描链中的传播示意图。在图2A和图2B中,假设3号扫描寄存器存在SA1故障。此外,由于不涉及功能模块,因此省略了扫描寄存器输入处的复用器MUX。
在图2A中,假设将要给各扫描寄存器设置的逻辑值如下所示,并且Null表示尚未给该扫描寄存器设置逻辑值。
1号 | 2号 | 3号 | 4号 | 5号 |
1 | 0 | 1 | 0 | 0 |
如图2A所示,由于3号扫描寄存器存在SA1故障,实际上给各扫描寄存器设置的逻辑值是:
1号 | 2号 | 3号 | 4号 | 5号 |
1 | 0 | 1 | 1 | 1 |
由此可见,对下游扫描寄存器4号和5号设置的逻辑值受到了影响。
在图2中,假设各扫描寄存器的当前逻辑值如下所述,并且Null表示该扫描寄存器的逻辑值已经被读取到下游的扫描寄存器。扫描寄存器的当前逻辑值可以是在功能模式下从对应的功能模块读出的。
1号 | 2号 | 3号 | 4号 | 5号 |
1 | 0 | 1 | 0 | 0 |
如图2B所示,由于3号扫描寄存器存在SA1故障,实际上移出的各寄存器的逻辑值是:
1号 | 2号 | 3号 | 4号 | 5号 |
1 | 1 | 1 | 0 | 0 |
由此可见,所读出的上游扫描寄存器1号和2号的逻辑值受到了影响。在下面的描述中,仅以扫描寄存器存在SA1故障为例进行说明。本领域技术人员可以理解,本发明实施例的方法同样也适用于扫描寄存器存在其他故障的情况。
可以采用旁路诊断法来帮助定位扫描链中存在SA1故障的扫描寄存器。在图2A和图2B的例子中,由于3号扫描寄存器存在SA1故障,导致经过3号扫描寄存器的逻辑值都变为1。因此,即使向扫描链移入的逻辑值都是0,从扫描链移出的逻辑值也都是1。旁路诊断法的基本原理是,在进行移位操作时,将某个扫描寄存器旁路,从而隔绝该扫描寄存器对下游扫描寄存器的影响。通过设置让不同的扫描寄存器处于旁路模式,结合移入特定的逻辑值组合,就可以定位扫描链中的存在SA1故障的扫描寄存器。所示特定的逻辑值组合可以采用自动测试模式生成(ATPG,Automatic Test Pattern Generation)来产生。ATPG是本领域的常用技术手段,在此不再赘述。
如前所述,在移入或移出逻辑值时,下游扫描寄存器的输入是上游扫描寄存器的输出。结合图2A和图2B,为了实现将3号扫描寄存器旁路,可以将2号扫描寄存器的输出连接到对应于3号扫描寄存器的辅助寄存器的输入,将该辅助寄存器的输出连接到4号扫描寄存器的输入。容易理解,这种方法会大大增加与扫描链有关的电路元件的面积开销。首先,选择器需要面积开销。例如,在4号扫描寄存器的输入端的选择器选择3号扫描寄存器的输出和辅助扫描寄存器的输出中的一个。其次,辅助寄存器本身也需要面积开销。最后,如果采用多个扫描寄存器共用一个辅助寄存器的方案,或者用扫描链上其他位置的扫描寄存器作为所述辅助寄存器,那么就需要增加布线的长度。这同样也会增加面积开销。
为了减少旁路诊断法所需要的额外面积开销,可以用功能单元代替所述辅助寄存器作为旁路通路。采用功能单元代替辅助寄存器的旁路诊断法的步骤与使用扫描技术进行物理测试的步骤类似,即包括移入步骤、处理步骤和移出步骤。换句话说,在功能模式下将保存在上一级扫描寄存器中的逻辑值输入到各功能模块,让各功能模块按照时钟信号对逻辑值进行处理,并且将各功能模块的处理结果输出到下一级扫描寄存器中,相当于对上一级扫描寄存器进行了旁路。因此,采用功能模块作为旁路通路可以确定发生故障的扫描寄存器是位于某个基准扫描寄存器的上游位置还是下游位置。如果发生故障的扫描寄存器既不是位于该基准扫描寄存器的上游位置,也不是位于该基准扫描寄存器的下游位置,则说明该基准扫描寄存器本身发生了故障。
下面举例说明如何确定SA1故障发生在哪个扫描寄存器。假设以4号扫描寄存器为基准扫描寄存器,则在移入步骤给各个扫描寄存器设置的逻辑值组合应该满足:4号扫描寄存器及其下游的5号扫描寄存器均为1,而4号扫描寄存器上游的1号、2号和3号扫描寄存器可以是任意逻辑值。此外,对于输出到4号扫描寄存器的功能单元,还需要控制该功能单元的输入逻辑值,使得该功能单元在处理步骤结束时输出0。经过处理步骤,4号寄存器中的逻辑值应该是0。此时进行移出步骤,如果观察到4号扫描寄存器中的逻辑值是0,说明4号和5号扫描寄存器均没有SA1的故障。因此SA1故障应该发生在1号、2号或3号扫描寄存器的至少一个上。
类似地,以3号扫描寄存器为基准扫描寄存器,则在移入步骤给各个扫描寄存器设置的逻辑值组合应该满足:3号扫描寄存器及其下游的4号和5号扫描寄存器均为1,而3号扫描寄存器上游的1号和2号扫描寄存器可以是任意逻辑值。此外,对于输出到3号扫描寄存器的功能单元,还需要控制该功能单元的输入逻辑值,使得该功能单元在处理步骤结束时输出0。经过处理步骤,3号寄存器中的逻辑值应该是0。此时进行移出步骤,如果观察到3号扫描寄存器中的逻辑值是1,说明3号、4号和5号扫描寄存器中有一个发生了SA1的故障。结合两次的结果,就可以得出SA1故障发生在3号扫描寄存器上。
但是,采用功能模块作为旁路通路,由于功能模块之间可能有依赖关系,因此存在下游扫描寄存器的逻辑值影响到上游扫描寄存器的情况。在这种情况下,某些特定的逻辑值组合是无法实现的。如图3所示,假设3号扫描寄存器的输入是与门AND的输出,并且与门AND的输入是4号扫描寄存器和5号扫描寄存器的输出。这样以下所示的逻辑值组合对于图3所示的结构是不可行的,其中X表示任意逻辑值。
1号 | 2号 | 3号 | 4号 | 5号 |
X | X | 0 | 1 | 1 |
如前所述,在以3号扫描寄存器为基准扫描寄存器时,移入的逻辑值组合应该满足两个条件:(1)下游的4号和5号扫描寄存器的值为1;(2)对于输出到3号扫描寄存器的功能单元,还需要控制该功能单元的输入逻辑值,使得该功能单元在处理步骤结束时输出0。容易看出,这两个条件对于图3所示的结构是无法同时实现的。
因此,为了减少在采用旁路诊断法对扫描链进行诊断过程中出现由于功能模块间的依赖关系导致无法定位故障扫描链的情况,在加入扫描链时就应该尽可能将与功能模块的输出对应的扫描寄存器放置在扫描链的下游位置,而将与功能模块的输入对应的扫描寄存器放置在扫描链的上游位置,从而提高扫描链的可诊断性。可以采用如图4所示的用于扫描链诊断的方法。
步骤401,获取扫描链的初始结构。
扫描技术已经广泛地应用于集成电路的物理测试中,这意味着已经有很多方法来生成所述扫描链。在生成扫描链的过程中可能会有一些约束条件。比如说,在集成电路中位置相近的扫描寄存器应该被安排在扫描链中的临近位置;又比如说,用于连接各扫描寄存器的连线最好不要交叉;再比如说,连接扫描寄存器的连线长度不能太长。在本步骤中,获取由这些方法所生成的扫描链的结构,即各扫描寄存器在扫描链中的位置。
步骤402,根据扫描寄存器所对应的功能模块,确定至少一个具有反向依赖关系的扫描寄存器对。
在步骤401中已经获取了初始扫描链的结构,并且各扫描寄存器对应的功能模块也是已知的,因此可以很容易地获得哪个扫描寄存器的输出通过功能模块连接到另一个扫描寄存器的输入。这样的两个扫描寄存器就具有依赖关系。为了描述方便,在这样一对扫描寄存器中,连接到功能模块输入的称为扇入(fan-in)扫描寄存器,连接到功能模块输出的称为扇出(fan-out)扫描寄存器。如果存在依赖关系的一对扫描寄存器中,扇入扫描寄存器在扫描链中的位置位于扇出扫描寄存器的下游,则所述一对扫描寄存器具有反向依赖关系。在如图3所示的情况中,3号扫描寄存器和4号扫描寄存器是具有反向依赖关系的扫描寄存器对,其中3号扫描寄存器是扇出扫描寄存器,4号扫描寄存器是扇入扫描寄存器;类似地,3号扫描寄存器和5号扫描寄存器是具有反向依赖关系的扫描寄存器对,其中3号扫描寄存器是扇出扫描寄存器,5号扫描寄存器是扇入扫描寄存器。反之,如果扇入扫描寄存器在扫描链中的位置位于扇出扫描寄存器的上游,则所述一对扫描寄存器具有正向依赖关系。
步骤403,调整扫描链的结构,使得所述至少一个具有反向依赖关系的扫描寄存器对变为具有正向依赖关系的扫描寄存器对。
在具有反向依赖关系的扫描寄存器对中,在移入和移出步骤中,位于扫描链上游的扇出扫描寄存器会影响到位于下游的扇入扫描寄存器的逻辑值;在处理步骤中,位于扫描链下游的扇入扫描寄存器又会影响到位于扫描链上游的扇出扫描寄存器的值。在将具有反向依赖关系的扫描寄存器对变为具有正向依赖关系的扫描寄存器对,可以避免出现上述双向影响的情况。
在实践中,可能存在大量具有反向依赖关系的扫描寄存器对。另外,也可能会出现一个扇出扫描寄存器与多个扇入扫描寄存器分别构成具有反向依赖关系的扫描寄存器对的情况。如果将这些具有反向依赖关系的扫描寄存器对都调整为具有反向依赖关系的扫描寄存器对,则有可能导致诸如交叉限制、连线长度等的其他约束条件无法成立。
如前所述,将具有反向依赖关系的扫描寄存器对调整为具有正向依赖关系的扫描寄存器对,其目的是为了减少无法实现的用于扫描链诊断的逻辑值组合。对于不是用于扫描链诊断的逻辑值组合则没有必要关注。如图3所示的扫描链结构,如果变换成如图5所示的扫描链结构,则以下逻辑值组合是无法实现的:
1号 | 5号 | 3号 | 4号 | 2号 |
X | 1 | 0 | 1 | X |
但是,该逻辑值组合并非用于扫描链诊断的逻辑值组合。而为了满足上述条件(1)和(2),可以采用以下逻辑值组合:
1号 | 5号 | 3号 | 4号 | 2号 |
X | 0 | 0 | 1 | 1 |
具体而言,下游的4号和2号扫描寄存器的值为1,并且位于与门的输入端的两个寄存器的值使得与门的输出为0。由此可见没有必要将3号扫描寄存器的所有扇入扫描寄存器都移动到位于3号扫描寄存器的上游位置。
下面描述根据本发明另一个实施例的用于扫描链诊断的方法。以下的方法针对一个特定的目标扫描寄存器来描述。本领域技术人员可以理解,可以对扫描链上所有的扫描寄存器都执行如下方法,得到针对整条扫描链的约束条件。
步骤601,获取与目标扫描寄存器对应的所有扇入扫描寄存器的集合。
结合图7所示的扫描链中,2号扫描寄存器的扇入扫描寄存器是4、5、6、7号扫描寄存器。在图7所示的扫描链中,4号和5号扫描寄存器的输出经过与门后输入到或门,6号和7号扫描寄存器的输出经过与门后也输入到或门,或门的输出连接到2号寄存器的输入。
类似于参照图3进行的分析,以下逻辑值组合在图7所示的扫描链中是无法实现的:
1号 | 2号 | 3号 | 4号 | 5号 | 6号 | 7号 | 8号 |
X | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
该逻辑值组合用于在以2号扫描寄存器为基准扫描寄存器时判断发生SA1故障的扫描寄存器位于2号扫描寄存器及其下游扫描寄存器中,还是位于2号扫描寄存器的上游扫描寄存器即1号扫描寄存器中。
步骤602,针对所述扇入扫描寄存器的集合,确定符合以下条件的关键子集:当该子集中的所有扇入扫描寄存器取相同的逻辑值时,连接到该目标扫描寄存器的功能模块的输出固定为该逻辑值,而无论该子集以外的扇入扫描寄存器取何逻辑值。
例如,在图7所示的扫描链结构中,如果4号和5号扫描寄存器的逻辑值均为1,则无论6号和7号扫描寄存器的逻辑值是什么,功能模块的输出都是1。类似的,如果6号和7号扫描寄存器的逻辑值均为1,则无论4号和5号扫描寄存器的逻辑值是什么,功能模块的输出都是1。则4号扫描寄存器和5号扫描寄存器组成一个关键子集,6号扫描寄存器和7号扫描寄存器组成另一个关键子集。
本领域技术人员可以设计出各种方法来寻找所述子集。根据本发明的一个实施例,可以采用信号追踪法。以图7所示的扫描链为例,信号追踪从2号扫描寄存器的输入端开始,朝2号扫描寄存器的扇入扫描寄存器方向进行。首先信号追踪发现了或门。或门的输入中任何一个输入为1都会导致功能模块的输出为1,则或门的两个输入端的寄存器可以各自成为一个符合上述条件的关键子集。但由于这两个寄存器不位于扫描链上,因此不计入扇入扫描寄存器的集合。继续信号追踪,发现两个与门。对于与门来说,与门的输入必须同时为1才能导致功能模块的输出为1,则每个与门的两个输入端处的寄存器可以共同组成符合上述条件的关键子集。图7中第一个与门的两个输入端处的寄存器是4号和5号扫描寄存器,第二个与门的两个输入端处的寄存器是6号和7号扫描寄存器,这样就找到两个符合上述条件的关键子集。
根据本发明的另一个实施例,可以列举扇入扫描寄存器的各种组合,即包括所有扇入扫描寄存器的集合的所有子集,然后逐个判断各个子集是否符合上述条件。本领域技术人员可以理解,除了以上提到的组成关键子集的方式以外,由4号、5号、6号扫描寄存器组成的子集也符合上述条件,由5号、6号、7号扫描寄存器组成的子集也符合上述条件。根据本发明的另一个实施例,进一步将关键子集限定为最小关键子集,其中当该最小关键子集中的所有扇入扫描寄存器取相同的逻辑值时,连接到该扇出扫描寄存器的功能模块的输出固定为该逻辑值,而无论该子集以外的扇入扫描寄存器取何逻辑值;同时,当从最小关键子集中排除任何一个扇入扫描寄存器都将导致由剩余的扇入扫描寄存器组成的子集不符合关键子集的定义。
步骤603,根据所得到的关键子集,确定约束条件,使得所确定的关键子集中至少一个扇入扫描寄存器位于目标扫描寄存器的上游。
在图7所示的扫描链结构中,由4号和5号扫描寄存器组成的子集和由6号和7号扫描寄存器组成的子集是符合所述条件的两个关键子集。因此,在本步骤中,得到的约束条件是要使得这两个关键子集分别有至少一个扫描寄存器位于2号扫描寄存器的上游。
步骤604,调整扫描链结构以满足所述约束条件。
图8示出了一种调整后的扫描链结构。在图8所示的结构中,可以实现如下所示的逻辑值组合:
1号 | 6号 | 5号 | 2号 | 3号 | 4号 | 7号 | 8号 |
X | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
该逻辑值组合可以用于以2号扫描寄存器为基准扫描寄存器的扫描链诊断。
本领域技术人员可以理解,为了满足步骤603中的约束条件,可以采用多种调整方案。比如说,可以如图8所示将5号扫描寄存器和6号扫描寄存器移动到2号扫描寄存器上游。也可以将4号和7号扫描寄存器移动到2号扫描器上游。当然也可以将4号、5号、6号和7号扫描寄存器均移动到2号扫描寄存器上游。另一方面,在针对扫描链上的各个目标扫描寄存器进行步骤601-603时,可能得到多个约束条件。需要对各个约束条件所对应的调整方案进行选择,从而尽可能多地满足约束条件。
例如,假设在图7所示的扫描链结构中,存在另外一个功能模块,该功能模块使得4号扫描寄存器和7号扫描寄存器组成针对6号扫描寄存器的符合上述条件的关键子集。此时,如果将扫描链结构调整成如图8所示的结构,则4号和7号扫描寄存器位于6号扫描寄存器的下游,不能满足针对6号扫描寄存器所确定的约束条件。如果从图7所示的扫描链结构中,将5号扫描寄存器和7号扫描寄存器移动到位于2号扫描寄存器上游,则即可以满足针对2号扫描寄存器所确定的约束条件,又可以满足针对6号扫描寄存器所确定的约束条件。
本领域技术人员可以设计出多种方法来设计调整方案从而尽可能地满足针对整个扫描链所确定的约束条件,在此不再赘述。
图9示出了根据本发明实施例的用于扫描链诊断的设备的框图。
根据本发明实施例的用于扫描链的设备包括:
获取装置,配置为获取扫描链的初始结构;
确定装置,配置为根据扫描链上的扫描寄存器所对应的功能模块,确定至少一个具有反向依赖关系的扫描寄存器对;和
调整装置,配置为调整扫描链的结构,使得所述至少一个具有反向依赖关系的扫描寄存器对变为具有正向依赖关系的扫描寄存器对。
其中所述调整装置包括:
关键子集确定装置,配置为确定所述至少一个具有反向依赖关系的扫描寄存器对中扇出扫描寄存器的关键子集;
关键子集调整装置,配置为在所述具有反向依赖关系的扫描寄存器对的扇入扫描寄存器属于该具有反向依赖关系的扫描寄存器对的扇出扫描寄存器的关键子集的情况下,调整扫描链的结构,使得所述至少一个具有反向依赖关系的扫描寄存器对变为具有正向依赖关系的扫描寄存器对,
其中当该关键子集中的所有扇入扫描寄存器取相同的逻辑值时,连接到该扇出扫描寄存器的功能模块的输出固定为该逻辑值,而无论该子集以外的扇入扫描寄存器取何逻辑值。
其中所述关键子集确定装置包括:
信号追踪确定装置,配置为通过信号追踪法确定所述关键子集。
其中所述关键子集确定装置包括:
列举确定装置,配置为通过列举法确定所述关键子集。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种用于诊断扫描链的方法,该方法包括:
获取扫描链的初始结构;
根据扫描链上的扫描寄存器所对应的功能模块,确定至少一个具有反向依赖关系的扫描寄存器对;和
调整扫描链的结构,使得所述至少一个具有反向依赖关系的扫描寄存器对变为具有正向依赖关系的扫描寄存器对。
2.如权利要求1所述的方法,其中调整扫描链的结构使得所述至少一个具有反向依赖关系的扫描寄存器对变为具有正向依赖关系的扫描寄存器对包括:
确定所述至少一个具有反向依赖关系的扫描寄存器对中扇出扫描寄存器的关键子集;
在所述具有反向依赖关系的扫描寄存器对的扇入扫描寄存器属于该具有反向依赖关系的扫描寄存器对的扇出扫描寄存器的关键子集的情况下,调整扫描链的结构,使得所述至少一个具有反向依赖关系的扫描寄存器对变为具有正向依赖关系的扫描寄存器对,
其中当该关键子集中的所有扇入扫描寄存器取相同的逻辑值时,连接到该扇出扫描寄存器的功能模块的输出固定为该逻辑值,而无论该子集以外的扇入扫描寄存器取何逻辑值。
3.如权利要求2所述的方法,其中从所述关键子集中排除任何一个扇入扫描寄存器后都将导致由剩余的扇入扫描寄存器组成的新子集不符合关键子集的定义。
4.如权利要求2所述的方法,其中确定所述至少一个具有反向依赖关系的扫描寄存器对中扇出扫描寄存器的关键子集包括:
通过信号追踪法确定所述关键子集。
5.如权利要求2所述的方法,其中确定所述至少一个具有反向依赖关系的扫描寄存器对中扇出扫描寄存器的关键子集包括:
通过列举法确定所述关键子集。
6.一种用于诊断扫描链的设备,该设备包括:
获取装置,配置为获取扫描链的初始结构;
确定装置,配置为根据扫描链上的扫描寄存器所对应的功能模块,确定至少一个具有反向依赖关系的扫描寄存器对;和
调整装置,配置为调整扫描链的结构,使得所述至少一个具有反向依赖关系的扫描寄存器对变为具有正向依赖关系的扫描寄存器对。
7.如权利要求6所述的设备,其中所述调整装置包括:
关键子集确定装置,配置为确定所述至少一个具有反向依赖关系的扫描寄存器对中扇出扫描寄存器的关键子集;
关键子集调整装置,配置为在所述具有反向依赖关系的扫描寄存器对的扇入扫描寄存器属于该具有反向依赖关系的扫描寄存器对的扇出扫描寄存器的关键子集的情况下,调整扫描链的结构,使得所述至少一个具有反向依赖关系的扫描寄存器对变为具有正向依赖关系的扫描寄存器对,
其中当该关键子集中的所有扇入扫描寄存器取相同的逻辑值时,连接到该扇出扫描寄存器的功能模块的输出固定为该逻辑值,而无论该子集以外的扇入扫描寄存器取何逻辑值。
8.如权利要求7所述的设备,其中从所述关键子集中排除任何一个扇入扫描寄存器后都将导致由剩余的扇入扫描寄存器组成的新子集不符合关键子集的定义。
9.如权利要求7所述的设备,其中所述关键子集确定装置包括:
信号追踪确定装置,配置为通过信号追踪法确定所述关键子集。
10.如权利要求7所述的设备,其中所述关键子集确定装置包括:
列举确定装置,配置为通过列举法确定所述关键子集。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210130364.2A CN103376405B (zh) | 2012-04-27 | 2012-04-27 | 用于扫描链诊断的方法和装置 |
US13/871,224 US9383409B2 (en) | 2012-04-27 | 2013-04-26 | Method of diagnosable scan chain |
US15/097,778 US9562945B2 (en) | 2012-04-27 | 2016-04-13 | Modifying a scan chain for improved fault diagnosis of integrated circuits |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210130364.2A CN103376405B (zh) | 2012-04-27 | 2012-04-27 | 用于扫描链诊断的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103376405A CN103376405A (zh) | 2013-10-30 |
CN103376405B true CN103376405B (zh) | 2015-09-09 |
Family
ID=49461824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210130364.2A Active CN103376405B (zh) | 2012-04-27 | 2012-04-27 | 用于扫描链诊断的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9383409B2 (zh) |
CN (1) | CN103376405B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103376405B (zh) | 2012-04-27 | 2015-09-09 | 国际商业机器公司 | 用于扫描链诊断的方法和装置 |
US9239360B2 (en) * | 2014-01-28 | 2016-01-19 | Texas Instruments Incorporated | DFT approach to enable faster scan chain diagnosis |
CN105445641B (zh) * | 2014-06-30 | 2018-03-27 | 国际商业机器公司 | 用于扫描链诊断的方法和装置 |
US9274171B1 (en) | 2014-11-12 | 2016-03-01 | International Business Machines Corporation | Customer-transparent logic redundancy for improved yield |
US9551747B2 (en) * | 2014-12-12 | 2017-01-24 | International Business Machines Corporation | Inserting bypass structures at tap points to reduce latch dependency during scan testing |
US10156607B2 (en) * | 2016-04-21 | 2018-12-18 | Taiwan Semiconductor Manufacturing Co., Ltd. | Bidirectional scan chain structure and method |
US10320562B2 (en) * | 2016-06-01 | 2019-06-11 | Nxp Usa, Inc. | Application specific low-power secure key |
US10037785B2 (en) | 2016-07-08 | 2018-07-31 | Micron Technology, Inc. | Scan chain operation in sensing circuitry |
US10162005B1 (en) | 2017-08-09 | 2018-12-25 | Micron Technology, Inc. | Scan chain operations |
WO2023283774A1 (zh) * | 2021-07-12 | 2023-01-19 | 华为技术有限公司 | 一种扫描链设计方法、装置及芯片 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6490702B1 (en) * | 1999-12-28 | 2002-12-03 | International Business Machines Corporation | Scan structure for improving transition fault coverage and scan diagnostics |
JP2007516423A (ja) * | 2003-02-14 | 2007-06-21 | エヌイーシー ラボラトリーズ アメリカ インク | スケーラブルなスキャンパステスト点挿入技術 |
US7240261B2 (en) * | 2003-12-09 | 2007-07-03 | International Business Machines Corporation | Scan chain diagnostics using logic paths |
CN101315412A (zh) * | 2008-06-12 | 2008-12-03 | 中国科学院计算技术研究所 | 一种扫描链故障诊断方法及系统 |
US7558996B2 (en) * | 2006-03-16 | 2009-07-07 | Kabushiki Kaisha Toshiba | Systems and methods for identifying errors in LBIST testing |
US7788058B2 (en) * | 2004-02-03 | 2010-08-31 | International Business Machines Corporation | Method and apparatus for diagnosing broken scan chain based on leakage light emission |
CN101846724A (zh) * | 2009-03-26 | 2010-09-29 | 台湾积体电路制造股份有限公司 | 用于诊断集成电路的方法和装置 |
US8006152B2 (en) * | 2009-01-12 | 2011-08-23 | International Business Machines Corporation | Scan chain fail diagnostics |
US8086924B2 (en) * | 2008-10-13 | 2011-12-27 | International Business Machines Corporation | Implementing diagnosis of transitional scan chain defects using logic built in self test LBIST test patterns |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4959832A (en) * | 1988-12-09 | 1990-09-25 | International Business Machines | Parallel pseudorandom pattern generator with varying phase shift |
US5278842A (en) * | 1991-02-04 | 1994-01-11 | International Business Machines Corporation | Delay test coverage enhancement for logic circuitry employing level sensitive scan design |
US5881067A (en) | 1997-01-28 | 1999-03-09 | Sun Microsystems, Inc. | Flip-flop design and technique for scan chain diagnosis |
US6308290B1 (en) | 1999-05-20 | 2001-10-23 | International Business Machines Corporation | Look ahead scan chain diagnostic method |
JP3845016B2 (ja) * | 1999-11-23 | 2006-11-15 | メンター・グラフィクス・コーポレーション | テスト中回路技術分野へのテストパターンの連続的な適用およびデコンプレッション |
US6684358B1 (en) * | 1999-11-23 | 2004-01-27 | Janusz Rajski | Decompressor/PRPG for applying pseudo-random and deterministic test patterns |
US6976199B2 (en) * | 2002-01-07 | 2005-12-13 | International Business Machines Corporation | AC LSSD/LBIST test coverage enhancement |
JP3828502B2 (ja) * | 2003-03-26 | 2006-10-04 | 株式会社東芝 | 集積回路 |
US6961886B2 (en) | 2003-04-16 | 2005-11-01 | International Business Machines Corporation | Diagnostic method for structural scan chain designs |
US7007214B2 (en) | 2003-06-30 | 2006-02-28 | International Business Machines Corporation | Diagnosable scan chain |
US6996791B2 (en) | 2003-11-14 | 2006-02-07 | International Business Machines Corporation | Method for optimizing a set of scan diagnostic patterns |
KR20050078704A (ko) | 2004-01-31 | 2005-08-08 | 삼성전자주식회사 | 스캔 베이스 atpg 테스트회로, 테스트방법 및 스캔체인 재배열방법 |
US7194706B2 (en) | 2004-07-27 | 2007-03-20 | International Business Machines Corporation | Designing scan chains with specific parameter sensitivities to identify process defects |
US8316265B2 (en) | 2007-03-04 | 2012-11-20 | Mentor Graphics Corporation | Test pattern generation for diagnosing scan chain failures |
US7908534B2 (en) | 2008-02-25 | 2011-03-15 | International Business Machines Corporation | Diagnosable general purpose test registers scan chain design |
US8689070B2 (en) | 2009-05-17 | 2014-04-01 | Mentor Graphics Corporation | Method and system for scan chain diagnosis |
CN103376405B (zh) | 2012-04-27 | 2015-09-09 | 国际商业机器公司 | 用于扫描链诊断的方法和装置 |
-
2012
- 2012-04-27 CN CN201210130364.2A patent/CN103376405B/zh active Active
-
2013
- 2013-04-26 US US13/871,224 patent/US9383409B2/en active Active
-
2016
- 2016-04-13 US US15/097,778 patent/US9562945B2/en not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6490702B1 (en) * | 1999-12-28 | 2002-12-03 | International Business Machines Corporation | Scan structure for improving transition fault coverage and scan diagnostics |
JP2007516423A (ja) * | 2003-02-14 | 2007-06-21 | エヌイーシー ラボラトリーズ アメリカ インク | スケーラブルなスキャンパステスト点挿入技術 |
US7240261B2 (en) * | 2003-12-09 | 2007-07-03 | International Business Machines Corporation | Scan chain diagnostics using logic paths |
US7788058B2 (en) * | 2004-02-03 | 2010-08-31 | International Business Machines Corporation | Method and apparatus for diagnosing broken scan chain based on leakage light emission |
US7558996B2 (en) * | 2006-03-16 | 2009-07-07 | Kabushiki Kaisha Toshiba | Systems and methods for identifying errors in LBIST testing |
CN101315412A (zh) * | 2008-06-12 | 2008-12-03 | 中国科学院计算技术研究所 | 一种扫描链故障诊断方法及系统 |
US8086924B2 (en) * | 2008-10-13 | 2011-12-27 | International Business Machines Corporation | Implementing diagnosis of transitional scan chain defects using logic built in self test LBIST test patterns |
US8006152B2 (en) * | 2009-01-12 | 2011-08-23 | International Business Machines Corporation | Scan chain fail diagnostics |
CN101846724A (zh) * | 2009-03-26 | 2010-09-29 | 台湾积体电路制造股份有限公司 | 用于诊断集成电路的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103376405A (zh) | 2013-10-30 |
US20160223611A1 (en) | 2016-08-04 |
US9562945B2 (en) | 2017-02-07 |
US20130297980A1 (en) | 2013-11-07 |
US9383409B2 (en) | 2016-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103376405B (zh) | 用于扫描链诊断的方法和装置 | |
US8516316B2 (en) | Method and apparatus for diagnosing an integrated circuit | |
US7337379B2 (en) | Apparatus and method for diagnosing integrated circuit | |
US11073556B2 (en) | Low pin count reversible scan architecture | |
US8006152B2 (en) | Scan chain fail diagnostics | |
JP2012248194A (ja) | 状態保持回路における状態保全性の検証 | |
CN114667455A (zh) | 用于测试电路的通用压缩器架构 | |
US7240263B2 (en) | Apparatus for performing stuck fault testings within an integrated circuit | |
CN101315412A (zh) | 一种扫描链故障诊断方法及系统 | |
US20130326281A1 (en) | X-Tracer: A Reconfigurable X-Tolerance Trace Compressor for Silicon Debug | |
US9551747B2 (en) | Inserting bypass structures at tap points to reduce latch dependency during scan testing | |
CN113454725A (zh) | 用于单路径可逆扫描链的双向扫描单元 | |
CN106680688B (zh) | 利用并行扫描测试数据输入和输出测试多核集成电路 | |
CN103454577A (zh) | 扫描链结构和扫描链诊断的方法和设备 | |
CN105445641A (zh) | 用于扫描链诊断的方法和装置 | |
US9557383B2 (en) | Partitioned scan chain diagnostics using multiple bypass structures and injection points | |
JP2008527322A (ja) | 回路配置並びにその検査および/または診断方法 | |
Dalirsani et al. | Area-efficient synthesis of fault-secure NoC switches | |
US20040130313A1 (en) | Method for reducing pin overhead in non-scan design for testability | |
US20240061041A1 (en) | System and method for access control of a plurality of instruments embedded in a semiconductor device | |
CN117852476B (zh) | 基于不完备算法进行仿真的方法和装置 | |
US9933481B2 (en) | Testing a feedback shift-register | |
Rettig | Verification of a Parameterizable JTAG Driver Module | |
JP2009186352A (ja) | 測定システム | |
JPS6088371A (ja) | 論理回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |