集成电路及用于测试多TAP集成电路的方法转让专利

申请号 : CN200480044449.2

文献号 : CN101065679B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 约西·阿蒙迪米特里·阿克塞尔罗德埃亚尔·谢尔盖耶

申请人 : 飞思卡尔半导体公司

摘要 :

一种集成电路(100),包括用于定义测试通路的控制器(108),该通路包括来自多个测试访问端口(122、128、130)的至少一个测试访问端口,特征在于进一步包括至少一个多位旁路逻辑(120、170、173、180),用于旁路多个测试访问端口中的至少一个,并且用于影响测试通路的长度。便利地,不论测试通路配置的变化,测试通路的长度基本保持固定。一种用于测试集成电路的方法(300),该方法包括经过测试通路传送(320)测试信号的阶段,该方法特征在于定义(310)测试通路配置的阶段,该测试通路包括来自至少一个测试访问端口和至少一个旁路访问逻辑中的至少一个组件;该至少一个多位旁路逻辑旁路多个测试访问端口中的至少之一并且影响测试通路的长度。

权利要求 :

1.一种集成电路(100),包括用于定义测试通路的控制器(108),该通路包括来自多个测试访问端口(122、128、130)的至少一个测试访问端口,其特征在于进一步包括至少一个多位旁路逻辑(120、170、173、180),用于旁路多个测试访问端口中的至少一个,并且影响测试通路的长度,其中测试通路的长度保持固定而与测试通路配置的变化无关。

2.根据权利要求1所述的集成电路,其中多位旁路逻辑(120)具有和其旁路的测试访问端口(122)等效的数据通路和等效的指令通路。

3.根据权利要求1-2中任意一项所述的集成电路,其中至少一个多位旁路逻辑(120、170、173、180)的长度与位于相应旁路测试访问端口(122、128、130)内的内部测试通路的长度相一致。

4.根据权利要求1所述的集成电路,进一步适应于在不同长度的测试通路之间选择。

5.根据权利要求4所述的集成电路,其中集成电路包括用于接收选择信号的引脚(201)。

6.根据权利要求1所述的集成电路,其中至少一个多位旁路逻辑包括至少一个数据寄存器和至少一个指令寄存器。

7.根据权利要求1所述的集成电路,其中至少一个多位旁路逻辑包括TAP控制器。

8.根据权利要求1所述的集成电路,其中测试访问端口适用于IEEE 1149.1。

9.根据权利要求1所述的集成电路,其中控制器(108)包括测试访问端口选择块(110)。

10.根据权利要求1所述的集成电路,其中控制器(108)包括所述至少一个测试访问端口中的一测试访问端口。

11.根据权利要求1所述的集成电路,其中至少一个测试访问端口在不同于至少一个其它测试访问端口的时钟频率的时钟频率下操作。

12.一种用于测试集成电路的方法(300),该方法包括传送(320)测试信号经过测试通路;其特征在于定义(310)测试通路配置的阶段,而测试通路包括来自至少一个测试访问端口和至少一个多位旁路逻辑的至少一个组件;而该至少一个多位旁路逻辑旁路多个测试访问端口中的至少一个并且影响测试通路的长度,其中测试通路的长度保持固定而与测试通路配置的变化无关。

13.根据权利要求12所述的方法,其中旁路逻辑(120)具有和其旁路的测试访问端口(122)等效的数据通路和等效的指令通路。

14.根据权利要求12所述的方法,其中至少一个多位旁路逻辑的长度与位于相应旁路测试访问端口内的内部测试通路的长度相一致。

15.根据权利要求12所述的方法,其中定义(310)的阶段进一步包括在不同长度的测试通路间选择(312)。

16.根据权利要求12所述的方法,其中至少一个多位旁路逻辑包括至少一个数据寄存器和至少一个指令寄存器。

17.根据权利要求12所述的方法,其中至少一个多位旁路逻辑包括TAP控制器。

18.根据权利要求12所述的方法,其中测试访问端口适用于IEEE1149.1。

19.根据权利要求12所述的方法,其中至少一个测试访问端口在不同于至少一个其它测试访问端口的时钟频率的时钟频率下操作。

说明书 :

技术领域

本发明涉及包括多个测试访问端口的集成电路以及测试这种集成电路的方法。

背景技术

