CN103842970A - 可动态地自重构的tap控制器菊花链 - Google Patents
可动态地自重构的tap控制器菊花链 Download PDFInfo
- Publication number
- CN103842970A CN103842970A CN201280047847.4A CN201280047847A CN103842970A CN 103842970 A CN103842970 A CN 103842970A CN 201280047847 A CN201280047847 A CN 201280047847A CN 103842970 A CN103842970 A CN 103842970A
- Authority
- CN
- China
- Prior art keywords
- tap controller
- tdo
- tap
- port
- daisy chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318555—Control logic
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
可自重构的TAP控制器菊花链包括主TAP控制器以及一个或多个辅助TAP控制器。菊花链是可动态自重构的,因为主TAP控制器可以在电路的测试期间多次配置和重构菊花链。主TAP控制器内的数据寄存器与特殊JTAG指令相关联。该指令可用于启用和禁用辅助TAP控制器中的所选各个辅助TAP控制器。如果辅助控制器被启用,则使其成为TDI到TDO菊花链扫描路径的一部分。如果辅助控制器被禁用,则其不是所述菊花链扫描路径的一部分。然而,被禁用的控制器及其寄存器不被复位。被禁用的控制器可以继续将测试信号提供给受测试的电路。使用该机制,可以通过减少移位通过慢控制器的量而减少测试时间。
Description
背景信息
技术领域
本公开涉及JTAG TAP控制器以及相关的电路和方法。
背景信息
图1(现有技术)是要测试的系统的示图。该系统是印刷电路板级系统1,其包括多个集成电路2-5,这些集成电路通过印刷电路板6的导体互连。使用通常被称为“JTAG”(联合测试动作组)的测试协议和测试机制。JTAG被标准化为IEEE标准1149.1。图1的系统的电路中的缺陷要么可能存在于集成电路内的电路中、要么存在于将集成电路互连的印刷电路板的导体和电路中。在每个集成电路上提供称为边界扫描寄存器的JTAG电路。该边界扫描寄存器可用于截取在集成电路的核心电路与集成电路的外部端子之间传递的信号。在测试模式下,可以使得此类边界扫描电路将核心电路与集成电路端子断开、将测试信号驱动到核心电路中、以及读取由核心电路生成的测试输出信号。另外,边界扫描电路可用于测试印刷电路板上的在一个集成电路上的边界扫描电路与另一集成电路上的边界扫描电路之间延伸的外部连接。
每个集成电路的边界扫描电路都是由测试访问端口控制器(TAP控制器)来控制的。集成电路中的每个都具有其自己的TAP控制器以用于控制其自己的边界扫描电路。TAP控制器使用标准JTAG信号TMS、TCK、TRST、TDI和TDO与外部JTAG测试调试器功能性通信。涉及被TAP控制器用来通信并用来控制TAP控制器的这些信号的整个接口被称为测试访问端口(TAP)。TDI代表测试数据输入。TDO代表测试数据输出。TMS代表测试模式选择。TCK代表测试时钟。TRST代表测试复位。
集成电路2的TAP控制器7经由端子8接收TDI信号,经由端子9接收TMS信号,经由端子10接收TCK信号,经由端子11接收TRST信号,并且经由端子12输出TDO信号。通过合适地操纵进入TAP控制器2的JTAG信号,可以使得TAP控制器2进入测试模式、如上所述地隔离内部核心电路、使用其边界扫描寄存器来向核心逻辑提供测试信号、使用其边界扫描寄存器来捕捉从核心逻辑返回的测试结果、以及将所捕捉的测试结果输出到外部JTAG测试调试器。另外,可以使得一个集成电路的边界扫描电路将测试信号从其端子之一中驱动出,并且可以使得另一集成电路的边界扫描电路捕捉在该另一集成电路的端子上接收到的信号,以便测试印刷电路板上的互连导体。从集成电路2的端子14延伸到集成电路3的端子15的导体13是可被测试的此类导体的示例。JTAG连接器16通常设在印刷电路板6上,使得外部JTAG测试调试器可以物理连接到印刷电路板,从而其可以与TAP控制器通信。
如JTAG标准IEEE-1149.1中所规定的那样,TAP控制器可以如图1中所解说的以“菊花链”互连在一起。第一TAP控制器7的TDI端口连接到JTAG连接器16的TDI端子18。第一TAP控制器7的TDO端口19连接到第二TAP控制器21的TDI端口20。第二TAP控制器21的TDO端口22连接到第三TAP控制器24的TDI端口23。第三TAP控制器24的TDO端口25连接到第四TAP控制器27的TDI端口26,并且第四TAP控制器27的TDO端口28连接到JTAG连接器16的TDO端子29。通过合适地操纵JTAG连接器16的端子18、30、31和32上的信号,外部JTAG测试调试器可以通过TDI到TDO菊花链式TAP控制器来移位指令和测试数据。类似地,测试输出数据可以由各个集成电路中的JTAG电路来捕捉。随后,外部JTAG测试调试器可以经由相同的TDI到TDO菊花链连接将此测试输出数据从各个集成电路中移位出。
JTAG菊花链还可用于测试单个集成电路内的逻辑块。如今的集成电路可以是非常大的,并且可以包括由不同人群设计的多个电路块。块可以由一家公司设计并且该设计随后可以销售或许可给另一家公司,该另一家公司随后将该块连同由另外的公司设计的其他块一起纳入到较大的集成电路中。由于各个块中的不同电路,每个块都可以具有其自己的专门测试要求。因此,常见的是块被设计为具有其自己的TAP控制器以及其自己的相关联的定制测试电路。包括TAP控制器和专用测试电路在内的整个块随后作为单个设计被提供以供其他公司和实体使用。当此类块被纳入到较大设计中并且作为较大集成电路的一部分被制造时,要对该块的电路进行测试。该块的TAP控制器和定制测试电路被用于此目的。因此,较大集成电路中的此类块可以概念化为图1的示例中的较大印刷电路板内的集成电路的粗略等效物。
图2(现有技术)是包括四个此类电路块34-37的集成电路33的示图。每个块都具有其自己的TAP控制器和专用测试电路。这些TAP控制器以菊花链方式互连,以使得数据和指令以及测试输出数据可以通过一条长的扫描路径被移位,该扫描路径从TDI端子38通过TAP控制器39-42的菊花链、延伸到TDO端子43之外。遗憾的是,这些块中的一些可能被设计为使得它们仅能以相对较低的速率移位此类JTAG数据和指令。其他块可能能够以较高速率移位此类JTAG数据和指令。例如,如果数据要被加载到菊花链的所有TAG控制器中并且如果这些TAP控制器中的三个能够以15MHz进行移位、而一个TAP控制器仅能够以1MHz进行移位,则整个菊花链的移位速率被限制在以1MHz进行移位。由于比所期望的移位速率低,因此测试集成电路所需要的总时间量不期望地大。
图3(现有技术)是集成电路33的更详细示图。集成电路33具有可配置的JTAG菊花链功能性。该菊花链的可配置性质允许TAP控制器的菊花链在一些情况下以较高时钟速率被移位。除了TAP控制器39-42以外,集成电路33还包括复用器44-47、模式端子48和49、解码器50、以及禁用电路51-54。复用器和禁用电路如何被控制是由模式端子48和49上的多位数字值确定的。
图4(现有技术)是解说图3的电路的第一配置的示图。复用器44-47被控制为使得通过TAP控制器39-42的串行扫描路径从TDI端子38延伸到TAP控制器39的TAP控制器39的TDI输入端口、通过块A的TAP控制器39到块A的TDO输出端口、到复用器44的上部数据输入引线、通过复用器44到块B的TAP控制器40的TDI输入端口、通过块B的TAP控制器到TAP控制器40的TDO输出端口、到复用器45的上部数据输入引线、通过复用器45到块C的TAP控制器41的TDI输入端口并且依此类推到TDO输出端口43,如图4中的粗线所解说的。模式端子48和49上的多位数字值使得解码器50输出信号ENA、ENB、ENC、END和MSEL以控制复用器44-47和禁用电路51-53来设置该配置。在该配置中,没有TAP控制器被禁用。扫描路径以菊花链方式延伸通过所有TAP控制器。
图5(现有技术)是解说图3的电路的第二配置的示图。在该示例中,TAP控制器中的两个—TAP控制器39和TAP控制器41—被禁用,并且扫描路径不延伸通过这些TAP控制器。控制信号ENA和ENC被断言以激活禁用电路51和53。禁用电路51和53阻止TMS、TCK和TRST信号进入TAP控制器39和41中,使得这些信号在TAP控制器39和41上被接收到时保持为数字逻辑低值。因此,这些TAP控制器39和41从如下意义上来说被保持在复位状态:被禁用的TAP控制器39和41的数据寄存器的各个数位位置要么被清除、要么它们的输出复用器被设置为使得这些数位位置的输出信号为零或者以其他方式被扰乱。被禁用的TAP控制器39和41的数据寄存器中的数据保留是不受保证的。在第二配置中,复用器44-47被控制为使得通过TAP控制器的串行扫描路径从TDI端子38延伸到复用器44的下部数据输入、通过复用器44到块B的TAP控制器40的TDI输入端口、通过块B的TAP控制器到TAP控制器40的TDO输出端口、到复用器45的上部数据输入引线、通过复用器45到复用器46的下部输入引线、通过复用器46到块D的TAP控制器42的TDI输入端口、通过块D的TAP控制器到复用器47的下部输入引线、通过复用器47并且到集成电路的TDO输出端子43。例如,如果与能以15MHz的较快速率移位的TAP控制器40和42相比,TAP控制器39和41仅能以1MHz的较慢速率移位,并且如果在该特定情形中,要执行的测试不需要使用TAP控制器39和41,则总移位速率可以通过将TAP控制器39和41从扫描路径中排除而增加到15MHz,如图5中所解说的。
概述
可自重构的TAP控制器菊花链包括主TAP控制器以及一个或多个辅助TAP控制器。该菊花链是可动态自重构的,因为主TAP控制器可以在电路的测试期间多次配置和重构菊花链。在一个示例中,主TAP控制器中的数据寄存器与特殊的“JTAG菊花链控制指令”(JDCCI)相关联。数据寄存器具有针对每个辅助TAP控制器的数位位置。如果数位位置存储第一数字值,则对应的辅助TAP控制器被启用并且成为TDI到TDO菊花链扫描路径的一部分,该菊花链扫描路径从TDI导体(例如TDI集成电路焊盘或封装端子)延伸到TDO导体(例如TDO集成电路焊盘或封装端子)。另一方面,如果数位位置存储第二数字值,则对应的辅助TAP控制器被禁用并且不是TDI到TDO菊花链扫描路径的一部分。然而,被禁用的辅助TAP控制器及其数据寄存器未被复位。被禁用的辅助TAP控制器的数据寄存器的内容和输出信号完全不会因禁用该辅助TAP控制器的动作而被移位、清除、复位或干扰。辅助TAP控制器被认为被冻结。因此,此类被禁用的辅助TAP控制器可以继续将测试信号(以数据寄存器输出信号的形式)提供给受测试的电路。使用该机制,测试集成电路所需的测试时间量可以通过减少移位通过慢TAP控制器的量而被减少。
可自重构的菊花链上电,使得所有辅助TAP控制器最初都被禁用。在上电以后,主TAP控制器可用于启用辅助TAP控制器中的所选辅助TAP控制器,并且将菊花链重构为使得被启用的辅助TAP控制器被包括在TDI到TDO菊花链扫描路径中。
在一个操作示例中,使所选辅助TAP控制器成为菊花链扫描路径的一部分,并且将其设置为使得其数据寄存器将测试信号提供给受测试的电路。随后,通过致使主TAP控制器执行特殊JDCCI指令来禁用所选辅助TAP控制器。为了禁用所选辅助TAP控制器,将数字低值加载到用于JDCCI指令的数据寄存器中与该辅助TAP控制器相对应的数位位置中。数字低值是通过如下方式被加载的:将其移位到该数位位置中并且随后对数据寄存器执行更新。该数位位置中的数字低值致使该辅助TAP控制器被禁用。由于通过这种方式禁用所选辅助TAP控制器不复位该辅助TAP控制器或其数据寄存器,因此(所选辅助TAP控制器的)数据寄存器的内容和输出信号未被干扰。即使所选辅助TAP控制器已经被禁用并且不再是TDI到TDO菊花链扫描路径的一部分,数据寄存器仍然继续将测试信号提供给受测试的电路。
接着,作为被重构的菊花链扫描路径的一部分的剩余TAP控制器被用于移入和移出指令和测试数据以便测试受测试的电路。在被禁用的辅助TAP控制器与其他TAP控制器相比仅能以相对较低的时钟速率被计时的情况下,禁用该辅助TAP控制器使得其不是菊花链扫描路径的一部分可以允许该菊花链扫描路径与常规菊花链系统相比以较高时钟速率被计时,在常规菊花链系统中,在测试中所使用的所有TAP控制器都是TDI到TDO扫描路径的一部分。通过使用可自重构的菊花链架构增大可对TAP控制器计时的速率,测试受测试电路所需的总时间可以被减小。辅助TAP控制器中的所选辅助TAP控制器可以通过如下方式动态地随着测试的进行而被启用和禁用:经由用于控制菊花链的JTAG测试访问端口来设置和清除主TAP控制器的JDCCI数据寄存器中的各个数位位置。
在一个示例中,可动态自重构的菊花链架构包括主TAP控制器、一个或多个辅助TAP控制器、以及被称为顶层复用模块(TLMM)的逻辑块。TLMM包括多个复用电路、输出复用电路、以及用于每个辅助TAP控制器的TAP控制器冻结逻辑的实例。TLMM可以作为预先设定的电路块来提供,其可以从一个集成电路设计转用到另一个集成电路设计。
在一个有利的方面,可自重构的菊花链架构在集成电路设计时是可容易扩展的以容适添加更多TAP控制器。为了添加另一TAP控制器,将另一复用电路添加到TLMM,使TLMM的输出复用电路具有附加的数据输入引线,使主TAP控制器中的用于JDCCI指令的数据寄存器具有另一数位位置以控制附加的TAP控制器,并且将冻结逻辑的另一实例添加到TLMM。随后,将附加的TAP控制器连接到经扩展的TLMM电路并且制造总集成电路。在哪个特定的电路测试期间将一起使用TAP控制器的哪些组合可以在集成电路制造之后晚些再确定,因为菊花链架构可动态重构以包括TAP控制器的任何组合。
在另一有利的方面,使用主TAP控制器来重构TAP控制器菊花链消除了对模式端子的需要。从集成电路及其封装中消除模式端子降低了制造成本并降低了总封装集成电路的成本。
前述内容是概要并因此按需包含对细节的简化、泛化和省略;因此,本领域技术人员将领会,本概要仅是解说性的而非意在以任何方式构成限定。正如仅由权利要求书定义的在本文中所描述的设备和/或方法的其他方面、发明性特征、以及优点将从本文中阐述的非限定性详细描述中变得明了。
附图简要说明
图1(现有技术)是使用JTAG TAP控制器的菊花链来测试的印刷电路板系统的示图。
图2(现有技术)是包括四个电路块的集成电路的示图,其中每个块都包括其自己的TAP控制器和要测试的电路。
图3(现有技术)是图2的集成电路的JTAG菊花链电路的更详细示图。
图4(现有技术)是解说图3的电路的第一配置的示图。
图5(现有技术)是解说图3的电路的第二配置的示图。
图6是根据一个新颖方面的包括可动态自重构的TAP控制器菊花链的集成电路的示图。
图7是图6的集成电路中的可动态自重构的菊花链的更详细示图。
图8是图6的集成电路的可动态自重构的菊花链的主TAP控制器的更详细示图。
图9是图7的顶层复用模块(TLMM)的更详细示图。
图10是图9的TAP控制器冻结逻辑的一个实例的更详细的电路图。
图11A和图11B是涉及可自重构的TAP控制器菊花链的方法200的流程图。在方法200中,辅助TAP控制器中在上电以后最初被禁用的一个辅助TAP控制器(辅助TAP控制器B)随后被启用并成为TDI到TDO菊花链扫描路径的一部分,随后该辅助TAP控制器B被禁用使得其不再是TDI到TDO菊花链扫描路径的一部分。
图12是涉及可动态自重构的TAP控制器菊花链的方法300的流程图。
详细描述
图6是根据一个新颖方面的集成电路60的示图。集成电路60包括TDI端子61、TDO端子62、TMS端子63、和TCK端子64、TRST端子65、四个电路块66-69、以及在此被称为顶层复用模块(TLMM)70的另一电路块。块A66包括TAP控制器71。块B67包括TAP控制器72。块C68包括TAP控制器73。块D69包括TAP控制器74。TAP控制器A71被称为“主”TAP控制器,而其他TAP控制器72-74被称为“辅助”TAP控制器。块66-69中的每一个除了包括TAP控制器以外还包括要由TAP控制器测试的其他功能电路(未示出)。每个TAP控制器都具有数据寄存器。图6中的箭头116-119分别表示从TAP控制器71-74内的这些数据寄存器输出的数据寄存器输出信号。不同的块66-69可以由不同公司或不同人群来设计,并且随后可以被包括到由又一公司或人群设计的总集成电路设计中。外部JTAG测试调试器(未示出)可以通过耦合到集成电路端子61-65来访问TAP控制器并与TAP控制器通信。
图7是图6的集成电路60的更详细示图。图7的复用电路75-78、解码器79和TAP控制器冻结逻辑80是图6的TLMM块70的部分。TAP控制器71包括数据寄存器。该数据寄存器包括许多数位位置。当使数据寄存器成为TDI到TDO扫描路径的一部分时,数字值被移位通过这些数位位置,使得每个数位位置中存在一个数字值。如在JTAG领域中所理解的,在对数据寄存器执行更新以后,使数位位置中的数字值出现在该数位位置的对应数据输出上。在图7中,导体81从数据寄存器的第一数位位置104(参见图8)的数据输出延伸出来。该导体81将存储在第一数位位置104中的数字值ENA提供给复用电路75和解码器79。类似地,导体82耦合到数据寄存器的第二数位位置105的数据输出,并且将存储在第二数位位置105中的数字值ENB提供给复用电路76、解码器79和TAP控制器冻结逻辑80。类似地,导体83耦合到数据寄存器的第三数位位置106的数据输出,并且将存储在第三数位位置106中的数字值ENC提供给复用电路77、解码器79和TAP控制器冻结逻辑80。类似地,导体84耦合到数据寄存器的第四数位位置107的数据输出,并且将存储在第四数位位置107中的数字值END提供给解码器79和TAP控制器冻结逻辑80。
该示例中的复用电路75-77是2:1(二选一)数字复用器,其中数字值ENA、ENB和ENC被分别提供到复用器75-77的选择输入引线上。解码器79对ENA、ENB、ENC和END值进行解码,并且从其生成多位数字控制值MSEL。MSEL经由导体85被提供到输出复用电路78的选择输入引线上。因此,存储在TAP控制器71中的数据寄存器中的数字值ENA、ENB、ENC和END决定复用电路75-78如何配置TAP控制器的菊花链。
除了数据寄存器以外,主TAP控制器71还包括指令寄存器和有限状态机(FSM),如由IEEE-1149.1规定的。如果有限状态机在执行特殊“JTAG菊花链控制指令”(JDCCI)时处于捕捉DR(数据寄存器)状态,则TAP控制器71将信号数字CAPTURE DR STATE JDCCI(捕捉DR状态JDCCI)断言到导体98上,并且该信号被传递给TAP控制器冻结逻辑80。类似地,如果有限状态机在执行特殊JDCCI指令时处于更新DR状态,则TAP控制器71将信号UPDATE DR STATE JDCCI(更新DR状态JDCCI)断言到导体99上,并且该信号被传递给TAP控制器冻结逻辑80。用附图标记B标注的三个导体87在三个单独的导体上将TMS、TCK和TRST信号运载到TAP控制器72。这些信号在进入TAP控制器B72时被分别指定为TMSB、TCKB和TRSTB。类似地,用附图标记C标注的三个导体88在三个单独的导体上将TMS、TCK和TRST信号运载到TAP控制器73。这些信号在它们进入TAP控制器C73时被分别指定为TMSC、TCKC和TRSTC。用附图标记D标注的三个导体89在三个单独的导体上将TMS、TCK和TRST信号运载到TAP控制器74。这些信号在它们进入TAP控制器D74时被分别指定为TMSD、TCKD、和TRSTD。
TAP控制器71的TDI端口和TDO端口分别用附图标记90和91来标识。TAP控制器72的TDI端口和TDO端口分别用附图标记92和93来标识。TAP控制器73的TDI端口和TDO端口分别用附图标记94和95来标识。TAP控制器74的TDI端口和TDO端口分别用附图标记96和97来标识。
图8是主TAP控制器A71的更详细示图。主TAP控制器71包括FSM100、指令寄存器101、用于JDCCI指令的数据寄存器102、与其他指令相关联的其他数据寄存器、指令解析器103和输出复用电路115。存在可被加载到指令寄存器101中的多条不同指令。存在与每条指令相关联的一个数据寄存器。在一个典型操作中,指令在FSM100的控制下通过将该指令的位串行地移位通过TDI端口90并进入指令寄存器101而被加载到指令寄存器101中。一旦指令处于指令寄存器中并且指令寄存器已经被更新,则指令解析器103就标识何种指令已经被加载。例如,如果指令是特殊JDCCI指令,则对应“Instr0Compare(指令0比较)”电路检测到该JDCCI指令并且断言DReg0ShfitEn(数据寄存器0移位启用)信号。这使得能够移位Reg0(寄存器0)。在该情形中,Reg0是与JDCCI指令相关联的数据寄存器102。数据位随后经由TDI端口90被串行加载到启用的数据寄存器Reg0中。一旦所有数据位已经被移位到数据寄存器102中的对应数位位置中,则解析器就断言DReg0UpdateEn(数据寄存器0更新启用)信号,使得数据寄存器用移入的新数字数据值来更新。在更新的时间,新移入的数据值也出现在导体81-84上。数位位置104是数据寄存器102中存储ENA值的数位位置。数位位置105是数据寄存器102中存储ENB值的数位位置。数位位置106是数据寄存器102中存储ENC值的数位位置。数位位置107是数据寄存器102中存储END值的数位位置。
图9是图6的顶层复用模块(TLMM)70的更详细示图。TAP控制器冻结逻辑80实际上包括三个TAP控制冻结逻辑电路108-110,每一个分别用于辅助TAP控制器72-74中的每一个。在该示例中,TLMM70的电路被设计成分开的逻辑块,该逻辑块将与其他模块66-69分开地被实例化为单元。通过这种方式,TLMM70的逻辑被局部化到所制造的集成电路60的一个区域中作为其自己的逻辑块。
图10是TAP控制器冻结逻辑108的更详细电路图。其他两个TAP控制器冻结逻辑电路109和110为与图10中所示结构类似的结构。TAP控制器冻结逻辑电路108包括用于选通信号TMS的电路111,该信号TMS作为TMSB被提供到TAP控制器72的TMS端口上。TAP控制器冻结逻辑电路108还包括用于选通信号TCK的电路112,该信号TCK作为TCKB被提供到TAP控制器72的TCK端口上。TAP控制器冻结逻辑电路108包括用于选通信号TRST的电路113,该信号TRST作为TRSTB被提供到TAP控制器72的TRST端口上。与图2-5的现有技术电路(其中未被纳入到菊花链扫描路径中的TAP控制器被复位)不同,在图6-10的集成电路中,菊花链的未被包括在扫描路径中的TAP控制器未被复位,而只是被禁用。此类TAP控制器被认为是被冻结或者被认为处于冻结状态。未耦合成为菊花链扫描路径的一部分的TAP控制器因此维持其数据寄存器内容。TAP控制器冻结逻辑电路108通过将传递到TAP控制器中的TMS信号保持在数字逻辑电平低来冻结其相关联的TAP控制器。如果被提供给TAP控制器的TMS信号是数字低,则TAP控制器内的FSM不能改变状态。除了防止提供给TAP控制器的TMS信号被断言为数字逻辑高以外,还防止TAP控制器被计时。电路112选通提供给TAP控制器的TCK,并且将提供给TAP控制器的TCK信号保持在数字逻辑低。防止被禁用的TAP控制器被计时将减少功耗,并且还防止TAP控制器的FSM改变状态。除了防止TAP控制器接收高TMS信号以外,并且除了防止TAP控制器被计时以外,还防止被禁用的TAP控制器被复位。在图10的示例中,当ENB为数字逻辑低时,则复用电路113阻止TRST信号传递到TAP控制器B的TRST端口,而是将TAP控制器的TRST端口耦合到数字逻辑高。TRST为低电平有效。在TAP控制器B被禁用时(当ENB为低时),被提供给TAP控制器B的信号TRSTB被保持在无效的数字逻辑高值。
冻结被配置在菊花链扫描路径之外的辅助TAP控制器与强制此类TAP控制器复位相比具有优点。考虑所有TAP控制器71-74都被要求执行测试的示例。这些TAP控制器中的TAP控制器B仅能以1MHz被计时,而其他TAP控制器A、C和D能以较快的15MHz被计时。使用上述可自重构的菊花链电路机制,菊花链被配置为使得菊花链扫描路径仅仅包括主TAP控制器A和慢TAP控制器B。指令和数据以该慢速率被移位到该慢TAP控制器B中,使得TAP控制器B将必要的测试信号提供给要被测试的电路。一旦该TAP控制器B已经被设置成输出必要的测试信号,可自重构的菊花链被重构为使得菊花链扫描路径包括其他TAP控制器A、C和D并且不包括慢TAP控制器B。较快TAP控制器A、C和D随后可以使用较快的时钟被加载指令和数据,而不干扰先前设置的较慢TAP控制器B。由较快TAP控制器捕捉的测试数据可以串行地从扫描路径中移出,而不干扰较慢TAP控制器B。在该示例中,所有TAP控制器都用在测试中。在要执行的测试中涉及较快TAP控制器A、C和D的大量活动的场合,为了设置测试、执行测试以及从电路读出测试结果所需要的总时间量与必须按照最慢TAP控制器的时钟速率对所有TAP控制器进行计时的常规情况相比可被大大减小。
然而,上面对冻结所选TAP控制器的说明是经过一定简化的。存在被禁用的TAP控制器被计时从而其可以改变状态的三种状况。
第一种状况是:上电之后当主TAP控制器已经被加载JDCCI指令以重构菊花链时,辅助TAP控制器处于测试逻辑复位状态时的状况。在给主TAP控制器的指令寄存器加载JDCCI指令之后以及在更新该指令寄存器之后,随后主TAP控制器的与JDCCI指令相对应的数据寄存器将被加载数据。为了这样做,主TAP控制器转变到选择DR状态并且随后转变到捕捉DR状态。当主TAP控制器在JDCCI指令已经被加载时处于捕捉DR状态时,由主TAP控制器输出的CAPTURE DR STATE JDCCI(捕捉DR状态JDCCI)数字信号是数字高。用于辅助TAP控制器的冻结逻辑块中的OR(或)门允许TCK传递到它们各自的辅助TAP控制器。对于所有辅助TAP控制器而言,TMS=0。因此,所有辅助TAP控制器都从测试逻辑复位状态转变到运行测试空闲状态,使得它们可以在需要的情况下稍后被启用。
第二种状况是存在要启用的被禁用的TAP控制器的状况。当主TAP控制器的FSM在JDCCI指令已经被加载时处于更新DR状态中途时,由于更新DR状态JDCC对于下一周期为数字逻辑高,因此所有辅助TAP控制器(包括要启用的辅助TAP控制器)都被提供TCK。在该下一TCK周期的上升沿,被禁用的TAP控制器(要启用的TAP控制器)被提供TMS=1,使得要启用的TAP控制器连同主TAP控制器一起从运行测试空闲转变到选择DR状态。所有辅助TAP控制器实际上都在此时接收TCK翻转,但是仅仅被启用或要启用的所选辅助TAP控制器被提供TMS=1,因此仅仅此类所选TAP控制器将在此时转变状态。其启用位(在主TAP控制器的JDCCI寄存器中)未被置位的其他辅助TAP控制器不被提供TMS=1,并且不转变状态。
第三种状况是先前启用的TAP控制器正在被禁用的状况。当主TAP控制器的FSM在JDCCI指令已经被加载(以禁用辅助TAP控制器)时处于更新DR状态时,由于更新DR状态JDCCI为数字逻辑高,因此所有辅助TAP控制器(包括要禁用的辅助TAP控制器)被提供TCK。在此时,被禁用的TAP控制器和要禁用的辅助TAP控制器将被提供TMS=0。被启用的TAP控制器被提供TMS=1。因此,当更新DR状态JDCCI被断言为数字逻辑高并且所有辅助TAP控制器都被计时之时,仅仅要禁用的TAP控制器(其具有TMS=0)将从更新DR状态转变为运行测试空闲状态。
图11的流程图解说了方法200,该方法200用于启用被禁用的TAP控制器B使得其将被包括在菊花链扫描路径中,并且随后禁用该TAP控制器B使得其将被冻结并且将不被包括在菊花链扫描路径中。IEEE-1149.1标准规定TAP控制器将上电进入测试逻辑复位状态。在图11的示例中,所有TAP控制器最初都是未通电的,并且其指令和数据寄存器包含零值。在上电(步骤201)之后,所有TAP控制器A-D都进入测试逻辑复位状态(步骤202)。由于主TAP控制器A的数据寄存器中的所有数位位置都包含零,因此复用电路75-78在该默认条件下被控制为使得菊花链扫描路径仅仅包含主TAP控制器A71。如果信息从TDI移位到TDO,则其将仅仅经过主TAP控制器A71。在该测试逻辑复位状态下,如果TMS被设置为逻辑1,则TAP控制器A71将保持在测试逻辑复位状态。如果TMS被设置为逻辑0并且TCK发生,则TAP控制器71将移至运行测试空闲状态。因此,可自重构的TAP控制器菊花链上电以使得通过菊花链的第一菊花链TDI到TDO扫描路径经过主TAP控制器A71并且不能经过任何其他TAP控制器。
接着(步骤203),TMS和TCK端子上的信号被操纵为使得主TAP控制器A71转变到运行测试空闲状态。所有其他TAP控制器B-D都保持在测试逻辑复位状态。ENB、ENC和END信号在此时仍为数字零,因此指令将不被加载到其他TAP控制器B-D中。冻结逻辑80中用于其他TAP控制器72-74的复用电路112防止这些其他辅助TAP控制器被计时。因此,仅仅主TAP控制器A71转变到运行测试空闲状态。在此时,主TAP控制器A71准备好加载指令,从而菊花链可以被重构。致使菊花链被重构的指令是特殊JDCCI指令。
为了加载特殊JDCCI指令,通过在两个周期里将TMS设置为1来使主TAP控制器A转变到选择IR(指令寄存器)状态(步骤204)。随后,TMS在一个周期里被设置为0,以将主TAP控制器A移至捕捉IR状态(步骤205)。通过冻结逻辑80来阻止端子63上的TMS信号的改变到达被禁用的TAP控制器B-D。随后,端子63上的TMS信号在一个周期里被设置为0,以将主TAP控制器A移至移位IR状态(步骤206)。随后,TMS在移位IR状态下被设置为0,并且主TAP控制器A被计时以将指令移位到其指令寄存器中。被移入的位是JDCCI指令的位。在JDCCI指令移入到主TAP控制器A的指令寄存器中以后,TMS在两个周期里被设置为1。这导致主TAP控制器A转变到更新IR状态(步骤207)。在指令寄存器更新以后,TMS在一个时钟里被设置为0,使得主TAP控制器A返回到运行测试空闲状态(步骤208)。
接着,与JDCCI指令相关联的数据寄存器将被加载。端子63上的TMS信号在一个时钟周期里被设置为1。仍然通过冻结逻辑80来阻止端子63上的TMS信号的改变到达被禁用的辅助TAP控制器B-D。TMS改变为数字逻辑1致使主TAP控制器A移至选择DR状态(步骤209)。在此时,主TAP控制器A的FSM选择加载它的与当前所加载指令相关联的数据寄存器。随后,TMS在两个周期里被设置为数字逻辑0,以使主TAP控制器A转变至捕捉DR状态(步骤210)。
JTAG菊花链中的所有被启用的TAP控制器都必须处于相同状态,并且必须一起移动状态,以便外部JTAG测试调试器能够经由TAP接口正确地控制菊花链扫描路径。OR门114(参见图10)允许辅助TAP控制器在捕捉DR状态期间(当主TAP控制器在JDCCI指令的执行结束时处于捕捉DR状态时)被计时,使得辅助TAP控制器将从测试逻辑复位状态转变到运行测试空闲状态。所有辅助TAP控制器都通过它们的OR门114版本接收TCK信号。到辅助TAP控制器的TCK的转变把要启用的TAP控制器(在该示例中为TAP控制器B)置于与主TAP控制器A相同的状态,使得TAP控制器A和B二者随后都可以在同一菊花链扫描路径中一起运作。
接着,TMS被设置为0,以使主TAP控制器A转变到移位DR状态(步骤211)。随后,数据被移位到用于JDCCI指令的数据寄存器中。数据寄存器中与要启用的辅助TAP控制器B相对应的数位位置被设置为数字逻辑1值。一旦数据已经被移位到用于JDCCI指令的数据寄存器的最后一位中,则TMS就在两个周期里被设置为1。这致使主TAP控制器的FSM转变到更新DR状态(步骤212)并且更新数据寄存器。该更新致使被移位到数据寄存器中的对应数位位置中的ENA、ENB、ENC和END值出现在导体81-83上。此时,辅助TAP控制器B被启用。不需要附加的指令来启用TAP控制器B或将其补到菊花链扫描路径中。另外,在步骤212,由主TAP控制器A输出的更新DR JDCCI信号是数字高,因此所有辅助TAP控制器都接收TCK。要启用的TAP控制器B在此时被提供为1的TMS,因此TAP控制器B从运行测试空闲状态转变到选择DR状态。在该示例中,TAP控制器C和D未被启用,并且它们不接收TMS=1,因此随后保持在运行测试空闲状态。随后,TMS在一个周期里被设置为0。这导致主TAP控制器A返回到运行测试空闲状态(步骤213)。
在此时,TAP控制器的菊花链被配置为使得TDI到TDO菊花链扫描路径从TDI端子61延伸到主TAP控制器A的TDI端口90、通过主TAP控制器A到主TAP控制器A的TDO端口91、到复用电路75的上部输入引线、通过复用电路75到辅助TAP控制器B的TDI端口92、通过辅助TAP控制器B到TDO端口93、通过输出复用电路78并且到TDO端子62。辅助TAP控制器C和D保持被禁用并且未处于该扫描路径中。
图11的剩余部分阐述了菊花链可以如何被重构以冻结TAP控制器B并且断开TAP控制器B,使得菊花链扫描路径不再经过冻结的TAP控制器B。首先,在步骤214-217,JDCCI指令被加载到主TAP控制器A的指令寄存器中。该操作与上面结合步骤204-207所述的操作相同,只是扫描路径除主TAP控制器之外还经过辅助TAP控制器B。然而,在此感兴趣的是将JDCCI指令加载到主TAP控制器A的指令寄存器中。在更新主TAP控制器A中的指令寄存器并且经过运行测试空闲状态(步骤218)之后,(主TAP控制器A中的)与JDCCI指令相关联的数据寄存器将被加载数据值,使得辅助TAP控制器B可以被禁用。除了所加载的数据值、以及步骤222中对仅仅被禁用的TAP控制器B的额外计时以外,选择、捕捉、移位和更新步骤219-221类似于上述选择、捕捉、移位和更新步骤209-221。在步骤222,当主TAP控制器A在JDDCI指令被加载时处于更新DR状态(由于捕捉DR状态JDCCI为高)时,所有辅助TAP控制器都接收该额外的TCK,但要禁用的辅助TAP控制器B具有为0的TMS值。如果其他辅助TAP控制器在此时被启用,则它们的TMS值将为1。在该示例中,其他TAP控制器C和D被禁用。它们的TMS值因此为0。当辅助TAP控制器被计时(步骤222)时,辅助TAP控制器B将状态从更新DR状态转变到运行测试空闲状态。其他被禁用的TAP控制器C和D先前处于运行测试空闲状态并且它们保持在运行测试空闲状态。如果正被禁用的辅助TAP控制器B在此时未被计时,则正被禁用的辅助TAP控制器B将保持为挂起在更新DR状态。
一旦步骤222的更新发生,则TAP控制器B就被禁用。TAP控制器的菊花链被配置为使得TDI到TDO菊花链扫描路径从TDI端子61延伸到主TAP控制器A的TDI端口90、通过主TAP控制器A到主TAP控制器A的TDO端口91、通过输出复用电路78到TDO端子62。在步骤222之后,主TAP控制器A被提供为1的TMS值。因此,其移至选择DR状态,而所有辅助TAP控制器B-D被禁用,具有为0的TMS值,并且处于运行测试空闲状态。即使辅助TAP控制器B现在被禁用并且不再处于菊花链扫描路径中,其数据寄存器仍然存储它们刚刚在辅助TAP控制器B被禁用之前所存储的值。在TAP控制器B被禁用并且被从菊花链扫描路径中去掉时,被禁用的TAP控制器B的数据寄存器的内容和输出不以任何方式被移位、清除、复位或干扰。
因此,TAP控制器中的所选一个或多个可以通过如下方式被启用并成为菊花链扫描路径的一部分:执行JDCCI指令并且将数据寄存器中与所选TAP控制器相对应的位设置为数字逻辑1。一旦更新了JDCCI指令的数据寄存器,复用电路75-78就被控制为使得所选TAP控制器被包括在菊花链扫描路径中。辅助TAP控制器中的所选一个或多个也可以被禁用,使得其被从菊花链扫描路径中切掉。为了通过以这种方式禁用所选辅助TAP控制器,JDCCI指令被执行并且数据寄存器中与所选辅助TAP控制器相对应的位被设置为数字逻辑0。一旦更新JDCCI指令的数据寄存器之后,复用电路75-68就被控制为使得菊花链扫描路径绕过被禁用的TAP控制器。被禁用的TAP控制器不被复位,而是被冻结使得其数据寄存器的内容保持不变。
注意,可动态自重构的TAP控制器菊花链可以自配置,使得主TAP控制器变为被禁用并且不再是TDI到TDO菊花链扫描路径的一部分。在此时,TDI到TDO菊花链扫描路径延伸通过其他被启用的辅助TAP控制器,但是不延伸通过主TAP控制器。一旦可动态自重构的TAP控制器菊花链处于该配置,则主TAP控制器不再能够用于重构菊花链,直至其被再次启用。存在两种方式来重新启用主TAP控制器。首先,集成电路可以进行电源循环。在上电复位时,所有逻辑将被复位,包括主TAP控制器中的JDCCI数据寄存器。第二,TRST可以在ATPG测试模式下被断言为高。这将复位集成电路中的所有测试逻辑,包括主TAP控制器中的JDCCI数据寄存器(即,TRST=1,其中模式引脚处于ATPG测试模式)。
在一个示例中,为了允许大量TAP控制器被可重构地互连以形成可重构的菊花链的所有必要逻辑都设在单个位于中心的顶层复用模块(TLMM)电路块中。在总集成电路的设计中,各个块的TAP控制器简单地连接到TLMM输入和输出,如图6中所解说的。该模块化TLMM架构是可容易扩展的以容适添加附加TAP控制器。为了添加另一TAP控制器,添加另一复用电路(诸如复用电路75-77),使输出复用电路78具有附加的数据输入引线,使用于JDCCI指令的数据寄存器具有另一数位位置以控制附加的TAP控制器,并且添加冻结逻辑的另一实例(诸如冻结逻辑电路108-110)。相同的TLMM电路块可用在许多不同的集成电路设计中,这些设计包括各种类型的其他块和TAP控制器的不同组合。
图12是涉及可动态自重构的TAP控制器菊花链的方法300的流程图。在第一步骤(步骤301),将数字值存储在菊花链的第一TAP控制器中的数位位置中。该数位位置与可自重构的菊花链的第二TAP控制器相关联。在一个示例中,数字值是通过如下方式被存储的:将特殊JDCCI指令加载到第一TAP控制器的指令寄存器中,执行该特殊JDCCI指令,在与JDCCI指令相关联的数据寄存器中的数位位置中加载所期望的数字值,并且随后更新该数据寄存器。接着,如果存储(步骤302)在该数位位置中的数字值是数字1,则可自重构的菊花链以第一种配置被配置(步骤330)。在第一种配置中,第一和第二TAP控制器二者都处于TDI到TDO菊花链扫描路径中。另一方面,如果存储(步骤302)在该数位位置中的数字值是数字0,则可自重构的菊花链以第二种配置被配置。在第二种配置中,第一TAP控制器处于TDI到TDO菊花链扫描路径中,但是第二TAP控制器未处于该扫描路径中。第二TAP控制器被禁用但是未被复位。在可重构的菊花链被置于第二种配置时,由第二TAP控制器的数据寄存器输出的数据寄存器输出信号不被干扰或改变。
尽管以上出于指导目的描述了某些具体实施例,但本专利文献的教导具有普遍适用性并且不被限定于以上描述的具体实施例。相应地,可实践对所描述的具体实施例的各种特征的各种修改、适应、以及组合而不会脱离所阐述的权利要求书的范围。
Claims (26)
1.一种装置,包括:
TDI(测试数据输入)导体;
TDO(测试数据输出)导体;以及
可自重构的TAP(测试访问端口)控制器菊花链,包括:
第一TAP控制器;以及
第二TAP控制器,其中第一TAP控制器能以第一配置来配置所述菊花链,使得第一扫描路径从所述TDI导体延伸通过所述第一TAP控制器到所述第一TAP控制器的TDO端口、到所述第二TAP控制器的TDI端口、通过所述第二TAP控制器到所述第二TAP控制器的TDO端口、以及到所述TDO导体,并且其中所述第一TAP控制器能以第二配置来配置所述菊花链,使得第二扫描路径从所述TDI导体延伸通过所述第一TAP控制器但不通过所述第二TAP控制器、以及从所述第一TAP控制器的TDO端口到所述TDO导体。
2.如权利要求1所述的装置,其特征在于,所述菊花链能以第一配置被配置以使得所述第二TAP控制器是所述第一扫描路径的一部分,并且随后以所述第二配置被配置以使得第二TAP控制器不是所述第二扫描路径的一部分,其中第二TAP控制器在所述菊花链处于所述第一配置时输出数据寄存器输出信号,并且其中所述第二TAP控制器在所述菊花链已经被重构为处于所述第二配置之后继续输出相同的数据寄存器输出信号。
3.如权利要求1所述的装置,其特征在于,所述第二TAP控制器在所述菊花链以所述第二配置被配置时未被复位。
4.如权利要求1所述的装置,其特征在于,所述可自重构的TAP控制器菊花链还包括:
复用电路,其能被所述第一TAP控制器控制成将所述第二TAP控制器的TDI端口耦合到下列各项中选择的一项:1)所述TDI导体;以及2)所述第一TAP控制器的TDO端口。
5.如权利要求1所述的装置,其特征在于,所述可自重构的TAP控制器菊花链还包括:
复用电路,其能被控制成将所述第二TAP控制器的TDI端口耦合到下列各项中选择的一项:1)所述TDI导体;以及2)所述第一TAP控制器的TDO端口,其中所述第一TAP控制器包括数据寄存器,其中如果所述数据寄存器存储第一数字值,则所述复用电路被控制成将所述第二TAP控制器的TDI端口耦合到所述TDI导体,而如果所述数据寄存器存储第二数字值,则所述复用电路被控制成将所述第二TAP控制器的TDI端口耦合到所述第一TAP控制器的TDO端口。
6.如权利要求1所述的装置,其特征在于,所述可自重构的TAP控制器菊花链还包括:
复用电路,其能被第一TAP控制器控制成将所述TDO导体耦合到下列各项中选择的一项:1)所述第一TAP控制器的TDO端口;以及2)所述第二TAP控制器的TDO端口。
7.如权利要求1所述的装置,其特征在于,所述第一TAP控制器包括数据寄存器,其中如果第一值被存储在所述数据寄存器中并且所述数据寄存器被更新,则所述菊花链被配置为所述第一配置,而如果第二值被存储在所述数据寄存器中并且所述数据寄存器被更新,则所述菊花链被配置为所述第二配置。
8.如权利要求1所述的装置,其特征在于,所述装置是集成电路,其中所述TDI导体是所述集成电路的第一端子,并且其中所述TDO导体是所述集成电路的第二端子。
9.如权利要求1所述的装置,其特征在于,所述可自重构的TAP控制器菊花链还包括:
第三TAP控制器,其中在所述第一配置中,所述扫描路径从所述第二TAP控制器的TDO端口延伸,随后通过所述第三TAP控制器,并且到所述TDO导体,并且其中在所述第二配置中,所述扫描路径不延伸通过第三TAP控制器。
10.如权利要求9所述的装置,其特征在于,所述可自重构的TAP控制器菊花链上电使得其首先被配置为所述第二配置。
11.一种集成电路,包括:
第一TAP(测试访问端口)控制器;
第二TAP控制器,其具有TDI(测试数据输入)端口和TDO(测试数据输出)端口;
第三TAP控制器,其具有TDI端口和TDO端口;
第一复用电路,其被第一TAP控制器控制以将所述第二TAP控制器的TDI端口和所述第二TAP控制器的TDO端口之一耦合到所述第三TAP控制器的TDI端口;以及
第二复用电路,其被所述第一TAP控制器控制以将所述第二TAP控制器的TDO端口和所述第三TAP控制器的TDO端口之一耦合到TDO导体。
12.如权利要求11所述的集成电路,其特征子在于,所述第一TAP控制器包括:
具有数位位置的数据寄存器,其中所述第一复用电路被控制成在第一数字值被存储在所述数据存储器的数位位置中的情况下将所述第二TAP控制器的TDI端口耦合到所述第三TAP控制器的TDI端口,而所述第一复用电路被控制成在第二数字值被存储在所述数据寄存器的数位位置中的情况下将所述第二TAP控制器的TDO端口耦合到所述第三TAP控制器的TDI端口。
13.如权利要求12所述的集成电路,其特征子在于,所述第一TAP控制器还包括:
指令寄存器,其中所述数据寄存器能够通过如下方式被加载数据:将指令移位到所述指令寄存器中并且随后致使所述第一TAP控制器执行所述指令,其中所述第一TAP控制器对所述指令的执行允许所述数据被移位到所述数据寄存器中。
14.一种方法,包括:
将数字值存储在第一TAP(测试访问端口)控制器的数据寄存器中,其中所述第一TAP控制器和第二TAP控制器是可重构的TAP控制器菊花链的一部分;
致使所述可重构的TAP控制器菊花链在所述数据值是第一数字逻辑值的情况下以第一配置被配置,其中在所述第一配置中,第一扫描路径从TDI(测试数据输入)导体延伸通过所述第一TAP控制器到所述第一TAP控制器的TDO(测试数据输出)端口、到第二TAP控制器的TDI端口、通过所述第二TAP控制器到所述第二TAP控制器的TDO端口、以及到TDO导体;以及
致使所述可重构的TAP控制器菊花链在所述数据寄存器存储第二数字逻辑值的情况下以第二配置被配置,其中在所述第二配置中,第二扫描路径从所述TDI导体延伸通过所述第一TAP控制器到所述第一TAP控制器的TDO端口、以及到所述TDO导体,而不经过所述第二TAP控制器。
15.如权利要求14所述的方法,其特征在于,所述致使所述可重构的TAP控制器菊花链以所述第二配置被配置是在不复位所述第二TAP控制器的情况下进行的。
16.如权利要求14所述的方法,其特征在于,所述第二TAP控制器具有数据寄存器,其中所述数据寄存器在所述第二TAP控制器被启用时的时间输出信号,并且其中所述致使所述可重构的TAP控制器菊花链以所述第二配置被配置致使所述第二TAP控制器从被启用切换到被禁用而不干扰由所述第二TAP控制器的数据寄存器输出的所述信号。
17.如权利要求14所述的方法,其特征在于,还包括:
以所述第一配置来配置所述TAP控制器菊花链使得第一和第二TAP控制器处于从所述TDI导体到所述TDO导体的所述第一扫描路径中,并且随后在不复位所述第二TAP控制器的情况下以所述第二配置来配置所述TAP控制器菊花链使得所述第一TAP控制器而不是所述第二TAP控制器处于从所述TDI导体到所述TDO导体的所述第二扫描路径中。
18.如权利要求14所述的方法,其特征在于,所述可重构的TAP控制器菊花链上电,使得其首先被配置成如下配置:一个且仅有一个TAP控制器被布置在从所述TDI导体延伸到所述TDO导体的扫描路径中。
19.一种方法,包括:
通过将第一数字值和第二数字值之一存储在TAP(测试访问)控制器菊花链中的TAP控制器之一的数据寄存器的一部分中来配置所述TAP控制器菊花链,其中所述数据寄存器包括多个数位位置,其中如果第一数字值被存储在所述数据寄存器的所述部分中,则与所述部分相关联的TAP控制器被包括在从TDI(测试数据输入)导体、通过菊花链扫描路径并且到TDO(测试数据输出)导体的所述菊花链扫描路径中,而如果第二数字值被存储在所述数据寄存器的所述部分中,则与所述部分相关联的所述TAP控制器不被包括在所述菊花链扫描路径中。
20.如权利要求19所述的方法,其特征在于,所述TDI导体是集成电路的端子,并且其中所述TDO导体是所述集成电路的端子,其中所述部分取自包括下列各项的组:单个数位位置和多个数位位置,其中所述第一数字值取自包括下列各项的组:单位值和多位值,并且其中所述第二数字值取自包括下列各项的组:单位值和多位值。
21.如权利要求19所述的方法,其特征在于,所述TAP控制器菊花链是通过如下方式被配置的:将所述第一数字值和所述第二数字值之一加载到所述数据寄存器的所述部分中并且随后对所述数据寄存器执行更新。
22.一种用于制造集成电路的方法,包括:
(a)制造第一TAP(测试访问端口)控制器;
(b)制造第二TAP控制器,其具有TDI(测试数据输入)端口和TDO(测试数据输出)端口;
(c)制造第三TAP控制器,其具有TDI端口和TDO端口;
(d)制造第一复用电路,其能被所述第一TAP控制器控制成将所述第二TAP控制器的TDI端口和所述第二TAP控制器的TDO端口之一耦合到所述第三TAP控制器的TDI端口;以及
(e)制造第二复用电路,其能被所述第一TAP控制器控制成将所述第二TAP控制器的TDO端口和所述第三TAP控制器的TDO端口之一耦合到TDO导体,其中(a)至(d)是在使用集成电路制造工艺来制造所述集成电路时基本同时进行的。
23.如权利要求22所述的用于制造集成电路的方法,其特征在于,还包括:
(f)制造冻结逻辑,其能冻结所述第二TAP控制器使得当所述第二TAP控制器被冻结时,所述第二TAP控制器不被复位并使得所述第二TAP控制器的数据寄存器不被干扰,其中所述冻结逻辑在所述第一TAP控制器的数据寄存器的数位位置存储第一数字逻辑值的情况下冻结所述第二TAP控制器,而所述冻结逻辑在所述第一TAP控制器的所述数据寄存器的所述数位位置存储第二数字逻辑值的情况下不冻结所述第二TAP控制器。
24.一种设备,包括:
多个TAP控制器;以及
用于配置所述多个TAP控制器使得如果第一数字值被存储在所述TAP控制器中第一TAP控制器的数据寄存器的一部分中,则所述TAP控制器中与所述部分相关联的第二TAP控制器被包括在从TDI导体通过菊花链扫描路径并且到TDO导体的所述菊花链扫描路径中,而如果第二数字值被存储在所述第一TAP控制器的所述数据寄存器的所述部分中,则所述第二TAP控制器不被包括在所述菊花链扫描路径中的装置。
25.如权利要求24所述的设备,其特征在于,所述装置用于配置所述多个TAP控制器使得在所述第二TAP控制器是所述菊花链扫描路径的一部分时能使所述第二TAP控制器输出数据寄存器输出信号,并且使得随后能禁用所述第二TAP控制器使得其不处于所述菊花链扫描路径中并且使得所述第二TAP控制器在所述第二TAP控制器已经被禁用之后继续输出所述数据寄存器输出信号。
26.如权利要求24所述的设备,其特征在于,所述装置用于配置所述多个TAP控制器使得在所述第二TAP控制器已经被禁用之后所述第二TAP控制器随后能被启用并被包括在从所述TDI导体延伸通过所述第一TAP控制器、通过所述第二TAP控制器并且到所述TDO导体的菊花链扫描路径中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/107,728 US20130086441A1 (en) | 2011-09-30 | 2011-09-30 | Dynamically self-reconfigurable daisy-chain of tap controllers |
US13/107,728 | 2011-09-30 | ||
PCT/US2012/037139 WO2013048578A1 (en) | 2011-09-30 | 2012-05-09 | Dynamically self-reconfigurable daisy-chain of tap controllers |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103842970A true CN103842970A (zh) | 2014-06-04 |
Family
ID=46148985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280047847.4A Pending CN103842970A (zh) | 2011-09-30 | 2012-05-09 | 可动态地自重构的tap控制器菊花链 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20130086441A1 (zh) |
EP (1) | EP2761460A1 (zh) |
JP (1) | JP2014528078A (zh) |
KR (1) | KR20140072169A (zh) |
CN (1) | CN103842970A (zh) |
WO (1) | WO2013048578A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109196481A (zh) * | 2016-04-29 | 2019-01-11 | 德州仪器公司 | 通过启用动态jtag测试模式进入及所有jtag引脚的共享来增加数据传输处理量 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8904253B2 (en) * | 2012-06-25 | 2014-12-02 | Intel Corporation | Method and apparatus for testing I/O boundary scan chain for SoC's having I/O's powered off by default |
KR102066661B1 (ko) * | 2013-09-02 | 2020-01-15 | 삼성전자 주식회사 | 스캔-체인으로 연결된 플립-플롭들의 값들을 jtag 인터페이스를 이용하여 재구성할 수 있는 집적 회로, 이의 동작 방법, 및 상기 집적 회로를 포함하는 장치들 |
US11199821B2 (en) * | 2013-11-11 | 2021-12-14 | Rockwell Automation Technologies, Inc. | Configuring and operating control systems using a database |
DE102017216444B3 (de) | 2017-09-15 | 2019-01-03 | Hochschule Hamm-Lippstadt | Microchip mit einer Vielzahl von rekonfigurierbaren Teststrukturen |
US12123912B2 (en) * | 2021-05-04 | 2024-10-22 | University Of Florida Research Foundation, Incorporated | Reconfigurable JTAG architecture for implementation of programmable hardware security features in digital designs |
US20240159829A1 (en) * | 2021-06-25 | 2024-05-16 | Intel Corporation | Processing Devices for reducing scan traffic, Method and Computer Program |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020184562A1 (en) * | 2001-04-27 | 2002-12-05 | Benoit Nadeau-Dostie | Method of designing circuit having multiple test access ports, circuit produced thereby and method of using same |
US20050283692A1 (en) * | 2004-06-17 | 2005-12-22 | Whetsel Lee D | Direct scan access JTAG |
CN101140298A (zh) * | 2007-02-27 | 2008-03-12 | 中兴通讯股份有限公司 | 用于单板上的jtag链路的测试访问端口的复位装置 |
CN101916588A (zh) * | 2010-08-23 | 2010-12-15 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种在系统编程isp编程模块及其用于fpaa在系统编程的方法 |
EP2141597B1 (en) * | 2008-07-03 | 2010-12-29 | Renesas Electronics Corporation | Semiconductor integrated circuit |
CN101937382A (zh) * | 2010-09-02 | 2011-01-05 | 中国电子科技集团公司第三十八研究所 | 基于jtag的多片微处理器同步调试方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5355369A (en) * | 1991-04-26 | 1994-10-11 | At&T Bell Laboratories | High-speed integrated circuit testing with JTAG |
JP4020462B2 (ja) * | 1996-08-30 | 2007-12-12 | テキサス インスツルメンツ インコーポレイテツド | テストインタフェースを含む集積回路及びテストインタフェースを使用する方法 |
CN100342241C (zh) * | 2001-09-20 | 2007-10-10 | Nxp股份有限公司 | 电子装置 |
ATE347112T1 (de) * | 2003-02-10 | 2006-12-15 | Koninkl Philips Electronics Nv | Testen von integrierten schaltungen |
US7284159B2 (en) * | 2003-08-26 | 2007-10-16 | Lucent Technologies Inc. | Fault injection method and system |
JP2008310792A (ja) * | 2007-05-11 | 2008-12-25 | Nec Electronics Corp | テスト回路 |
US8881301B2 (en) * | 2009-10-05 | 2014-11-04 | Asset Intertech, Inc. | Protection of proprietary embedded instruments |
WO2012031362A1 (en) * | 2010-09-07 | 2012-03-15 | Corporation De L ' Ecole Polytechnique De Montreal | Methods, apparatus and system to support large-scale micro- systems including embedded and distributed power supply, thermal regulation, multi-distributed-sensors and electrical signal propagation |
-
2011
- 2011-09-30 US US13/107,728 patent/US20130086441A1/en not_active Abandoned
-
2012
- 2012-05-09 CN CN201280047847.4A patent/CN103842970A/zh active Pending
- 2012-05-09 WO PCT/US2012/037139 patent/WO2013048578A1/en active Application Filing
- 2012-05-09 EP EP12723321.1A patent/EP2761460A1/en not_active Withdrawn
- 2012-05-09 JP JP2014531791A patent/JP2014528078A/ja active Pending
- 2012-05-09 KR KR1020147011816A patent/KR20140072169A/ko not_active Application Discontinuation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020184562A1 (en) * | 2001-04-27 | 2002-12-05 | Benoit Nadeau-Dostie | Method of designing circuit having multiple test access ports, circuit produced thereby and method of using same |
US20050283692A1 (en) * | 2004-06-17 | 2005-12-22 | Whetsel Lee D | Direct scan access JTAG |
CN101140298A (zh) * | 2007-02-27 | 2008-03-12 | 中兴通讯股份有限公司 | 用于单板上的jtag链路的测试访问端口的复位装置 |
EP2141597B1 (en) * | 2008-07-03 | 2010-12-29 | Renesas Electronics Corporation | Semiconductor integrated circuit |
CN101916588A (zh) * | 2010-08-23 | 2010-12-15 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种在系统编程isp编程模块及其用于fpaa在系统编程的方法 |
CN101937382A (zh) * | 2010-09-02 | 2011-01-05 | 中国电子科技集团公司第三十八研究所 | 基于jtag的多片微处理器同步调试方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109196481A (zh) * | 2016-04-29 | 2019-01-11 | 德州仪器公司 | 通过启用动态jtag测试模式进入及所有jtag引脚的共享来增加数据传输处理量 |
CN109196481B (zh) * | 2016-04-29 | 2023-03-03 | 德州仪器公司 | 集成电路及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2013048578A1 (en) | 2013-04-04 |
EP2761460A1 (en) | 2014-08-06 |
US20130086441A1 (en) | 2013-04-04 |
KR20140072169A (ko) | 2014-06-12 |
JP2014528078A (ja) | 2014-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103842970A (zh) | 可动态地自重构的tap控制器菊花链 | |
US11125818B2 (en) | Test access mechanism controller including instruction register, instruction decode circuitry | |
US20160349320A1 (en) | Remote bus wrapper for testing remote cores using automatic test pattern generation and other techniques | |
US6631504B2 (en) | Hierarchical test circuit structure for chips with multiple circuit blocks | |
TW508445B (en) | Hierarchical test circuit structure for chips with multiple circuit blocks | |
US7529996B2 (en) | DDR input interface to IC test controller circuitry | |
USRE47864E1 (en) | Series equivalent scans across multiple scan topologies | |
US7397274B1 (en) | In-system programming of a non-compliant device using multiple interfaces of a PLD | |
US7698613B2 (en) | Semiconductor integrated circuit device and method of testing same | |
US20050005217A1 (en) | Test standard interfaces and architectures | |
US9164858B2 (en) | System and method for optimized board test and configuration | |
US7181705B2 (en) | Hierarchical test circuit structure for chips with multiple circuit blocks | |
CN103076558A (zh) | 用于扫描链的动态时钟域旁路 | |
US20140359386A1 (en) | Scan or jtag controllable capture clock generation | |
US7895491B2 (en) | Integrated circuit with low-power built-in self-test logic | |
WO2008093312A1 (en) | On-chip testing | |
EP1520182B1 (en) | Method and control circuitry for accessing multiple taps (test access ports) via a single tap | |
CN109196481B (zh) | 集成电路及其操作方法 | |
US20120124439A1 (en) | Wrapper Cell for Hierarchical System on Chip Testing | |
KR100907254B1 (ko) | Ieee 1500 래퍼를 갖는 시스템 온 칩 및 그것의 내부지연 테스트 방법 | |
CN107122274A (zh) | 基于fpga重构技术的cpu测试系统及方法 | |
US20030046625A1 (en) | Method and apparatus for efficient control of multiple tap controllers | |
US20110202811A1 (en) | Test access port with address and command capability | |
Ye et al. | Autonomous testing for 3D-ICs with IEEE std. 1687 | |
Im et al. | Advanced safety test solution for automotive SoC based on In-System-Test architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140604 |