[0038] 在一个实施例中,例如,被用来经由TDCh122D传送测试数据信号的测试数据分组可以具有包括以下字段的分组格式:(1)包括上至TDSize个元素的Test_Data、(2)所使用的字节(如果
[0039] 在一个实施例中,例如,被用来经由TDCh122S传送测试控制信息的测试控制分组可以具有包括以下字段的分组格式:(1)包括上至TSSize个元素的Test_Control_Data、(2)所使用的字节(如果
[0040] 注意,在PJTAG域120内,使用在PJTAG域120的分组内所包括的位对准信息来执行在测试数据与它的相关联的控制信息之间的同步。作为结果,不需要经由PJTAG域120来传送TCK信号,并且因此不需要在分派器115D处对TCK信号采样,或者不需要在发布器115I处恢复TCK值。这描绘在图1中,同时分派器115D被配置为终结从第一JTAG域1101所接收的本地TCK信号(图示地为TCK1),并且类似地,同时发布器115I被配置为生成将被提供给第二JTAG域1102的本地TCK信号(图示地为TCK2)。作为结果,这两个JTAG时钟TCK1和TCK2在频率和同步的两者方面完全独立,因此能够分别针对第一JTAG域1101和第二JTAG域1102的需要来优化。换句话说,远程部件能够分别运行在本地时钟上。为了维持这样的同步的、TDCh122D的测试数据与TSCh122S的控制信息的对准,可以以任何合适的方式(例如,通过对经由TDCh122D所传播的测试数据分组的Test_Data字段的值按位移位)来执行。第二JTAG域1102中的JTAG信号的对准可以以任何合适的方式(例如,发布器115I可以被配置为在它的本地JTAG时钟TCK2上使用缓冲和选通,以便纠正经由PJTAG域120在发布器115I处所接收的分组之间的延时)来执行。
[0041] 注意,JTAG域110与PJTAG域120之间的转换不应当具有与之相关联的任何定时问题。这将在考虑到给定了通过长布线的传播时间,JTAG时钟通常相当慢时被意识到。在任何情况下,分派器115D不具有任何相关联的定时约束,因为它可以在需要时简单地发送PJTAG分组。在另一方面,发布器115I可能必须处理和PJTAG域120中的PJTAG分组与第二JTAG域1102中的JTAG信号之间的转换相关联的定时约束。例如,发布器115I可以被配置为缓冲所接收的PJTAG分组(并且如果需要则在缓冲器清空时冻结输出时钟),以便生成用于第二JTAG域1102的连续JTAG信号。
[0042] 以这种方式,PJTAG协议是在支持JTAG所基于的以下两个原理的方面在功能上与同步JTAG协议等效的异步分组协议:(1)从TDI到TDO的位的串行扫描,以及(2)在扫描链的元件上的控制信号的同步断言(assertion)。注意,PJTAG域120的元件125经由TDCh122D的串联连接,使得通过TDCh122D所发送的分组能够穿越PJTAG域120的串联元件125(由此重复上面所讨论的JTAG的原理(1)),并且PJTAG域120的元件125经由TSCh122S的并联连接,使得通过TSCh122S所发送的分组能够在基本上相同的时间由PJTAG域120的元件125接收(由此重复上面所讨论的JTAG的原理(2))。换句话说,存在异步PJTAG协议与同步JTAG协议的功能等效,由此使得JTAG控制器能够看见扫描链上的JTAG部件和PJTAG部件两者(即,接口是透明的)。
[0043] 如上面注意到的,关于图1所描绘和描述的PJTAG协议可以被用来将JTAG信号直接变换成PJTAG分组。关于图2来描绘和描述用于示例性基于TAP的实施方式的从JTAG信号向PJTAG分组的直接变换的示例。
[0044] 图2描绘了针对图1的基于JTAG的测试环境的示例性基于TAP的实施方式的、JTAG信号向PJTAG分组的示例性变换。
[0045] 如图2中所描绘的,示例性JTAG计时图210图示了与测试相关联的五个JTAG信号,包括两个测试数据信号(即,TDI和TDO)、两个测试控制信号(即,TMS和TCK)、以及扫描控制信号(表示为TAP状态,其可以包括扫描控制信号,诸如RTI、SHIFT-DR等)。示例性JTAG计时图210在327个时钟周期上对320个位移位。
[0046] 如图2中所描绘的,示例性JTAG计时图210的部分被转换成相关联的PJTAG分组。
[0047] 在TSCh122S上,测试控制分组具有TSSize=6位的大小。TMS信号的第一部分被转换成PJTAG分组221,其中Test_Control_Data字段包括来自TMS信号的四位(图示地为1100),Used_Bytes字段指示四位被使用,并且Bit_Position字段指示位位置0。TMS信号的第二部分被转换成PJTAG分组222,其中Test_Control_Data字段包括来自TMS信号的三位(图示地为110),Used_Bytes字段指示三位被使用,并且Bit_Position字段指示位位置324。
[0048] 在TDCh122D上(当被用来传送TDI信号比特流时),测试数据分组具有TDSize=8位的大小。TDI信号的第一部分被转换成PJTAG分组231,其中Test_Data字段包括来自TDI信号的八位(图示地为01000000),Used_Bytes字段指示八位被使用,并且Bit_Position字段指示位位置3。TDI信号的第二部分被转换成PJTAG分组232,其中Test_Data字段包括来自TDI信号的八位(图示地为011…),Used_Bytes字段指示八位被使用,并且Bit_Position字段指示位位置11。TDI信号的第三部分被转换成PJTAG分组233,其中Test_Data字段包括来自TDI信号的一位(图示地为0),Used_Bytes字段指示一位被使用,并且Bit_Position字段指示位位置323。
[0049] 在TDCh122D上(当被用来传送TDO信号比特流时),测试数据分组具有TDSize=8位的大小。TDO信号的第一部分被转换成PJTAG分组241,其中Test_Data字段包括来自TDI信号的八位(图示地为00111111),Used_Bytes字段指示八位被使用,并且Bit_Position字段指示位位置3。TDO信号的第二部分被转换成PJTAG分组242,其中Test_Data字段包括来自TDO信号的八位(图示地为111…),Used_Bytes字段指示八位被使用,并且Bit_Position字段指示位位置11。TDO信号的第三部分被转换成PJTAG分组243,其中Test_Data字段包括来自TDO信号的一位(图示地为0),Used_Bytes字段指示一位被使用,并且Bit_Position字段指示位位置323。
[0050] 注意,图2中所描绘的JTAG信号向PJTAG分组的变换仅是示例性的(例如,可以使用具有任何其他合适值的任何其他合适的JTAG信号,可以使用在任何其他合适数目的时钟周期上移位的任何其他合适数目的位,等等,以及它们的各种组合)。
[0051] 虽然在图1和图2中主要关于在其中使用分离的测试数据分组和测试控制分组来运送(例如,经由分离的物理连接或者公共物理连接的分离逻辑信道)测试数据和测试控制信息(并且可选地是扫描控制信息)的实施例来描绘和描述,但是注意在一个实施例中可以在相同的测试分组内运送测试数据和测试控制信息(并且可选地是扫描控制信息)。在图3和5中描绘和描述了与在相同的测试分组内传送测试数据和测试控制信息(并且可选地是扫描控制信息)相关联的示例性方法。在图4和6中描绘和描述了与使用分离的测试数据分组和测试控制分组来传送测试数据和测试控制信息(并且可选地是扫描控制信息)相关联的示例性方法。
[0052] 图3描绘了用于将JTAG域的JTAG信号转换成PJTAG域的PJTAG分组的方法的一个实施例。虽然方法300的步骤被描绘和描述为按照特定的顺序串行地被执行,但是将意识到,方法300的步骤(和/或其部分)可以同时地和/或按照与图3中所呈现的顺序不同的顺序被执行。将意识到,方法300的步骤可以由关于图1所描绘和描述的分派器115D,或者由被配置为提供这样的功能的任何其他合适的(多个)部件来执行。
[0053] 在步骤310处,方法300开始。
[0054] 在步骤320处,测试信号被接收。这些测试信号包括测试数据信号、测试控制信号、以及测试时钟信号。在JTAG域中,例如,该测试数据信号可以是JTAG TDI信号或者JTAG TDO信号,该测试控制信号可以是JTAG TMS信号,并且该测试时钟信号可以是JTAG TCK信号。这些测试信号可选地可以包括扫描控制信号(例如,在部件级实施方式中)。
[0055] 在步骤330处,经由使用该测试时钟信号的对该测试数据信号和该测试控制信号的采样,而不对该测试时钟信号采样,来生成一个或多个测试分组,并且该测试时钟信号被表示为在一个或多个测试分组内的位对准信息。注意,在扫描控制信息经由扫描控制信号被接收的场合,还可以生成该一个或多个测试分组以包括来自该扫描控制信号的扫描控制信息。
[0056] 在步骤340处,该一个或多个测试分组经由一个测试信道或者多个测试信道被传播。
[0057] 在一个实施例中,来自该测试数据信号的值和来自该测试控制信号的值可以被组合在相同的测试分组内。在这种情况下,测试信道可以被考虑为由测试数据和测试控制信息所共享的单个逻辑信道。
[0058] 在一个实施例中,来自该测试数据信号的值和来自该测试控制信号的值可以被限制于分离的测试分组,诸如其中测试分组包括一个或多个测试数据分组和一个或多个测试控制分组,该一个或多个测试数据分组包括从测试数据所采样的值,该一个或多个测试控制分组包括从测试控制信号所采样的值。在这种情况下,这些测试信道可以被考虑为公共物理信道的分离逻辑信道或者分离的物理信道。关于图4描绘和描述了针对这种情况的用于将JTAG域的JTAG信号转换成PJTAG域的PJTAG分组的方法的一个示例性实施例。
[0059] 在步骤350处,方法300结束。虽然为了清楚的目的被描绘和描述为结束,但是将意识到,只要测试数据信号和相关联的测试控制信号将继续被接收,方法300的步骤可以继续被执行。
[0060] 图4描绘了用于将JTAG域的JTAG信号转换成PJTAG域的PJTAG分组的方法的一个实施例。虽然被描绘和描述为使用串行和并行步骤的特定布置来执行,但是将意识到,方法400的步骤可以以任何合适的方式来执行,其可以至少部分地取决于用来接收JTAG信号的定时。将意识到,方法400的步骤可以由关于图1所描绘和描述的分派器115D,或者由被配置为提供这样的功能的任何其他合适的(多个)部件来执行。
[0061] 在步骤410处,方法400开始。
[0062] 在步骤420处,测试信号被接收。这些测试信号包括测试数据信号、测试控制信号、以及测试时钟信号。在JTAG域中,例如,该测试数据信号可以是JTAG TDI信号或者JTAG TDO信号,该测试控制信号可以是JTAG TMS信号,并且该测试时钟信号可以是JTAG TCK信号。这些测试信号可选地可以包括扫描控制信号(例如,在部件级实施方式中)。
[0063] 从步骤420,方法400分支为分别与经由PJTAG域来传送测试数据和控制信息相关联的两个路径。使用下标“D”来指示与传送测试数据相关联的第一路径的步骤,并且使用下标“C”来指示与传送控制信息相关联的第二路径的步骤。
[0064] 在步骤430D处,(1)经由使用该测试时钟信号的对该测试数据信号的采样而不对该测试时钟信号采样并且(2)通过将该测试时钟信号表示为在一个或多个测试数据分组内的位对准信息,来生成一个或多个测试数据分组。在步骤440D处,该一个或多个测试数据分组经由PJTAG域的测试数据信道被传播。从步骤440D,方法400继续至步骤450,在步骤450处方法400结束。
[0065] 在步骤430C处,生成一个或多个测试控制分组。(1)经由使用该测试时钟信号的对该测试控制信号的采样而不对该测试时钟信号采样并且(2)通过将该测试时钟信号表示为在该一个或多个测试控制分组内的位对准信息,来生成该一个或多个测试控制分组。注意,在扫描控制信息经由扫描控制信号被接收的场合,还可以生成该一个或多个测试控制分组以包括来自该扫描控制信号的扫描控制信息。在步骤440C处,该一个或多个测试控制分组经由PJTAG域的测试控制信道被传播。从步骤440C,方法400继续至步骤450,在步骤450处方法400结束。
[0066] 在步骤450处,方法400结束。虽然为了清楚的目的被描绘和描述为结束,但是将意识到,只要测试数据信号和相关联的测试控制信息信号将继续经由JTAG接口而被接收,方法300的步骤可以继续被执行。
[0067] 图5描绘了用于将PJTAG域的PJTAG分组转换成JTAG域的JTAG信号的方法的一个实施例。虽然方法500的步骤被描绘和描述为按照特定的顺序串行地被执行,但是将意识到,方法500的步骤(和/或其部分)可以同时地和/或按照与图5中所呈现的顺序不同的顺序被执行。将意识到,方法500的步骤可以由关于图1所描绘和描述的发布器115I,或者由被配置为提供这样的功能的任何其他合适的(多个)部件来执行。
[0068] 在步骤510处,方法500开始。
[0069] 在步骤520处,一个或多个测试分组被接收。该一个或多个测试分组包括测试数据、测试控制信息、以及位对准信息。该一个或多个测试分组可选地可以包括扫描控制信息(例如,在部件级实施方式中)。
[0070] 在步骤530处,使用该一个或多个测试分组来生成测试信号。这些测试信号包括:包括该测试数据的测试数据信号、包括该测试控制信号的测试控制信号、以及使用该位对准信息所生成的测试时钟信号。注意,在扫描控制信息在该一个或多个测试分组内被接收的场合,这些测试信号还可以包括:包括该扫描控制信息的扫描控制信号。
[0071] 在步骤540处,这些测试信号经由测试信号路径被传播。这些测试信号路径包括:被配置为传送该测试数据信号的测试数据信号路径、被配置为传送该测试控制信号的测试控制信号路径、以及被配置为传送该测试时钟信号的测试时钟信号路径。注意,在扫描控制信息在该一个或多个测试分组内被接收的场合,这些测试信号路径还可以包括:被配置为传送该扫描控制信号的扫描控制信号路径。
[0072] 在一个实施例中,该测试数据的值和该测试控制信息的值可以被组合在相同的测试分组内。在这种情况下,该一个或多个测试分组可以经由如下的测试信道来接收,该测试信道被考虑为由测试数据和测试控制信息所共享的单个逻辑信道。
[0073] 在一个实施例中,该测试数据信号的值和该测试控制信息的值可以被限制于分离的测试分组,诸如在测试分组包括:包括该测试数据的一个或多个测试数据分组和包括该测试控制信息的一个或多个测试控制分组的场合。在这种情况下,一个或多个测试分组可以经由测试数据信道和如下的测试控制信道来接收,该测试控制信道被考虑为公共物理信道的分离逻辑信道或者分离的物理信道。关于图6描绘和描述了针对这种情况的用于将PJTAG域的PJTAG分组转换成JTAG域的JTAG信号的方法的一个示例性实施例。
[0074] 在JTAG域中,例如,该测试数据信号可以是JTAG TDI信号或者JTAG TDO信号,该测试控制信号可以是JTAG TMS信号,并且该测试时钟信号可以是JTAG TCK信号。
[0075] 在步骤550处,方法500结束。虽然为了清楚的目的被描绘和描述为结束,但是将意识到,只要测试数据和相关联的控制信息将继续经由PJTAG域而被接收,方法500的步骤可以继续被执行。
[0076] 图6描绘了用于将PJTAG域的PJTAG分组转换成JTAG域的JTAG信号的方法的一个实施例。虽然被描绘和描述为使用串行和并行步骤的特定布置来执行,但是将意识到,方法600的步骤可以以任何合适的方式来执行,其可以至少部分地取决于用来接收PJTAG分组的定时。将意识到,方法600的步骤可以由关于图1所描绘和描述的发布器115I,或者由被配置为提供这样的功能的任何其他合适的(多个)部件来执行。
[0077] 在步骤610处,方法600开始。
[0078] 从步骤610,方法600分支为分别与经由PJTAG域来传送测试数据和控制信息相关联的两个路径。使用下标“D”来指示与传送测试数据相关联的第一路径的步骤,并且使用下标“C”来指示与传送控制信息相关联的第二路径的步骤。
[0079] 在步骤620D处,一个或多个测试数据分组经由PJTAG域的测试数据信道被接收。该一个或多个测试数据分组包括测试数据和位对准信息。在步骤630D处,使用该一个或多个测试数据分组来生成测试数据信号。该测试数据信号运送该测试数据并且被配置用于经由测试数据信号路径来传送。从步骤630D,方法600继续至步骤640。
[0080] 在步骤620C处,一个或多个测试控制分组经由PJTAG域的测试控制信道被接收。该一个或多个测试控制分组包括测试控制信息和位对准信息。注意,该一个或多个测试控制分组还可以包括扫描控制信息。在步骤630C处,使用来自该一个或多个测试控制分组的测试控制信息来生成测试控制信号。该测试控制信号运送该测试控制信息并且被配置用于经由测试控制信号路径来传送。注意,在扫描控制信息在该一个或多个测试控制分组内被接收的场合,使用来自该一个或多个测试控制分组的该扫描控制信息来生成扫描控制信号。从步骤630C,方法600继续至步骤640。
[0081] 在步骤640处,使用来自该一个或多个测试数据分组和该一个或多个测试控制分组的位对准信息来生成测试时钟信号。该测试时钟信号运送测试时钟信息并且被配置用于经由测试时钟信号路径来传送。
[0082] 在步骤650处,所生成的信号被传播。该测试数据信号经由测试数据信号路径被传播,该测试控制信号经由测试控制信号路径被传播,并且该测试时钟信号经由测试时钟信号路径被传播。注意,在扫描控制信息在该一个或多个测试控制分组内被接收的场合,该扫描控制信号经由扫描控制信号路径被传播。
[0083] 在步骤660处,方法600结束。虽然为了清楚的目的被描绘和描述为结束,但是将意识到,只要测试数据和相关联的控制信息将继续经由PJTAG域而被接收,方法600的步骤可以继续被执行。
[0084] 在一个实施例中,PJTAG协议可以被配置用于与网络通信接口一起使用。在一个实施例中,PJTAG协议可以被包装(wrapped)在用于高速接口的协议内部。例如,PJTAG协议可以被包装在传输控制协议(TCP)/网际协议(IP)的内部以形成PJTAG的基于TCP/IP的包装、在通用串行总线(USB)分组内部以形成PJTAG的基于USB的包装、等等。在图7中图示了一个示例。
[0085] 图7描绘了PJTAG在示例性节点网络内的示例性实施方式。
[0086] 如图7中所描绘的,示例性网络710包括多个节点7121-712N(共同称为节点712)和测试主机714。节点712和测试主机714每个都连接到以太网网络715。如图7中所描绘的,每个节点712包括经由总线(例如,这个示例中的PCIExpress)连接的四个卡(标记为卡A、B、C和D)。如图7中进一步所描绘的,每个节点712具有至少一个外设(P),该至少一个外设(P)通过通向该节点712的卡中的至少一个卡的至少一个相关联的USB连接而连接到该节点。节点712可以是可以以这种方式被配置并且通信地耦合的任何合适的节点(例如,桌面型PC和/或任何其他合适的节点)。虽然为了清楚的目的而从图7中被省略,但是假设卡中的每个卡和节点712中的每个节点的外设包括内部JTAG子系统。
[0087] 如图7中所描绘的,不论示例性网络710的JTAG子系统没有物理地连接在一起的事实,PJTAG协议的各种实施例使得示例性网络710能够被视为JTAG系统。PJTAG协议使得JTAG子系统能够通过高速功能连接而对接在一起。这被描绘为图7的JTAG/PJTAG分区720,其图示了示例性网络710的哪些部分为JTAG域722以及示例性网络710的哪些部分为PJTAG域724。注意,在JTAG/PJTAG分区720中,每个JTAG域722对应于图1的JTAG域710之一(例如,取决于JTAG域722关于相关联的PJTAG域724的定向,是第一JTAG域1101或者第二JTAG域1102),并且每个PJTAG域724对应于图1的PJTAG域120。进一步注意,分派器(例如,类似于图1的分派器115D)可以被提供在从JTAG域722之一到PJTAG域724之一的方向上的接口点处,并且类似地,发布器(例如,类似于图1的发布器115I)可以被提供在从PJTAG域724之一到JTAG域
722之一的方向上的接口点处。
[0088] 如上面注意到的,对PJTAG的使用使得示例性网络710能够被表示为JTAG/PJTAG分区720。作为结果,测试主机714将会把示例性网络710视为图7中所描绘的等效系统730。例如,测试主机714将卡7121-712N视为分别具有并行路径7321-732N,其中每个路径732经由TDI/TDO路径对测试主机714是可访问的,并且进一步包括各自的系列JTAG域722和PJTAG域724。例如,等效系统730的与卡7121相关联的第一路径7321包括以下部件序列:测试主机、A1、P1、P2、B1、C1、D1、测试主机。例如,等效系统730的与卡7122相关联的第二路径7322包括以下部件序列:测试主机、A2、P3、B2、C2、D2、P4、测试主机。例如,等效系统730的与卡712N相关联的第n路径732N包括以下部件序列:测试主机、Pm-1、An、Bn、Cn、Dn、Pm、测试主机。
[0089] 如图7中所描绘的,等效系统730本质上是多分支(multi-drop)架构(例如,其可以通常是ATCA)。因此,测试主机714能够分析等效系统730并且使用任何合适的工具(其可以包括传统的测试工具)来生成相关联的测试比特流。
[0090] 注意,PJTAG还可以被配置用于在各种其他类型的环境中使用。
[0091] 在一个实施例中,例如,PJTAG可以被配置用于与系统JTAG(SJTAG)一起使用。
[0092] 在一个实施例中,例如,PJTAG可以被配置用于与集成方法(例如,片上系统(SoC)、片上网络(NoC)等)一起使用,其中PJTAG可以被用作一种通过使用已经实施的功能总线和连接来访问不同部件以便测试和/或维护的解决方案。注意,图1是足够通用的,以表示至少一些这样的实施例(例如,SoC、NoC等)。
[0093] 注意,只要本地分派器/发布器接口被实施,PJTAG就能够被用来通过实质上任何基于分组的接口来连接。
[0094] 在一个实施例中,例如,PJTAG可以被配置用于在软件应用(例如,软件调试、虚拟应用等)中使用。将JTAG用于软件调试在嵌入式系统中已经是常见的。例如,多数处理器呈现用以访问嵌入式硬件部件(例如,内部寄存器)的JTAG架构。调试器(例如,GDB等)然后能够被用来远程调试处理器,并且相关联的JTAG通信对用户是透明的。在一个实施例中,PJTAG可以被用来将这个概念延伸至纯软件部件如下:软件模块能够实施PJTAG接口,由此使得有可能访问该软件模块的内部数据结构如同它们是硬件部件一样。该软件模块能够使用消息传送应用编程接口(API)(诸如POSIX或者任何其他合适的消息传送API)来实施PJTAG接口。在一个实施例中,使用PJTAG用于软件部件的这个概念能够被用于使用虚拟化软件的虚拟应用,在该情况下,该虚拟化软件能够呈现PJTAG接口并且允许访问对该虚拟化的硬件(其然后将连同真实硬件出现在JTAG链上)建模的数据结构。关于图8来描绘和描述一个示例。
[0095] 图8描绘了利用被配置为控制硬件虚拟化的虚拟化软件的对PJTAG的示例性实施方式。
[0096] 如图8中所描绘的,计算机810包括通用处理单元(GPU)母板,通用处理单元(GPU)母板包括:包括中央处理单元(CPU)820和附加加速单元(图示地为浮点处理单元(FPU)830)的物理部件。该GPU母板的这些物理部件连接在用于调试和/或维护目的的JTAG链中。如果该GPU母板被用来实施虚拟硬件,则CPU820被配置为运行包括虚拟机监视器(VMM)软件821的虚拟部件,该VMM软件821进而被配置为运行一个或多个虚拟机(VM)8221-822N(共同称为VM822)。
[0097] 如图8中所进一步描绘的,经由对PJTAG的使用,这些虚拟部件(即,VMM821和VM822)能够直接出现在JTAG链上,并且因此以与JTAG链的物理部件相同的方式来对待。这图示在JTAG链840中,JTAG链840包括以下物理和虚拟部件序列:CPU820(JTAG域)→VMM821(PJTAG域)→VM18221(PJTAG域)→VM28222(PJTAG域)→…→VMN822N(PJTAG域)→FPU(JTAG域)。这极大地简化了调试,因为存在将公共工具集合用于物理部件和虚拟部件两者的单个统一接口。另外,这还能够实现新的调试和监视能力,因为这些虚拟资源和运行这些虚拟资源的硬件经由JTAG链而一起被访问,由此简化了这些虚拟资源和运行这些虚拟资源的硬件的行为的相关性。注意,PJTAG的实施例的异步性质克服了JTAG的先前妨碍在JTAG链中集成软件部件的同步性质。
[0098] 虽然主要关于在包括JTAG域和PJTAG域的组合的环境中使用PJTAG来描绘和描述,但是注意,PJTAG可以被用来实施如下的全PJTAG系统,在该全PJTAG系统中所有的相关部件经由基于分组的接口而连接。
[0099] 虽然本文主要关于在其中测试分组传送测试信号的值中的每个值的实施例来描绘和描述,但是注意,在至少一些实施例中,仅有对某些信号的值的改变可以在测试分组内被发送,由此减少需要经由测试分组来传送的信息量。例如,由于某些测试控制信号在移位期间是稳定的(例如,JTAG TMS信号),从而保持在这些测试分组中发送相同值并不经济,所以发送端(例如,分派器115D)可以被配置为在这些测试分组内仅对测试控制信号的值的改变编码,并且位对准信息能够被用来向接收端(例如,发布器115I)指示测试控制信号的值已经改变。将意识到,对于其他类型的信号(例如,如果对于相对足够长的时间这些值被预期保持相同而证明对这样的节约的使用是合理的,则对于任何其他信号或者多个信号)可以做出类似的节约。
[0100] 图9描绘了适合用于在执行本文所描述的功能中使用的计算机的高层级框图。
[0101] 如图9中所描绘的,计算机900包括处理器元件902(例如,中央处理单元(CPU)和/或其他合适的(多个)处理器)和存储器904(例如,随机存取存储器(RAM)、只读存储器(ROM)等)。计算机900还可以包括协作模块/过程905和/或各种输入/输出设备906(例如,用户输入设备(诸如键盘、小键盘、鼠标等)、用户输出设备(诸如显示器、扬声器等)、输入端口、输出端口、接收器、发射器和存储设备(例如,带驱动器、软盘驱动器、硬盘驱动器、压缩盘驱动器等))。
[0102] 将意识到,本文所描绘和描述的功能可以在软件中实施(例如,经由在一个或多个处理器上的软件实施方式)和/或可以在硬件中实施(例如,使用通用计算机、一个或多个专用集成电路(ASIC)、和/或任何其他的硬件等效物)。
[0103] 将意识到,本文所描绘和描述的功能可以在(例如,用于在通用计算机上执行(例如,经由一个或多个处理器的执行)以便实施专用计算机的)软件中实施和/或可以在硬件中实施(例如,使用一个或多个专用集成电路(ASIC)和/或一个或多个其他的硬件等效物)。
[0104] 在一个实施例中,协作过程905能够被加载到存储器904中并且由处理器902执行以实施如本文所讨论的功能。因此,协作过程905(包括相关联的数据结构)能够存储在计算机可读存储介质(例如,RAM存储器、磁性或者光学驱动器或者磁盘等)上。
[0105] 将意识到,图9中所描绘的计算机900提供了适合用于实施本文所描述的功能元件和/或本文所描述的功能元件的部分的一般架构和功能。例如,计算机900提供了适合用于实施分派器115D的部分、分派器115D、发布器115I的部分、发布器115I、节点712的部分、节点712、测试主机714的部分、测试主机714等中的一项或者多项的一般架构和功能。
[0106] 设想到本文作为软件方法而讨论的步骤中的一些步骤可以在硬件内实施,例如,实施为与处理器协作以执行各种方法步骤的电路。本文所描述的功能/元件的部分可以实施为计算机程序产品,其中计算机指令当由计算机处理时适配计算机的操作,使得本文所描述的方法和/或技术被调用或者以其他方式被提供。用于调用发明方法的指令可以存储在固定或者可移除的介质中、在广播或者其他信号承载介质中经由数据流被传输、和/或存储在根据指令来操作的计算设备内的存储器内。
[0107] 各种实施例的各方面在权利要求中具体说明。各种实施例的这些方面和其他方面在以下编号的条款中具体说明:
[0108] 1.一种装置,包括:
[0109] 部件,所述部件被配置为:
[0110] 接收包括测试数据信号、测试控制信号、以及测试时钟信号的多个测试信号;并且[0111] 经由使用所述测试时钟信号的对所述测试数据信号和所述测试控制信号的采样而不对所述测试时钟信号采样来生成一个或多个测试分组,其中所述测试时钟信号被表示为所述一个或多个测试分组内的位对准信息。
[0112] 2.根据条款1所述的装置,其中所述测试分组中的至少一个测试分组包括:来自对所述测试数据信号的采样的至少一个值和来自对所述测试控制信号的采样的至少一个值。
[0113] 3.根据条款1所述的装置,其中所述一个或多个测试分组包括:
[0114] 包括来自对所述测试数据信号的采样的值的一个或多个测试数据分组;以及[0115] 包括来自对所述测试控制信号的采样的值的一个或多个测试控制分组。
[0116] 4.根据条款3所述的装置,其中所述部件进一步被配置为:
[0117] 经由测试数据信道来传播所述一个或多个测试数据分组;并且
[0118] 经由测试控制信道来传播所述一个或多个测试控制分组。
[0119] 5.根据条款4所述的装置,其中所述测试数据信道和所述测试控制信道是分离的逻辑信道。
[0120] 6.根据条款4所述的装置,其中所述测试数据信道和所述测试控制信道是分离的物理信道。
[0121] 7.根据条款1所述的装置,其中为了生成所述一个或多个测试分组,所述部件被配置为:
[0122] 经由使用所述测试时钟信号的对所述测试数据信号的采样而不对所述测试时钟信号采样来生成一个或多个测试数据分组;并且
[0123] 经由使用所述测试时钟信号的对所述测试控制信号的采样而不对所述测试时钟信号采样来生成一个或多个测试控制分组。
[0124] 8.根据条款1所述的装置,其中所述部件进一步被配置为:
[0125] 经由扫描控制信号来接收扫描控制信息并且将所述扫描控制信号的所述扫描控制信息包括在所述一个或多个测试分组中。
[0126] 9.根据条款8所述的装置,其中所述一个或多个测试分组包括:包括来自对所述测试数据信号的采样的值的一个或多个测试数据分组和包括来自对所述测试控制信号的采样的值的一个或多个测试控制分组,其中所述部件进一步被配置为将所述扫描控制信息包括在所述一个或多个测试控制分组中。
[0127] 10.根据条款1所述的装置,其中所述测试信号是联合测试行动组(JTAG)信号。
[0128] 11.根据条款10所述的装置,其中所述测试数据信号是JTAG TDI信号,所述测试控制信号是JTAG TMS信号,并且所述测试时钟信号是JTAG TCK信号。
[0129] 12.根据条款1所述的装置,其中所述部件被配置为:接收与IEEE1149.1JTAG标准的测试访问端口(TAP)的描述相符的所述测试数据信号。
[0130] 13.根据条款1所述的装置,其中所述部件被配置为:接收与IEEE1149.1JTAG标准的寄存器的描述相符的所述测试数据信号。
[0131] 14.根据条款1所述的装置,其中所述部件被配置为:经由基于分组的连接来传播所述一个或多个测试分组。
[0132] 15.根据条款14所述的装置,其中所述基于分组的连接包括:以太网连接、因特网连接、以及公共公用无线电接口(CPRI)连接中的至少一项。
[0133] 16.根据条款1所述的装置,其中所述部件被配置为:朝向多个元件传播所述一个或多个测试分组。
[0134] 17.根据条款16所述的装置,其中所述一个或多个测试分组包括:包括来自对所述测试数据信号的采样的值的一个或多个测试数据分组和包括来自对所述测试控制信号的采样的值的一个或多个测试控制分组,其中所述部件被配置为:
[0135] 朝向所述元件串行地传播所述一个或多个测试数据分组;并且
[0136] 朝向所述元件并行地传播所述一个或多个测试控制分组。
[0137] 18.根据条款16所述的装置,其中所述元件中的至少一个元件包括JTAG系统,所述JTAG系统包括测试访问端口(TAP)和TAP有限状态机(FSM)。
[0138] 19.根据条款16所述的装置,其中所述元件中的至少一个元件包括JTAG系统的部件,其中所述部件被配置为设置在所述JTAG系统的测试访问端口(TAP)之后。
[0139] 20.根据条款1所述的装置,进一步包括:
[0140] 被如下配置的部件:
[0141] 接收一个或多个测试分组;并且
[0142] 使用所述一个或多个测试分组来生成包括测试数据信号、测试控制信号、以及测试时钟信号的多个测试信号,其中使用所述一个或多个测试分组内所包括的位对准信息来生成所述测试时钟信号。
[0143] 21.一种方法,包括:
[0144] 接收包括测试数据信号、测试控制信号、以及测试时钟信号的多个测试信号;以及[0145] 经由使用所述测试时钟信号的对所述测试数据信号和所述测试控制信号的采样而不对所述测试时钟信号采样来生成一个或多个测试分组,其中所述测试时钟信号被表示为所述一个或多个测试分组内的位对准信息。
[0146] 22.一种装置,包括:
[0147] 部件,所述部件被配置为:
[0148] 接收包括测试数据、测试控制信息、以及位对准信息的一个或多个测试分组;以及[0149] 使用所述一个或多个测试分组来生成多个测试信号,所述多个测试信号包括:运送所述测试数据的测试数据信号、运送所述测试控制信息的测试控制信号、以及使用所述位对准信息所生成的测试时钟信号。
[0150] 23.一种方法,包括:
[0151] 接收包括测试数据、测试控制信息、以及位对准信息的一个或多个测试分组;以及[0152] 使用所述一个或多个测试分组来生成多个测试信号,所述多个测试信号包括:运送所述测试数据的测试数据信号、运送所述测试控制信息的测试控制信号、以及使用所述位对准信息所生成的测试时钟信号。
[0153] 虽然本文已经详细地示出和描述了并入本发明的教导的各种实施例,但是本领域的技术人员能够容易地设计仍然并入这些教导的许多其他变化的实施例。