集成电路的复杂性促使设计者使用各种各样的测试步骤和结构。在IEEE标准1149.1中定义了一种通用的结构和协议,即通常所熟知的JTAG。
图1图示了作为现有技术的符合JTAG的测试访问端口(TAP)10,以及和TAP 10相连接的内核11。TAP 10包括边界扫描寄存器30、长度为一位的旁路寄存器12、指令寄存器18、TAP控制器20、以及可选的用户定义数据寄存器14。
TAP 10接收各种的信号,包括时钟信号TCK、测试数据输入信号TDI、测试模式选择信号TMS,并且输出测试数据输出信号TDO。
由TAP控制器20提供的各种控制信号,特别是响应TMS信号,选择在TAP 10的TDI和TDO端口之间的通路。
指令寄存器18形成指令通路,而边界扫描寄存器30、旁路寄存器12和可选的用户定义数据寄存器14中的每一个定义数据通路。每个数据通路和指令通路可以看作是TAP 10的内部测试通路。
TAP控制器20是由TMS信号控制的状态机。图2图示了TAP控制器20的多个状态:测试逻辑复位40、运行测试/空闲41、选择DR扫描42、捕获-DR 43、移位-DR 44、退出1-DR 45、暂停-DR 46、退出2-DR 47、更新-DR 48、选择IR扫描52、捕获-IR 53、移位-IR 54、退出1-IR 55、暂停-IR 56、退出2-IR 57以及更新-IR 58。各阶段图示为通过箭头彼此相连的框。箭头附有数字(0或者1),其示出了TMS信号的值。各阶段是本领域熟知的,因而不需要进一步的解释。
通常,TAP控制器20发送控制信号,该控制信号允许输入信息到所选的数据和指令通路、从所述通路取回信息以及沿着数据和指令通路串行传播(移位)信息。
典型地,指令寄存器18包括指令移位寄存器以及影子锁存器(shadow latch)。信号串行传播通过指令移位寄存器,进而并行提供到影子锁存器。
IEEE标准1149.1定义了强制指令,例如:BYPASS指令,其选择包括长度为一位的旁路寄存器的内部测试通路;EXTEST指令,使集成电路进入外部边界测试模式;以及SAMPLE/PRELOAD指令,选择包括边界扫描寄存器的内部测试通路;以及EXTEST指令,使TAP进入外部边界测试模式。
IEEE标准1149.1也定义了可选指令,例如:CLAMP指令;HIGHZ指令;IDCODE指令;INTEST指令,使集成电路进入内部边界测试模式;RUNBIST指令,使集成电路进入自测试模式;以及USERCODE指令,选择包括ID寄存器的内部测试通路。
IEEE标准1149.1适用于单内核集成电路。使该标准调整适应于例如片上系统的多内核集成电路并非微不足道。例如,即使在单个集成电路内存在多个TAP控制器,这样的调整也需要准备长度为一位的旁路寄存器。
本领域熟知多种将IEEE标准1149.1调整适用于多内核集成电路的例子。Whetsel的美国专利6073254以及Cassetti等人的美国专利6311302中有描述,于此将两者参照引用。
用于测试多TAP集成电路的现有技术之一是,通过在集成电路的TDI和TDO引脚之间选择性地链接一个或多个TAP来提供测试通路。这造成对测试通路长度的改变,并且由于测试通路长度的不同而需要调整时序变化,因而造成测试步骤的复杂化。所述的调整使现有软件模块的再利用以及测试步骤变得复杂。
需要提供一种用于测试多TAP系统的方法和装置。

发明内容

一种集成电路和用于测试集成电路的方法,其如随附的权利要求书中所述。

附图说明

通过后面的详细描述并且结合附图,可以对本发明有更加充分的了解和理解。其中:
图1是现有技术的TAP和内核的示意图;
图2是流程图,图示了现有技术TAP控制器的各种状态;
图3图示了根据本发明实施例的片上系统;
图4图示了根据本发明实施例的片上系统的一部分,包括多个TAP和单旁路逻辑;
图5图示了根据本发明实施例的片上系统的一部分,包括多个TAP和多旁路逻辑;
图6是根据本发明实施例的一种测试方法的流程图。

具体实施方式

