专利名称:用于隔离片上系统的扫描路径的一部分的设备和方法
技术领域:
本发明涉及电子领域,更具体而言,涉及印刷电路板、片上系统和系统的测试。
背景技术:
联合测试行动组(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_0_C 110的单个组件(包括组 件的功能)、S-O-C 110上的组件之间的互连、S-O-C 110的系统级功能等,以及以上项目 的各种组合)。TS 120利用包括多个等级级别的系统扫描路径测试S-O-C 110。如图1所 示,TS 120使用包括输入端口 115JTDI)和输出端口 115。(TD0)的测试访问接口 115来与 S-O-C 110 相接口。
4
在一个实施例中,在根据所建议的IEEE P1678标准的环境中,接口 115可以实现 为IEEE 1149. 1标准所定义的测试访问端口(TAP)。在一个这样的实施例中,虽然本文主要 使用TDI/TD0端口进行图示和描述,但是接口 115可以包括其他控制端口,例如TCK端口、 TMS端口、TRST端口等,以及可能需要的其他新控制接口(为了清楚起见,这些端口 /接口 均被省略)。虽然本文主要参考使用IEEE 1149. 1标准所定义的修改版本的TAP实现的接 口进行图示和描述,但是可以以多种其他方式来实现接口 115。TS 120使用测试过程来执行对S-O-C 110的测试。TS 120可以使用一个或多个测 试过程来执行一个或多个测试。测试过程可以用于测试组件的一部分(例如组件的功能、 组件的功能集合、依赖性等)、组件、组件组(例如组件之间的互连、组件间的依赖性等)、一 个或多个系统级功能等,以及以上项目的各种组合。测试过程可以用于可能对片上系统执 行的任何其他类型的测试。TS 120生成对S-O-C 110的测试过程。测试过程规定测试S_0_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-CllO。TS 120针 对所执行的每个测试生成输入测试比特流和预期测试结果(例如预期输出比特值或比特 流)。TS还生成控制信号。TS 120将输入测试比特流(即输入测试矢量)施加到TDI输 入端口 115工。TS 120从TDO输出端口 115。接收对应的输出测试比特流(称为输出测试矢 量)。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包括三个寄
5存器(A0, A1, A2),组件210b包括六个寄存器(B0, B1, B2, B3, B4, B5),组件210c包括五个寄存 器(CQ,C1, C2,C3, C4),组件210d包括三个寄存器(D。,D1, D2),组件210E包括四个寄存器(E。, E1, E2, E3)。每个组件210的寄存器形成用于该组件210的内部扫描路径。如图2所示,每个组件210支持至少一个功能。具体而言,组件210a支持三个功 能,组件210b支持四个功能,组件210。支持三个功能,组件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互连的第一测试组件SlO1 (记为组件AO)和第二测试组件3102 (记为组件Al),等级 使能组件320动态控制对第三测试组件3103 (记为组件B0)和第四测试组件3104(记为组 件Bi)的访问。第一和第二测试组件以及等级使能组件320形成了测试扫描 路径的第一等级级别。第三和第四测试组件3103和3104形成了测试扫描路径的第二等级 级别。可以选定等级使能组件320,以激活扫描路径的第二等级级别(即,将第二等级级 别添加到活动扫描路径),可以取消对等级使能组件320的选定,以禁用扫描路径的第二等 级级别(即,从活动扫描路径去除第二等级级别)。例如,当取消对等级使能组件320的选 定时,等级使能组件320作为通路而操作,从而扫描路径包括TDI — AO — HC — Al — TDO0 例如,当等级使能组件320被激活时,等级使能组件320激活扫描路径的第二等级级别,使 得扫描路径包括以下序列TDI、A0、HC、B0、B1、HC、A1、TD0。可以以适于动态修改片上系统 的扫描路径的任何方式来实现等级使能组件320。
等级使能组件320是适于支持扫描路径的动态修改(即激活和禁用扫描路径的等 级级别)的任何组件。在一个实施例中,例如,等级使能组件320可以包括由所建议的IEEE P1687标准定义的选择工具位(SIB)(或由所建议的IEEE P1687标准定义的SIB的修改 版本,当取消选定扫描路径的第二等级级别时,依赖于用来过滤控制信号以禁止通过扫描 路径的第一等级级别传播的比特流值通过扫描路径的第二等级级别传播的控制逻辑的实 现)。等级使能组件320可以是支持扫描路径的动态修改的更复杂的等级使能组件(本 文称为交叉(crossroad)器件)。为了清楚地描述用来过滤通过扫描路径的第一等级级 别传播的比特流值以禁止其通过扫描路径的第二等级级别传播的控制逻辑的使用,本文主 要在下述实施例的上下文中图示和描述过滤控制逻辑,在所述实施例中,利用由所建议的 IEEE P1687标准定义的SIB单元(或SIB的修改版本,依赖于控制逻辑的实现)提供片上 系统的动态等级。图4图示了示例性片上系统的高级框图,该片上系统具有包括由等级使能组件控 制的两个等级级别的等级扫描路径和过滤控制逻辑。片上系统400包括图3中的片上系统 300的实现。如图4所示,非等级使能组件310「3104以边界扫描单元410「4104 (总称为边 界扫描单元410)实现,等级使能组件320以由所建议的IEEE P1687标准定义的SIB单元 420实现,而且,进一步,,提供附加逻辑(如图示,过滤控制逻辑430)用来过滤控制信号,以 (当取消第二等级级别时)禁止在通过扫描路径的第一等级级别继续传播比特流值时通过 扫描路径的第二等级级别传播比特流值。为清楚地图示比特流通过片上系统400的组件的传播,每一个支持多输入端口的 多路复用器以以下方式标记,以区别当“0”施加到多路复用器的控制端口时选定的多路复 用器的输入端口和当“ 1 ”施加到多路复用器的控制端口时选定的多路复用器的输入端口。 具体而言,图4中的多路复用器的加黑的每一个输入端口指示当“1”施加到多路复用器的 控制端口时被选定通往多路复用器的输出的输入端口(多路复用器的未加黑的输入端口 指示当“0”施加到多路复用器的控制端口时被选定通往多路复用器的输出的输入端口)。如图4所示,每一个边界扫描单元410均是支持从TDI输入到TDO输出的扫描路 径和从第二输入到第二输出的附加数据路径的标准的IEEE 1149. 1边界扫描单元。边界扫 描单元410「4104包括各自的多个输入MUX 411「4114 (总称为输入MUX 411),各自的多个 记录寄存器412f4124 (总称为记录寄存器412),各自的多个更新寄存器413f4134 (总称为 更新寄存器413)和各自的多个输出MUX 414-411 (总称为输出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输出的)扫描路径的第一等级级别,和(经由耦合 到边界扫描单元BO的TDI输入的WSIo端口和耦合到边界扫描单元Bl的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的输出耦合到以
8下中的每一个对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控制信号是“O” 时,UpSIB输入MUX 423将信号从UpSIB寄存器424的输出传递到UpSIB寄存器424中。UpSIB寄存器424从UpSIB输入MUX 423的输出接受输入。UpSIB寄存器424由 施加到UpSIB寄存器424的时钟端口的时钟信号(记为TCK)控制。UpSIB寄存器424的输 出耦合到以下中的每一个对UpSIB输入MUX 423的输入、输出MUX 426的控制端口,以及 Selectjnstr信令路径(其耦合到过滤控制逻辑430,用于过滤对第二(或更低)等级级 别的组件的ShDR和UpDR控制信号的施加,以便有效地从扫描路径中隔离第二等级级别的 组件)。输出MUX 426包括两个输入端口。输出MUX 426接受来自SIB寄存器422的输出 和经由WSOi端口来自更低等级级别的输入(在本示例中例如是边界扫描单元Bl的TDO输 出)作为输入。输出MUX 426的输出耦合到SIB单元420的TDO输出(以传播到扫描路径 的第一等级级别中的后续组件,在本示例中是边界扫描单元Al)。输出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”)时,禁止通过扫描路径的第一等级层(即AO —SIB —Al)传播的比特流 值通过扫描路径的第二等级级别(即SIB — BO — Bl — SIB)传播。过滤控制逻辑430包括适于过滤第二等级级别中的ShDR控制信号的第一 AND门 431。第一 AND门431包括(耦合到ShDR控制信号的)第一输入端口和(耦合到等级选定 控制信号(即图4的示例中的SIB单元420的UpSIB寄存器424的输出)的)第二输入端 口。如图4所示,第一 AND门431的输出端口耦合到第二等级级别的每一个组件的各自的 输入MUX 411(即边界扫描单元4103和4104各自的输入MUX 4113和4114)的控制端口,而
9不是将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控制信号,从而禁止了通过第一等级级别的组件(AO — SIB — Al)传 播的比特流通过第二等级级别的非等级使能组件传播(即,边界扫描单元BO和Bl的寄存 器保持它们各自的值,所述值在第二等级级别由SIB单元420动态取消选定以从活动扫描 路径中去除第二等级级别之前载入边界扫描单元BO和Bi)。控制信号的过滤提供了很多优点,所述控制信号一般被施加到扫描路径的第二等 级级别的组件,以从扫描路径中隔离第二等级级别。首先,如本文图示和描述的控制信号过滤提供了对能量消耗的节约,因为当取消 选定第二等级级别时,第二等级级别的组件不再传递和存储信号(相反,对于现有系统,取 消选定第二等级级别并不能禁止比特通过第二等级级别传播)。其次,如本文图示和描述的控制信号过滤能够利用第二等级级别进行独立、并行 测试(否则它不能以这种方式利用)。换句话说,由于控制信号过滤禁止了从第一等级级别 到第二等级级别的比特流传播,第一等级级别和第二等级级别被有效地隔离,从而不同的 测试可以在不同的等级级别中并行执行。参考图5A-图5E(其提供了根据图4图示和描述的片上系统400的操作的示例) 的示例和图6 (其提供了用于通过第二等级级别进行并行测试的控制过滤逻辑的示例性应 用)的实施例可以更好地理解如本文图示和描述的控制信号过滤的这些优势以及其它优势。图5A-5E图示了使用过滤控制逻辑过滤图4中的片上系统的控制信号的示例。图5A图示了片上系统400的初始状态。在此示例中,假设(1)边界扫描单元AO 和Al的记录寄存器和更新寄存器均被设置为“ 1 ”,并且(2) SIB单元420的SIB寄存器422 和UpSIB寄存器424均被设置为“0” (因此扫描路径的第二等级级别被取消选定)。进一 步,假设在通过设置UpSIB寄存器424为“0”而取消选定第二等级级别之前,值被传播到第 二等级级别的边界扫描单元BO和Bl中(如图示,边界扫描单元BO和Bl的记录寄存器和 更新寄存器均设置为“1”)。如图5A所示,ShDR被设置为“1”且UpDR被设置为“0”。在此示例中,将输入比特 流“000”施加到片上系统400的TDI输入,且相关联的输出比特流将被片上系统400的TDO
输出覆盖。图5B图示了在第一时钟周期(ShDR = “1”且UpDR = “0”)之后片上系统400的状态。如图5B所示,输入比特流的第一比特(即a“0”)从边界扫描单元AO的TDI输入 传播到边界扫描单元AO的记录寄存器4111;存储在边界扫描单元AO的记录寄存器412i中 的值(“1”)传播到SIB单元420的TDI输入并且存储在SIB单元420的SIB寄存器422 中,存储在SIB单元420的SIB寄存器422中的值(“0”)经由SIB单元420的TDO输出和 边界扫描单元Al的输入MUX 4112传播到边界扫描单元Al的记录寄存器4122,且存储在边 界扫描单元Al的记录寄存器4122中的值(“1”)传播到边界扫描单元Al的TDO输出(同 时也是片上系统400的TDO输出)。因此,输出比特流的第一比特为“ 1 ”。进一步如图5B所示,由于UpDR设置为“0”,边界扫描单元AO和Al各自的更新寄存 器413i和4132的值(即“1”)保持不变,且SIB单元420的UpSIB寄存器424的值(“0”)保持不变(因此第二等级级别仍然取消选定)。如图5B所示,即使ShDR为“ 1 ”,过滤控制逻辑430的第一 AND门431也会以UpSIB 寄存器424的值(即“0”)作为输入,因此,第一 AND门431的输出为“0”。第一 AND门431 的输出作为控制信号施加到第二等级级别的边界扫描单元BO和Bl各自的输入MUX 4113和 4114,从而禁止了 SIB单元420的WSIo端口上的值传播到边界扫描单元BO的记录寄存器 4123中,禁止了来自边界扫描单元BO的记录寄存器4123的值传播到边界扫描单元Bl的记 录寄存器4124中,且禁止了来自边界扫描单元Bl的记录寄存器4124的值经由SIB单元420 的WSOi端口和TDO输出传播到边界扫描单元AO (即,从而当取消选定第二等级级别时,禁 止了来自第一等级级别的数据值传播到第二等级级别)。类似的如图5B所示,尽管UpDR为“0”,第二 AND门432也会以UpSIB寄存器424 的值(即“0”)作为输入,且因此第二 AND门432的输出为“0”。第二 AND门432的输出作 为控制信号施加到第二等级级别的边界扫描单元BO和Bl各自的更新寄存器4133和4134, 从而禁止了存储在记录寄存器4123和4124中的值分别传播到边界扫描单元BO和Bl的更 新寄存器4133和4134中(S卩,当取消选定第二等级级别时禁止了第二等级级别的单元4103 和4104中的数据传播)。图5C和图55D分别图示了在第二和第三时钟周期(ShDR = “ 1 ”且UpDR = “0”) 之后片上系统400的状态。在图5C和图5D中,当存储在第二等级级别的每一个组件中的 值保持不变时,输入比特流通过扫描路径的第一等级级别的组件继续传播。在图5C和图5D 中,通过第一等级级别的组件的信号传播以类似于根据图5B图示和描述的方式进行(因 此,详细描述省略)。为清楚起见,在每一个时钟周期与片上系统400的扫描路径的组件相 关联的值如表1总结。 表1因此,从图5A-图5D及上面提供的相关联的表1中可知,片上系统400的过滤控 制逻辑430适于确保当第二等级级别保持被SIB单元420取消选定时,当输入比特流通过 第一等级级别(即,通过边界扫描单元AO,SIB单元420和边界扫描单元Al)连续传播以产生相应的输出比特流时,存储在第二等级级别的每一个组件内(即边界扫面单元BO和Bl 的寄存器内)的值保持不变。如图5E所示,在输入比特流(“000”)的每一个比特(经由测试系统的TDI输入) 施加到片上系统400,并且相应的输出比特流(“101”)的每一个比特(经由TDO输出到 测试系统)从片上系统400采集之后,ShDR从“1”切换为“0”且UpDR从“0”切换为“1”。 这将促使边界扫描单元AO的记录寄存器412i的值存储到边界扫描单元AO的更新寄存器 4131;并促使边界扫描单元Al的记录寄存器4122的值存储到边界扫描单元Al的更新寄存 器 4132。如图5E所示,尽管ShDR为“0”,第一 AND门431也会以UpSIB寄存器424的值(即 “0”)作为输入,且因此第一 AND门431的输出为“0”。第一 AND门431的输出作为控制信 号施加到第二等级级别的边界扫描单元BO和Bl各自的输入MUX 4113和4114,从而禁止了 SIB单元420的WSIo端口上的值传播到边界扫描单元BO的记录寄存器4123中,禁止了来 自边界扫描单元BO的记录寄存器4123的值传播到边界扫描单元Bl的记录寄存器4124中, 且禁止了来自边界扫描单元Bl的记录寄存器4124的值经由SIB单元420的WSOi端口和 TDO输出传播到边界扫描单元AO (即,当数据通过第一等级级别继续传播时,禁止第二等级 级别内的数据传播)。 类似的如图5E所示,尽管UpDR为“ 1,,,第二 AND门432也会以UpSIB寄存器424 的值(即“0”)作为输入,且因此第二 AND门432的输出为“0”。第二 AND门432的输出作 为控制信号施加到第二等级级别的边界扫描单元BO和Bl各自的更新寄存器4133和4134, 从而禁止了存储在边界扫描单元BO和Bl的记录寄存器4123和4124中的值分别传播到边 界扫描单元BO和Bl的更新寄存器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的扫描路径中是激活的。如这里描述的,在第二等级级别被选定之后,可以将值读入第 二等级级别的边界扫描单元BO和Bl (因为过滤控制逻辑430不过滤ShDR和UpDR控制信 号)。测试系统620将输入比特流施加到片上系统611的TDI输入,以促使输入比特流值沿 扫描路径AO — SIB单元一BO — Bl — SIB单元一Al传播。这使需要的值加载到第二等级 级别的边界扫描单元BO和Bl的记录和更新寄存器中。在加载了需要的值到第二等级级别的边界扫描单元BO和Bl之后,测试系统620 取消选定SIB单元420,从而使输入比特流值可以通过第一等级级别(AO — SIB单元一Al) 继续传播,而无须修改第二等级级别的边界扫描单元BO和Bl的值(即,过滤控制逻辑430 通过过滤ShDR和UpDR控制信号来禁止输入比特流值传播到第二等级级别,如本文图示和描述,以从片上系统611的扫描路径中有效隔离第二等级级别)。如图6所示,加载入边界扫描单元BO和B 1的值施加到工具核612,以初始化工具 核上的一个或更多个测试(如图示,从边界扫描单元BO施加到工具核612的测试开始信号 615)。在这种方式下,当测试系统620继续施加输入比特流到第一等级级别以执行对片 上系统610的其它测试(例如,测试连接,测试其它IP/工具,以及以上项目的各种组合) 时,工具核612被测试。因此,使用过滤控制逻辑430以从第一等级级别中隔离第二等级级 别,能够进行对片上系统610执行的并行测试,从而导致利用测试系统620测试片上系统 610所需的时间减少。如图6所示,在工具核612的测试完成之后,工具核612提供测试结果给片上系统 611以传回给测试系统620。如图6所示,工具核612提供测试结果给边界扫描单元Bl (如 图示,测试结果信号616),边界扫描单元Bl然后将测试结果传播到测试系统620。为了将 测试结果从第二等级级别的边界扫描单元BO传播到测试系统620,第二等级级别必须被重 新选定,从而它又被重新加入到片上系统611的扫描链中。测试系统620重新选定SIB单 元420,从而将第二等级级别添加回片上系统611的扫描路径。然后测试系统620施加适于 促使测试结果沿从边界扫描单元Bl到测试系统620的扫描路径(即,沿路径Bl — SIB单 元一Al — TD0)传播的信号。为了使测试系统620控制测试结果从工具核612到测试系统620的传播,测试系 统620需要能够确定第二等级级别何时应该被重新选定以被包含在片上系统611的扫描路 径中。可以以很多方式实现这一点。在一个实施例中,测试系统620预先知道执行工具核612的测试所需的时间长度 (例如,所需的时钟周期数量)。在此实施例中,测试系统620可以简单跟踪测试工具核612 的时间长度(例如通过对时钟周期计数),从而测试系统620精确知道何时来自工具核612 的测试结果可用。在此实施例中,在确定工具核612的测试完成之后,测试系统620启动适 于重新选定第二等级级别的信号传播,从而使来自工具核612的测试结果能够沿扫描路径 传播到测试系统620 (即,沿路径Bl — SIB单元一Al — TD0)。在一个实施例中,测试系统不知道执行工具核612的测试所需的时间长度。在此 实施例中,测试系统620可以检测来自工具核612的指示该测试完成的信号(即,可从工具 核612获得测试结果的信号)。在一个实施例中,测试完成控制信号可以从工具核612提供 给第一等级级别的一个组件(如图示,从工具核612提供到边界扫描单元Al的可选测试结 束信号617),以传播给测试系统620。出于传达工具核612测试完成且测试结果可用的指 示的目的,测试完成控制信号可以包括一个或更多比特集。参考接下来的示例可以更好地 理解这一点。在一个实施例中,例如,片上系统610的扫描路径可以由连接到TDI输入的单元 的第一片段(Si)(具有15个单元),连接到TDO输出的单元的第二片段(S2)(具有5个单 元),位于S 1和S2之间的SIB单元和在SIB单元的等级分支中并且连接到工具核612的 单元的第三片段(S3)(具有80个单元)构成。在此示例中,S1-SIB-S2形成第一等级级别 且S3形成了由SIB单元控制的第二等级级别。在此示例中,假设S2的第一单元将接收和 存储测试结束信号617。
14
在此示例中,通过测试系统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);和⑶从扫描路径(此时包括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寄存器的值)进行图示和描述,但在其它实施例中,当数据通过扫描路 径的第一等级级别继续传播时,出于禁止在扫描路径的第二等级级别中传播数据的目的,
15可以利用多个等级选定控制信号以过滤ShDR和UpDR控制信号。在这样的实施例中,多个 等级选定控制信号可以以任意方式(可以依赖于用于扫描路径的第二等级级别的选定/取 消选定的等级使能组件的设计/操作)利用。在这样的实施例中,使用多个等级选定控制 信号需要使用不同的过滤控制逻辑。虽然本文主要参考使用特定的控制逻辑以实现本文中图示和描述的控制信号过 滤功能进行图示和描述,但任意控制逻辑可以用来实现本文中图示和描述的控制信号过滤 功能。过滤控制逻辑可以包括适于过滤出于从相关联的第一等级级别中隔离第二等级级别 的目的施加到第二等级级别的控制信号的任意控制逻辑。换句话说,过滤控制逻辑可以包 括适于从片上系统的扫描路径中隔离第二等级级别(即当取消选定第二等级级别时,比特 流不在第二等级级别内传播)的任意控制逻辑。虽然本文主要参考包括组件特定组合的扫描路径进行图示和描述,但本文中图示 和描述的控制信号过滤功能可以对于包括组件的各种其他组合的扫描路径实现。虽然本文 主要参考两个等级级别(即第一等级级别和第二等级级别)进行图示和描述,但本文中图 示和描述的控制信号过滤功能可以对于具有等级级别的任意数量和/或组合(例如,以任 意配置布置的N个级别)的片上系统来实现。在一个实施例中,例如,片上系统设备包括(1)包括N个等级级别的测试扫描路 径,其中第一等级级别包括基本级别,其中N个等级级别中的N-I个等级级别每一个都适于 被动态选定/取消选定,其中第η个等级层的选定/取消选定由第η-1个等级层控制,和 (2)控制逻辑,其适于当数据在每一个选定的等级层中传播时,出于禁止在每一个取消选定 的等级层中传播数据的目的,过滤至少一个对每一个取消选定的等级级别的控制的施加。图8图示了适用于执行本文描述的功能的通用计算机的高级框图。如图8所示, 系统800包括处理器元件802 (例如CPU)、存储器804,例如随机存取存储器(RAM)和/或 只读存储器(ROM)、测试控制模块805,以及各种输入/输出器件806 (例如存储器件,包括 但不限于磁带驱动器、软盘驱动器、硬盘驱动器或光盘驱动器、接收机、发射机、扬声器、显 示器、输出端口,和用户输入设备(例如键盘、小键盘、鼠标等))。应当注意,可以以软件和/或以软件和硬件的组合(例如使用专用集成电路 (ASIC)、通用计算机或任何其他硬件等同物)来实现本发明。在一个实施例中,本测试控制 过程805可以被载入存储器804,并被处理器802执行,以实现如上所讨论的功能。因此,本 发明的测试控制过程805 (包括相关联的数据结构)可以存储在计算机可读介质或载体上, 例如RAM存储器、磁或光驱动器或盘片,等等。虽然文本详细示出和描述了包含本发明教导的各种实施例,但是本领域技术人员 可以容易设想包含这些教导的很多其他变型实施例。
权利要求
一种片上系统设备,所述设备包括扫描路径,所述扫描路径包括至少第一等级级别和第二等级级别,第一等级级别包括多个组件,第二等级级别包括至少一个组件,其中利用施加到第一等级级别的组件的至少一个控制信号在第一等级级别内传播数据;和控制逻辑,所述控制逻辑用于过滤对第二等级级别的至少一个组件的至少一个控制信号的施加,以控制第二等级级别内的数据传播独立于第一等级级别内的数据传播。
2.根据权利要求1所述的设备,其中,当取消选定第二等级级别时,控制逻辑禁止当在 第一等级级别内传播数据时在第二等级级别内传播数据。
3.根据权利要求1所述的设备,其中,当选定第二等级级别时,控制逻辑允许当在第一 等级级别内传播数据时在第二等级级别内传播数据。
4.根据权利要求1所述的设备,其中第一等级级别的组件包括用于选定和取消选定第 二等级级别的等级使能组件。
5.一种片上系统设备,所述设备包括扫描路径,所述扫描路径包括至少第一等级级别和第二等级级别,第一等级级别包括 多个组件,第二等级级别包括至少一个组件,其中第二等级级别能够被动态选定和取消选 定;和控制逻辑,所述控制逻辑用于在取消选定第二等级级别时过滤对第二等级级别的至少 一个组件的至少一个控制信号的施加,其中过滤至少一个控制信号,以禁止当在第一等级 级别内传播数据时在第二等级级别内传播数据。
6.根据权利要求5所述的设备,其中第一等级级别的组件包括用于选定和取消选定第 二等级级别的等级使能组件,其中第二等级级别的至少一个组件包括至少一个非等级使能 组件。
7.根据权利要求6所述的设备,其中至少一个等级使能组件的每一个用于产生用于选 定和取消选定第二等级级别的等级选定控制信号。
8.根据权利要求7所述的设备,其中控制逻辑用于使用来自等级使能组件的等级选定 控制信号来过滤对第二等级级别的至少一个非等级使能组件的至少一个控制信号的施加。
9.根据权利要求8所述的设备,其中所述至少一个控制信号包括第一控制信号和第二 控制信号,其中第二等级级别的至少一个非等级使能组件的每一个包括第一寄存器和第二 寄存器,其中控制逻辑包括控制至少一个非等级使能组件的每一个的第一寄存器的第一部 分,和控制至少一个非等级使能组件的每一个的第二寄存器的第二部分。
10.一种片上系统设备,所述设备包括扫描路径,所述扫描路径包括具有多个组件的第一等级级别,和具有至少一个组件的 第二等级级别,其中第二等级级别能够被动态选定和取消选定;其中,使用至少一个控制信号控制第一等级级别内的数据传播;其中,使用至少一个控制信号和来自第一等级级别的等级选定控制信号控制第二等级 级别内的数据传播,其中等级选定控制信号适于控制第二等级级别内的数据传播独立于第 一等级级别内的数据传播。
全文摘要
本发明包括用于动态隔离片上系统的扫描路径的一部分的设备和方法。在一个实施例中,设备包括扫描路径和控制逻辑。扫描路径包括至少第一等级级别和具有至少一个组件的第二等级级别,其中第一等级级别包括多个组件。第二等级级别适于被选定和取消选定从而使第二等级级别激活或禁用。控制逻辑适于传播传播过滤对第二等级级别的至少一个组件的至少一个控制信号的施加,以控制第二等级级别内的数据传播独立于第一等级级别内的数据传播。在一个实施例中,当取消选定第二等级级别时,控制逻辑禁止当在第一等级级别内传播数据时在第二等级级别内传播数据。在一个实施例中,当数据通过第一等级级别继续传播时,第二等级级别可以用来进行独立且并行的测试。
文档编号G01R31/3185GK101932945SQ200980103730
公开日2010年12月29日 申请日期2009年1月21日 优先权日2008年1月30日
发明者塔潘·乔蒂·查克拉伯蒂, 姜辰焕, 布拉德福·吉恩·范特卢勒, 米歇尔·波多兰, 苏勒什·戈雅尔 申请人:阿尔卡特朗讯美国公司