专利名称:用于控制扫描路径的动态修改的设备和方法
技术领域:
本发明涉及电子领域,更具体而言,涉及印刷电路板、片上系统和系统的测试。
背景技术:
联合测试行动组(JTAG)是指用于使用边界扫描来测试印刷电路板的测试访问端 口的IEEE 1149标准。自动测试生成(ATG)工具使用JTAG来测试印刷电路板。现在正在 对工具JTAG (IJTAG)标准化(称为IEEE P1687标准),以克服现有的与从电路板级JTAG到 芯片级JTAG的改变相关联的JTAG局限性。IJTAG建议在使用动态等级单元(例如称为选 择工具位(SIB)单元的单元)的数据寄存器内包括动态等级路径。使用动态等级路径允许 根据需要来接通或断开扫描路径的各个部分。因此,通过使用诸如SIB等单元而使能的动 态等级路径是很有价值的测试资源,因为扫描路径中的元件数量对于确定测试时间而言是 很重要的,小心地使用等级可以用来减少测试时间。如所建议的IEEE P1687标准中描述的那样,扫描链是线性扫描链,插入扫描链的 每个SIB单元被插入以将等级引入扫描链。因此,由于扫描链是线性的,线性扫描链中包括 的每个SIB单元必须经由扫描链而被线性访问以激活扫描链中的等级,因此扫描链的长度 直接决定了修改和实现活动等级所需的访问时间量。虽然在扫描链仅包括几个单元的示例 中,该限制可能显得无关紧要,但是在扫描链可能包括几百甚至几千个单元的实际系统中, 这可能成为一个关键限制。虽然可以通过使用测试过程的精确调度来减小该问题的影响, 但是简单地通过使用测试过程的调度并不能完全避免该问题。
发明内容
通过用于使用片上系统的独立的控制扫描路径来控制片上系统的测试扫描路径 的设备和相关联的方法,来解决现有技术的诸多缺陷。在一个实施例中,一种设备包括测试扫描路径,具有包括至少一个等级使能测试 组件的多个测试组件;和控制扫描路径,包括与测试扫描路径的所述至少一个等级使能测 试组件耦接的至少一个控制组件,其中所述至少一个控制组件适用于以动态修改测试扫描 路径的方式来控制所述至少一个等级使能测试组件。在一个实施例中,一种设备包括测试扫描路径,具有多个非等级使能测试组件和 至少一个等级使能组件;和控制扫描路径,包括所述至少一个等级使能组件,其中所述至少 一个等级使能组件适用于使用控制扫描路径来动态修改测试扫描路径。在一个实施例中,一种方法包括将测试比特流施加到片上系统的测试扫描路径, 其中测试扫描路径支持等级;和将控制比特流施加到片上系统的控制扫描路径,其中控制 比特流适用于动态修改测试扫描路径的等级。
通过结合附图考虑以下的详细说明,可以容易理解本发明的教导,其中
3
图1图示了测试环境的高级框图;图2图示了适于在图1的测试环境中使用的示例性片上系统的高级框图;图3图示了示例性片上系统的高级框图,该片上系统具有包括由等级使能组件控 制的两个等级级别的等级扫描路径;图4图示了片上系统的高级框图,该片上系统包括适用于动态修改片上系统的扫 描路径的等级使能组件;图5图示了等级片上系统的高级框图,该等级片上系统包括测试控制器和等级测 试扫描路径;图6图示了片上系统的高级框图,该片上系统包括使用独立的物理组件实现的测 试扫描路径和控制扫描路径;图7图示了等级使能测试组件和等级控制组件的高级框图,所述等级使能测试组 件和等级控制组件适于在图6的片上系统的测试扫描路径和控制扫描路径中使用;图8图示了片上系统的高级框图,该片上系统包括使用组合的物理组件实现的测 试扫描路径和控制扫描路径;图9图示了等级使能组件的高级框图,该等级使能组件适于支持图8的片上系统 的测试扫描路径和控制扫描路径;图10图示了使用独立的测试和控制扫描路径来测试片上系统的方法的一个实施 例;图11图示了使用独立的测试和控制扫描路径来测试片上系统的示例性方法;图12图示了测试环境的高级框图,其中使用测试系统来测试两个片上系统;图13图示了测试环境的高级框图,其中使用测试系统来测试其上嵌入有片上系 统的片上系统;图14图示了测试环境的高级框图,其中使用测试系统来测试片上系统,该片上系 统嵌入有包括嵌入式片上系统的片上系统;图15图示了图5的片上系统的高级框图,其中将片上系统嵌入等级级别之一中; 以及图16图示了适用于执行本文描述的功能的通用计算机的高级框图。为了便于理解,尽可能使用相同的附图标记来指示各附图中共有的相同部分。
具体实施例方式提供了一种使用片上系统的独立的控制扫描路径实现对片上系统的测试扫描路 径的控制的设备和方法,从而减少用于等级扫描路径的访问时间,进而减小测试时间。控制 扫描路径以动态修改测试扫描路径(例如通过根据期望/需要实现测试扫描路径的一个或 多个等级级别的动态激活/解除激活,来修改测试扫描路径的等级)的方式实现了对测试 扫描路径的控制。虽然本文主要参考线性控制扫描路径进行图示和描述,但是控制扫描路 径可以包括用于控制测试扫描路径的多个等级级别。图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的系统级功能等以及以上项目的各种组合)。如图1所示,TS 120使用包括输入端口 115工(记为TDI)和输出端口 115。(记 为TD0)的测试访问接口 115来与S-o-C 110相接口。在一个实施例中,在根据所建议的IEEE P1678标准的环境中,测试访问接口 115 可以实现为IEEE 1149. 1标准所定义的测试访问端口(TAP)。在一个这样的实施例中,虽 然本文主要使用TDI/TD0端口进行图示和描述,但是接口 115可以包括其他控制端口,例如 TCK端口、TMS端口、TRST端口等以及可能需要的其他新控制接口(为了清楚起见,这些端 口 /接口均被省略)。虽然主要参考使用IEEE 1149. 1标准所定义的TAP实现的接口进行 图示和描述,但是可以以多种其他方式来实现接口 115。S-o-C 110支持测试扫描路径和控制扫描路径。测试扫描路径支持测试比特流的 传播。控制扫描路径支持控制比特流的传播。测试扫描路径是包括第一等级级别和第二等 级级别的等级扫描路径。控制扫描路径可以是,也可以不是等级扫描路径。TS 120经由输 入端口 115工和输出端口 115。(即经由TDI/TD0)来访问测试扫描路径。TS 120经由输入端 口 115工和输出端口 115。(即经由TDI/TD0)来访问控制扫描路径。S-o-C 110包括测试控 制器(TC)lll。TC 111经由输入端口 115工从15 120接收输入比特流。TC 111 (经由内部测试输 入接口 ITDI)控制对S-o-C 110的测试扫描路径施加输入比特流,并且(经由内部控制输 入接口 HTDI)控制对S-o-C 110的控制扫描路径施加输入比特流。TC 111经由输出端口 115。向TC 120发送输出比特流。TC 111(经由内部测试输出接口 ITD0)控制从S-o-C 110 的测试扫描路径选择输出比特流,并且(经由内部控制输出接口 HTD0)控制从S-o-C 110 的控制扫描路径选择输出比特流,以用于传播到TS 120。参考图6-图10可以更好地理解 独立的测试和控制扫描路径的使用。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输 入端口 115It) TS 120从TD0输出端口 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 110包括通过多个组件互连220 (总称为组件互连220)来互连的多个组件 210A-210E (总称为组件210)。应当理解,参考图2图示和描述的的S-o-C 110仅构成片上 系统的一个示例(即S-o-C 110可以包括能够以各种其他方式配置的各种其他组件)。如图2所示,每个组件210包括多个内部寄存器,具体而言,组件210A包括三个寄 存器(A0, A,, A2),组件210b包括六个寄存器(B0, B2, B3,B4, B5),组件210c包括五个寄存 器(CQ,Q,C2,C3,C4),组件210d包括三个寄存器(D。,Dp D2),组件210e包括四个寄存器(E。, E” E2,E3)。每个组件210的寄存器形成用于该组件210的内部扫描路径。如图2所示,每个组件210支持至少一个功能。具体而言,组件210a支持三个功 能,组件210b支持四个功能,组件210e支持三个功能,组件210d支持两个功能,组件210e支 持一个功能。每个组件210所支持的功能可以分别使用每个组件210的寄存器(即内部扫 描路径)。如图2所示,经由S-o-C 110的组件互连220来连接S_0_C 110的组件210。组件 210(即组件210的内部扫描路径)和组件210之间的组件互连220形成从S-o-C 110的输 入测试端口(TDI)到S-o-C 110的输出测试端口(TD0)的测试扫描路径。S-o-C 110除了 支持测试扫描路径之外,还支持控制扫描路径。由于可以以多种方式提供独立的测试和控 制扫描路径的实现,为了清楚起见,图2省略了控制扫描路径的细节(参考图6-图9可以 更好地理解这些细节)。组件210包括片上系统型系统中可以包括的任何组件。在一个实施例中,在根据 所建议的IEEE P1687标准实现的系统中,组件210可以包括知识产权器件(IP)和/或工 具。由于IP/工具可能非常类似,本文可以交互使用这两个术语。此外,由于IP和工具可 以用作片上系统的组件,IP和工具在本文中可以更普遍地称为组件。在其他实施例中,在 根据其他标准的系统中,组件210可以包括其他类型的组件。组件210可以包括一个或多个等级使能组件。等级使能组件是(例如通过动态激 活/解除激活片上系统的测试扫描路径的一个或多个等级级别的组件)支持片上系统的扫 描路径的动态修改的组件。一般而言,等级改进了片上系统的组件的测试。例如,等级实现 了测试期间活动系统扫描路径的最小化和和组件的隔离,从而减小了对片上系统的组件的 访问时间。参考图3可以更好地理解片上系统中对等级使能组件的使用。图3图示了示例性片上系统的高级框图,该片上系统具有包括由等级使能组件控 制的两个等级级别的等级扫描路径。具体而言,图3的片上系统300包括经由等级使能组件320互连的第一测试组件(记为组件AO)和第二测试组件3102 (记为组件A1),等级 使能组件320动态控制对第三测试组件3103 (记为组件B0)和第四测试组件3104(记为组 件B1)的访问。第一和第二测试组件以及等级使能组件320形成了测试扫描 路径的第一等级级别。第三和第四测试组件3103和3104形成了测试扫描路径的第二等级 级别。可以选择等级使能组件320,以激活活动测试扫描路径的第二等级级别(即,将第 二等级级别添加到活动测试扫描路径),可以取消对等级使能组件320的选择,以解除活动 测试扫描路径的第二等级级别(即,从活动测试扫描路径去除第二等级级别)的激活。例 如,当取消对等级使能组件320的选择时,等级使能组件320作为通路组件而操作,从而测 试扫描路径包括TDI — AO — HC — A1 — TD0。例如,当等级使能组件320被激活时,等级使 能组件320将第二等级级别添加到活动测试扫描路径,使得测试扫描路径包括以下序列 TDI、AO、HC、BO、Bl、HC、AU TD0。可以以适于动态修改片上系统的测试扫描路径的等级的 任何方式来实现等级使能组件320。等级使能组件320是适于支持扫描路径的动态修改的任何组件。在一个实施例 中,例如,等级使能组件320可以包括所建议的IEEE P1687标准的选择工具位(SIB)的修改 版本。等级使能组件320还可以包括更复杂的等级使能组件(本文称为交叉(crossroad) 器件)。为了清楚地描述独立的测试和控制扫描路径的使用,本文主要在下述实施例的上下 文中图示和描述独立的测试和控制扫描路径,在所述实施例中,将等级使能组件实现为所 建议的IEEE P1687标准的SIB单元的修改版本(但是,独立的测试和控制扫描路径的实现 不限于使用修改的SIB)。如图3所示,除了支持测试扫描路径(包括A0,HC,Al,B0和B1)之外,片上系统 300还支持控制扫描路径(为了清楚地描述测试扫描路径,图3省略了控制扫描路径)。如 本文所述,片上系统300经由TDI输入(从测试系统)接收测试比特流和控制比特流,并经 由TD0输出(向测试系统)返回测试比特流和控制比特流。片上系统300使用测试控制器 (为清楚起见而省略)来控制独立的测试和控制扫描路径。参考图5-图9可以更好地理解 片上系统上的控制扫描路径的实现和使用控制扫描路径来动态控制对测试扫描路径的修 改。图4图示了片上系统的高级框图,该片上系统包括适用于动态修改片上系统的扫 描路径的等级使能组件。具体而言,片上系统400代表图3的片上系统300的实现,其中等 级使能组件320被实现为所建议的IEEE P1687标准中定义的选择工具位(SIB)单元。具 体而言,图4的片上系统400包括作为等级使能组件操作的SIB单元420。如图4所示,SIB单元420支持测试扫描路径的第一等级级别(经由TDI输入和 TD0输出),以及测试扫描路径的第二等级级别(经由与边界扫描单元B0的TDI输入耦接 的WSIo端口和与边界扫描单元B1的TD0输出耦接的WSOi端口)。SIB单元420包括选择 工具位(SIB)寄存器422、更新SIB(UpSIB)寄存器424和输出MUX 426。SIB寄存器422具 有控制对SIB寄存器422的输入的相关联的SIB输入MUX 421。UpSIB寄存器424具有控 制对UpSIB寄存器424的输入的相关联的UpSIB输入MUX 423。与SIB寄存器422相关联的SIB输入MUX 421控制对SIB寄存器422的输入。SIB 输入MUX 421包括两个输入端口。SIB输入MUX 421接受(例如来自扫描路径中的在前组件的)TDI输入和SIB寄存器422的输出作为输入。SIB输入MUX 421由移位DR(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的控制端口的更新DR(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信令路径。将UpSIB寄存器424的输出施加到输出MUX 426的控制端口实 现了测试扫描路径的等级的控制(即实现了第二(或更低)等级级别的动态选择/取消选 择,使得动态激活/解除激活第二等级级别)。输出MUX 426包括两个输入端口。输出MUX 426接受来自SIB寄存器422的输出 和经由WSOi端口来自更低等级级别的输入(在本示例中例如是边界扫描单元B1的TD0输 出)作为输入。输出MUX 426的输出耦接到SIB单元420的TD0输出(以传播到扫描路径 的第一等级级别中的后续组件,在本示例中是边界扫描单元A1)。输出MUX 426的输出由施 加到输出MUX 426的控制端口的控制信号确定。UpSIB寄存器424的输出耦接到输出MUX 426的控制端口。如图4所示,UpSIB寄存器424的值确定选择第二等级级别(即作为扫描路径的一 部分)还是取消选择第二等级级别(即不作为扫描路径的一部分)。当取消选择第二等级 级别时(即UpSIB寄存器424的值是“0”),输出MUX 426将SIB寄存器422的输出传递到 SIB单元420的TD0输出,并且忽略来自WSOi端口的值。当选择第二等级级别时(即UpSIB 寄存器424的值是“1”),输出MUX 426将信号从更低等级级别(即从WSOi端口)传递到 SIB单元420的TD0输出。如本文所述,除了支持测试扫描路径(包括AO,SIB, Al,B0和B1),片上系统400 还支持控制扫描路径(为了清楚地描述测试扫描路径,图4省略了控制扫描路径)。片上系 统400使用测试控制器(为了清楚起见而省略)来控制独立的测试和控制扫描路径。参考 图5-图9可以更好地理解片上系统上的控制扫描路径的实现和使用控制扫描路径来动态 控制对测试扫描路径的修改。
8
图5图示了等级片上系统的高级框图,该等级片上系统包括测试控制器和等级测 试扫描路径。测试控制器511控制片上系统500的测试。片上系统500支持等级测试扫描 路径(记为测试扫描路径521)和控制扫描路径(记为控制扫描路径526,但是,为了清楚起 见,图5省略了控制扫描路径526,因为如本文所述,可以以若干不同方式实现独立的控制 扫描路径,如本文参考图6-图9图示和描述的那样)。如图5所示,在一个实施例中,测试控制器511是支持TCK、XTRST、TMS和输入/输 出信号的1149. 1JTAG TAP测试控制器。测试控制器511支持与测试系统(例如图1的TS 120)的输出耦接的外部输入(TDI)和与测试系统(例如图1的TS 120)的输入耦接的外部 输出(TD0)。测试控制器511支持内部输入,所述内部输入耦接到适于控制将来自外部TDI 输入的输入比特流施加到测试扫描路径521和控制扫描路径526的控制逻辑。测试控制器 511支持内部输出,所述内部输出耦接到适于控制选择来自测试扫描路径521和控制扫描 路径526的输出比特流(以便提供到外部TD0输出)的控制逻辑。如图5所示,由于片上系统500支持两个扫描路径(即测试扫描路径521和控制 扫描路径526),其中比特流必须被施加到所述扫描路径以便测试片上系统500,所以片上 系统500支持片上系统500内的两个内部输入和两个内部输出。片上系统500支持与对测 试扫描路径521的输入耦接的第一内部输入(ITDI)和与从测试扫描路径521的输出耦接 的第一内部输出(ITD0)。片上系统500支持与对控制扫描路径526的输入耦接的第二内部 输入(HTDI)和与从控制扫描路径526的输出耦接的第二内部输出(HTD0)。片上系统500包括输入控制DEMUX 513。输入控制DEMUX 513包括与测试控制器 511的TDI端口耦接的输入端口。输入控制DEMUX包括两个输出端口 与对测试扫描路径 521的输入耦接的第一输出端口(记为ITDI)和与对控制扫描路径526的输入耦接的第二 输出端口(记为HTDI)。测试控制器511将在片上系统500的TDI输入处接收的输入比特 流施加到输入控制DEMUX 513的输入端口。输入控制DEMUX513适于根据期望/需要将经 由TDI输入接收的输入比特流耦接到测试扫描路径521或控制扫描路径526。片上系统500包括输出控制MUX 514。输出控制MUX 514包括两个输入端口 与从 测试扫描路径521的输出耦接的第一输入端口(记为ITD0)和与从控制扫描路径526的输 出耦接的第二输入端口(记为HTD0)。输出控制MUX 514包括与测试控制器511的TD0端 口耦接的输出端口。输出控制MUX 514适于根据期望/需要,将来自测试扫描路径521的 输出比特流或来自控制扫描路径526的输出比特流(经由测试控制器511)耦接到TD0输 出o输入控制DEMUX 513和输出控制MUX 514每个均由内部寄存器(IR) 515控制。根 据期望/需要,IR 515加载有控制值,以控制输入控制DEMUX 513和输出控制MUX 514。可 以通过测试控制器511 (例如使用从相关联的测试系统(例如图1的TS 120)接收的控制信 号)来将控制值加载到IR 515中。虽然将IR 515图示并描述为被包括在测试控制器511 中,但是在其他实施例中,IR 515可以在测试控制器511之外实现。虽然主要参考一个IR 进行图示和描述,但是在其他实施例中,可以使用两个(或更多个)IR (例如,一个输入控制 DEMUX 513和另一个输出控制MUX 514)。内部寄存器515的输出耦接到输入控制DEMUX 513的控制端口,以控制将输入比 特流施加到测试扫描路径521和控制扫描路径526 (即,针对每个输入比特值,判定将输入比特值施加到测试扫描路径521、控制扫描路径526还是测试扫描路径521和控制扫描路径 526两者)。IR515的输出耦接到输出控制MUX 514的控制端口,以控制选择来自测试扫描 路径521和控制扫描路径526的输出比特流(即,针对每个输出比特时隙,判定选择可从测 试扫描路径521获得的输出比特值,还是选择可从控制扫描路径526获得的输出比特值)。输入控制DEMUX 513、输出控制MUX 514和IR 515在本文中可以统称为控制逻辑 512。虽然本文主要参考其中使用输入控制DEMUX来控制将输入比特流施加到测试扫 描路径521和控制扫描路径526的实施例进行图示和描述,但是在其他实施例中,输入控制 DEMUX可以省略。在一个实施例中,例如,输入测试比特流可以简单地施加到测试扫描路径 521和控制扫描路径526两者。在该实施例中,IR 515的输出仅耦接到输出控制MUX 514 的控制端口。虽然本文主要参考使用控制DEMUX和控制MUX进行图示和描述,但是可以使 用其他类型的控制逻辑来实现独立的测试和控制扫描路径。如图5所示,测试扫描路径521包括63个组件。测试扫描路径521包括57个非 等级使能测试组件522 (使用整数进行标记)和6个等级使能组件523 (记为等级使能组件 HC00,HC01,HC10,HC11,HC20和HC21)。如图5所示,测试扫描路径521的63个组件被串行 布置,并且包括4个等级级别。等级使能组件HC00和HC01提供从第一等级级别到第二等 级级别的访问。等级使能组件HC10和HC11提供从第二等级级别到第三等级级别的访问。 等级使能组件HC20和HC21提供从第三等级级别到第四等级级别的访问。可以根据期望/需要来动态控制等级使能组件,以修改测试扫描路径521 (即向活 动测试扫描路径521添加等级级别/从活动测试扫描路径521去除等级级别)。例如,当 取消对等级使能组件HC00和HC01的选择时,活动测试扫描路径521是TDI、1、HC00、2、3、 4、HC01、5、6、TD0。例如,当选择HC00时(同时HC10、HC11和HC01均保持取消选择),活动 测试扫描路径 521 是TDI、1、HC00、1、2、3、4、5、HC10、6、7、8、9、10、11、12、HC11、13、14、15、 16、HC00、2、3、4、HCO1、5、6、TDO。以此方式,可以通过对不同的等级使能组件进行动态选择 或取消选择来动态激活或解除激活测试扫描路径521的不同等级级别,从而将其添加到活 动测试扫描路径521或从活动测试扫描路径521去除。使用独立于测试扫描路径的控制扫描路径,来实现以动态修改测试扫描路径的方 式对一个或多个等级使能组件的控制。可以以任何方式实现独立的测试和控制扫描路径。在一个实施例中,可以使用独立的物理组件来实现测试扫描路径和控制扫描路 径。在一个实施例中,例如,测试扫描路径包括多个非等级测试组件和至少一个等级测试组 件,控制扫描路径包括至少一个等级控制组件。在该实施例中,形成控制扫描路径的至少一 个等级控制组件与形成测试扫描路径的一部分的至少一个等级测试组件相交互,以动态控 制测试扫描路径的修改。参考图6和图7所图示和描述的示例,可以更好地理解该实施例。在一个实施例中,可以使用组合物理组件来实现测试扫描路径和控制扫描路径。 在一个实施例中,例如,片上系统包括多个非等级测试组件和至少一个等级使能组件。非等 级使能测试组件和至少一个等级使能组件(即至少一个等级使能组件中每一个的第一部 分)形成测试扫描路径。至少一个等级使能组件(即至少一个等级使能组件中每一个的第 二部分)形成控制扫描路径。至少一个等级使能组件中每一个的相应的第一部分和第二部 分彼此交互,以动态控制测试扫描路径的修改。参考图8和图9所图示和描述的示例,可以更好地理解该实施例。图6图示了包括使用独立的物理组件实现的测试扫描路径和控制扫描路径的片 上系统的高级框图。片上系统600包括参考图5图示和描述的片上系统500的实现。图6 的片上系统600包括测试控制器611,其以与图5的测试控制器511类似的方式操作。片上 系统还包括控制逻辑612,其以与图5的控制逻辑512类似的方式操作。片上系统600包括 测试扫描路径621和控制扫描路径626,测试扫描路径621和控制扫描路径626中的每一个 可以由测试控制器611独立访问,以测试片上系统600。测试扫描路径621用于执行对片上系统600的测试。测试扫描路径621由多个非 等级使能测试组件622 (总称为非等级使能测试组件622,也可以称为非等级使能组件)和 多个等级使能测试组件623 (总称为等级使能测试组件623,也可以称为等级使能组件)构 成。非等级使能测试组件622是不支持动态修改片上系统600的测试扫描路径621的能力 的组件。等级使能测试组件623是支持动态修改片上系统600的测试扫描路径621的能力 的组件。 如图6所示,测试扫描路径621包括63个组件,这63个组件包括57个非等级使能 测试组件(使用整数进行标记)和6个等级使能组件(记为等级使能测试组件TC00,TC01, TC10, TC11,TC20和TC21)。测试扫描路径621的63个组件被串行布置,并且包括4个等 级级别。等级使能测试组件TC00和TC01提供从第一等级级别到第二等级级别的访问。等 级使能测试组件TC10和TC11提供从第二等级级别到第三等级级别的访问。等级使能组件 TC20和TC21提供从第三等级级别到第四等级级别的访问。控制扫描路径626是添加到片上系统600的附加扫描路径(除了当前用作测试扫 描路径621的片上系统上典型可用的系统扫描路径以外)。控制扫描路径626适于动态控 制片上系统600的测试扫描路径621。控制扫描路径626包括多个等级控制组件627 (总称 为等级控制组件627)。等级控制组件627是适于控制至少一个等级使能测试组件623以动 态修改片上系统600的测试扫描路径621的组件。如图6所示,控制扫描路径626包括6个等级控制组件(记为等级控制组件CC00, CC01,CC10, CC11,CC20和CC21)。控制扫描路径626的6个等级控制组件被串行布置。形 成控制扫描路径626的6个等级控制组件(例如CC00, CC01,CC10,CC11,CC20和CC21)分 别使用6个耦接路径624(可以总称为耦接路径624)耦接到形成测试扫描路径621的一部 分的6个等级使能测试组件(例如TC00,TC01,TC10,TC11,TC20和TC21),从而以实现片上 系统600的测试扫描路径621的动态修改的方式控制6个等级使能测试组件。测试控制器611使用控制逻辑612 (以与参考图5所图示和描述的类似方式)与 测试扫描路径621和控制扫描路径626相接口。测试系统(为了清楚起见而省略)可以使 用输入测试矢量和输入控制矢量执行对片上系统600的测试。输入测试矢量是施加到测试 扫描路径621的测试比特流。输入控制矢量是施加到用于控制测试扫描路径的等级(即, 用于动态控制输入测试矢量经由其传播的测试扫描路径621的测试组件)的控制扫描路径 626的控制比特流。将输入测试矢量施加到测试扫描路径621导致测试控制器611经由耦 接到测试扫描路径621的输出的内部ITD0输出从测试扫描路径621接收输出测试矢量。测 试控制器611将输出测试矢量传播到测试系统,测试系统处理输出测试矢量,以确定测试 结果。
如本文所述,在使用独立的物理组件实现测试扫描路径和控制扫描路径的实施例 中(例如本文参考图6所图示和描述的那样),可以使用任何等级使能组件(例如使用所建 议的IEEE P1687标准中定义的SIB单元的修改版本、使用其他等级使能组件(例如交叉器 件)等以及以上各项的各种组合)来实现等级使能测试组件和相关联的等级控制组件。参 考图7图示和描述示例性实施例,其中使用所建议的IEEEP1687标准的SIB单元的修改版 本来实现等级使能测试组件和相关联的等级控制组件。图7图示了等级使能测试组件和等级控制组件的高级框图,所述等级使能测试组 件和等级控制组件适于在图6的片上系统的测试扫描路径和控制扫描路径中使用。如图 7所示,等级使能测试组件710和等级控制组件720协作以支持片上系统的测试扫描路径 (例如参考图6图示和描述的测试扫描路径621)的动态修改。如参考图6图示和描述的那样,等级使能测试组件710形成测试扫描路径(例如 测试扫描路径621)的一部分,等级控制组件720形成控制扫描路径(例如控制扫描路径 626)的一部分。例如,等级使能测试组件710可以是图6的等级使能测试组件623之一(例 如等级使能测试组件TC00),等级控制组件720可以是图6的等级控制组件627之一(例如 控制等级使能测试组件TC00的等级控制组件C00)。如本文所述,可以以任何方式来实现等级使能测试组件710和等级控制组件720, 以使用独立的测试和控制扫描路径支持扫描路径的动态修改。如图7所示,在一个实施例 中,可以通过重复利用所建议的IEEEP1687标准中定义的SIB单元的设计的一部分来实现 等级使能测试组件710和等级控制组件720 (应当注意,虽然为了清楚起见提供了该示例性 实现方式,但是可以使用任何等级使能组件来实现等级使能测试组件710和等级控制组件 720)。经由信令路径730 (记为Seljnstr信令路径)耦接等级使能测试组件710和等级 控制组件720。Sel_Instr信令路径730对应于图6的耦接路径624之一。如图7所示,等级使能测试组件710包括TDI输入711、WSIo输入TUpWSOi输出 712。、MUX 713和TD0输出714。TDI输入711耦接到测试扫描路径的在前组件(为了清楚 起见而省略)的输出,TD0输出714耦接到测试扫描路径中后续组件(为了清楚起见而省 略)的输入。TDI输入711耦接到MUX 713的第一输入端口和WSIo输入712工。WSOi输出 712。耦接到MUX 713的第二输入端口。通过从等级控制组件720施加到MUX 713的控制端 口的选择信号来控制在MUX713处在来自TDI输入711的信号和来自WSOi输出712。的信 号之间的选择。如图7所示,等级控制组件720类似于图4的SIB单元420。但是,(如参考等级 使能测试组件710所描述的那样,为测试扫描路径保留的)TDI输入和TD0输出被替换为 HTDI输入721和HTD0输出722 (用于控制扫描路径)。HTDI输入721耦接到控制扫描路径 的在前组件(为了清楚起见而省略)的输出,HTD0输出722耦接到控制扫描路径的后续组 件(为了清楚起见而省略)的输入。如图7所示,等级控制组件720包括SIB输入MUX 725、SIB寄存器726、UpSIB输 入 MUX 727,和 UpSIB 寄存器 728。SIB输入MUX 725和SIB寄存器726以与图4的SIB输入MUX 421和SIB寄存器 422类似的方式操作,但是具有一些区别。第一区别在于对SIB输入MUX 421的TDI输入被 替换为对SIB输入MUX 725的HTDI输入721。第二区别在于从SIB寄存器726的输出连接
12到HTD0输出722(相反,在SIB单元420中,SIB寄存器422的输出耦接到对输出MUX 426 的输入)。UpSIB 输入MUX 727 和 UpSIB 寄存器 728 以与图 4 的 UpSIB 输入 MUX 423 禾PUpSIB 寄存器424类似的方式操作,但是具有一个区别。该区别在于当UpSIB寄存器728的输 出仍耦接到Seljnstr信令路径时,UpSIB寄存器728的输出不作为控制信号耦接到输出 MUX(因为等级控制组件720中不存在输出MUX 426)。如图7所示,UpSIB寄存器728的输出耦接到Sel_InStr信令路径730。来自UpSIB 寄存器728的输出的Sel_InStr信令路径730耦接到等级使能测试组件710的MUX 713的 控制端口。从等级控制组件720到等级使能测试组件710的Seljnstr信令路径730使得 等级控制组件720能够控制在来自TDI输入711的信号和来自WSOi输出712。的信号之间 进行选择,以传递到TD0输出714 (即,动态控制对活动测试扫描路径添加/从活动测试扫 描路径去除测试组件)。如图7所示,当激活等级控制组件720的UpSIB寄存器728时(例如设置为“ 1”), 信号经由Seljnstr信令路径730从等级控制组件720的UpSIB寄存器728传播到等级使 能测试组件710的MUX 713的控制端口。在接收到激活信号时,等级使能测试组件710的 MUX 713从选择来自TDI输入711的信号切换到选择来自WSOi输出712。的信号。以此方 式,等级使能测试组件710不再充当来自TDI输入711的信号的通路。相反,将连接到WSIo 输入712工和WSOi输出71、的任何组件动态地添加到活动测试扫描路径(即,使用等级控 制组件720和等级使能测试组件710的组合来动态修改测试扫描路径)。例如,参考图6,假设等级使能测试组件710是等级使能测试组件TC00,等级控制 组件720是等级控制组件CC00。在该示例中,当取消对等级使能测试组件TC00的选择时, TC00将测试比特从非等级使能测试组件1传递到非等级使能测试组件2 ( S卩,其作为通路而 操作)。在该示例中,当(例如经由UpSIB寄存器728和Seljnstr信令路径730)通过来 自等级控制组件CC00的控制信号激活等级使能测试组件TC00时,下一等级级别被动态添 加到活动测试扫描路径,从而TC00 (经由TC00的TDIo)将测试比特从非等级使能测试组件 1传递到非等级使能测试组件1、通过非等级使能组件2到16和等级使能测试组件TC10和 TC11,然后(经由TC00的TDOi)到达非等级使能测试组件2。图8图示了片上系统的高级框图,该片上系统包括使用组合的物理组件实现的测 试扫描路径和控制扫描路径。片上系统800包括参考图5图示和描述的片上系统500的实 现。图8的片上系统800包括以类似于图5的测试控制器511的方式操作的测试控制器 811。片上系统还包括以类似于图5的控制逻辑512的方式操作的控制逻辑812。片上系统 800包括测试扫描路径821和控制扫描路径823,测试扫描路径821和控制扫描路径823均 可以被测试控制器811独立地访问,以便测试片上系统600。测试扫描路径821用于执行对片上系统800的测试。测试扫描路径821由多个非 等级使能测试组件822 (总称为非等级使能测试组件822,本文中也可以称为非等级使能组 件)和多个等级使能组件825 (总称为等级使能组件825)组成。控制扫描路径823由多个 等级使能组件825(即,还形成测试扫描路径821的一部分的等级使能组件825)组成。换 言之,每个等级使能组件825适于以使测试扫描路径821或控制扫描路径823能够动态地 控制测试扫描路径821的方式来支持测试扫描路径821和控制扫描路径823。
非等级使能测试组件822是不支持动态修改片上系统800的测试扫描路径821的 能力的组件。等级使能组件825是支持动态修改片上系统800的测试扫描路径821的能力 的组件。可以以任何方式实现等级使能组件825。在一个实施例中,例如,每个等级使能组 件825包括形成测试扫描路径821的一部分的第一部分,和形成控制扫描路径823的一部 分的第二部分(即,使用公共物理组件组来支持测试扫描路径821和控制扫描路径823)。测试扫描路径821包括63个组件,这63个组件包括57个非等级使能测试组件 (使用整数进行标记)和6个等级使能组件(记为HC00、HC01、HC10、HC11、HC20和HC21)。 测试扫描路径621的63个组件包括四个等级级别。等级使能组件HC00和HC01提供从第 一等级级别到第二等级级别的访问。等级使能组件HC10和HC11提供从第二等级级别到第 三等级级别的访问。等级使能组件HC20和HC21提供从第三等级级别到第四等级级别的访 问。可以使用测试扫描路径821来动态控制测试扫描路径821 (即,控制将等级级别添加到 活动测试扫描路径821/从活动测试扫描路径821去除等级级别)。(除了片上系统上典型可用的系统扫描路径之外,其中,由于添加了控制扫描路径 823,该系统扫描路径被用作为测试扫描路径821)控制扫描路径823是添加到片上系统800 的附加扫描路径。控制扫描路径823可以用于动态控制测试扫描路径821(即,控制将等级 级别添加到活动测试扫描路径821/从活动测试扫描路径821去除等级级别)。控制扫描路 径823穿过等级使能组件825 (即,测试扫描路径821和控制扫描路径823共享每个等级使 能组件825)。等级使能组件825的控制部分以使能动态修改片上系统800的测试扫描路径 821的方式来(在内部)控制等级使能组件825的相应测试部分。如图8所示,使用以下组件序列形成控制扫描路径823 HC00 — HC01 — HC10 — HC20 — HC21 — HC11。控制扫描路径823的组件序列仅是可以使用 的等级使能组件825的序列的一个示例(即,由于测试控制器811可以以任何顺序对控制 扫描路径823施加控制比特,可以以任何顺序连接等级使能组件825以形成控制扫描路径 823)。例如,可以将备选序列 HTDI、HC20、HC21、HC11、HC10、HC00、HC01、HTDI 用于控制扫 描路径823。类似地,例如可以将备选序列HTDI、HC21、HC10、HC00、HC11、HC20、HC01、HTDI 用于控制扫描路径823。测试控制器811 (以类似于参考图5所图示和描述的方式)使用控制逻辑812与 测试扫描路径821和控制扫描路径823相接口。测试系统(为了清楚起见而省略)可以使 用输入测试矢量和输入控制矢量执行对片上系统600的测试。输入测试矢量是施加到用 于执行一个或多个测试(以及可选地控制测试扫描路径821的等级)的测试扫描路径821 的测试比特流。输入控制矢量是施加到用于控制测试扫描路径的等级(即,用于动态控制 输入测试矢量经由其传播的测试扫描路径821的测试组件)的控制扫描路径823的控制比 特流。将输入测试矢量施加到测试扫描路径821导致测试控制器811经由与测试扫描路径 821的输出耦接的内部ITD0输出从测试扫描路径821接收输出测试矢量。测试控制器811 将输出测试矢量传播到测试系统,测试系统处理输出测试矢量,以确定测试结果。如参考图8所图示和描述的那样,测试扫描路径821和控制扫描路径823共享物 理组件提供了可以修改测试扫描路径821的等级的两种方式(即,通过经由测试扫描路径 821访问等级使能组件825,或经由控制扫描路径823访问等级使能组件825)。这使得测试 系统能够判定,在任意给定时刻,访问等级使能组件825的两种方式中的哪一种更有利,并且使用更有利的访问方式控制测试扫描路径821的等级。如本文所述,在通过共享物理组件来实现测试扫描路径和控制扫描路径的实施例 中(如本文中参考图8所图示和描述的那样),可以使用任何等级使能组件(例如,使用所 建议的IEEE P1687标准中定义的SIB单元的修改版本、使用其他等级使能组件(例如交叉 器件)等以及以上项目的各种组合)实现等级使能组件。参考图9图示和描述了使用所建 议的IEEE P1687标准中定义的SIB单元的修改版本实现等级使能组件的示例性实施例。图9图示了适于支持图8的片上系统的测试扫描路径和控制扫描路径的等级使能 组件的高级框图。如图9所示,等级使能组件910适于形成测试扫描路径的一部分和形成 控制扫描路径的一部分,从而测试扫描路径部分或测试扫描路径部分可以以动态修改片上 系统的测试扫描路径(例如动态修改片上系统的等级)的方式控制测试扫描路径部分。如参考图8图示和描述的那样,等级使能组件910形成测试扫描路径(例如,测试 扫描路径821)的一部分以及形成控制扫描路径(例如,控制扫描路径823)的一部分。例 如,等级使能组件910可以是图8的等级使能组件825中的任意一个(例如,等级使能组件 HC00、等级使能组件HC01等)。可以以任何方式实现等级使能组件910,以支持独立的测试 和控制扫描路径。如图9所示,在一个实施例中,可以使用所建议的IEEE P1687标准中定义的SIB 单元的修改版本实现等级使能组件910 (应当注意,虽然为了清楚起见提供该示例性实现 方式,但是可以使用任何等级使能组件实现等级使能组件910)。在一个这种实施例中,标准 SIB单元被修改为包括(1)用于控制扫描路径的附加输入/输出接口(即HTDI/HTD0输入 /输出接口)和(2)用于支持独立的测试和控制扫描路径的逻辑。如图9所示,等级使能组件910是SIB单元(例如本文中参考图4图示和描述的 SIB单元420)的修改版本。在图9的修改的SIB单元910中,图4的SIB单元420已被修 改为包括两个附加输入信号(记为HDTI和Select)、一个附加输出信号(记为HTD0)和一 个附加信号选择逻辑组件(例如输入控制MUX 915)。SIB单元910包括SIB输入MUX 911、 SIB寄存器912、UpSIB输入MUX 913、UpSIB寄存器914和输出MUX916,它们分别以类似于 SIB 单元 420 的 SIB 输入 MUX 421、SIB 寄存器 422、UpSIB 输入 MUX 423、UpSIB 寄存器 424 和输出MUX 426的方式操作(除了下面描述的一些区别之外)。在图4的SIB单元420中,TDI输入耦接到SIB输入MUX 421的输入端口之一。在 图9的修改的SIB单元910中,TDI输入(与测试扫描路径相关联)耦接到输入控制MUX 915的一个输入,新的HTDI输入(与控制扫描路径相关联)耦接到输入控制MUX 915的另 一输入。使用施加到输入控制MUX 915的控制端口的新的SELECT信号来控制由输入控制 MUX 915在TDI输入和HDTI输出之间进行的选择。在一个实施例中,施加到修改的SIB单 元910的SELECT信号与施加到图8的控制逻辑812的输入控制DEMUX 513和输出控制MUX 514的控制端口的信号相同。在图4的SIB单元420中,TDI输入耦接到SIB输入MUX 421的一个输入端口,SIB 输入MUX 421控制通过SIB单元传递哪个信号。在图9的修改的SIB单元910中,将输入控 制MUX 915的输出(取代TDI输入)施加到SIB输入MUX 911的输入端口。因此,不是将 TDI输入施加到SIB寄存器912,相反,可以通过控制输入控制MUX 915和SIB输入MUX911 来根据期望/需要将TDI输入和HTDI中的每一个交替施加到SIB寄存器912,其中SIB输入MUX 911最终控制将哪个信号传递到SIB寄存器912中。在图4的SIB单元420中,SIB寄存器422的输出耦接到对SIB输入MUX 421的 输入、对UpSIB输入MUX 423的输入、(对第二等级层的)WSIo输入以及对输出MUX 426的 一个输入,输出MUX 426控制在SIB寄存器422的输出和(来自第二等级层的)WS0i输出 之间的选择。在图9的修改的SIB单元910中,SIB寄存器912的输出耦接到对SIB输入 MUX 911的输入、对UpSIB输入MUX 913的输入、(对第二等级层的)WSIo输入、对控制在 SIB寄存器912的输出和(来自第二等级层的)WS0i输出之间的选择的输出MUX 916的一 个输入,并且还耦接到HTD0输出。如图9所示,修改的SIB单元910适于支持(使用TDI/TD0输入/输出接口,并且 包括使用作为控制器的UpSIB寄存器,通过向活动测试扫描路径添加WSIo和WSOi/从活动 测试扫描路径去除WSIo和WSOi,来动态修改测试扫描路径的能力的)测试扫描路径和(使 用HTDI/HTD0输入/输出接口的)控制扫描路径二者。TDI输入和TD0输出分别耦接到测 试扫描路径中的在前组件和后续组件。HDTI输入和HTD0分别耦接到控制扫描路径中的在 前组件和后续组件。例如,返回图8,假设修改的SIB单元910是等级使能组件HC00。在该示例中,TDI 测试输入耦接到非等级使能测试组件1,TD0测试输出耦接到非等级使能测试组件2。在该 示例中,HTDI控制输入耦接到测试控制器910的HTDI端口,HTD0控制输出耦接到等级使能 组件HC00的HTDI输入(即,每个等级使能组件的控制端口直接连接到控制扫描路径中的 相邻等级使能组件的控制端口,从而可以直接在等级使能组件之间传递控制比特,而不需 要通过可能布置在等级使能组件之间的非等级使能测试组件传递控制比特)。图10示出了根据一个实施例的方法。具体而言,图10的方法1000包括使用独立 的测试和控制扫描路径来测试片上系统的方法,其中使用独立的物理组件实现测试和控制 扫描路径(例如参考图6和图7图示和描述的那样)。测试系统执行测试,测试控制器辅助 测试。虽然图10的方法1000的步骤被图示和描述为顺序执行,但是这些步骤的至少一部 分可以同时执行,或者以不同于参考图10图示和描述的顺序来执行。方法1000开始于步 骤1002,并进行到步骤1004。在步骤1004,将输入测试比特流施加到片上系统的测试扫描路径。在步骤1006, 将输入控制比特流施加到片上系统的控制扫描路径。输入测试比特流适用于执行对片上系 统的一个或多个测试。输入控制比特流适于动态修改测试扫描路径的等级(从而修改输入 测试比特流的至少一部分所经过的路径)。通过测试控制器将输入比特流施加到片上系统。在步骤1008,方法1000结束。虽然图示和描述了结束,但是如本文所述,从片上系 统捕获第一输出比特流(与输入比特流相关联),从片上系统捕获第二输出比特流(与控制 比特流相关联)。测试控制器从片上系统捕获输出比特流。然后,测试控制器可以处理输出 比特流以确定测试结果。图11图示了根据一个实施例的方法。具体而言,图11的示例性方法1100包括使 用独立的测试和控制扫描路径来测试片上系统的方法,其中使用组合的物理组件来实现测 试和控制扫描路径(例如参考图8和图9图示和描述的那样)。测试系统执行测试,测试控 制器辅助测试。虽然图11的方法1100的步骤被图示和描述为顺序执行,但是这些步骤的 至少一部分可以同时执行,或者以不同于参考图11图示和描述的顺序来执行。方法1100开始于步骤1102,并进行到步骤1104。在步骤1104,将输入测试比特流施加到片上系统的测试扫描路径。在步骤1106,确定经由测试扫描路径还是控制扫描路径访问等级使能组件。可以 基于一个或多个因素(例如,基于当前执行的一个或多个测试、访问等级使能组件所需的 时间等以及以上项目的各种组合)进行该确定。如果确定应当经由测试扫描路径访问等级使能组件,则方法1100进行到步骤 1108T,在此处将输入控制比特流施加到测试扫描路径。如果确定应当经由控制扫描路径访 问等级使能组件,则方法1100进行到步骤1108e,在此处将输入控制比特流施加到控制扫描路径。输入测试比特流适用于执行对片上系统的一个或多个测试。输入控制比特流适于 访问一个或多个等级使能组件,以便动态修改测试扫描路径的等级(从而修改输入测试比 特流的至少一部分所经过的路径)。测试控制器经由片上系统的测试控制器将输入比特流 施加到片上系统。在步骤1110,方法1100结束。虽然图示和描述了结束,但是如本文所述,从片上系 统捕获第一输出比特流(与输入比特流相关联),从片上系统捕获第二输出比特流(与控制 比特流相关联)。测试控制器从片上系统捕获输出比特流。然后,测试控制器可以处理输出 比特流以确定测试结果。虽然本文主要关于使用特定的等级使能组件实现片上系统上的独立的测试和控 制扫描路径(即所建议的IEEE P1687标准定义的SIB单元)来进行图示和描述,但是可以 使用任何等级使能组件来实现片上系统上的独立的测试和控制扫描路径。在一个实施例中,例如,用于支持独立的测试和控制扫描路径的等级使能组件可 以是支持可用于支持至少两个等级级别的交换结构的任何组件。例如,支持交换结构的等 级使能组件可以是具有至少两个输入和至少两个输出的组件,所述至少两个输入和至少两 个输出适于被连接以形成不同控制路径。在另一实施例中,例如,用于支持独立的测试和控制扫描路径的等级使能组件可 以是支持可用于支持总线结构的组件,所述总线结构用于支持至少两个等级级别。例如,支 持总线结构的等级使能组件可以包括连接到至少一个从组件的通道(gateway)组件(例 如,通过通道组件与至少一个从组件之间的事务提供事务等级)。可以以各种其他方式实现用于实现独立的测试和控制扫描路径的等级使能组件。虽然本文主要关于测试环境进行图示和描述,在所述测试环境下测试系统对支持 独立的测试和控制扫描路径的一个片上系统进行测试并且从等级的项级级别提供独立的 扫描路径的控制,但是在其他实施例中,可以通过测试系统测试多个片上系统组件(每个 片上系统组件支持独立的测试和控制扫描路径)。在这些实施例中,(例如,当一个或多个 片上系统嵌入在扫描链中时),可以从顶级等级级别和/或从其他等级级别提供各个片上 系统的独立的扫描路径的控制。参考图12-图15图示和描述了一些示例性实施例。图12图示了其中使用测试系统来测试两个片上系统的测试环境的高级框图。具 体而言,在测试环境1200中,使用测试系统1220来测试两个片上系统1210i和12102 (总称 为片上系统1210)。如图12所示,片上系统121(^和12102分别包括测试控制器1211工和 12112,每个片上系统1210支持独立的测试扫描路径和控制扫描路径。例如,每个片上系统1210以类似于图5的片上系统500的方式进行操作。在测试系统1200中,每个测试控制 器1211:和12112适于控制来自测试系统1220的TDI/TD0信号,以支持用于相应的片上系 统1210:和12102的独立测试和控制扫描路径(ITDI/ITD0和HTDI/HTD0)。图13图示了测试环境的高级框图,其中使用测试系统来测试其上嵌入有片上系 统的片上系统。具体而言,在测试环境1300中,使用测试系统1320来测试其上嵌入有嵌入 式片上系统1330的片上系统1310。片上系统1310包括测试控制器1311。片上系统1310 支持独立的测试和控制扫描路径。如图13所示,嵌入式片上系统1330包括通道1331,经由 来自片上系统1310的测试控制器1311的测试扫描路径(经由ITDI/ITD0)访问嵌入式片上 系统1330。片上系统1310的ITDI是对嵌入式片上系统1330的TDI输入,片上系统1310 的ITD0是从片上系统1310的TD0输出。来自/去往片上系统1310的测试控制器1311的 ITDI/ITD0测试扫描路径信号是去往/来自嵌入式片上系统1330的通道1331的输入/输 出信号。嵌入式片上系统1330支持独立的测试和控制扫描路径。因此,片上系统1310和 嵌入式片上系统1330均以类似于图5的片上系统500的方式操作。图14图示了测试环境的高级框图,其中使用测试系统来测试片上系统,该片上系 统嵌入有包括嵌入式片上系统的片上系统。如图14所示,图14的测试环境1400类似于图 13的测试环境1300,其中嵌入式片上系统1330还包括嵌入式片上系统1430。嵌入式片上 系统1430包括通道1431。使用嵌入式片上系统1330的测试扫描路径作为对通道1431的 TDI输入和从通道1431的TD0输出。换言之,嵌入式片上系统1330的ITDI是对嵌入式片 上系统1430的TDI输入,嵌入式片上系统1330的ITD0输出是从嵌入式片上系统1430的 TD0输出。嵌入式片上系统1430还支持独立的测试和控制扫描路径。因此,片上系统1310 和嵌入式片上系统1330、1430均以类似于图5的片上系统500的形式操作。图15图示了图5的片上系统的高级框图,其中将片上系统嵌入等级级别之一中。 具体而言,图15的片上系统1500是图5的片上系统500,其中先前经由等级使能组件HC20 可访问的边界扫描单元链被替换为提供对片上系统1510的访问的嵌入式片上系统1510。 嵌入式片上系统1510包括通道1511。如图15所示,不是从测试控制器511 (即等级的顶 级级别)提供对嵌入式片上系统1510的访问,相反,从等级的更低级别(例如经由HC20和 通道1511)提供对嵌入式片上系统1510的访问。片上系统1500的测试扫描路径(ITDI/ ITD0)提供用于嵌入式片上系统1510的输入/输出。换言之,片上系统1500的测试扫描路 径的ITDI是对通道1511的TDI输入(例如经由HC20的WSIo),片上系统1500的测试扫描 路径的ITD0输出是从通道1511的TD0输出(例如经由HC20的WSOi)。如图13、图14和图15所示,可以以多种方式实现嵌入式片上系统的通道(例如嵌 入式片上系统1330、1430和1510的通道1331、1431和1511)。在一个实施例中,可以将通 道实现为控制逻辑,所述控制逻辑适于根据期望/需要来在测试和控制扫描路径上分割输 入比特流,并且根据期望/需要选择来自测试和控制扫描路径输出的输出比特流。在一个 这样的实施例中,例如,可以以类似于图5的控制逻辑512的方式实现通道。在一个实施例 中,可以将通道实现为测试控制器(例如参考图5所图示和描述的测试控制器511)。在一 个实施例中,可以将通道实现为等级使能组件(例如SIB、交叉器件等)。可以以各种其他 方式实现通道。如图12-15的示例性实施例所示,可以使用任意数量的等级级别支持模块化。这使得能够以任意数量的等级级别实现任意数量的片上系统设备,并且还使得能够从任何等 级级别控制任意数量的片上系统设备。这使得(例如从一个等级级别的扫描路径分割出 来的)测试扫描路径能够被进一步分割,以形成另一等级级别的独立的测试和控制扫描路 径。因此,可以支持任意级别的模块化,所述任意级别的模块化支持任意数量的等级级别和 任意数量的测试和控制扫描路径级别。图16图示了适用于执行本文描述的功能的通用计算机的高级框图。如图16所示, 系统1600包括处理器元件1602 (例如CPU)、存储器1604 (例如随机存取存储器(RAM)和/ 或只读存储器(ROM))、测试模块1605以及各种输入/输出设备1606 (例如存储设备(包括 但不限于磁带驱动器、软盘驱动器、硬盘驱动器或光盘驱动器)、接收机、发射机、扬声器、显 示器、输出端口和用户输入设备(例如键盘、小键盘、鼠标等))。应当注意,可以以软件和/或以软件和硬件的组合(例如使用专用集成电路 (ASIC)、通用计算机或任何其他硬件等同物)来实现本发明。在一个实施例中,本测试过程 1605可以被载入存储器1604,并被处理器1602执行,以实现如上所讨论的功能。因此,本 发明的测试过程1605 (包括相关联的数据结构)可以存储在计算机可读介质或载体上,例 如RAM存储器、磁或光驱动器或盘片,等等。虽然文本详细示出和描述了包含本发明教导的各种实施例,但是本领域技术人员 可以容易设想包含这些教导的很多其他变型实施例。
权利要求
一种片上系统设备,包括测试扫描路径,包括多个测试组件,所述多个测试组件包括至少一个等级使能测试组件;以及控制扫描路径,包括至少一个控制组件,所述至少一个控制组件耦接到所述测试扫描路径的所述至少一个等级使能测试组件;其中所述至少一个控制组件以动态修改所述测试扫描路径的方式,控制所述至少一个等级使能测试组件。
2.根据权利要求1所述的设备,其中所述测试扫描路径包括具有第一等级级别和第 二等级级别的等级,其中动态修改所述测试扫描路径包括动态修改所述测试扫描路径的等 级。
3.根据权利要求2所述的设备,其中动态修改所述测试扫描路径的等级包括以下操作 之一选择所述第二等级级别以激活所述第二等级级别,和取消对所述第二等级级别的选 择以解除所述第二等级级别的激活。
4.根据权利要求1所述的设备,其中所述测试扫描路径用于传播测试比特流,其中所 述控制扫描路径用于传播控制比特流。
5.根据权利要求1所述的设备,其中控制组件用于提供用于控制所述等级使能测试组 件的逻辑元件的控制信号。
6.一种片上系统设备,包括测试扫描路径,包括多个非等级使能测试组件和至少一个等级使能组件;以及控制扫描路径,包括所述至少一个等级使能组件;其中所述至少一个等级使能组件适于使用所述控制扫描路径来动态修改所述测试扫 描路径。
7.根据权利要求6所述的设备,其中所述测试扫描路径包括具有第一等级级别和第 二等级级别的等级,其中动态修改所述测试扫描路径包括动态修改所述测试扫描路径的等 级。
8.根据权利要求6所述的设备,其中所述测试扫描路径用于传播测试比特流,其中所 述控制扫描路径用于传播控制比特流。
9.根据权利要求6所述的设备,其中所述至少一个等级使能组件中的每一个均包括用 于在测试比特流和控制比特流之间进行选择的选择元件。
10.一种片上系统设备,包括测试扫描路径,用于传播测试比特流;以及控制扫描路径,用于传播控制比特流;其中控制比特流用于修改测试扫描路径中的测试比特流的传播。全文摘要
本发明包括用于使用控制扫描路径来控制测试扫描路径的动态修改的设备和相关联的方法。在一个实施例中,一种设备包括测试扫描路径和控制扫描路径。测试扫描路径包括测试组件和至少一个等级使能组件。在一个实施例中,控制扫描路径包括至少一个控制组件,所述至少一个控制组件耦接到至少一个等级使能组件以控制测试扫描路径的动态修改。在一个实施例中,控制扫描路径包括至少一个等级使能组件,其中至少一个等级使能组件用于使用控制扫描路径来动态修改测试扫描路径。测试扫描路径的动态修改可以包括修改测试扫描路径的等级,例如选择测试扫描路径的一个或多个等级级别或取消对测试扫描路径的一个或多个等级级别的选择。
文档编号G01R31/3185GK101932946SQ200980103733
公开日2010年12月29日 申请日期2009年1月23日 优先权日2008年1月30日
发明者塔潘·乔蒂·查克拉伯蒂, 姜辰焕, 布拉德福·吉恩·范特卢勒, 米歇尔·波多兰, 苏勒什·戈雅尔 申请人:阿尔卡特朗讯美国公司