下面的描述涉及一种片上系统和一种能够旁路单TAP的旁路逻辑。需要指出的是,本发明可以应用于其它的系统或装置,以及可以用一个或多个旁路逻辑来旁路多个TAP。
本发明允许再利用现有的TAP以及增加专用的旁路电路,从而减少设计成本。
便利地,测试通路(尤其是指令寄存器链)的长度基本上保持固定,而与测试通路配置的变化无关。
图3图示了根据本发明实施例的一种集成电路,例如片上系统(系统)100。图3描述了提供到系统JTAG控制器108的一些信号,并且描述了系统100各种组件之间的逻辑关系。其没有详细图示组件间的确切连接。
系统100包括两个处理器一处理器131和数字信号处理器内核(DSP)127。发明人使用ARMTM处理器和StarCore 140TM DSP,但也可以利用其它的内核。
系统100进一步包括:(i)连接到内建自测试模块154的存储器模块(未示出),(ii)安全模块156,(iii)包括DMAC TAP 122的直接存储器访问控制器(DMAC)121,(iv)DMAC旁路逻辑120,以及(v)焊盘(pad)控制单元150和IO多路复用单元153,它们控制经由系统100焊盘的各种信号的接收和供给。
DSP的数据寄存器162连接到DSP TAP控制器160,并由其控制。这些数据寄存器方便地接收TDI、TCK、TRST和TMS信号。
如在图4中进一步图示的,DMAC旁路逻辑允许对DMAC TAP122进行旁路。在系统100中,DMAC 121的最高时钟频率大大低于(大约20%)例如DSP 127和处理器131的其它组件的时钟频率。这显著降低了包括DMAC TAP 122在内的任意测试通路的操作频率。从而,通过旁路DMAC TAP 122可以加速各种测试。典型地,TAP的操作频率低于内核的操作频率。发明人在所述操作频率间使用1∶8的比率。因此,低速组件可以显著减慢任意JTAG测试。
需要指出,被旁路的TAP的数量可以不同于对这些TAP进行旁路的旁路逻辑的数量。例如,单个TAP可以通过使用一个或多个旁路逻辑来旁路,并且甚至可以使用一个旁路逻辑来旁路多个TAP。
需要进一步指出,TAP可以由于时钟频率以外的原因而被旁路。例如,如果测试一个或多个TAP,可以旁路其它一个或多个TAP。
系统JTAG控制器108接收多个信号,包括POR_B、TCK、TDI、TMS、TRST_B、DE_IN_B以及SJC_MODE信号,并且输出各种信号,包括TDO、TDO_EC、以及DE_B_OE信号。
POB_B是通电复位输入信号,其可以从系统100的焊盘或系统100的内部组件提供。TDO_EN将连接到系统100的TDO焊盘的三态缓冲器使能。TRST_B用于异步初始化系统JTAG控制器108。DE_IN_B和DE_B_OE是片上系统调试请求/应答引脚,通常用于向处理器发送调试请求。
图4图示了根据本发明实施例的系统100的一部分90,其包括多个TAP和单个旁路逻辑120。
部分90包括系统JTAG控制器108、DMAC旁路逻辑120、多路复用器124和132、DMAC TAP 122、DSP TAP 128和处理器TAP 130。需要指出,可以集成一个或多个TAP,但并非必须如此。
SJC_MODE信号方便地接收自专用引脚201,并便利于在不同长度的测试通路间选择。第一测试通路包括系统JTAG控制器108以及一个序列,该序列由TAP 128、130以及DMAC TAP 122或DMAC旁路逻辑120的一个构成。第二测试通路仅包括系统JTAG控制器108,其反过来包括长度为一位的旁路寄存器120。SJC_MODE信号控制多路复用器132,该多路复用器或者从处理器TAP 130接收测试数据输出信号(表示为TDO_4),或者从系统JTAG控制器108接收测试数据输出信号TDO_1。
DMAC旁路逻辑120和DMAC TAP 122并行连接在系统JTAG控制器108的输出(TDO_1)和多路复用器124之间,该多路复用器选择这两个组件中的哪一个连接到DSP TAP 128的输入。该选择响应于由位于系统JTAG控制器108内的TAP选择块110提供的DMAC_BYPASS控制信号。
从多路复用器124输出的信号(TDO_2)提供到DSP TAP 128的TDI输入。从DSP TAP 128输出的信号(TDO_3)提供到处理器TAP 130的TDI输入。
系统JTAG控制器108可被看作TAP,因为其包括边界扫描寄存器122、长度为一位的旁路寄存器120、标识(ID)寄存器118、指令寄存器114、调试寄存器116、SOC TAP控制器112和多路复用器,该多路复用器用于选择哪一个寄存器来提供测试数据输出信号TDO_1。
调试寄存器116允许从系统100收集调试信息。ID寄存器118提供关于系统100的制造商、部件号和版本的信息。安全模块156允许通过要求提供特定的密钥来限制某些系统寄存器的访问,以永久性防止访问特定寄存器,或者允许无限制地访问寄存器。
系统JTAG控制器108还包括TAP选择块110,其用于选择是否旁路DMAC TAP 122。需要指出,可以在系统JTAG控制器108的外部提供允许选择特定TAP的组件(例如寄存器),例如用于增加系统100的可靠性或者用于允许将系统JTAG控制器108旁路。
DMAC TAP 122包括至少一个数据通路和至少一个指令通路。每一个所述通路具有特定的长度。换句话说,每个通路在给定的操作频率下以特定的延迟周期对到来的TDI信号进行延迟。DMAC旁路逻辑120包括例如移位寄存器的多个组件,其对数据通过DMAC TAP 122的至少一个数据通路和通过DMAC TAP 122的至少一个指令通路进行仿真。换句话说,DMAC旁路逻辑120具有和DMAC TAP 122等效的数据通路和等效的指令通路。例如,如果DMAC TAP 122包括X位的指令通路以及Y位、Z位和W位数据通路,则DMAC旁路逻辑必须包括Y、Z和W位的数据通路以及X位指令通路,或者仿真X位、Y位、Z位和W位延迟的逻辑。根据本发明的另一个实施例,DMAC旁路逻辑120还可以包括一个或多个不同长度的通路。长度可以选择为,例如与DMAC TAP 122相应的内部测试通路匹配。
TAP选择块110包括TAP选择寄存器和TAP选择移位寄存器。TAP更新移位寄存器串行连接在TDI和TDO之间,并且并行连接到TAP选择寄存器。
在SOC TAP控制器112的更新DR阶段48期间,TAP选择寄存器读取TAP选择移位寄存器的内容。在移位DR状态44期间,加载TAP选择移位寄存器。通过提供适当的指令(TAP访问)到指令寄存器,可以访问TAP选择寄存器。
需要指出,图4图示了包括单个TAP选择块和SJC_MODE引脚的控制机构。需要指出,在本发明的范围内可以提供其它方式来提供所需的控制信息(用于确定所提供的测试通路的配置)。
例如,可以通过系统JTAG控制器108产生SJC_MODE信号,而取代从外部引脚接收。根据本发明的各种实施例,可以提供选择信息到除了系统JTAG控制器108之外的一个或多个TAP。
根据本发明的一个实施例,控制信息存储于一个或多个指令寄存器的一个或多个存储器空间内。需要指出,如果提供了冲突的控制信息,系统100可以以预定的方式解决这些冲突,例如根据预定的优先级。
图5图示了根据本发明实施例的片上系统100的一部分90’,其包括多个TAP和多个旁路逻辑120、170和173。
图5中的部分90’和图4中的部分90的差别在于,具有附加的旁路逻辑从而能够旁路DSP TAP 128和处理器TAP 130。多路复用器172由来自TAP选择块110的DSP_SELECT控制信号控制,并选择是否提供DSP TAP 128的输出或者DSP旁路逻辑170的输出以作为测试数据输出信号TDO_3。
另外的多路复用器175由来自TAP选择块110的PROCESSOR_SELECT控制信号控制,并选择提供处理器TAP 130的输出或者处理器旁路逻辑173的输出以作为测试数据输出信号TDO_4。
图6是图示了根据本发明实施例用于测试系统的方法300的流程图。
方法300开始于定义测试通路配置的阶段310,但是测试通路包括至少一个测试访问端口和至少一个旁路访问逻辑中的至少一个组件。该至少一个多位旁路逻辑旁路多个测试访问端口中的至少一个,并且影响测试通路的长度。便利地,即使测试通路的配置(例如形成测试通路的TAP和/或旁路逻辑)改变,测试通路的长度保持不变。
需要进一步指出,在特定TAP内选择不同的内部通路可以改变测试通路的长度。便利地,当选择指令通路而不是数据通路时测试通路长度可以改变,但这种变化是允许的。
便利地,至少一个多位旁路逻辑的长度与位于相应旁路测试访问端口内的内部测试通路的长度相对应。
阶段310后面是阶段320,经过测试通路传送测试信号。这些信号可以经由所测试系统的TDI输入来提供,但这不是必须的。
在不脱离如权利要求所述的本发明的实质和范围的情况下,本领域技术人员能够想到这里所描述内容的变型、修改和其它实现方式。因此,本发明不是由前面的示例性描述来限定,而是由权利要求的实质和范围来限定。