CN101932945A - 用于隔离片上系统的扫描路径的一部分的设备和方法 - Google Patents
用于隔离片上系统的扫描路径的一部分的设备和方法 Download PDFInfo
- Publication number
- CN101932945A CN101932945A CN2009801037301A CN200980103730A CN101932945A CN 101932945 A CN101932945 A CN 101932945A CN 2009801037301 A CN2009801037301 A CN 2009801037301A CN 200980103730 A CN200980103730 A CN 200980103730A CN 101932945 A CN101932945 A CN 101932945A
- Authority
- CN
- China
- Prior art keywords
- rating
- assembly
- estate
- control signal
- test
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title abstract description 39
- 238000001914 filtration Methods 0.000 claims description 22
- 230000000712 assembly Effects 0.000 claims description 12
- 238000000429 assembly Methods 0.000 claims description 12
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims description 12
- 238000012360 testing method Methods 0.000 abstract description 191
- 230000000644 propagated effect Effects 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 22
- 230000008569 process Effects 0.000 description 19
- 230000001902 propagating effect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000008093 supporting effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
Images
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/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/318544—Scanning methods, algorithms and patterns
-
- 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/318536—Scan chain arrangements, e.g. connections, test bus, analog signals
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明包括用于动态隔离片上系统的扫描路径的一部分的设备和方法。在一个实施例中,设备包括扫描路径和控制逻辑。扫描路径包括至少第一等级级别和具有至少一个组件的第二等级级别,其中第一等级级别包括多个组件。第二等级级别适于被选定和取消选定从而使第二等级级别激活或禁用。控制逻辑适于传播传播过滤对第二等级级别的至少一个组件的至少一个控制信号的施加,以控制第二等级级别内的数据传播独立于第一等级级别内的数据传播。在一个实施例中,当取消选定第二等级级别时,控制逻辑禁止当在第一等级级别内传播数据时在第二等级级别内传播数据。在一个实施例中,当数据通过第一等级级别继续传播时,第二等级级别可以用来进行独立且并行的测试。
Description
技术领域
本发明涉及电子领域,更具体而言,涉及印刷电路板、片上系统和系统的测试。
背景技术
联合测试行动组(JTAG)是指用于使用边界扫描来测试印刷电路板的测试访问端口的IEEE 1149标准。自动测试生成(ATG)工具使用JTAG来测试印刷电路板。现在正在对工具JTAG(IJTAG)标准化(称为IEEE P1687标准),以克服现有的与从电路板级JTAG到芯片级JTAG的改变相关联的JTAG局限性。IJTAG建议在使用动态等级单元(例如称为选择工具位(SIB)单元的单元)的数据寄存器内包括动态等级路径。使用动态等级路径允许根据需要来接通或隔离扫描路径的各个部分。因此,通过使用诸如SIB等单元而使能的动态等级路径是很有价值的测试资源,因为扫描路径中的元件数量对于确定测试时间而言是很重要的,小心地使用等级可以用来减少测试时间。
如所建议的IEEE P1687标准中描述的那样,扫描链是线性扫描链,插入扫描链的每个SIB单元被插入以将等级引入扫描链。因此,由于扫描链是线性链,线性扫描链中包括的每个SIB单元必须经由扫描链而被线性访问以激活扫描链中的等级,因此扫描链的长度直接决定了修改和实现活动等级所需的访问时间量。虽然在扫描链仅包括几个单元的示例中,该限制可能显得无关紧要,但是在扫描链可能包括几百甚至几千个单元的实际系统中,这可能成为一个关键限制。虽然可以通过使用测试过程的精确调度来减小该问题的影响,但是简单地通过使用测试过程的调度并不能完全避免该问题。
发明内容
通过用于动态隔离片上系统的扫描路径部分的设备及相关联的方法,处理了现有技术的各种不足。
在一个实施例中,一种设备包括扫描路径和控制逻辑。扫描路径包括至少第一等级级别和具有至少一个组件的第二等级级别,其中第一等级级别包括多个组件。第二等级级别适用于被选定和取消选定,从而使第二等级级别是激活的或禁用的。控制逻辑适用于过滤对第二等级级别的所述至少一个组件的至少一个控制信号的施加,以控制第二等级级别内的数据传播独立于第一等级级别内的数据传播。在一个实施例中,当第二等级级别被取消选定时,控制逻辑禁止当在在第一等级级别内传播数据时在第二等级级别内传播数据。在一个实施例中,当数据继续传播通过第一等级级别时,第二等级级别可以用来进行独立、并行的测试。
在一个实施例中,一种测试具有包括第一等级级别和第二等级级别的扫描路径的片上系统的方法包括:选定扫描路径的第二等级级别以将第二等级级别加入扫描路径;通过第一等级级别的至少一部分将输入比特流的至少一个输入值传播至第二等级级别中;取消选定扫描路径的第二等级级别以从扫描路径中隔离第二等级级别;通过第二等级级别利用至少一个输入值以产生至少一个输出值来执行测试,其中执行测试独立于通过第一等级级别传播附加输入值;重新选定扫描路径的第二等级级别以将第二等级级别加入扫描路径,并通过第一等级级别的至少一部分将至少一个输出值传播到第二等级级别之外。
附图说明
通过结合附图考虑以下的详细说明,可以容易理解本发明的教导,其中:
图1图示了测试环境的高级框图;
图2图示了适于在图1的测试环境中使用的示例性片上系统的高级框图;
图3图示了示例性片上系统的高级框图,该片上系统具有包括由等级使能组件控制的两个等级级别的等级扫描路径;
图4图示了示例性片上系统的高级框图,该片上系统具有包括由等级使能组件控制的两个等级级别的等级扫描路径和过滤控制逻辑;
图5A-5E图示了使用过滤控制逻辑过滤图4中的片上系统的控制信号的示例;
图6图示了包括测试系统和片上系统的测试系统,所述片上系统包括等级扫描路径和适用于通过等级扫描路径测试的工具核;
图7图示了一种示例性方法,测试系统通过该方法测试具有包括第一等级级别和第二等级级别的扫描路径的片上系统;和
图8图示了适用于执行本文描述的功能的通用计算机的高级框图。
为了便于理解,尽可能使用相同的附图标记来指示各附图中共有的相同部分。
具体实施方式
提供了能够利用控制逻辑隔离扫描路径的不同等级层的设备和方法。在具有包括第一等级级别和第二等级级别的扫描路径的片上系统中,其中第二等级级别可以被动态选定和取消选定(激活/禁用第二等级级别从而使它可以被动态加入激活的扫描路径或从激活的扫描路径中去除),过滤控制逻辑能够过滤控制信号,以控制独立于第一等级级别内的数据传播的第二等级级别内的数据传播。
过滤控制逻辑过滤通常施加到扫描路径的所有组件上的控制信号,从而修改向第二等级级别的组件的控制信号的施加(而不修改向第一等级级别的组件的控制信号的施加)。以这种方式,当取消选定第二等级级别时,禁止在通过第一等级级别继续传播比特流值时在第二等级级别内传播比特流值,。因此,当取消选定第二等级级别时,第二等级级别被从扫描路径中有效隔离(即完全被禁用,从而没有数据在第二等级级别内传播)。
虽然本文主要参考具有两个等级级别的扫描路径进行图示和描述,但本文描述的不同的数据传播控制功能可以应用于具有任意数量的等级级别的扫描路径,其中任意数量等级级别可以以任意配置布置(例如使用嵌套、平行布置等,以及以上项目的各种组合)。
图1图示了测试环境的高级框图。具体地,测试环境100包括片上系统(S-o-C)110和测试系统(TS)120。TS 120测试S-o-C 110(例如测试S-o-C 110的单个组件(包括组件的功能)、S-o-C 110上的组件之间的互连、S-o-C 110的系统级功能等,以及以上项目的各种组合)。TS 120利用包括多个等级级别的系统扫描路径测试S-o-C 110。如图1所示,TS 120使用包括输入端口115I(TDI)和输出端口115O(TDO)的测试访问接口115来与S-o-C 110相接口。
在一个实施例中,在根据所建议的IEEE P1678标准的环境中,接口115可以实现为IEEE 1149.1标准所定义的测试访问端口(TAP)。在一个这样的实施例中,虽然本文主要使用TDI/TDO端口进行图示和描述,但是接口115可以包括其他控制端口,例如TCK端口、TMS端口、TRST端口等,以及可能需要的其他新控制接口(为了清楚起见,这些端口/接口均被省略)。虽然本文主要参考使用IEEE 1149.1标准所定义的修改版本的TAP实现的接口进行图示和描述,但是可以以多种其他方式来实现接口115。
TS 120使用测试过程来执行对S-o-C 110的测试。TS 120可以使用一个或多个测试过程来执行一个或多个测试。测试过程可以用于测试组件的一部分(例如组件的功能、组件的功能集合、依赖性等)、组件、组件组(例如组件之间的互连、组件间的依赖性等)、一个或多个系统级功能等,以及以上项目的各种组合。测试过程可以用于可能对片上系统执行的任何其他类型的测试。
TS 120生成对S-o-C 110的测试过程。测试过程规定测试S-o-C 110所需的信息。针对S-o-C 110的测试过程可以规定对S-o-C 110的描述(包括对S-o-C 110的每个单个组件的描述,以及S-o-C 110的系统级描述)。测试过程可以规定(要施加到扫描路径的)输入测试矢量,以及(预期从测试扫描路径接收的)预期输出测试矢量。测试过程还可以规定(要施加到片上系统的)一个或多个控制信号。测试过程可以包括与测试相关联的任何其他信息(例如估计的测试所需时间、针对测试的输出数据处理等,以及以上项目的各种组合)。
TS 120通过对S-o-C 110执行一个或多个测试过程来测试S-o-C110。TS 120针对所执行的每个测试生成输入测试比特流和预期测试结果(例如预期输出比特值或比特流)。TS还生成控制信号。TS 120将输入测试比特流(即输入测试矢量)施加到TDI输入端口115I。TS 120从TDO输出端口115O接收对应的输出测试比特流(称为输出测试矢量)。TS 120将输出测试比特流与预期测试结果相比较,以确定测试结果。
TS 120可以以任何方式处理来自所执行的测试过程的测试结果。在各个实施例中,例如,TS 120可以经由显示界面呈现测试结果、在存储器中存储测试结果、将测试结果传播到一个或多个其他系统等等,以及对其组合进行分类。TS 120可以以任何其他方式来处理来自所执行的测试过程的测试结果。TS 120还可以以类似方式(例如呈现、存储、传播等,以及以上项目的各种组合)来处理对测试的一些或所有输入。
TS 120可以对S-o-C 110执行一个或多个测试过程。TS 120可以以如下方式组织执行多个测试过程,其趋向于使得执行测试所需的总测试时间最小化(因为不同的调度判决将导致针对同一测试过程集合的不同测试完成时间)。TS 120可以规定测试调度(即规定了必须执行不同测试过程所依照的顺序的调度)。TS 120可以执行与片上系统的测试相关联的各种其他功能。
图2图示了适于在图1的测试环境中使用的示例性片上系统的高级框图。图2中的S-o-C 200是图1中的S-o-C 110的示例。如图2所示,S-o-C200包括通过多个组件互连220(总称为组件互连220)来互连的多个组件210A-210E(总称为组件210)。应当理解,参考图2图示和描述的的S-o-C 200仅构成片上系统的一个示例(即S-o-C 200可以包括能够以各种其他方式配置的各种其他组件)。
如图2所示,每个组件210包括多个内部寄存器,具体而言,组件210A包括三个寄存器(A0,A1,A2),组件210B包括六个寄存器(B0,B1,B2,B3,B4,B5),组件210C包括五个寄存器(C0,C1,C2,C3,C4),组件210D包括三个寄存器(D0,D1,D2),组件210E包括四个寄存器(E0,E1,E2,E3)。每个组件210的寄存器形成用于该组件210的内部扫描路径。
如图2所示,每个组件210支持至少一个功能。具体而言,组件210A支持三个功能,组件210B支持四个功能,组件210C支持三个功能,组件210D支持两个功能,组件210E支持一个功能。每个组件210所支持的功能可以分别使用每个组件210的寄存器(即内部扫描路径)。
如图2所示,经由S-o-C 200的组件互连220来连接S-o-C 200的组件210。组件210(即组件210的内部扫描路径)和组件210之间的组件互连220形成从S-o-C 200的输入测试端口(TDI)到S-o-C 200的输出测试端口(TDO)的测试扫描路径。
组件210包括片上系统型系统中可以包括的任何组件。在一个实施例中,在根据所建议的IEEE P1687标准实现的系统中,组件210可以包括IP器件和/或工具。由于IP/工具可能非常类似,本文可以交互使用这两个术语。此外,由于IP和工具可以用作片上系统的组件,IP和工具在本文中可以更普遍地称为组件。在其他实施例中,在根据其他标准的系统中,组件210可以包括其他类型的组件。
IP器件是需要测试的器件。工具是除了需要测试之外还提供适合辅助测试的功能(例如,读取值,监测值,以及以上项目的各种组合)的器件。例如,工具可以是用来确定实际加速度测试参数的温度传感器的输出。例如,工具可以是用来校准用在软件定义的无线电的获得阶段的可调滤波器的传感器的参考值。因此,工具可以有助于在初始系统测试期间以及系统的整个使用寿命期间的测试。
组件210可以包括一个或多个等级使能组件。等级使能组件是(例如通过动态激活/禁用片上系统的测试扫描路径的一个或多个等级级别的附加组件)支持片上系统的扫描路径的动态修改的组件。一般而言,等级改进了片上系统的组件的测试。例如,等级实现了测试期间活动系统扫描路径的最小化和和组件的隔离,从而减少了对片上系统的组件的访问时间。参考图3可以更好地理解对等级使能组件的使用。
图3图示了示例性片上系统的高级框图,该片上系统具有包括由等级使能组件控制的两个等级级别的等级扫描路径。具体而言,图3的片上系统300包括经由等级使能组件320互连的第一测试组件3101(记为组件A0)和第二测试组件3102(记为组件A1),等级使能组件320动态控制对第三测试组件3103(记为组件B0)和第四测试组件3104(记为组件B1)的访问。第一和第二测试组件3101和3102以及等级使能组件320形成了测试扫描路径的第一等级级别。第三和第四测试组件3103和3104形成了测试扫描路径的第二等级级别。
可以选定等级使能组件320,以激活扫描路径的第二等级级别(即,将第二等级级别添加到活动扫描路径),可以取消对等级使能组件320的选定,以禁用扫描路径的第二等级级别(即,从活动扫描路径去除第二等级级别)。例如,当取消对等级使能组件320的选定时,等级使能组件320作为通路而操作,从而扫描路径包括:TDI→A0→HC→A1→TDO。例如,当等级使能组件320被激活时,等级使能组件320激活扫描路径的第二等级级别,使得扫描路径包括以下序列:TDI、A0、HC、B0、B1、HC、A1、TDO。可以以适于动态修改片上系统的扫描路径的任何方式来实现等级使能组件320。
等级使能组件320是适于支持扫描路径的动态修改(即激活和禁用扫描路径的等级级别)的任何组件。在一个实施例中,例如,等级使能组件320可以包括由所建议的IEEE P1687标准定义的选择工具位(SIB)(或由所建议的IEEE P1687标准定义的SIB的修改版本,当取消选定扫描路径的第二等级级别时,依赖于用来过滤控制信号以禁止通过扫描路径的第一等级级别传播的比特流值通过扫描路径的第二等级级别传播的控制逻辑的实现)。
等级使能组件320可以是支持扫描路径的动态修改的更复杂的等级使能组件(本文称为交叉(crossroad)器件)。为了清楚地描述用来过滤通过扫描路径的第一等级级别传播的比特流值以禁止其通过扫描路径的第二等级级别传播的控制逻辑的使用,本文主要在下述实施例的上下文中图示和描述过滤控制逻辑,在所述实施例中,利用由所建议的IEEE P1687标准定义的SIB单元(或SIB的修改版本,依赖于控制逻辑的实现)提供片上系统的动态等级。
图4图示了示例性片上系统的高级框图,该片上系统具有包括由等级使能组件控制的两个等级级别的等级扫描路径和过滤控制逻辑。片上系统400包括图3中的片上系统300的实现。如图4所示,非等级使能组件3101-3104以边界扫描单元4101-4104(总称为边界扫描单元410)实现,等级使能组件320以由所建议的IEEE P1687标准定义的SIB单元420实现,而且,进一步,,提供附加逻辑(如图示,过滤控制逻辑430)用来过滤控制信号,以(当取消第二等级级别时)禁止在通过扫描路径的第一等级级别继续传播比特流值时通过扫描路径的第二等级级别传播比特流值。
为清楚地图示比特流通过片上系统400的组件的传播,每一个支持多输入端口的多路复用器以以下方式标记,以区别当“0”施加到多路复用器的控制端口时选定的多路复用器的输入端口和当“1”施加到多路复用器的控制端口时选定的多路复用器的输入端口。具体而言,图4中的多路复用器的加黑的每一个输入端口指示当“1”施加到多路复用器的控制端口时被选定通往多路复用器的输出的输入端口(多路复用器的未加黑的输入端口指示当“0”施加到多路复用器的控制端口时被选定通往多路复用器的输出的输入端口)。
如图4所示,每一个边界扫描单元410均是支持从TDI输入到TDO输出的扫描路径和从第二输入到第二输出的附加数据路径的标准的IEEE 1149.1边界扫描单元。边界扫描单元4101-4104包括各自的多个输入MUX 4111-4114(总称为输入MUX 411),各自的多个记录寄存器4121-4124(总称为记录寄存器412),各自的多个更新寄存器4131-4134(总称为更新寄存器413)和各自的多个输出MUX 4141-4144(总称为输出MUX 414)。
在每一个边界扫描单元410中,沿从边界扫描单元的TDI输入到边界扫描单元的TDO输出的扫描路径的信号传播利用输入MUX 411、记录寄存器412、更新寄存器413和输出MUX 414来执行。每一个边界扫描单元的扫描路径形成了片上系统400的扫描路径的一部分。在每一个边界扫描单元410中,沿从第二输入到第二输出的附加数据路径的信号传播或者利用从第二输入到输出MUX 414的第一路径,或者利用使用输入MUX 411、记录寄存器412、更新寄存器413和输出MUX 414的第二路径。每一个边界扫描单元410支持的附加数据路径可以用作其它的测试目的(例如,测试工具,测试组件之间的互连,以及以上项目的各种组合)。
下面是对每一个边界扫描单元410的描述。
在每一个边界扫描单元410中,输入MUX 411包括两个输入端口:耦合到TDI输入(例如,来自扫描链中的在前组件的输出,例如来自边界扫描单元的记录寄存器的输出,来自SIB单元的TDO输出,或任意其它类似的扫描路径信号)的第一端口,和耦合(如果需要/必需,可以以很多种方式耦合)到附加数据路径的第二输入的第二输入端口。对通过输入MUX 411传输到输入MUX 411的输出的输入信号的选定由施加到片上系统400的每一个组件的公共移位DR(ShDR)控制信号控制。在每一个边界扫描单元410中,当ShDR控制信号为“1”时,来自输入MUX 411的第一输入的输入信号被传播到记录寄存器412,并且当ShDR控制信号为“0”时,来自输入MUX 411的第二输入的输入信号被传播到记录寄存器412。
在每一个边界扫描单元410中,输入MUX 411的输出耦合到记录寄存器412的输入(即,传输通过输入MUX 411的每一个信号均存储在记录寄存器412中)。记录寄存器412的输出耦合到该边界扫描单元410的TDO输出和更新寄存器413的输入。更新寄存器413由施加到片上系统400的每一个寄存器的时钟输入的公共更新DR(UpDR)控制信号控制。在一个实施例中,在每一个边界扫描单元410中,在UpDR的上升边缘,来自记录寄存器412的输出的信号被传播到更新寄存器413(即,之前存储在记录寄存器412中的值被存储到更新寄存器413中),且当UpDR控制信号为“0”时,来自记录寄存器412的输出的信号(其总是传播到TDO输出)不会被传播到更新寄存器413。更新寄存器413的输出耦合到输出MUX 414的第一输入。
在每一个边界扫描单元410中,输出MUX 414包括两个输入端口:耦合到更新寄存器413的输出的第一输入端口,和耦合(如果需要/必需,可以以很多种方式耦合)到附加数据路径的第二输入的第二输入端口。对通过输出MUX 414传输到输出MUX 414的输出的输入信号的选定由施加到片上系统400的每一个边界扫描单元410的公共模式控制信号控制。在每一个边界扫描单元410中,当模式控制信号为“0”时,来自输出MUX 414的第一输入端口的输入信号(即更新寄存器413的输出)被传播到边界扫描单元410的第二输出,并且当模式控制信号为“1”时,来自输出MUX 414的第二输入端口的输入信号(即附加数据路径的第二输入)被传播到边界扫描单元410的第二输出。
如图4所示,SIB单元420是由所建议的IEEE P1687标准定义的标准SIB单元。SIB单元420支持(经由TDI输入到TDO输出的)扫描路径的第一等级级别,和(经由耦合到边界扫描单元B0的TDI输入的WSIo端口和耦合到边界扫描单元B1的TDO输出的WSOi端口的)扫描路径的第二等级级别。SIB单元420包括选择工具位(SIB)寄存器422、更新SIB(UpSIB)寄存器424和输出MUX 426。SIB寄存器422具有相关联的SIB输入MUX 421。UpSIB寄存器424具有相关联的UpSIB输入MUX 423。
与SIB寄存器422相关联的SIB输入MUX 421控制对SIB寄存器422的输入。SIB输入MUX 421包括两个输入端口。SIB输入MUX 421接受(例如来自扫描路径中的在前组件)的TDI输入和SIB寄存器422的输出作为输入。SIB输入MUX 421由ShDR控制信号控制,该ShDR控制信号被施加到SIB输入MUX 421的控制端口。当ShDR控制信号是“1”时,SIB输入MUX 421将信号从TDI输入传递到SIB寄存器422中。当ShDR控制信号是“0”时,SIB输入MUX 421将信号从SIB寄存器422的输出传递到SIB寄存器422中。
SIB寄存器422从SIB输入MUX 421的输出接受输入。SIB寄存器422由施加到SIB寄存器422的控制端口的时钟信号(记为TCK)控制。SIB寄存器422的输出耦合到以下中的每一个:对SIB输入MUX 421的输入、对UpSIB输入MUX 423的输入、对输出MUX 426的输入,以及WSIo端口(当扫描路径的第二等级级别被激活时,其提供对第二(或更低)等级级别组件的访问,以便将信号传播到第二等级级别或在第二等级级别中传播)。
与UpSIB寄存器424相关联的UpSIB输入MUX 423控制对UpSIB寄存器424的输入。UpSIB输入MUX 423包括两个输入端口。UpSIB输入MUX 423接受来自SIB寄存器422的输出和来自UpSIB寄存器424的输出作为输入。UpSIB输入MUX 423由施加到UpSIB输入MUX 423的控制端口的UpDR控制信号控制。当UpDR控制信号是“1”时,UpSIB输入MUX 423将信号从SIB寄存器422的输出传递到UpSIB寄存器424中。当UpDR控制信号是“0”时,UpSIB输入MUX 423将信号从UpSIB寄存器424的输出传递到UpSIB寄存器424中。
UpSIB寄存器424从UpSIB输入MUX 423的输出接受输入。UpSIB寄存器424由施加到UpSIB寄存器424的时钟端口的时钟信号(记为TCK)控制。UpSIB寄存器424的输出耦合到以下中的每一个:对UpSIB输入MUX 423的输入、输出MUX 426的控制端口,以及Select_Instr信令路径(其耦合到过滤控制逻辑430,用于过滤对第二(或更低)等级级别的组件的ShDR和UpDR控制信号的施加,以便有效地从扫描路径中隔离第二等级级别的组件)。
输出MUX 426包括两个输入端口。输出MUX 426接受来自SIB寄存器422的输出和经由WSOi端口来自更低等级级别的输入(在本示例中例如是边界扫描单元B1的TDO输出)作为输入。输出MUX 426的输出耦合到SIB单元420的TDO输出(以传播到扫描路径的第一等级级别中的后续组件,在本示例中是边界扫描单元A1)。输出MUX 426的输出由施加到输出MUX 426的控制端口的控制信号确定。UpSIB寄存器424的输出耦合到输出MUX 416的控制端口。
如图4所示,UpSIB寄存器424的值确定选定第二等级级别(即作为扫描路径的一部分)还是取消选定第二等级级别(即不作为扫描路径的一部分)。当取消选定第二等级级别时(即UpSIB寄存器424的值是“0”),输出MUX 426将SIB寄存器422的输出传递到SIB单元420的TDO输出,并且忽略来自WSOi端口的值。当选定第二等级级别时(即UpSIB寄存器424的值是“1”),输出MUX 426将信号从更低等级级别(即从WSOi端口)传递到SIB单元420的TDO输出。
如图4所示,除施加到每一个边界扫描单元410和SIB单元420的ShDR控制信号和UpDR控制信号之外,ShDR控制信号和UpDR控制信号也都施加到过滤控制逻辑430。进一步如图4中所示,SIB单元420的UpSIB寄存器424的输出耦合到过滤控制逻辑430,以过滤对第二等级级别的组件(即边界扫描单元4203和4204)的ShDR控制信号和UpDR控制信号的施加,因此当取消选定扫描路径的第二等级级别(即SIB单元420的UpSIB寄存器424被设为“0”)时,禁止通过扫描路径的第一等级层(即A0→SIB→A1)传播的比特流值通过扫描路径的第二等级级别(即SIB→B0→B1→SIB)传播。
过滤控制逻辑430包括适于过滤第二等级级别中的ShDR控制信号的第一AND门431。第一AND门431包括(耦合到ShDR控制信号的)第一输入端口和(耦合到等级选定控制信号(即图4的示例中的SIB单元420的UpSIB寄存器424的输出)的)第二输入端口。如图4所示,第一AND门431的输出端口耦合到第二等级级别的每一个组件的各自的输入MUX 411(即边界扫描单元4103和4104各自的输入MUX 4113和4114)的控制端口,而不是将ShDR控制信号直接施加到第二等级级别的每一个组件各自的输入MUX的控制端口。
例如,在不包括过滤控制逻辑的现有系统中,由于ShDR控制信号必须被激活以通过第一等级级别的组件(即通过扫描路径)传播比特流,另外,由于ShDR控制信号施加到扫描路径所有的组件(包括第二等级级别的组件),在不通过片上系统的第二等级级别传播比特流的情况下不能通过片上系统的第一等级级别传播比特流(即使利用相关联的SIB单元的UpSIB寄存器取消选定第二等级级别)。
在图4的片上系统400中,由于当取消选定第二等级级别时UpSIB寄存器424的值是“0”,第一AND门431确保在取消选定第二等级级别时(即在UpSIB寄存器424的值是“0”时),第一AND门431的输出是“0”,因而施加到第二等级级别的组件的相应的的输入MUX 411的控制端口的控制信号的值是“0”,从而在比特流通过第一等级级别的组件传播时,禁止比特流通过第二等级级别的组件(即通过边界扫描单元4103和4104)传播。
如图4所示,当取消选定第二等级级别时,第一AND门431禁止从边界扫描单元4103的TDI输入到边界扫描单元4103的记录寄存器4123的数据传播,且类似的,禁止从边界扫描单元4104的TDI输入到边界扫描单元4103的记录寄存器4123的数据传播。换句话说,存储在第二等级级别的组件(即边界扫描单元4103和4104)的各自的记录寄存器中的数据值保持不变,即使比特流通过第一等级级别继续传播。根据图5的示例将可以更好地理解这一点。
过滤控制逻辑430包括适于过滤第二等级级别中的UpDR控制信号的第二AND门432。第二AND门432包括(耦合到UpDR控制信号的)第一输入端口和(耦合到等级选定控制信号(即图4的示例中的SIB单元420的UpSIB寄存器424的输出)的)第二输入端口。如图4所示,第二AND门432的输出端口耦合到第二等级级别的每一个组件的相应的的更新寄存器413(即边界扫描单元4103和4104各自的更新寄存器4133和4134)的控制端口,而不是将UpDR控制信号直接施加到第二等级级别的每一个组件相应的更新寄存器的控制端口。
例如,在不包括过滤控制逻辑的现有系统中,由于UpDR控制信号必须被激活以通过第一等级级别的组件(即通过附加数据路径经由第二输出输出)传播比特流,另外,由于UpDR控制信号施加到扫描路径所有的组件(包括第二等级级别的组件),在不通过片上系统400的第二等级级别传播比特流情况下比特流不能通过片上系统的第一等级级别传播(即使利用相关联的SIB单元的UpSIB寄存器取消选定第二等级级别)。
在图4的片上系统400中,由于当取消选定第二等级级别时UpSIB寄存器424的值是“0”,第二AND门432确保,在取消选定第二等级级别时(即在UpSIB寄存器424的值是“0”时),第二AND门432的输出是“0”,且因而施加到第二等级级别的组件的相应的的更新寄存器413的控制端口的控制信号的值是“0”,从而在比特流通过第一等级级别的组件传播时,禁止比特流通过第二等级级别的组件(即通过边界扫描单元4103和4104)传播。
如图4所示,当取消选定第二等级级别时,第二AND门432禁止从记录寄存器4123到边界扫描单元4103的更新寄存器4133的数据传播,且类似的,禁止从记录寄存器4124到边界扫描单元4104的更新寄存器4134的数据传播。换句话说,存储在第二等级级别(即边界扫描单元4103和4104)的组件的相应的更新寄存器中的数据值保持不变,即使比特流通过第一等级级别继续传播。根据图5的示例将可以更好的理解这一点。
因此,等级选定控制信号过滤了施加到第二等级级别的非等级使能组件4103和4104的UpDR和ShDR控制信号,从而禁止了通过第一等级级别的组件(A0→SIB→A1)传播的比特流通过第二等级级别的非等级使能组件传播(即,边界扫描单元B0和B1的寄存器保持它们各自的值,所述值在第二等级级别由SIB单元420动态取消选定以从活动扫描路径中去除第二等级级别之前载入边界扫描单元B0和B1)。
控制信号的过滤提供了很多优点,所述控制信号一般被施加到扫描路径的第二等级级别的组件,以从扫描路径中隔离第二等级级别。
首先,如本文图示和描述的控制信号过滤提供了对能量消耗的节约,因为当取消选定第二等级级别时,第二等级级别的组件不再传递和存储信号(相反,对于现有系统,取消选定第二等级级别并不能禁止比特通过第二等级级别传播)。
其次,如本文图示和描述的控制信号过滤能够利用第二等级级别进行独立、并行测试(否则它不能以这种方式利用)。换句话说,由于控制信号过滤禁止了从第一等级级别到第二等级级别的比特流传播,第一等级级别和第二等级级别被有效地隔离,从而不同的测试可以在不同的等级级别中并行执行。
参考图5A-图5E(其提供了根据图4图示和描述的片上系统400的操作的示例)的示例和图6(其提供了用于通过第二等级级别进行并行测试的控制过滤逻辑的示例性应用)的实施例可以更好地理解如本文图示和描述的控制信号过滤的这些优势以及其它优势。
图5A-5E图示了使用过滤控制逻辑过滤图4中的片上系统的控制信号的示例。
图5A图示了片上系统400的初始状态。在此示例中,假设(1)边界扫描单元A0和A1的记录寄存器和更新寄存器均被设置为“1”,并且(2)SIB单元420的SIB寄存器422和UpSIB寄存器424均被设置为“0”(因此扫描路径的第二等级级别被取消选定)。进一步,假设在通过设置UpSIB寄存器424为“0”而取消选定第二等级级别之前,值被传播到第二等级级别的边界扫描单元B0和B1中(如图示,边界扫描单元B0和B1的记录寄存器和更新寄存器均设置为“1”)。
如图5A所示,ShDR被设置为“1”且UpDR被设置为“0”。在此示例中,将输入比特流“000”施加到片上系统400的TDI输入,且相关联的输出比特流将被片上系统400的TDO输出覆盖。
图5B图示了在第一时钟周期(ShDR=“1”且UpDR=“0”)之后片上系统400的状态。
如图5B所示,输入比特流的第一比特(即a“0”)从边界扫描单元A0的TDI输入传播到边界扫描单元A0的记录寄存器4111,存储在边界扫描单元A0的记录寄存器4121中的值(“1”)传播到SIB单元420的TDI输入并且存储在SIB单元420的SIB寄存器422中,存储在SIB单元420的SIB寄存器422中的值(“0”)经由SIB单元420的TDO输出和边界扫描单元A1的输入MUX 4112传播到边界扫描单元A1的记录寄存器4122,且存储在边界扫描单元A1的记录寄存器4122中的值(“1”)传播到边界扫描单元A1的TDO输出(同时也是片上系统400的TDO输出)。因此,输出比特流的第一比特为“1”。
进一步如图5B所示,由于UpDR设置为“0”,边界扫描单元A0和A1各自的更新寄存器4131和4132的值(即“1”)保持不变,且SIB单元420的UpSIB寄存器424的值(“0”)保持不变(因此第二等级级别仍然取消选定)。
如图5B所示,即使ShDR为“1”,过滤控制逻辑430的第一AND门431也会以UpSIB寄存器424的值(即“0”)作为输入,因此,第一AND门431的输出为“0”。第一AND门431的输出作为控制信号施加到第二等级级别的边界扫描单元B0和B1各自的输入MUX 4113和4114,从而禁止了SIB单元420的WSIo端口上的值传播到边界扫描单元B0的记录寄存器4123中,禁止了来自边界扫描单元B0的记录寄存器4123的值传播到边界扫描单元B1的记录寄存器4124中,且禁止了来自边界扫描单元B1的记录寄存器4124的值经由SIB单元420的WSOi端口和TDO输出传播到边界扫描单元A0(即,从而当取消选定第二等级级别时,禁止了来自第一等级级别的数据值传播到第二等级级别)。
类似的如图5B所示,尽管UpDR为“0”,第二AND门432也会以UpSIB寄存器424的值(即“0”)作为输入,且因此第二AND门432的输出为“0”。第二AND门432的输出作为控制信号施加到第二等级级别的边界扫描单元B0和B1各自的更新寄存器4133和4134,从而禁止了存储在记录寄存器4123和4124中的值分别传播到边界扫描单元B0和B1的更新寄存器4133和4134中(即,当取消选定第二等级级别时禁止了第二等级级别的单元4103和4104中的数据传播)。
图5C和图55D分别图示了在第二和第三时钟周期(ShDR=“1”且UpDR=“0”)之后片上系统400的状态。在图5C和图5D中,当存储在第二等级级别的每一个组件中的值保持不变时,输入比特流通过扫描路径的第一等级级别的组件继续传播。在图5C和图5D中,通过第一等级级别的组件的信号传播以类似于根据图5B图示和描述的方式进行(因此,详细描述省略)。为清楚起见,在每一个时钟周期与片上系统400的扫描路径的组件相关联的值如表1总结。
表1
因此,从图5A-图5D及上面提供的相关联的表1中可知,片上系统400的过滤控制逻辑430适于确保当第二等级级别保持被SIB单元420取消选定时,当输入比特流通过第一等级级别(即,通过边界扫描单元A0,SIB单元420和边界扫描单元A1)连续传播以产生相应的输出比特流时,存储在第二等级级别的每一个组件内(即边界扫面单元B0和B1的寄存器内)的值保持不变。
如图5E所示,在输入比特流(“000”)的每一个比特(经由测试系统的TDI输入)施加到片上系统400,并且相应的输出比特流(“101”)的每一个比特(经由TDO输出到测试系统)从片上系统400采集之后,ShDR从“1”切换为“0”且UpDR从“0”切换为“1”。这将促使边界扫描单元A0的记录寄存器4121的值存储到边界扫描单元A0的更新寄存器4131,并促使边界扫描单元A1的记录寄存器4122的值存储到边界扫描单元A1的更新寄存器4132。
如图5E所示,尽管ShDR为“0”,第一AND门431也会以UpSIB寄存器424的值(即“0”)作为输入,且因此第一AND门431的输出为“0”。第一AND门431的输出作为控制信号施加到第二等级级别的边界扫描单元B0和B1各自的输入MUX 4113和4114,从而禁止了SIB单元420的WSIo端口上的值传播到边界扫描单元B0的记录寄存器4123中,禁止了来自边界扫描单元B0的记录寄存器4123的值传播到边界扫描单元B1的记录寄存器4124中,且禁止了来自边界扫描单元B1的记录寄存器4124的值经由SIB单元420的WSOi端口和TDO输出传播到边界扫描单元A0(即,当数据通过第一等级级别继续传播时,禁止第二等级级别内的数据传播)。
类似的如图5E所示,尽管UpDR为“1”,第二AND门432也会以UpSIB寄存器424的值(即“0”)作为输入,且因此第二AND门432的输出为“0”。第二AND门432的输出作为控制信号施加到第二等级级别的边界扫描单元B0和B1各自的更新寄存器4133和4134,从而禁止了存储在边界扫描单元B0和B1的记录寄存器4123和4124中的值分别传播到边界扫描单元B0和B1的更新寄存器4133和4134中(即,当数据通过第一等级级别继续传播时,禁止了第二等级级别的单元4103和4104中的数据传播)。
图6图示了包括测试系统和片上系统的测试环境,所述片上系统包括等级扫描路径和适用于通过等级扫描路径测试的工具核。如图6所示,测试系统600包括片上系统610和测试系统620。片上系统610包括片上系统611和工具核612。片上系统611基本类似于根据图4图示和描述的片上系统400(包括到工具核612的附加接口)。工具核612可以包括适用于使用IJTAC经由扫描路径测试的任意类型的工具。
如这里描述的,过滤控制逻辑430能够使工具核612和经由片上系统611的第一等级级别执行的其它测试一起并行测试。
测试系统620选定SIB单元420,以使片上系统611的第二等级级别在片上系统611的扫描路径中是激活的。如这里描述的,在第二等级级别被选定之后,可以将值读入第二等级级别的边界扫描单元B0和B1(因为过滤控制逻辑430不过滤ShDR和UpDR控制信号)。测试系统620将输入比特流施加到片上系统611的TDI输入,以促使输入比特流值沿扫描路径A0→SIB单元→B0→B1→SIB单元→A1传播。这使需要的值加载到第二等级级别的边界扫描单元B0和B1的记录和更新寄存器中。
在加载了需要的值到第二等级级别的边界扫描单元B0和B1之后,测试系统620取消选定SIB单元420,从而使输入比特流值可以通过第一等级级别(A0→SIB单元→A1)继续传播,而无须修改第二等级级别的边界扫描单元B0和B1的值(即,过滤控制逻辑430通过过滤ShDR和UpDR控制信号来禁止输入比特流值传播到第二等级级别,如本文图示和描述,以从片上系统611的扫描路径中有效隔离第二等级级别)。
如图6所示,加载入边界扫描单元B0和B 1的值施加到工具核612,以初始化工具核上的一个或更多个测试(如图示,从边界扫描单元B0施加到工具核612的测试开始信号615)。
在这种方式下,当测试系统620继续施加输入比特流到第一等级级别以执行对片上系统610的其它测试(例如,测试连接,测试其它IP/工具,以及以上项目的各种组合)时,工具核612被测试。因此,使用过滤控制逻辑430以从第一等级级别中隔离第二等级级别,能够进行对片上系统610执行的并行测试,从而导致利用测试系统620测试片上系统610所需的时间减少。
如图6所示,在工具核612的测试完成之后,工具核612提供测试结果给片上系统611以传回给测试系统620。如图6所示,工具核612提供测试结果给边界扫描单元B1(如图示,测试结果信号616),边界扫描单元B1然后将测试结果传播到测试系统620。为了将测试结果从第二等级级别的边界扫描单元B0传播到测试系统620,第二等级级别必须被重新选定,从而它又被重新加入到片上系统611的扫描链中。测试系统620重新选定SIB单元420,从而将第二等级级别添加回片上系统611的扫描路径。然后测试系统620施加适于促使测试结果沿从边界扫描单元B1到测试系统620的扫描路径(即,沿路径B1→SIB单元→A1→TDO)传播的信号。
为了使测试系统620控制测试结果从工具核612到测试系统620的传播,测试系统620需要能够确定第二等级级别何时应该被重新选定以被包含在片上系统611的扫描路径中。可以以很多方式实现这一点。
在一个实施例中,测试系统620预先知道执行工具核612的测试所需的时间长度(例如,所需的时钟周期数量)。在此实施例中,测试系统620可以简单跟踪测试工具核612的时间长度(例如通过对时钟周期计数),从而测试系统620精确知道何时来自工具核612的测试结果可用。在此实施例中,在确定工具核612的测试完成之后,测试系统620启动适于重新选定第二等级级别的信号传播,从而使来自工具核612的测试结果能够沿扫描路径传播到测试系统620(即,沿路径B1→SIB单元→A1→TDO)。
在一个实施例中,测试系统不知道执行工具核612的测试所需的时间长度。在此实施例中,测试系统620可以检测来自工具核612的指示该测试完成的信号(即,可从工具核612获得测试结果的信号)。在一个实施例中,测试完成控制信号可以从工具核612提供给第一等级级别的一个组件(如图示,从工具核612提供到边界扫描单元A1的可选测试结束信号617),以传播给测试系统620。出于传达工具核612测试完成且测试结果可用的指示的目的,测试完成控制信号可以包括一个或更多比特集。参考接下来的示例可以更好地理解这一点。
在一个实施例中,例如,片上系统610的扫描路径可以由连接到TDI输入的单元的第一片段(S1)(具有15个单元),连接到TDO输出的单元的第二片段(S2)(具有5个单元),位于S 1和S2之间的SIB单元和在SIB单元的等级分支中并且连接到工具核612的单元的第三片段(S3)(具有80个单元)构成。在此示例中,S1-SIB-S2形成第一等级级别且S3形成了由SIB单元控制的第二等级级别。在此示例中,假设S2的第一单元将接收和存储测试结束信号617。
在此示例中,通过测试系统620执行的一个操作可以包括如下步骤:(1)通过设置SIB单元为“1”选定S3;(2)通过访问扫描路径加载值到S1-S2-S3中,其中扫描路径中第一等级级别和第二等级级别均激活(此时扫描路径由101(15+1+80+5)个组件构成;(3)加载启动操作的值到S3;(4)通过设置SIB单元为“0”取消选定S3;(5)访问扫描路径以继续测试,此时S3正完成其独立于第一等级级别内的测试的操作,其中扫描路径由S1-SIB-S2(具有21个组件)构成;(6)监测S2的第一比特的值(即在取消选定第二等级级别之后当前扫描路径中的第17比特),因为当工具核612完成其操作后,工具核612将S2的第一比特的值设为“1”;(7)重新选定S3(SIB=1);和(8)从扫描路径(此时包括101个组件)中收集结果。
在这种方式下,测试系统620能够在第一等级级别中继续执行其它测试时经由第二等级级别执行并行测试。本文参照图7图示和描述根据一个这样的实施例的方法。
图7图示了根据一个实施例的示例性方法。具体而言,图7的方法700包括一种方法,通过所述方法,测试系统测试具有包括第一等级级别和第二等级级别的扫描路径的片上系统。虽然以串行执行的方式图示和描述,图7的方法700的步骤中的至少一部分可以同时执行,或以参照图7图示和描述的不同的顺序来执行。方法700始于步骤702并进行到步骤704。
在步骤704,选定片上系统的第二等级级别以将其加入到片上系统的扫描路径中。在步骤706,输入值从测试系统传播到第二等级级别。输入值经由第一等级级别的至少一部分从测试系统传播到第二等级级别。在步骤708,取消选定片上系统的第二等级级别,从而从片上系统的扫描路径中隔离第二等级级别。
在步骤710,当经由第一等级级别继续执行测试时(即当其它值通过第一等级级别继续传播而不通过第二等级级别传播),经由第二等级级别执行测试。经由第二等级级别执行的测试利用输入值执行。经由第二等级级别执行的测试产生输出值。此测试可以包括任意测试(例如,测试连接,工具,以及以上各项的各种组合)。
在步骤712,选定片上系统的第二等级级别以将其加入到片上系统的扫描路径中。在步骤714,输出值从第二等级级别传播到测试系统。输出值经由第一等级级别的至少一部分(其可以包括与用来传播输入值到第二等级级别的第一等级级别的不同部分)从第二等级级别传播到测试系统。
在步骤716,方法700结束。虽然(出于清楚起见)本文以结束图示和描述,但方法700可以继续执行,如果为测试片上系统的目的需要/必须的话。方法700可以对第二等级级别继续执行,也可以对片上系统可能支持的其他等级级别继续执行。
虽然主要参考使用特定等级使能组件(即在所建议的IEEE P1687标准中定义的SIB单元)控制扫描路径的等级级别的选定/取消选定进行图示和描述,但任意等级使能组件可以用来控制扫描路径的等级级别的选定/取消选定,且因此本文图示和描述的过滤控制逻辑也可以以任意适于(当取消选定第二等级级别时)禁止在通过扫描路径的第一等级级别继续传播比特流值时通过扫描路径的第二等级级别传播比特流值的方式实现。
虽然本文主要参考使用一个等级选定控制信号以过滤ShDR和UpDR控制信号(例如,SIB单元的UpSIB寄存器的值)进行图示和描述,但在其它实施例中,当数据通过扫描路径的第一等级级别继续传播时,出于禁止在扫描路径的第二等级级别中传播数据的目的,可以利用多个等级选定控制信号以过滤ShDR和UpDR控制信号。在这样的实施例中,多个等级选定控制信号可以以任意方式(可以依赖于用于扫描路径的第二等级级别的选定/取消选定的等级使能组件的设计/操作)利用。在这样的实施例中,使用多个等级选定控制信号需要使用不同的过滤控制逻辑。
虽然本文主要参考使用特定的控制逻辑以实现本文中图示和描述的控制信号过滤功能进行图示和描述,但任意控制逻辑可以用来实现本文中图示和描述的控制信号过滤功能。过滤控制逻辑可以包括适于过滤出于从相关联的第一等级级别中隔离第二等级级别的目的施加到第二等级级别的控制信号的任意控制逻辑。换句话说,过滤控制逻辑可以包括适于从片上系统的扫描路径中隔离第二等级级别(即当取消选定第二等级级别时,比特流不在第二等级级别内传播)的任意控制逻辑。
虽然本文主要参考包括组件特定组合的扫描路径进行图示和描述,但本文中图示和描述的控制信号过滤功能可以对于包括组件的各种其他组合的扫描路径实现。虽然本文主要参考两个等级级别(即第一等级级别和第二等级级别)进行图示和描述,但本文中图示和描述的控制信号过滤功能可以对于具有等级级别的任意数量和/或组合(例如,以任意配置布置的N个级别)的片上系统来实现。
在一个实施例中,例如,片上系统设备包括:(1)包括N个等级级别的测试扫描路径,其中第一等级级别包括基本级别,其中N个等级级别中的N-1个等级级别每一个都适于被动态选定/取消选定,其中第n个等级层的选定/取消选定由第n-1个等级层控制,和(2)控制逻辑,其适于当数据在每一个选定的等级层中传播时,出于禁止在每一个取消选定的等级层中传播数据的目的,过滤至少一个对每一个取消选定的等级级别的控制的施加。
图8图示了适用于执行本文描述的功能的通用计算机的高级框图。如图8所示,系统800包括处理器元件802(例如CPU)、存储器804,例如随机存取存储器(RAM)和/或只读存储器(ROM)、测试控制模块805,以及各种输入/输出器件806(例如存储器件,包括但不限于磁带驱动器、软盘驱动器、硬盘驱动器或光盘驱动器、接收机、发射机、扬声器、显示器、输出端口,和用户输入设备(例如键盘、小键盘、鼠标等))。
应当注意,可以以软件和/或以软件和硬件的组合(例如使用专用集成电路(ASIC)、通用计算机或任何其他硬件等同物)来实现本发明。在一个实施例中,本测试控制过程805可以被载入存储器804,并被处理器802执行,以实现如上所讨论的功能。因此,本发明的测试控制过程805(包括相关联的数据结构)可以存储在计算机可读介质或载体上,例如RAM存储器、磁或光驱动器或盘片,等等。
虽然文本详细示出和描述了包含本发明教导的各种实施例,但是本领域技术人员可以容易设想包含这些教导的很多其他变型实施例。
Claims (10)
1.一种片上系统设备,所述设备包括:
扫描路径,所述扫描路径包括至少第一等级级别和第二等级级别,第一等级级别包括多个组件,第二等级级别包括至少一个组件,其中利用施加到第一等级级别的组件的至少一个控制信号在第一等级级别内传播数据;和
控制逻辑,所述控制逻辑用于过滤对第二等级级别的至少一个组件的至少一个控制信号的施加,以控制第二等级级别内的数据传播独立于第一等级级别内的数据传播。
2.根据权利要求1所述的设备,其中,当取消选定第二等级级别时,控制逻辑禁止当在第一等级级别内传播数据时在第二等级级别内传播数据。
3.根据权利要求1所述的设备,其中,当选定第二等级级别时,控制逻辑允许当在第一等级级别内传播数据时在第二等级级别内传播数据。
4.根据权利要求1所述的设备,其中第一等级级别的组件包括用于选定和取消选定第二等级级别的等级使能组件。
5.一种片上系统设备,所述设备包括:
扫描路径,所述扫描路径包括至少第一等级级别和第二等级级别,第一等级级别包括多个组件,第二等级级别包括至少一个组件,其中第二等级级别能够被动态选定和取消选定;和
控制逻辑,所述控制逻辑用于在取消选定第二等级级别时过滤对第二等级级别的至少一个组件的至少一个控制信号的施加,其中过滤至少一个控制信号,以禁止当在第一等级级别内传播数据时在第二等级级别内传播数据。
6.根据权利要求5所述的设备,其中第一等级级别的组件包括用于选定和取消选定第二等级级别的等级使能组件,其中第二等级级别的至少一个组件包括至少一个非等级使能组件。
7.根据权利要求6所述的设备,其中至少一个等级使能组件的每一个用于产生用于选定和取消选定第二等级级别的等级选定控制信号。
8.根据权利要求7所述的设备,其中控制逻辑用于使用来自等级使能组件的等级选定控制信号来过滤对第二等级级别的至少一个非等级使能组件的至少一个控制信号的施加。
9.根据权利要求8所述的设备,其中所述至少一个控制信号包括第一控制信号和第二控制信号,其中第二等级级别的至少一个非等级使能组件的每一个包括第一寄存器和第二寄存器,其中控制逻辑包括控制至少一个非等级使能组件的每一个的第一寄存器的第一部分,和控制至少一个非等级使能组件的每一个的第二寄存器的第二部分。
10.一种片上系统设备,所述设备包括:
扫描路径,所述扫描路径包括具有多个组件的第一等级级别,和具有至少一个组件的第二等级级别,其中第二等级级别能够被动态选定和取消选定;
其中,使用至少一个控制信号控制第一等级级别内的数据传播;
其中,使用至少一个控制信号和来自第一等级级别的等级选定控制信号控制第二等级级别内的数据传播,其中等级选定控制信号适于控制第二等级级别内的数据传播独立于第一等级级别内的数据传播。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/022,411 US7958417B2 (en) | 2008-01-30 | 2008-01-30 | Apparatus and method for isolating portions of a scan path of a system-on-chip |
US12/022,411 | 2008-01-30 | ||
PCT/US2009/000346 WO2009097088A1 (en) | 2008-01-30 | 2009-01-21 | Apparatus and method for isolating portions of a scan path of a system-on-chip |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101932945A true CN101932945A (zh) | 2010-12-29 |
Family
ID=40566383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801037301A Pending CN101932945A (zh) | 2008-01-30 | 2009-01-21 | 用于隔离片上系统的扫描路径的一部分的设备和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7958417B2 (zh) |
EP (1) | EP2240790A1 (zh) |
JP (2) | JP2011512523A (zh) |
KR (1) | KR101206676B1 (zh) |
CN (1) | CN101932945A (zh) |
WO (1) | WO2009097088A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103250065A (zh) * | 2010-11-11 | 2013-08-14 | 高通股份有限公司 | 反馈扫描隔离和扫描旁路架构 |
CN104422878A (zh) * | 2013-09-02 | 2015-03-18 | 三星电子株式会社 | 集成电路、操作集成电路的方法和具有集成电路的装置 |
CN105551527A (zh) * | 2014-11-03 | 2016-05-04 | 龙芯中科技术有限公司 | Cam的测试电路、测试方法和装置 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7958479B2 (en) * | 2007-12-04 | 2011-06-07 | Alcatel-Lucent Usa Inc. | Method and apparatus for describing and testing a system-on-chip |
US7949915B2 (en) * | 2007-12-04 | 2011-05-24 | Alcatel-Lucent Usa Inc. | Method and apparatus for describing parallel access to a system-on-chip |
US7962885B2 (en) * | 2007-12-04 | 2011-06-14 | Alcatel-Lucent Usa Inc. | Method and apparatus for describing components adapted for dynamically modifying a scan path for system-on-chip testing |
US7958417B2 (en) * | 2008-01-30 | 2011-06-07 | Alcatel-Lucent Usa Inc. | Apparatus and method for isolating portions of a scan path of a system-on-chip |
US7954022B2 (en) * | 2008-01-30 | 2011-05-31 | Alcatel-Lucent Usa Inc. | Apparatus and method for controlling dynamic modification of a scan path |
US8516318B2 (en) * | 2010-12-15 | 2013-08-20 | International Business Machines Corporation | Dynamic scan |
US9188643B2 (en) | 2012-11-13 | 2015-11-17 | Globalfoundries Inc. | Flexible performance screen ring oscillator within a scan chain |
US9128151B1 (en) * | 2014-05-08 | 2015-09-08 | International Business Machines Corporation | Performance screen ring oscillator formed from paired scan chains |
US9097765B1 (en) | 2014-05-08 | 2015-08-04 | International Business Machines Corporation | Performance screen ring oscillator formed from multi-dimensional pairings of scan chains |
US9766289B2 (en) | 2015-10-06 | 2017-09-19 | Nxp Usa, Inc. | LBIST debug controller |
DE102017216444B3 (de) * | 2017-09-15 | 2019-01-03 | Hochschule Hamm-Lippstadt | Microchip mit einer Vielzahl von rekonfigurierbaren Teststrukturen |
US10436840B2 (en) * | 2017-10-26 | 2019-10-08 | Nvidia Corp. | Broadcast scan network |
CN112994927B (zh) * | 2021-02-04 | 2022-11-25 | 海光信息技术股份有限公司 | 一种菊花链拓扑的检索方法及检索装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6293672A (ja) * | 1985-10-21 | 1987-04-30 | Hitachi Ltd | 階層型論理装置 |
US4872169A (en) * | 1987-03-06 | 1989-10-03 | Texas Instruments Incorporated | Hierarchical scan selection |
US6587981B1 (en) * | 1999-11-29 | 2003-07-01 | Agilent Technologies, Inc. | Integrated circuit with scan test structure |
US20030131327A1 (en) * | 2000-01-18 | 2003-07-10 | Cadence Design Systems, Inc. | Hierarchical test circuit structure for chips with multiple circuit blocks |
CN1979434A (zh) * | 2005-12-08 | 2007-06-13 | 恩益禧电子股份有限公司 | 半导体集成电路及其控制方法 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60154173A (ja) * | 1984-01-25 | 1985-08-13 | Toshiba Corp | スキヤン方式論理回路 |
JPS60239836A (ja) * | 1984-05-15 | 1985-11-28 | Fujitsu Ltd | 論理回路の故障診断方式 |
JP2778692B2 (ja) * | 1987-03-06 | 1998-07-23 | テキサス インスツルメンツ インコーポレイテツド | 境界走査試験装置 |
JPS63243890A (ja) * | 1987-03-31 | 1988-10-11 | Toshiba Corp | 半導体集積回路装置 |
JP2742740B2 (ja) * | 1991-03-20 | 1998-04-22 | 三菱電機株式会社 | バイパススキャンパスおよびそれを用いた集積回路装置 |
US5862152A (en) * | 1995-11-13 | 1999-01-19 | Motorola, Inc. | Hierarchically managed boundary-scan testable module and method |
GB9622687D0 (en) | 1996-10-31 | 1997-01-08 | Sgs Thomson Microelectronics | An integrated circuit with tap controller |
US6708144B1 (en) | 1997-01-27 | 2004-03-16 | Unisys Corporation | Spreadsheet driven I/O buffer synthesis process |
US6606588B1 (en) | 1997-03-14 | 2003-08-12 | Interuniversitair Micro-Elecktronica Centrum (Imec Vzw) | Design apparatus and a method for generating an implementable description of a digital system |
EP0867820A3 (en) * | 1997-03-14 | 2000-08-16 | Interuniversitair Micro-Elektronica Centrum Vzw | A design environment and a method for generating an implementable description of a digital system |
US6425100B1 (en) * | 1998-04-24 | 2002-07-23 | Texas Instruments Incorporated | Snoopy test access port architecture for electronic circuits including embedded core with built-in test access port |
US6378090B1 (en) * | 1998-04-24 | 2002-04-23 | Texas Instruments Incorporated | Hierarchical test access port architecture for electronic circuits including embedded core having built-in test access port |
US6456961B1 (en) | 1999-04-30 | 2002-09-24 | Srinivas Patil | Method and apparatus for creating testable circuit designs having embedded cores |
US6430718B1 (en) | 1999-08-30 | 2002-08-06 | Cypress Semiconductor Corp. | Architecture, circuitry and method for testing one or more integrated circuits and/or receiving test information therefrom |
WO2001053844A1 (en) * | 2000-01-18 | 2001-07-26 | Cadence Design Systems, Inc. | Hierarchical test circuit structure for chips with multiple circuit blocks |
US6631504B2 (en) * | 2000-01-18 | 2003-10-07 | Cadence Design Systems, Inc | Hierarchical test circuit structure for chips with multiple circuit blocks |
US6665828B1 (en) | 2000-09-19 | 2003-12-16 | International Business Machines Corporation | Globally distributed scan blocks |
US6687981B2 (en) * | 2001-08-14 | 2004-02-10 | Siemens Westinghouse Power Corporation | Apparatus for positioning leads of a power generator |
JP3955196B2 (ja) | 2001-09-05 | 2007-08-08 | 富士通株式会社 | 試験回路および半導体集積回路装置 |
KR100430074B1 (ko) | 2002-01-08 | 2004-05-03 | 학교법인 한양학원 | 시스템칩 테스트 접근을 위한 랩드 코아 연결 모듈 |
US6678875B2 (en) | 2002-01-25 | 2004-01-13 | Logicvision, Inc. | Self-contained embedded test design environment and environment setup utility |
US20040002832A1 (en) | 2002-05-20 | 2004-01-01 | Chan Patrick P. | Method and apparatus for boundary scan of serial interfaces |
US20050097416A1 (en) | 2003-10-31 | 2005-05-05 | Dominic Plunkett | Testing of integrated circuits using boundary scan |
KR100514319B1 (ko) | 2003-12-02 | 2005-09-13 | 조상욱 | 시스템 온 칩의 테스트를 위한 코아 접속 스위치 |
US7356745B2 (en) | 2004-02-06 | 2008-04-08 | Texas Instruments Incorporated | IC with parallel scan paths and compare circuitry |
US7725784B2 (en) | 2004-02-17 | 2010-05-25 | Institut National Polytechnique De Grenoble | Integrated circuit chip with communication means enabling remote control of testing means of IP cores of the integrated circuit |
US7360133B2 (en) | 2004-05-18 | 2008-04-15 | Lsi Logic Corporation | Method for creating a JTAG tap controller in a slice for use during custom instance creation to avoid the need of a boundary scan synthesis tool |
US7188330B2 (en) | 2004-05-18 | 2007-03-06 | Lsi Logic Corporation | Handling of unused coreware with embedded boundary scan chains to avoid the need of a boundary scan synthesis tool during custom instance creation |
EP1662208A1 (en) * | 2004-11-29 | 2006-05-31 | Electrical & Electronics Ltd. | Electric oven |
JP4388903B2 (ja) | 2005-02-09 | 2009-12-24 | 富士通マイクロエレクトロニクス株式会社 | Jtag試験方式 |
US7502979B2 (en) | 2005-06-10 | 2009-03-10 | Altera Corporation | Pipelined scan structures for testing embedded cores |
US7610568B2 (en) | 2005-10-20 | 2009-10-27 | Agere Systems Inc. | Methods and apparatus for making placement sensitive logic modifications |
DE602006013339D1 (de) | 2005-10-24 | 2010-05-12 | Nxp Bv | Ic-testverfahren und vorrichtung |
US7949915B2 (en) | 2007-12-04 | 2011-05-24 | Alcatel-Lucent Usa Inc. | Method and apparatus for describing parallel access to a system-on-chip |
US7962885B2 (en) | 2007-12-04 | 2011-06-14 | Alcatel-Lucent Usa Inc. | Method and apparatus for describing components adapted for dynamically modifying a scan path for system-on-chip testing |
US7958479B2 (en) | 2007-12-04 | 2011-06-07 | Alcatel-Lucent Usa Inc. | Method and apparatus for describing and testing a system-on-chip |
US7954022B2 (en) * | 2008-01-30 | 2011-05-31 | Alcatel-Lucent Usa Inc. | Apparatus and method for controlling dynamic modification of a scan path |
US7958417B2 (en) * | 2008-01-30 | 2011-06-07 | Alcatel-Lucent Usa Inc. | Apparatus and method for isolating portions of a scan path of a system-on-chip |
-
2008
- 2008-01-30 US US12/022,411 patent/US7958417B2/en active Active
-
2009
- 2009-01-21 CN CN2009801037301A patent/CN101932945A/zh active Pending
- 2009-01-21 EP EP09705761A patent/EP2240790A1/en not_active Ceased
- 2009-01-21 KR KR1020107017129A patent/KR101206676B1/ko active Active
- 2009-01-21 JP JP2010544999A patent/JP2011512523A/ja active Pending
- 2009-01-21 WO PCT/US2009/000346 patent/WO2009097088A1/en active Application Filing
-
2015
- 2015-02-05 JP JP2015020979A patent/JP6587806B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6293672A (ja) * | 1985-10-21 | 1987-04-30 | Hitachi Ltd | 階層型論理装置 |
US4872169A (en) * | 1987-03-06 | 1989-10-03 | Texas Instruments Incorporated | Hierarchical scan selection |
US6587981B1 (en) * | 1999-11-29 | 2003-07-01 | Agilent Technologies, Inc. | Integrated circuit with scan test structure |
US20030131327A1 (en) * | 2000-01-18 | 2003-07-10 | Cadence Design Systems, Inc. | Hierarchical test circuit structure for chips with multiple circuit blocks |
CN1979434A (zh) * | 2005-12-08 | 2007-06-13 | 恩益禧电子股份有限公司 | 半导体集成电路及其控制方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103250065A (zh) * | 2010-11-11 | 2013-08-14 | 高通股份有限公司 | 反馈扫描隔离和扫描旁路架构 |
CN103250065B (zh) * | 2010-11-11 | 2016-01-20 | 高通股份有限公司 | 反馈扫描隔离和扫描旁路架构 |
CN104422878A (zh) * | 2013-09-02 | 2015-03-18 | 三星电子株式会社 | 集成电路、操作集成电路的方法和具有集成电路的装置 |
CN104422878B (zh) * | 2013-09-02 | 2020-10-20 | 三星电子株式会社 | 集成电路、操作集成电路的方法和具有集成电路的装置 |
CN105551527A (zh) * | 2014-11-03 | 2016-05-04 | 龙芯中科技术有限公司 | Cam的测试电路、测试方法和装置 |
CN105551527B (zh) * | 2014-11-03 | 2018-10-09 | 龙芯中科技术有限公司 | Cam的测试电路、测试方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20100107491A (ko) | 2010-10-05 |
JP2015111139A (ja) | 2015-06-18 |
JP6587806B2 (ja) | 2019-10-09 |
US20090193304A1 (en) | 2009-07-30 |
US7958417B2 (en) | 2011-06-07 |
EP2240790A1 (en) | 2010-10-20 |
KR101206676B1 (ko) | 2012-11-29 |
WO2009097088A1 (en) | 2009-08-06 |
JP2011512523A (ja) | 2011-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101932945A (zh) | 用于隔离片上系统的扫描路径的一部分的设备和方法 | |
Marinissen et al. | A structured and scalable mechanism for test access to embedded reusable cores | |
EP1651971B1 (en) | Test standard interfaces and architectures | |
KR100267096B1 (ko) | 디버그 및 제조 테스트 목적을 위한 적응적 스캔 체인 | |
JP5635415B2 (ja) | スキャン経路の動的修正を制御するための装置および方法 | |
US7139955B2 (en) | Hierarchically-controlled automatic test pattern generation | |
US20090119559A1 (en) | Distributed test compression for integrated circuits | |
US9274168B2 (en) | Multiple-capture DFT system for detecting or locating crossing clock-domain faults during scan-test | |
Kuppuswamy et al. | Full Hold-Scan Systems in Microprocessors: Cost/Benefit Analysis. | |
US20080255791A1 (en) | Interface to full and reduce pin jtag devices | |
Vermeulen et al. | IEEE 1149.1-compliant access architecture for multiple core debug on digital system chips | |
Benso et al. | HD/sup 2/BIST: a hierarchical framework for BIST scheduling, data patterns delivering and diagnosis in SoCs | |
Parulkar et al. | A scalable, low cost design-for-test architecture for UltraSPARC/spl trade/chip multi-processors | |
Harris et al. | SYNCBIST: synthesis for concurrent built-in self-testability | |
Dorsch et al. | Adapting an SoC to ATE concurrent test capabilities | |
Haberl et al. | A chip solution to hierarchical and boundary-scan compatible board level BIST | |
Bai et al. | Software-based self-test methodology for crosstalk faults in processors | |
Yang et al. | A register-transfer level BIST partitioning approach for ASIC designs | |
Kim et al. | DPDAT: data path direct access testing | |
Wang et al. | High-level test synthesis for delay fault testability | |
Hahanov et al. | Hierarchical Testing of Complex Digital Systems | |
Zhang et al. | Synthesizing testability features into a design with the Synopsys Test Compiler | |
Tehranipour et al. | Signal integrity loss in SoC's interconnects: a diagnosis approach using embedded microprocessor | |
CN101178696A (zh) | 基于jtag的数据传输方法,应用该方法的芯片及其测试板 | |
Xing et al. | On measuring the transparentability of cores in core-based ICs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101229 |