背景技术
IEEE1149.1标准定义了用于集成电路的测试接入接口(test accessinterface)。该接口允许测试包含集成电路的电路板上的连接。接口称为TAP端口(测试接入端口),并包括测试数据输入(TDI)、测试数据输出(TDO)、测试时钟输入(TCK)、测试模式选择输入(TMS)和测试状态复位输入(TRST)。不同集成电路的TDI和TDO端子在电路板上耦合成菊花链。不同集成电路的TCK、TMS和TRST输入并行地耦合。
具有测试接口的集成电路提供有耦合在集成电路的功能端子和集成电路的核心电路之间的许多边界扫描单元。另外,边界扫描单元彼此耦合以形成用于测试接入的移位寄存器结构。测试控制器(称为TAP控制器)控制边界扫描单元的操作。
该标准定义了TAP控制器的状态机操作。状态转变(transition)经由TMS输入选择。不同的状态转变提供了进入和离开测试模式。在测试模式中,边界扫描单元截取核心电路和端子之间的信号。输出单元将测试信号提供给端子代替核心电路,且输入单元捕获来自该端子的数据。状态机的状态提供移位状态,在该移位状态中将数据从测试数据输入经由边界扫描单元的链移位到测试数据输出。在特定的状态转变时,使用经由链移位了的数据来更新输出给端子的测试数据,并在其它转变时,捕获来自端子的数据用于经由链输送。
另外,TAP控制器经由TDI端子提供应用的命令。可使用该命令将特定的集成电路转换到测试模式的不同子模式,该子模式包括普通的(normal)EXTEST模式,在EXTEST模式中测试数据可以经由边界扫描单元移位并截获端子和核心之间的信号;旁路模式,其中通过在集成电路中设旁路边界扫描单元将数据从TDI移位到TDO;功能模式,其中集成电路通常连接它的端子同时其它集成电路处于测试模式;和箝位模式(CLAMP mode),其中集成电路使从边界扫描单元提供的更新数据失效。在另一模式中,将测试数据从测试数据输入TDI经由指令选择的内部扫描链发送到测试数据输出TDO。
从一个集成电路到另一集成电路贯穿所有的边界扫描单元并经由TDO-TDI连接的系列移位寄存器结构有一些优点和缺点。主要的优点是能够将需要把测试数据提供给不同集成电路的布线减到最小。主要的缺点是该系列结构使可以接入集成电路的端子的速度慢下来。
通过提供旁路和箝位指令部分地进行慢的接入速度。提供给所选择的集成电路的旁路指令从印刷电路板上的整个链有效地移除了所选择集成电路的边界扫描链,且由此减小了需要输送测试数据到有关的边界扫描单元或者从有关的边界扫描单元输送数据的时钟周期数。箝位指令能够在相同的时钟周期数内提供更有用的数据,因为所有不相关的集成电路端子处的信号都保持不变且不需要测试数据。结果,可提供有关集成电路的连续更新的数据来代替不相关集成电路的那些。然而,将设置集成电路用于旁路模式或箝位模式的已知指令应用到集成电路上作为一个整体,以设旁路或箝位扫描链作为一个整体。
现有技术已提议了另外的解决办法,以在测试期间提高接入速度。例如,美国专利No.6,430,718提议了一种集成电路,其中测试数据可以从与并行的多个端子连接的自动测试装置进入多个并行的边界扫描单元中。随后测试数据移位到用于测试目的的内部扫描单元。根据指令,内部的扫描单元或者直接接收来自测试数据输入TDI的测试数据或者来自连接到自动测试装置的边界扫描单元的测试数据。并行提供测试数据增加速度。同样,测试结果可从多个边界扫描单元并行传送到多个端子或者供应给测试数据输出。
美国专利No.6,018,815还提议了并行进入测试数据,但在该情况下通过多个专用的端子进入测试数据。该公布还提议了提供多个扫描链和测试控制器指令来选择耦合在测试数据输入TDI和测试数据输出TDO之间的这些扫描链,以及将在测试数据输入TDI和测试数据输出TDO之间串行耦合所有扫描链的指令。
提议的速度改善,在旁路指令、箝位指令和用于扫描的平行输入和结构的指令方面,旨在减小在测试期间将数据传送到端子或从端子传送数据所需要的时间量。不涉及接入速度的改善,美国专利No.5,991,908公开了可以从族中任何一个仿真FPGA操作的FPGA(场可编程的栅阵列)和硬线器件(掩模可编程电路)族。使用硬线器件来取代电路模组中的FPGA,已充分地开发FPGA来允许大量制造,而没有进一步改变设计。FPGA和硬线器件都提供有边界扫描接口。以相同的方式测量包含PFGA或硬线形式的电路板。然而,由于族中的不同FPGA具有不同数量的端子,而且可以将其编程为输入或输出端子,所以必须重新配置硬线器件中的边界扫描链,使得与仿真的FPGA中的匹配。显然,当编程FPGA时,大概以与大多数FPGA编程相同的方式,这种类型的重新配置必须只进行一次。不再描述动态的重新配置。
已越来越多地探究了测试接入端口,而不只是结构的测试。对于编程快闪器件和PLD,已经共同使用用于接入的TAP。五-接脚连接器已经位于用于结构测试的PCB上,所以不需要用于编程的另外连接器,节省了板空间。本发明考虑在原型制作和需要高生产量的其它类型接入期间使用TAP和用于设计调试的边界扫描工具。
应用或系统的开发由几个阶段组成。这些阶段中之一是用于用电设备应用像TV或DVD的实际设计的开发。在全部生产开始之前,将开发原型。在原型制作期间,应用的测试至少包括以下:
-电互连测试,常称作为结构测试。如今IEEE1149.1标准是用于PCB结构测试的公认和评价很好的标准。
-功能测试将使结构测试中不能解决的板互连有效。
调试实际的设计。在调试期间,可以检验应用(例如,TV或DVD)的功能性。这种设计调试相位通常是实际设计还没有固定的原型制作。在此,可以补救设计中的错误。当应用处于全部生产时,不再需要调试且功能和结构测试将使设计的功能性有效。
在原型制作期间,板级调试指的是消除设计误差。这是在生产可以开始之前的重要步骤。在此,将集中在如下方面:
-系统中的设计故障,
-板布局故障
-软件故障
-应用中的芯片设计故障。
所有的这些方面在总设计调试步骤中都是重要的以评估正确的机能。
如果快速和有效地进行设计调试,则IC的接入是最重要的。传统地,这通过在PCB上接触有效的连接器进行以监测数据。可以以传统的方式研究许多功能的数据流。然而,在连接器处无效的数据流是重要的以及在原型制作期间有效。由于使用的小轮廓封装和BGA快速生长,所以在PCB上进行测量越来越困难。则接入这些接脚的探针一点也不明显。此外,在生产PCB的价格上的强压力导致在板上应用占用较小的表面。增加使用测试针的另外测试点经常是不可行的。为此设计者们寻找在板空间和增加编程和IC需要的调试接入能力之间的折衷。当前,不能使经由标准器件不可接入的数据流有效,或者这样做至少很难。
这种设计调试阶段是耗时的,因此在生产创造的总周期中是昂贵的部分。在寻找由于接入问题而不能定位的设计中的误差时流失了许多宝贵的时间。必须建立其它方式的接入和监测,来监测在这些芯片上的数据流。
系统调试还需要经由连接器或测试点接入。使用TAP端口已经说明了用于芯片级调试以及用于使用EJTAG端口来调试软件。使用TAP端口用于设计功能性的板级调试是逻辑的扩展。实施的边界扫描体系结构增强了与其它接脚的接入,该结构具有与IC的每个IO接脚的接触。在原型制作阶段,这能够监测到另外的不可接入接脚的数据流,而不必并入另外的板设计。
标准的边界扫描测试将应用置于测试范畴内,而不在功能范畴内。这避免了经由朝着TAP连接器或者应用中的其它接脚的链传送功能数据。
原则上,当一个IC置于EXTEST模式且通过使用BYPASS指令将所有其它的设置为功能模式时,可以使用TDO作为用于功能数据的观察者和TDI作为驱动器。应当选择与执行调试数据流的IC连接的TAP。对于预定值必须置于接脚上的具体情形,这些IC必须设置在CLAMP内,同时传送数据到TAP的IC必须处于EXTEST中。
然而,边界扫描的基本静态行为限制了被驱动测试或调试的机能上的使用。边界扫描链的系列性质减小了在数字接脚上的有效时钟频率。虽然测试频率(TCK)通常在10-20MHz的范围内,但多数ASIC设计将具有1000个单元的链,将IC接脚上的速度(数据速率)有效地减小到10kHz。对于多数(用电设备)应用像DVDR和数字TV,可以认为10kHz几乎是静态的。通常这种低的频率用于功能特征的正确和可靠的调试是不够的,其需要更高的速度。在链中不需要进行具体调试测试的旁路单元能够增加有效的速度。此外,当进行普通的边界扫描时,IC的所有接脚或者处于功能模式或者处于边界扫描模式。
具体实施方式
当开发第一概念实现方式时,选择使用由IEEE1149.1标准定义的标准边界扫描单元。将需要的扩展建立在这些标准单元周围。对基本结构的扩展对于两种模式是相同的。不同之处出现在单元或芯片接脚级处,且将在接下来的两部分中说明。
图1示出了集成电路(IC)芯片的扩展体系结构,其使用了用于接入芯片的TAP端口和用于接入专用IC接脚的边界扫描单元。集成电路包括核心电路10、外部端子16和多个边界扫描块12。每个边界扫描块12具有扫描输入SI、扫描输出SO、功能输入PI和功能输出PO(为了清楚起见,仅示出了一个块)。边界扫描块12耦合在边界扫描链中,其中连续块的SO和SI互连。块12将核心电路10连接到具有功能输入和输出PI、PO的端子16上。取决于端子用作输入还是输出,将扫描块12的功能输入PI或功能输出PO耦合到端子上,以及将功能输出PO或功能输入PO耦合到核心电路上。
集成电路具有常规的P1149.1测试端子TD1、TDO、TCK、TMS和TRST,以及耦合至边界扫描块12的TAP(测试接入端口)控制器(TAP-C)。为了清楚起见,对于常规的P1149.1控制,未示出与块的控制连接。TAP控制器TAP_C具有与所有边界扫描块12并行耦合的用于信号CTL和MODE的输出。
集成电路还包含结构单元14的链,其可以实施为常规的扫描单元。该结构单元的链与边界扫描链并行地耦合在测试数据输入TDI和测试数据输出之间。在指令控制下,TAP控制器TAP_C控制TDI和TDO之间哪个链接收和传输数据。TAP控制器TAP_P将HOLD信号提供给结构单元14。
每个结构单元14都具有耦合至边界扫描块12的相应块的结构输入的结构信号输出。因此,边界扫描块12接收共用信号CTL和MODE以及专用块结构信号。
以相同的结构实施两种模式(同步和异步)。在边界扫描TAP控制器的指令寄存器中建立两条新的私用指令,一个用于同步模式(SYNC),一个用于异步模式(ASYNC)。这些指令选择需要的模式。使用长度等于边界扫描链的单独的结构寄存器(结构单元)来控制每个边界扫描单元块(BS块)。BS块是由具有用于调试模式所需的附加逻辑的标准边界扫描单元组成的部分。结构寄存器保持用于调试的各个有源和无源接脚的设置。有源指的是IC接脚上的读取和写入接入,无源指的是没有读取和写入接入。需要控制信号进行两种模式。图1仅示出了用于该工具所需要的附加的控制信号。由全局控制线(CTL、MODE、HOLD)和局部的专用单元控制线(CFG(i))来实现控制。全局控制线CTL和MODE从TAP控制器路由到每个BS块上。HOLD从TAP控制器路由到结构寄存器的每个单元上。局部线CFG(i)是BS块专用并在BS块和结构寄存器的控制单元之间路由。
工作的原理
当选择模式时,将结构装载到整个结构(移位)寄存器中。CFG(i)=“1”表示专用BS块将读取或写入来自IC接脚的功能数据。“0”表示相反的,将BS块设旁路且没有读取或写入来自IC接脚的数据。HOLD信号保证在测试期间结构设置将不会改变。构造之后,将通过选择正确的私用指令(SYNC或ASYNC)来选择模式。任一个指令都将正确的值安置在全局信号CTL和MODE上。CTL保证总的工具仍符合IEEE1149.1,MODE确定SYNC或ASYNC模式。下面的表示出了对于不同情形所需要的值。
模式 |
CTL |
MODE |
CFG(i) |
SYNC |
1 |
0 |
0/1 |
ASYNC |
1 |
1 |
0/1 |
EXTEST |
0 |
0 |
X |
输入接脚和输出接脚
BS块本身确定专用模式如何并入单元设计中。对于该扩展的体系结构,附加逻辑围绕基本的边界扫描单元。为了原型的目的没有改变标准边界扫描单元设计。用于状态机的普通边界扫描协议还用于两种新的模式。为此C0-C3的值由自动的边界扫描工具软件来确定。
图2示出了用于输入边界扫描块的实际设计。元件20是标准边界扫描输入单元,具有耦合至扫描输入SI和功能输入PI的输入(耦合至IC的外部端子)以及耦合至扫描输出SO和功能输出PO的输出,且扫描输出SO和功能输出PO耦合至IC的核心电路。提供解码逻辑22用于生成控制信号。另外,仅使用两个复用器24、26来建立用于两种模式的测试信号的正确路由选择。
标准边界扫描单元20包括输入复用电路200、202、扫描触发器SFF、更新复用器206、更新触发器UFF和输出复用器209。扫描输入SI、功能输入PI和扫描触发器SFF的输出耦合至第一复用电路200、202的输入。复用电路200、202具有耦合至扫描触发器SFF的数据输入的输出。更新复用器206具有耦合至扫描触发器SFF的数据输出和更新触发器UFF的输出的输入。更新复用器206具有耦合至更新触发器UFF的数据输入上的输出。输出复用器209具有耦合至功能输入PI和更新触发器UFF的数据输出的输入。输出复用器209具有耦合至功能数据输出PO的输出。由测试时钟输入TCK记录扫描触发器SFF和更新触发器UFF的时间。第一复用电路200、202由来自TAP控制器的信号C0、C1控制,更新复用器206由来自TAP控制器的信号C2控制,且输出复用器209由来自TAP控制器的信号C3控制。C0-3是标准的IEEE1149.1信号,用于将边界扫描单元20转换到各种操作模式。
扫描触发器SFF可包括系列连接的两个触发器,其在测试时钟TCK相互相反的时钟转换处装载来自它们的输入的数据。可选地,可将这些触发器中的第一个放置在从扫描输入SI到扫描触发器SFF的路径中的任何位置,但不在扫描输入SI和第一另外的复用器24之间的连接上。
第一另外的复用器24具有耦合至功能数据输入PI和扫描输入SI的输入。第二另外的复用器26具有输入,该输入耦合至第一另外的复用器24的输出和扫描触发器SFF的数据输出。第二另外的复用器26的输出耦合至扫描输出SO。将意识到,另外的复用器24、26用作三输入复用电路,其可以耦合它的任一个输入至它的输出。在不偏离本发明的前提下,对于该目的可使用其它的复用电路。
解码逻辑22具有控制信号CTL、模式选择信号MODE和用于块的结构信号CFG(i)的输入。解码逻辑22将CFG(i)的逻辑或(OR)和CTL的反相供给第一另外的复用器24的控制输入。解码逻辑22将该逻辑或(OR)的反相和MODE信号和结构信号的逻辑与(AND)的另外逻辑或(OR)供给第二另外复用器的控制输入。
利用该表读者可以容易检验,正常的EXTEST仍适应该标准。即,当解码逻辑设置第二另外的复用器26以传送来自扫描触发器SFF的输出信号时,电路将用作为常规的边界扫描单元。
在图3中示出了输出块的实际设计。在此,功能输入耦合至核心电路,功能输出耦合至外部端子。输出块包含标准边界扫描单元20和解码逻辑22,它们与输入块的相同。与输入块相比,输出块省略了第一另外的输出复用器,第二另外的复用器26具有耦合至扫描输入SI和边界扫描单元的扫描触发器的数据输出的输入。另外,包括另一输出复用器37和三态缓冲器38。输出复用器209的输出和扫描输入SI耦合至另一输出复用器37的输入,该输出复用器37具有经由三态缓冲器38耦合至功能输出PO的输出。另一输出复用器37的控制信号是MODE信号。三态缓冲器38由CFG(i)和CTL反相的逻辑或(OR)控制。增加三态缓冲器38以制作连接的IC接脚三态。通过使CFG(i)=0,将接脚设为非激活的。对于该输出块的设计,能够检验EXTEST仍适应该标准。
接下来的两部分将更详细地论述对于每种模式的输入和输出接脚的操作。
同步模式-可重新配置的边界扫描
同步模式特别涉及普通边界扫描。主要的区别是标准的链长度将适合于调试情形。这可以在电路中进行,并有可能在一个或更多接脚上具有几个独立的数据流。因为链的可重新配置的特性,所以有效的传送速度比普通的边界扫描更高。
再次考虑图2,可以理解块在SYNC模式的操作。可以用结构信号CFG(i)将专用接脚设定为激活的(用于数据流)或非激活的(不用于数据流)。该表格示出了在建立所需路径的复用器A和B上的数值。
输入单元 |
复用器A |
复用器B |
CFG(i) |
激活的 |
1 |
0 |
1 |
非激活的 |
0 |
1 |
0 |
该表格示出了当将单元设定为非激活时从SI至SO建立透明路径(transparent path)。当处于激活时,使用SFF来建立从PI至SO的路径且UFF将数据置于核心(如由IEEE1149.1定义的)。利用用于单元的普通边界扫描状态机协议,后一路径是普通的边界扫描路径。
对于输出单元,该下面的表是有效的(还参见图3)。
输出单元 |
复用器A |
复用器B |
缓冲器ENA |
CFG(i) |
激活的 |
0 |
0 |
1 |
1 |
非激活的 |
0 |
1 |
0 |
0 |
当单元处于激活时,使用由状态机的普通计时。建立了从SI经由边界扫描单元到PO的路径。缓冲器被使能。当处于非激活时,至于输入单元,建立了从SI到SO的相同的透明路径。缓冲器是三态的。
该工具的特性是可配置的边界扫描链中之一。
IC接脚上的数据速率
电路中的链适合于几个单元的优点是,IC接脚上的有效数据速率或传送频率增加了。
为了理解这些,考虑用具有100个边界扫描单元、20MHz的TCK频率、且一个单一接脚设定为激活的芯片。对于标准的EXTEST,将第一数据位置于激活的接脚上需要花费104个TCK循环。对于状态机使用约4个TCK循环,且经由链进行移位需要100个TCK循环。这等于0.2MHz的数据传输速率。
利用可重新配置的边界扫描链,该结构将是这样,使得该专用单元/接脚是链中唯一的单元。这将使链长度从100个单元减小到单一单元。有效数据速率的增加是明显的。再次,4个循环用于状态机,但只有一个用于移位,在接脚上提供20/5=4MHz的频率。而且,当选择6个接脚时,频率变为20/10=2MHz。在该界限内,普通边界扫描链以低的速度选择(具有普通边界扫描的所有特性)。该频率范围(1-5MHz)通常适合于测试设计的功能性。要注意的是,扫描路径中的一个或两个复用器没有限制有效速度,但限制了许多连贯单元处于非激活的速度。在这种情况下,每个单元将给扫描路径增加一个或两个复用器。然后,对于同步模式中的正确计时,这些复用器的总延迟不能超过1/2TCK。
IC接脚上的数据流
在同步模式中,使用了如由IEEE1149.1定义的普通时钟协议。与普通的结构测试相同,同步模式可以读取和写入在不同接脚上的不同数据流。通过这种模式使用可重新配置的链使没有选择用于测试的单元/接脚明显地从SI路由到SO成为可能。当减小链的总长度时,每个激活接脚行为将符合标准协议。所选择的链用数据装载随之以更新阶段。对较长的数据流重复该工艺。每个激活接脚可以运送不同的数据。
异步模式-直接数据流
当速度在测试期间是关键要点时,异步模式很重要。这种模式与同步模式完全不同,因为它没有使用实际的边界扫描单元。数据从IC接脚直接读取或写入,并直接朝着扫描路径传送。建立的任何路径都是透明路径。用于输入单元的设置示于下面的表中(还参见图2)。
输入单元 |
复用器A |
复用器B |
CFG(i) |
激活的 |
1 |
1 |
1 |
非激活的 |
0 |
1 |
0 |
该操作简单。由于从不使用边界扫描单元输出,所以复用器B一直是“1”。当单元处于非激活时,复用器A建立了从SI到SO的透明路径,且当单元处于激活时,建立从PI到SO的路径。下面的表对于输出单元有效(还参见图3)。
输出单元 |
复用器A |
复用器B |
缓冲器ENA |
CFG(i) |
激活的 |
1 |
1 |
1 |
1 |
非激活的 |
1 |
1 |
0 |
0 |
当单元处于非激活时,用三态缓冲器建立了从SI到SO的路径。当处于激活时,使缓冲使能,并建立了SI到SO的透明路径,以允许数据同样直接传给其它的接脚。
IC接脚上的数据速率
在异步模式中避免了计时。这提供了超出普通边界扫描TCK频率限制的机会。事实上,在该模式中一旦具有正确的设置,则扫描路径对于任意的数字功能数据是自由的。实时读取数据或写入数据到IC接脚。数据速率主要由测试信号限制。如果该信号来自JTAG测试器,则通常限定为20MHz。然而,如果测试了来自板上的另一芯片的实时数据,则理论上该限制由功能设计确定。如同同步模式,存在扫描路径中由复用器引起的延迟。然而,该延迟对于在此的调试将不是关键的,因为计时不是一个问题。
IC接脚上的数据流
在异步模式中,高速度的信号能够直接传送到接脚,但所有的接脚将具有相同的数据流。这是因为工具由并联的连接构成。如同在同步模式一样,使用用于数据的非支持功能。实际上,该模式通常用于测试单一接脚上的数据。然而,为了在该异步模式中放置IC,由于这控制了另外的复用器,所以要求由TAP控制器引起的干扰。该初始化之后,当TAP控制器在移位阶段时,所选择的接脚对于传送数据来说是自由的。
第二实施例
在第二实施例中,作为实例仅实施了单一调试模式,其提供了非激活单元的旁路。代替控制信号CTL、MODE,TAP控制器将控制信号“流(STREAM)”供给所有的单元,以在普通模式(normal mode)和调试模式之间转换单元。
图4示出了边界扫描块的第二实施例。与图2的输入块相比,做了许多改变。省略了第一另外的复用器24。另外的复用器26具有耦合至串行扫描输入SI和扫描触发器SFF的数据输出的输入。另外的复用器26的控制输入耦合至逻辑门的输出,该逻辑门产生了单元的结构输入CFG(i)与STREAM信号的逻辑与(AND)。提供了控制复用器40,其具有耦合至结构输入CFG(i)的输入和输出复用器209的常规控制输入C3。控制复用器40的输出耦合至输出复用器209的控制输入。控制复用器40的控制输入耦合至STREAM输入。
在操作时,当“STREAM”为逻辑低时,块工作为正常的1149.1单元。当STREAM为逻辑高时,该操作取决于块的结构信号CFG(i)。选择为非激活的(CFG(i)=0)块给扫描输入SI到扫描输出SO和功能输入PI到功能输出设定旁路。选择为激活(CFG(i)=1)的块将数据从扫描触发器移位到扫描输出,并将更新的触发器UFF传给功能输出。
利用结构信号可以适应边界扫描链的长度,以消除来自链的非激活块。激活的块可以操作为缩短链中的正常边界扫描单元。非激活的块将端子16连接到核心电路10。
第三实施例
在第三实施例中,使用了边界扫描单元的更新触发器,以提供结构信号。
图5示出了第三实施例的输入块。除增加了第一控制复用器50之外,使用了常规的边界扫描单元。第一控制复用器50具有耦合至更新触发器UFF的输出和常规的P1149.1控制输入C1的输入,使用常规的P1149.1控制输入C1来控制捕获来自功能输入PI的数据。第一控制复用器50的输出耦合至复用电路200、202的输入,其控制捕获来自功能输入PI的数据。第一控制复用器50的控制输入接收STREAM信号。
图6示出了第三实施例的输出块。除增加了第二控制复用器60和更新旁路复用器62之外,再次使用了常规的边界扫描单元。第二控制复用器60具有耦合的输入以接收更新触发器UFF的输出信号和常规的P1149.1信号C3,常规的P1149.1信号C3常规地控制输出复用器60。第二控制复用器60的控制输入被耦合以接收STREAM信号。第二控制复用器60具有至输出复用器209的控制输入的输出。
更新旁路复用器62具有耦合至更新触发器UFF的数据输出和扫描触发器SFF的数据输出的输入。耦合更新旁路复用器62的控制输入以接收STREAM信号。输出复用器209具有输入,该输入耦合至旁路复用器的输出和功能数据输入PI。
操作时,首先执行普通的边界扫描协议,以将结构数据装载到更新触发器中。随后,使用普通的边界扫描协议装载用于TAP控制器的指令,以将STREAM设置为逻辑高。更新触发器UFF的内容控制当STREAM信号将集成电路设定为调试模式时单元是否是激活的。
在更新触发器UFF的内容为逻辑低的这些输入单元中,扫描触发器SFF仅用作移位寄存器结构的一部分,且不用于捕获来自功能输入PI的数据。更新触发器UFF的内容为逻辑高的输入单元在每个TCK时钟周期捕获来自功能输入PI的数据。当使TAP控制器重复地假定移位状态时使用上述情况,其在通常的1149.1测试期间仅仅用于经由移位寄存器结构移位测试数据。当STREAM为逻辑高且使TAP控制器重复地假定移位状态时,在每个TCK时钟周期中在选择的输入单元中捕获数据且随后经由移位寄存器结构从输入单元移位。
在输出单元中,当STREAM为逻辑高时,更新触发器UFF的内容为逻辑低的那些输出单元将数据从功能输入PI传送到功能输出PO。更新触发器UFF的内容为逻辑高的输出单元将数据从移位寄存器结构传送到功能输出PO。
使用时,大多数更新触发器装载有逻辑低的值。边界扫描链中其中更新触发器UFF装载有逻辑高的值的单元交替地是输入和输出单元。
在一个实例中,只有一个输入单元的更新触发器UFF装载有逻辑高的值,且所有其它单元的更新触发器UFF设置为逻辑低。当STREAM为逻辑高且使TAP控制器假定为移位状态时,结果在该一个输入单元中捕获了数据,并在每个TCK时钟周期中经由链将数据输送到TDO。
在另一个实例中,只有一个输出单元的更新触发器UFF装载有逻辑高的值,并将所有其它单元的更新触发器UFF设定为逻辑低。当STREAM为逻辑高且使TAP控制器假定为移位状态时,结果在每个TCK时钟周期中经由边界扫描链将自TDI供给的数据从该一个输出单元输出。
在另一实例中,只有一个输出单元和只有一个输入单元的更新触发器装载有逻辑高的值。当STREAM为逻辑高且使TAP控制器假定为移位状态时,如果在边界扫描链中输入单元在输出单元之前,则这在输入单元中产生了数据捕获,之后经由边界扫描链输送并在每个时钟周期中从输出单元输出。因此建立了从输入单元的功能输入PI到输出单元的功能输出的流,其在每个TCK周期中输送一位。
将意识到,任意数量的这种流可以通过设置输入-输出单元对的更新触发器UFF并行地传送。
如果其中更新触发器的内容为逻辑高的边界扫描链中的第一单元是输出单元,则在每个TCK周期中数据从TDI传送到那个输出单元。同样,如果其中更新触发器UFF的内容为逻辑高的边界扫描链中的最后单元是输入单元,则在每个TCK周期中将数据从那个输入单元传送到TDO。
第四实施例
和第三实施例一样,第四实施例使用更新触发器来控制单元是否激活。然而,在第四实施例中,在调试模式中将扫描触发器设为旁路。这表明信号直接沿着边界扫描链传送,而不需要在TCK的控制下移位。增加控制信号“SHORT”来控制旁路,其由TAP控制器发出并设定为逻辑高以响应相应的命令。
图7示出了根据第四实施例的输入单元。与第三实施例相比,增加了旁路复用器70,具有耦合至扫描触发器SFF的数据输入和数据输出的输入、耦合至单元的扫描输出SO的输出以及耦合以接收SHORT信号的控制输入。
图8示出了根据第四实施例的输出单元。与第三实施例相比,增加了旁路复用器70,具有耦合至扫描触发器SFF的数据输入和数据输出的输入、耦合至单元的扫描输出SO的输出以及耦合以接收SHORT信号的控制输入。旁路复用器的输出还耦合至更新旁路复用器62的输入而不是扫描触发器的数据输出。
操作时,首先使用常规的边界扫描协议将结构数据装载到更新触发器中。随后,使用常规的边界扫描协议将指令供给TAP控制器以将SHORT设定为逻辑高。结果沿着边界扫描链直接连接被打开。在通过结构数据选择为激活的单元中,功能输入PI(如果单元是输入单元)和/或功能输出PO(如果单元是输出单元)连接到该直接的连接。因此,在激活单元的功能输入PI和功能输出PO之间建立了直接连接。在没有处于激活的输入单元中,根据测试控制信号,自功能输入PI的输入信号或自更新触发器UFF的信号传送到功能输出。在没有处于激活的输出单元中,自功能输入PI的输入信号传送到功能输出PO。
图9示出了具有多个互连集成电路90的调试系统。明确地表明了两个连接92、94。部分集成电路经由测试接口连接,具有雏菊链的TDI、TDO输入和输出以及并行的TCK、TMS、TRST输入(为了清楚仅示出了一个输入)。本发明提出能够将一个或几个集成电路90设定为调试模式,其后调试信号可以或者甚至经由连接92、94连续地从选择的一个或多个集成电路高速率地输出和输入到其它的集成电路。
将意识到,本发明不局限于图中公开的具体实施例。例如,可以使用各种源从非激活单元的功能输出PO提供输出信号。实施例借助实例示出了使用来自功能输入PI的信号或自更新触发器的信号。代替地,可提供错误信号或任意其它的便利信号。虽然每个实施例示出了使用具体的源,但应当意识到代替地可以使用任意其它的源。甚至可使用自多个源的可编程选择。在一些情况下,希望整个电路功能上工作,除了用于注入(inject)调试信号的端子。在这种情况下,非激活单元优选连接功能输入PI和功能输出PO。在其它情况下,优选固定的输出,其中可使用错误信号或来自更新触发器的信号。
此外,将意识到,虽然优选使用每个特定单元的更新触发器作为该特定单元的结构触发器,但使用一个单元的更新触发器作为另一单元的结构触发器当然不存在缺陷。每个结构触发器可控制相应单元的结构,但是结构触发器当然可并行控制多个单元的结构。因此,至少部分更新触发器不需要用作结构触发器,让这些更新触发器能够自由提供可编程信号给功能输出。不加倍作为更新触发器的结构触发器还可以配置多个单元,或从配置该单元卸载具体单元的更新触发器。
此外,将意识到,可布置任一个实施例的单元,以使其被编程以在描述的调试模式的一个中或者在多个调试模式可选择的一个中工作。本发明不局限于实施例中所使用的特定控制信号(例如,CTL、MODE)的使用:可使用其它类型的控制信号。
根据一个实施例可执行在同一电路中(乃至在同一集成电路中)的部分单元,且根据另一实施例可实施另一部分。特别地,例如,第四实施例可用于多个单元以加速数据传输,另一实施例用于其它单元以提供某些形式的流水线操作。部分边界扫描单元甚至可完全实施为如常规的边界扫描单元,即,不支持另外的模式。因此,另外的常规边界扫描链可与根据本发明的边界扫描链串联相互混合或放置。
此外,应当认识到,借助实例仅提供了实施例中示出的实际电路图。例如,可以用各种可替换的电路实现复用功能。同样,虽然优选使用常规的P1149.1测试状态来通过TAP控制器控制信号产生,但将认识到当集成电路转换到调试模式时可使用专用状态。
此外,应当意识到,虽然描述了本发明用于调试目的,但公开的电路可用于其它的目的,如非易失性存储器的编程或可编程电路如门阵列的编程。