用于经由单个测试访问端口访问多个测试访问端口的方法与控制电路的制作方法

文档序号:6409977阅读:156来源:国知局
专利名称:用于经由单个测试访问端口访问多个测试访问端口的方法与控制电路的制作方法
技术领域
本发明总地涉及集成电路,更具体地,涉及用于控制集成电路的一部分的方法和设备。
背景技术
随着集成电路变得越来越大和越来越复杂,重要的是改进被使用来控制集成电路(IC)的各个部分的控制方法和结构。另外,被采用来减小IC设计时间的一个方法是把可重用的模块组合到单个集成电路。可重用的模块可以从小的专用功能块,诸如整型乘法器,变化到以前是整个IC的模块,诸如微处理器。另外,可重用的模块可以具有许多形式,范围从可以容易修正的可合成模块到不能修正的物理模块。当不可修正的、可重用的模块被组合到集成电路时,在试图组合它们以使得新的功能在IC层上可提供而同时保持利用、测试、和控制各个可重用模块的所有的功能时,会出现问题。因此,越来越重要的是,能够集成各种可重用的IC部分或原先被设计成使用于不同的IC的模块的控制和测试。


本发明是通过例子来说明的,以及不限于在附图中所显示的实施例,其中相同的标号表示相同的单元。
图1以方框图形式显示按照本发明的集成电路10的一个实施例。
图2以方框图形式显示按照本发明的图1的可重用模块(1)14的一部分的一个实施例。
图3以状态图形式显示按照本发明的图1的未修正的状态机20的状态图的一个实施例。
图4以方框图形式显示按照本发明的图1的电路18的一部分的一个实施例。
图5以方框图形式显示按照本发明的图1的电路18的一部分的一个实施例。
图6以方框图形式显示按照本发明的图5的开关控制逻辑80的一部分的一个实施例。
图7以方框图形式显示按照本发明的图1的电路18的一部分的另一个替换实施例。
图8以方框图形式显示按照本发明的图7的开关控制逻辑81的一部分的一个实施例。
图9以方框图形式显示按照本发明的图8的签名移位寄存器140的一个实施例。
本领域技术人员将会看到,图上的单元被简明和清晰地显示,而不必按比例画出。例如,图上的某些单元的大小可能相对于其他单元放大,有助于更好地了解本发明的实施例。
具体实施例方式
图1显示具有集成电路端子12的示例性集成电路10。集成电路10包括多个可重用模块,即,可重用模块(1)14到可重用模块(N)16。本发明的替换实施例可以使用任意数目的可重用模块。可重用模块14和16分别包括未修正的状态机20和22。可重用模块14,16的用户控制由IC集成逻辑38的一部分提供。逻辑38包括控制生成逻辑24和多个重复状态机26与28。重复状态机26与28重复可重用模块14和16中的未修正的状态机20和22的运行。本发明的替换实施例可包括任意数目的未修正的状态机20,22和任何数目的重复状态机26,28。另外,本发明的替换实施例可包括多个未修正的状态机20,22,和单个重复状态机26,或可包含相应于一个或多个未修正的状态机20,22的多个重复状态机26,28。电路18包括控制生成逻辑24和多个重复状态机26,28。在IC集成逻辑38和可重用模块14,16之间的通信和控制通过控制总线34和36以及组成数据总线37的数据总线33和35被提供。在一个实施例中,测试总线31包括控制总线34和数据总线37。在说明的实施例中,每个可重用模块(1)到(N)具有一个或多个相关的控制信号(例如,控制总线34),被使用来把来自逻辑38的控制信息提供到该特定的可重用模块。在控制生成逻辑24和重复状态机26,28之间的通信通过与状态有关的信息总线32和30被提供。集成电路端子12可任选地被使用来允许逻辑38提供和接收集成电路10外部的信息。
具体的例子仅仅是为了说明目的被描述的。本发明决不打算限于这个具体的例子。作为例子,当每个可重用模块包括提供独特的功能的IEEE(电气与电子工程师协会)标准1149.1测试访问端口时,希望改进组合两个或多个可重用模块(例如,14,16)的集成电路10的控制方法和结构。IEEE标准测试访问端口和边界扫描体系结构(IEEE标准1149.1)是熟知的IEEE测试标准,它提供扫描集成电路(IC)内的寄存器的访问方法。IEEE标准1149.1规定5管脚专用测试总线,包含4个输入和1个三状态输出。输入是测试时钟(TCK)、测试模式选择(TMS)、测试数据输入(TDI)、和测试复位(TRST)。输出是测试数据输出(TDO)。
图2以方框图形式显示按照本发明的图1的可重用模块(1)14的一部分的一个实施例。在本发明的一个实施例中,图2所示的逻辑能够满足IEEE标准1149.1。应当指出,一个或多个其他可重用模块(N)16可以使用这个相同的逻辑或它的变例。在本发明的一个实施例中,加到可重用模块(1)的输入包括数据总线33的一部分,其中包括客户信号TD1_1;以及数据总线34的一部分,其中包括全局信号TRST与TCK和客户信号TMS_1。应当指出,在本发明的一个实施例中,客户信号TD1_1和TMS_1只被耦合到可重用模块(1)。图2上显示的可重用模块(1)的部分也包括未修正的状态机20(TAP控制器),它相应于图1上的未修正的状态机20。图2上显示的可重用模块(1)的部分也包括指令寄存器130和相关的指令译码电路128,以及测试数据寄存器120、旁路寄存器126、边界扫描寄存器124、和诊断寄存器122。
指令寄存器130由指令译码器128译码,生成控制复接器(MUX)132的输出(时钟和/或控制信号121)来从测试数据寄存器120、诊断寄存器122、边界扫描寄存器124、和旁路寄存器126中选择一个数据寄存器。测试访问端口(TAP)控制器20输出一组输出(对于IEEE标准1149.1的9个输出),包括时钟和/或控制123。TAP控制器20的输出控制所有的数据获取和寄存器移位运行,以及通过控制复接器134选择测试数据寄存器输出或指令寄存器输出。TAP控制器20输出也通过启用或禁止输出驱动器136而控制客户测试数据输出(TDO_1)信号是被关断还是驱动。
图3显示由用于测试访问端口(TAP)控制器的IEEE标准1149.1规定的、熟知的状态图。在一个实施例中,这个状态图由图1所示的每个状态机20,22,26,28执行,为了说明起见,进一步的讨论将是指TAP控制器20,虽然说明也可以应用于TAP控制器22,26,和28。TAP控制器20在测试时钟(TCK)的每个上升沿采样测试模式选择(TMS)输入,来控制在状态之间的转移。TMS的逻辑状态被显示为在连接状态的转移路径之外。某些状态转移路径以粗黑线(即,粗实线)表示以及将在这里在下面更详细地讨论的。然而,为了以下的讨论,凸现的状态转移等同于非凸现转移。
TAP控制器20响应于电源复位信号、TRST的低电平、或TMS信号的适当的输入序列被强迫为测试-逻辑-复位状态100。如果TMS信号对于5个接连的TCK上升沿保持为高,则TAP控制器20总是转移到测试-逻辑-复位状态100。达到测试-逻辑-复位状态100的接连的TCK上升沿的数目取决于电路状态,但不能超过5。如果需要小于5个接连的TCK上升沿,则TAP控制器20将以较少的转移达到测试-逻辑-复位状态,但然后将保持在测试-逻辑-复位状态100。
TAP控制器20将保持在测试-逻辑-复位状态100,直至TCK上升沿以TMS低电平出现为止,这将导致转移到运行-测试/空闲状态101。如果TMS保持在低电平,则TAP控制器20将保持在运行-测试/空闲状态101;否则,TAP控制器20将转移到选择-DR-扫描状态102。根据TMS是高还是低,TAP控制器20将从选择-DR-扫描状态102,分别转移到获取-DR状态103或选择-IR-扫描状态109。
在选择-DR-扫描状态102下面显示的6个状态(即,状态103、104、105、106、107和108)具有类似于在选择-IR-扫描状态109下面显示的6个状态(即,状态110、111、112、113、114和115)的功能,除了在状态102下的状态控制测试数据寄存器运行而在状态109下的状态控制指令寄存器运行以外。
获取-DR状态103开始数据寄存器扫描运行。TAP控制器20转移到获取-DR状态103,把并行数据装载到通过指令寄存器译码(图2的128)选择的数据寄存器。如果TMS是高电平,则跳过数据寄存器移位运行以及进入出口1-DR状态105。如果在获取-DR状态103期间TMS是低电平,则进入移位-DR状态104,以及通过指令译码128选择的测试数据寄存器从TDI移位到TDO。数据寄存器移位运行可以通过经由出口1-DR状态105转移到暂停-DR状态106而暂停,以及通过以后经由出口2-DR状态107返回到移位-DR状态104而继续进行。在数据寄存器移位运行结束时,TAP控制器20总是经由出口2-DR状态107或出口1-DR状态106转移到更新-DR状态108,把来自测试数据更新寄存器的新的并行数据装载到通过指令译码128选择的测试数据寄存器,由此完成测试数据寄存器扫描运行。从更新-DR状态108,根据TMS是低电平还是高电平,TAP控制器20可以分别转移到运行-测试/空闲状态101或选择-DR-扫描状态102。
如果进入选择-IR-扫描状态109,则根据TMS是低还是高,TAP控制器20可分别转移到获取-IR-状态110发起指令寄存器扫描运行或转移到测试-逻辑-复位状态100。如果转移到指令寄存器扫描运行,则在获取-IR 110、移位-IR 111、出口1-IR 112、暂停-IR 113、出口2-IR114、和更新-IR 115状态中的运行类似于对于测试数据寄存器扫描运行在模拟状态执行的运行。根据TMS是低还是高,从更新-IR 115状态的下一个状态转移可以分别是运行-测试/空闲状态101或选择-DR-扫描状态102。
如果TAP控制器20从选择-IR-扫描状态109转移到测试-逻辑-复位状态100,则TAP控制器20将生成控制信号,发起指令寄存器(图2的130)和复位预定的寄存器(例如,图2的120、122和124)的用户选择的比特。
此后所指的术语“TAP”将被理解为包括如图2所示的和IEEE标准1149.1规定的TAP控制器(例如,20)、指令寄存器(例如,130)、测试数据寄存器(例如,120、122、124和126)、和TDO复接(132、134)。
IEEE标准1149.1是由电子电路测试协会在IC只包括单个TAP的假设下开发的。然而,今天IC可包括多个TAP,因为IC是通过使用可重用模块被设计的,其中每个模块可包括TAP。可重用模块是完全的电路功能,诸如数字信号处理器、CPU、测试控制块、或其他功能块,以及可以具有它自己的TAP,可被用作为从外部1149.1测试总线(例如,图1的测试总线31)访问到可重用模块(例如,图1的14)内的寄存器的子电路。
所以,包含多个可重用模块的IC可包括多个TAP。由这个解决方案带来的问题是,为了满足IEEE 1149.1标准,仅仅单个IC级别TAP应当是可看见的,但为了达到访问到可重用模块的内部寄存器,也需要访问到可重用模块TAP。所以,必须使用某种IC级别控制电路来提供从外部IEEE标准1149.1测试总线(例如,测试总线31)到IC级别TAP(例如,逻辑38的一部分)和到被包括在可重用模块(例如,14)内的每个TAP的访问。
现有技术提出这个问题的一个解决方案,它提供经由任何选择的TAP控制器到单个寄存器的访问,其状态机控制可以由驱动选择的TAP控制器状态到想要的状态的外部生成的信号选择地超越。方法也提供一个或多个附加TAP指令,它是可译码来选择外部数据路径。从单个IEEE标准1149.1 TAP接口的TAP的以后的访问允许与不同的TAP有关的测试运行在时间上互相重叠。
在现有技术教导的解决方案中固有的、非常重要的问题是,在每个可重用模块14、16中的IEEE标准1149.1 TAP控制器状态机必须被修正成包括附加指令和附加控制输入;以及必须修正它的状态图,以使得当在更新-DR状态时(图3的108),它根据附加输入的数值转移到运行-测试/空闲状态(图3的101)或选择-DR-扫描状态(图3的102)。这个附加控制输入的效果是提供选择新的工作的TAP控制器而同时迫使非选择的TAP到空闲状态的措施。虽然这个方法对于新的器件是可行的,但它对于不能改变的物理设计是不可行的,所以不能使用。
本发明解决了现有技术方法不能解决的问题。本发明对于解决方案提出附加的和非常重要的约束条件用于可重用模块的TAP控制器状态不能改变。这是许多IC的现实情形。在许多情形下,不可能或非常昂贵地改变正在被重用的芯片的模块中的TAP控制器状态机。在一个实施例中,本发明允许通过使用IEEE标准1149.1外部测试总线,而不需要可重用模块的TAP控制器状态机的任何改变,选择和控制各个TAP。在一个实施例中,本发明提供用于动态地重新配置IC中的多个TAP的方法,而不用修正可重用模块的标准TAP控制器状态机。最后,对于本发明的某些实施例不需要附加的IC管脚/端子或外部端子资源。
图4以方框图形式显示按照本发明的图1的电路18的一部分的一个实施例。图4显示重复状态机(例如,图1的26)可被耦合到外部输入,包括测试时钟(TCK)60、测试模式选择(TMS)61、测试复位(TRST)62、和开关控制63的一个方式。开关控制信号63被使用来允许改变开关更新寄存器52的内容,它又控制开关电路50。控制生成逻辑24的显示的部分的输出是控制信号34和36(包括用于模块1到N的TMS信号),以及用于每个可重用模块的数据信号33和35(包括用于每个模块1到N的TDI和TDO信号)。重复状态机(DSM)26通过与状态有关的信息32提供与在可重用模块中其他相同的状态机的状态机同步。译码和门电路59利用DSM 26的当前的状态和开关控制63,生成输出控制信号DSM_UpdateDR 70、DSM_ShiftDR 71、DSM_ClockDR 72、DSM_SelectDR 73、和DSM_ResetDR 70,被使用于控制在集成电路10的可重用模块(例如,14,16)中所有的未修正的状态机(例如,20,22)的配置。
在本发明的一个实施例中,TAP互联模块(TIM)9经由IEEE标准1149.1测试总线被耦合到图1的每个可重用模块(例如,14,16),每个TAP具有专用的连接。替换实施例可以使用其他的用于测试总线31的测试总线协议(见图1)。在一个实施例中,TIM 9包含主机级别TAP控制器(重复状态机26连同译码与门电路59)、被耦合到译码器54和提供加到开关更新寄存器52的控制输入的串行移位寄存器56、和开关电路50。响应于DSM_UpdateDR信号70,开关更新寄存器52的内容从译码器54被更新以及被转移到开关电路50,以及连同测试数据输入信号(TDI)和测试模式选择信号(TMS)一起被使用来分开地控制可重用模块14、16中的每个TAP。在TIM 9中的TAP控制器使IEEE标准1149.1管脚/端信号通过图3所示的标准TAP状态。开关更新寄存器52被使用来控制在可重用模块14、16内多个TAP的配置。
TMI 9的功能是用作为IC级别TAP控制器,以及允许各个选择在可重用模块14、16内的TAP。TIM 9生成用于每个可重用模块TAP的公共复位和测试时钟信号,以及各个控制信号组(TD1_1到TD1_N和TMS_1到TMS_N)。TIM 9接收独特的输出TDO_1到TDO_N,其中N是用于所有的可重用模块14,16的TAP的总数。
被包括在TIM 9内的开关电路50把用于选择的TAP的各个TDI和TDO信号(1到N)耦合在一起,形成在软件或硬件控制下以任何想要的次序的TAP的串行扫描链。生成各个控制信号,例如TDI_1到TDI_N,而不是从IC TDI输入管脚/端子12简单地广播它的必要性取决于被使用来实施用于TIM 9的选择信号。在图4上,TIM选择信号(开关控制63)是通过外部IC管脚/端子12提供的。本发明的替换实施例可以通过IC 10上的内部构建的测试电路从电路板上的IC10控制TIM 9。
图4所示的重复状态机(DSM)26遵循图3所示的状态机图,以及使得TIM 9能够跟踪在可重用模块14,16中的未修正的TAP状态机(图1的20,22)的状态。TIM 9 TAP控制器通过控制信号34,36也提供复位信号到由外部TRST信号通过集成电路端子12,或由达到测试-逻辑/复位状态100的TIM 9 TAP控制器(见图3)宣称的、可重用模块14,16中的每个TAP状态机。当TIM选择控制信号(开关控制63)被宣称时,将使得TIM 9 TAP控制器能够在适当的状态时生成DSM_ShiftDR信号71、DSM_clockDR信号72、DSM_UpdateDR信号70和DSM_Select信号73(在功能上类似于如在IEEE标准1149.1中规定的ShiftDR,ClockDR,UpdateDR,和选择信号)。译码和门电路59提供用于TIM移位寄存器56、译码器54、开关更新移位寄存器52、和开关电路50的控制逻辑。
由IEEE标准1149.1测试总线信号TDI 64提供的串行输入数据呈现给TIM移位寄存器56和被译码,如图4所示。当TIM 9通过外部提供的开关控制信号63的宣称被选择和TIM TAP控制器达到更新-DR状态(图3的108)时,DSM_UpdateDR 70将被宣称,以及开关更新寄存器52用来自译码器54的新的数值被更新,它被使用来控制图4所示的开关电路50。
在可重用模块14、16中所有的TAP通过控制信号34和36接收相同的TCK和DSM_Reset控制信号。开关电路50通过把各个IEEE标准1149.1测试总线信号TMS和TDI分别提供到可重用模块14、16中每个TAP而控制可重用模块14、16的选择和扫描链次序。呈现选择可重用模块14、16中一个或多个TAP和级联想要的可重用模块14、16的各个指令和数据寄存器的灵活性。不需要修正可重用模块14、16中的IEEE标准1149.1 TAP实施方案。
在可重用模块14、16中所有禁止的TAP通过开关电路50强迫在TCK的下降沿期间要被禁止的每个TAP的TMS信号为零(0),而“停留”在运行-测试/空闲状态101(见图3),而TAP状态机处在更新-DR状态108,它强迫TAP在TCK的下一个上升沿时进入运行-测试/空闲状态101。禁止的TAP控制器就保持在运行-测试/空闲状态101,而TMS信号保持在强迫为零(0)。
在本发明的一个实施例中,在可重用模块14、16中所有启用的TAP的状态需要处在相同的状态。所以,必须有一个方法确保启用的和重新启用的模块的状态同步。为了启用和重新启用在可重用模块14、16中的TAP,开关电路50在TCK 60的下降沿期间把这些可重用模块14、16的TMS输入耦合到定制的TMS信号34和36,而TIM9 TAP状态机处在更新-DR状态108。这些可重用模块14、16的TMS输入在TCK 60的下一个上升沿处被采样。对于所有的启用的TAP控制器的以后的状态将是运行-测试/空闲状态101,如果TMS是零(0),或是选择-DR-扫描状态102,如果TMS是一(1)。为了确保在可重用模块14、16中的新禁止的TAP控制器进入运行-测试/空闲状态101,它们的TMS输入在TCK 60的下降沿期间被驱动为零(0),而TAP状态机处在更新-DR状态108。TMS输入在TCK的下一个上升沿被采样。新的禁止的TAP控制器的以后的状态将是运行-测试/空闲状态101,因为在可重用模块14/16中这些TAP控制器的TMS输入是零(0)。禁止的TAP控制器的TMS输入将保持被驱动到零(0),与TMS 61的数值无关,直至新的开关配置信息被提供到开关电路50时为止,这将使得可重用模块14、16中的禁止的TAP控制器成为重新启用的。
通过执行在更新-DR状态108中所有的切换活动,在可重用模块14、16中启用的和重新启用的TAP控制器的选择-DR-扫描状态102中所有的状态机的同步得以保证。如果在更新-DR状态108中,TMS被迫使为低电平,即零(0),在可重用模块14、16中所有的TAP控制器在TCK的下一个上升沿以后将是运行-测试/空闲状态101。替换地,如果在更新-DR状态108中,TMS被驱动为高电平,即一(1),则在可重用模块14、16中所有的TAP控制器在TCK的下一个上升沿时将转移到选择-DR-扫描状态102,而可重用模块14、16中的禁止的TAP将转移到或保持为运行-测试/空闲状态101。
在一个实施例中,扫描链配置被开关电路50通过把外部信号TDI64耦合到用于第一启用的可重用模块14、16的TAP控制器而被控制。这个可重用模块14、16的TDO输出然后藉助于开关电路50被复接到下一个启用的可重用模块14、16的TDI输入。这个过程对于每个启用的可重用模块14、16继续进行。最后的启用的可重用模块14、16的TDO输出被耦合到输出复接器58,它驱动测试数据输出(TDO)65。禁止的可重用模块14、16的TDI输入是无意义的,它可被开关电路50驱动为一(1)或零(0)。
可重用模决14、16和扫描链次序的选择由开关电路50控制。配置可以通过把由译码器54译码的新的控制字扫描到移位寄存器56而被改变。当输出DSM_UpdateDR 70被宣称时,译码的数值在更新-DR状态108期间由TIM 9 TAP控制器转移到开关更新寄存器52。然而,对于要出现的这个运行序列,必须选择TIM 9模块;否则,DSM_UpdateDR信号70在更新-DR状态108不被宣称,以及开关更新寄存器52将不改变。
在图4所示的本发明的实施例中,TIM 9的选择由外部选择管脚/端子(它被显示为图4的外部提供的开关控制输入63)控制。这个TIM 9选择管脚/端子12(见图1),可以在更新-IR状态115期间被采样和被锁存,或可以在以后输入新的配置信息期间需要保持宣称的,取决于本发明的具体的实施例。当以后进入移位-DR状态104时,串行移位寄存器56接收的新的数值,然后它被译码。如果和仅仅在外部TIM 9选择管脚/端12被宣称(或对于某些实施例在以前的更新-IR状态115期间宣称时被获取),控制信号DSM_UpdateDR 70被宣称,以及译码器54输出被锁存到开关更新寄存器52,因此改变如由开关电路50控制的、在可重用模块14、16中TAP的选择和次序。
图5显示本发明的替换实施例,它避免外部IC管脚/端12控制TIM的控制选择的需要。而是,把开关控制逻辑块80加到IC 10,以实施TIM 9选择。另外,加到开关电路50的测试数据输入(TDI)的源从64改变到开关控制80的修正的TDI输出82。开关控制逻辑80通过来自重复状态机26的控制信号组86接收外部TDI信号64和生成修正的TDI信号82。开关控制逻辑块80也生成附加输出信号TIM选择98,它在被宣称时,选择TIM 9。在所有的其他方面,图5的电路可以按以上对于图4描述的方式运行。
图6显示图5所示的开关控制逻辑块80的一部分的细节。图6的输入信号是TDI 64,它通过管脚/端12(见图1)被耦合到外部测试总线,以及由重复状态机26生成的四个控制信号。四个控制信号是DSM_Reset 74、DSM_ClockIR 95、DSM_UpdateIR 96、DSM_SelectIR97。这四个控制信号在重复状态机26的适当的状态期间被生成,以及不因为TIM 9的选择而被调节。当宣称DSM_Reset 74时DSM指令寄存器92被强迫为一(1),它中途淘汰择TIM 9。当数据运行的串行扫描运行正在进行时,外部信号TDI 64传送到复接器94,不被开关控制逻辑80改变,以及成为修正的TDI信号82。当对于指令数据正在进行串行扫描运行时,DSM指令移位寄存器90藉助于MUX 94被插入在TDI信号64与修正的TDI信号82之间,DSM_SlectIR 97被宣称使得DSM指令移位寄存器90的输出由MUX 94在修正的TDI信号82上被驱动。因此,在数据与指令运行之间的差别由DSM_SlectIR 97被提供,它作为重复状态机26的译码的输出被生成,以及在控制逻辑86中的信号之一。用于DSM指令移位寄存器90的移位时钟和DSM指令寄存器92的更新分别由重复状态机输出信号DSM_ClockIR 95和DSM_UpdateIR 96控制,它们不会因为TIM 9的选择而被调节。
当指令数据被移位时,加上DSM指令寄存器比特(DSM指令移位寄存器90)作为指令寄存器移位路径中的额外移位寄存器比特。指令帧是所有的启用的可重用模块TAP指令寄存器比特宽度的总和。所以,当用户选择新的指令时,再一个比特被加到指令帧,用于DSM指令移位寄存器90的额外移位寄存器比特,它是对于可重用模块14、16中启用的TAP的级联的指令寄存器预先待决的。
当正在进行指令扫描时,DSM_SelectIR信号97选择复接器94的DSM指令移位寄存器90输入,它把1比特DSM指令移位寄存器90有效地插入到指令扫描路径。由重复状态机26生成的控制信号DSM_ClockIR 96控制DSM指令移位寄存器90的移位。当指令扫描运行完成移位,从而在可重用模块14、16中的所有当前选择的TAP的DSM指令移位寄存器90和指令寄存器中构成指令比特帧时,TIM_UpdateIR信号96把DSM指令移位寄存器90转移到DSM指令寄存器92,以及TIM_SELECT信号98的数值被改变成与DSM移位寄存器比特90的数值相匹配。
当想要TAP的新的配置时,用于TIM 9的DSM指令移位寄存器比特90被填充以零(0),一旦达到UpdateIR状态115,这就使得TIM 9被选择,以及其他当前选择的TAP指令寄存器130(见图2)被填充以旁路指令,它们实际上是不操作。当进入UpdateIR状态115时,DSM指令移位寄存器90被采样和被锁存到DSM指令寄存器92,以及这个数值作为TIM_SELECT 98被提供。一旦TIM_SELECT 98被宣称,就使得译码和门电路59能够生成DSM_ShiftDR 71、DSM_ClockDR 72、DSM_SelectDR 73、和DSM_UpdateDR 70,当处在适当的DSM状态时。当进入以后的移位-DR状态104时,TIM移位寄存器56(见图5)被耦合到IC 10的TDO管脚/端子,以及新的配置信息被移位到移位寄存器56。在进入更新-DR状态108后,DSM_UpdateDR 70被宣称,以及译码的移位寄存器值从译码器54被转移到开关更新寄存器52,然后它装载新的配置控制数据。
可以看到,图5和6所示的、本发明的实施例把预先待决的单个比特指令加到所有的启用的可重用模块14、16的级联的指令。这个单个比特指令被使用来确定TIM 9是被选择用于以后的数据运行还是被禁止。如果是启用的,则以后的数据运行装载新的配置控制信息用于开关电路50。
图7显示本发明的再一个实施例,它解决完全不同的形式的TIM9选择的问题,这既不需要管脚/端子12,也不需要对于外部逻辑操作IC 10的TAP可看见的指令寄存器(例如,图6上的92)的扩展。而是,使用开关控制逻辑81中内部自选择电路(见图8),这使得根据匹配预定的N比特签名来宣称TIM_SELECT信号98。
图7的开关控制逻辑81包括签名生成逻辑(例如,图8的140)和接收来自重复状态机26的状态有关的信息,以及任选地,测试信号输入64。在一个实施例中,签名是基于状态信息,而在另一个实施例中,签名是基于测试数据输入。本发明的替换实施例可以使得签名基于状态信息和测试数据输入的组合,或使得签名基于无论什么想要的信息。
图8显示图7的开关控制逻辑81的一个实施例。输入控制信号是Signature_CLK 150、Signature_DATA 151、Signature_RESET 152、和DSM_UpdateIR 149。N比特预定的签名电路142是存储一个或多个预定的签名值的非易失性贮存元件。电路142可以包含寄存器贮存比特,可以是硬件的逻辑电平,或可以从开关控制逻辑81外部的信号被提供。当宣称Signature_RESET 152时,签名移位寄存器140被初始化成非匹配数值,SIR锁存器148被复位,以及开关控制输出信号84被驱动使得TIM 9不被选择。
签名寄存器时钟,Signature_CLK 150,是门控制的时钟,它在预定的事件发生(诸如,进入图3所示的预定的TAP控制器状态)之前是“关断”的。在触发签名寄存器时钟后,使得Signature_CLK 150能够遵循测试数据时钟,TCK 60(见图7)。Signature_CLK 150在达到另一个预定的事件后,诸如进入图3所示的TAP控制器状态的预定的状态,再次被关断。Signature_RESET 152和Signature_CLK 150的严格的控制对于防止由非故意的签名匹配引起的签名混淆是必要的。
当N比特数据被移位到签名移位寄存器140时,通过使用N比特比较器144,进入的签名与被存储在预定的签名电路142中的预期的签名进行比较。比较器144的输出只在DSM_UpdateIR 149出现时才被采样。比较器结果然后通过146门控制到SR锁存器148,它输出输出TIM_Select 98来控制TIM 9选择。如果进入的签名与预期的签名相匹配,则SR锁存器148被设置成使得TIM 9被选择;否则,SR锁存器保持清除,以及TIM 9不被开关控制84选择。
可被使用来构建签名的一个示例性方法是通过使用外部TMS信号12获取DSM TAP控制器的状态行进历史的子集作为签名数据。通过这个方法,用户知道对于生成匹配的信号所需要的状态历史,以及当希望进行TIM 9选择时,生成这个序列是用户的责任。
为了防止混淆,在获取-IR状态110期间签名移位寄存器140通过宣称宣称Signature_RESET信号152被预先装载有非匹配的数值(见图3)。门控制的时钟信号,即Signature_CLK 150,然后能够把获取每个以后的TMS值的时钟控制提供到签名移位寄存器140,直至Signature_CLK 150在达到移位-IR状态111后被禁止为止。
在达到移位-IR状态111后,Signature_CLK 150被关断,以及在签名移位寄存器140中获取的最后的进入的签名与被存储在预定的签名电路142中的预期的签名进行比较。在更新-IR状态115期间,比较器输出144被选通到SR锁存器148以及如果它们匹配的话,则宣称TIM_SELSECT信号98,以及如果它们不匹配,则它被否认。
图9显示图3上粗黑线显示的预定的状态行进序列产生的示例性签名的结果。图8的Signature_DATA信号151被选择为是在Signature_CLK 150上升沿采样的TMS 61,以及预定的7比特签名是TMS序列二进制0100001,最右面的“1”在Signature_CLK 150的第一上升沿被采样。在获取-IR状态110中启用后的TMS的签名与图3上粗黑线显示的以下的状态的行进相匹配出口1-IR 112、暂停-IR113、暂停-IR 113、暂停-IR 113、暂停-IR 113、出口2-IR 114、和移位-IR 111。在达到移位-IR 111状态时,签名时钟被关断,而停止移位,以及这两个签名进行比较。当更新-IR状态115以后行进时,比较的结果然后被装载到SR锁存器148。也可以使用具有不同的序列长度的其他状态行进签名,以及使用其他状态启用和禁止Signature_CLK 150,和复位签名移位寄存器140和SR锁存器148。在本发明的替换实施例中,确定签名比较的其他的方法也是可能的,例如,根据DSM 24,26的一个或多个状态或根据DSM 24,26的一个或多个特定的状态转移,选择地启用和禁止Signature_CLK 150。
也可使用其他签名方法。例如,在暂停-IR状态113时,TDI 64管脚/端子12数值通常是不重要的。所以,选择TIM 9的基于签名的方法可以是基于在暂停IR状态113时采样TDI管脚/端子12N次,然后查找预定的独特的N比特签名。使得IC 10的用户知道匹配的序列,以及当希望访问到TIM 9时,用户具有生成预定的事件序列以产生匹配的序列的责任。在本方法中,Signature_RESET信号152被不同于暂停-IR状态113的状态触发,初始化签名移位寄存器140。Signature_CLK 150只在暂停-IR状态113时才是启用的。IC 10的用户将在需要的数目的时钟内把TAP控制器保持在暂停-IR状态113,在TDI管脚/端子12提供预期的数值序列,这然后使得在更新-IR状态115下宣称TIM_SELECT信号98。
利用一个或多个获取的状态历史的序列与一个或多个获取的TDI 64的序列组合的签名的组合也可被使用来启用选择TIM 9用于访问。正如可以看到的,本发明的范围不限于特定的序列或用于选择TIM 9的签名信息的获取的方法。
在以上的说明书中,本发明是参照具体的实施例描述的。然而,本领域普通技术人员将会看到,可以在不背离如下面权利要求中阐述的本发明的范围的条件下,作出各种修正和改变。因此,本说明书和附图被看作为说明性而不是限制意义的,以及所有这样的限制打算包括在本发明的范围内。应当指出,本发明并不限于任何特定的测试标准(例如,IEEE标准1149.1),以及事实上无论如何不限于测试领域。例如,本发明在没有能力或只有有限的能力修正原先的状态机的任何应用中是有用的。例如,如果原先的状态机的附加能力是希望的(在任何模式下,包括正常运行,测试等等),则可以把附加能力加到重复状态机,以及从重复状态机输出的控制信号可以从重复状态机路由到原先的状态机的输出或要使用控制信号的任何地方。当把原先的或预先存在的电路的一个或多个块集成到单个集成电路时这可能是非常有用的方法。
以上对于具体的实施例描述了好处、其他优点和对问题的解决方案。然而,好处、其他优点、对问题的解决方案和可以使得任何好处、优点或解决方案出现或更加明显的任何元素不认为是任一或所有的权利要求的关键的、需要的、或必要的特征或元素。
权利要求
1.一种集成电路,包括多个集成电路端子;多个可重用模块,每个具有未修正的状态机;以及控制逻辑,被耦合到每个未修正的状态机和多个集成电路端子,控制逻辑具有把集成电路端子的第一部分耦合到至少一个未修正的状态机的第一配置,控制逻辑被耦合来根据开关控制信号选择地接收第二结构,第二结构把集成电路端子的第二部分耦合到至少一个未修正的状态机。
2.一种集成电路,包括多个集成电路端子;第一可重用模块,具有第一未修正的状态机;第二可重用模块,具有第二未修正的状态机;开关电路,被耦合到第一和第二未修正的状态机和多个集成电路端子;以及开关更新寄存器,被耦合来提供配置信息到开关电路,其中开关电路根据配置信息把多个集成电路端子的至少一部分耦合到第一和第二未修正的状态机的至少一个。
3.权利要求2的集成电路,其中开关更新寄存器被耦合来根据开关控制信号选择地接收配置信息,以及其中集成电路还包括开关控制电路,其中开关控制信号由开关控制电路提供;以及重复状态机,被耦合来接收开关控制信号,被耦合来把多个重复状态机控制信号提供到开关控制电路,以及被耦合来根据开关控制信号把更新控制提供到开关更新寄存器。
4.权利要求3的集成电路,其中重复状态机的至少一部分是第一和第二未修正的状态机的至少之一的至少一部分的重复。
5.权利要求3的集成电路,其中开关控制电路包括预定的签名寄存器;签名获取寄存器,被耦合到重复状态机,用于接收签名;比较器,被耦合到预定的签名寄存器和签名获取寄存器,比较器具有输出以提供比较结果,其中开关控制信号基于该比较结果。
6.一种用于在具有多个集成电路端子的集成电路中配置集成电路的方法,包括提供具有第一多个输入的第一可重用模块未修正的状态机;提供具有第二多个输入的第二可重用模块未修正的状态机,其中第一多个输入和第二多个输入形成多个未修正的状态机输入;提供第一配置,第一配置把多个集成电路端子的第一部分耦合到多个未修正的状态机输入的第一部分;以及提供第二配置代替第一配置,而不修正第一和第二可重用模块未修正的状态机,其中第二配置把第二多个集成电路端子耦合到多个未修正的状态机输入的第二部分。
7.权利要求6的方法,还包括确定签名;以及把该签名与预定的签名进行比较;其中响应把该签名与预定的签名进行比较,进行提供第二配置代替第一配置。
8.权利要求7的方法,还包括提供重复状态机,其中重复状态机的至少一部分是第一和第二未修正的状态机的至少之一的至少一部分的重复。
9.权利要求8的方法,其中确定签名包括获取相应于重复状态机的预定的信息组作为签名。
10.用于在具有多个集成电路端子的集成电路中配置集成电路的方法,包括提供具有第一多个输入的第一可重用模块;提供具有第二多个输入的第二可重用模块,其中第一多个输入和第二多个输入形成多个可重用模块输入;提供第一配置,把多个集成电路端子的第一部分耦合到多个可重用模块输入的第一部分;确定签名;把签名与预定的签名进行比较;以及响应于比较,选择地提供第二配置代替第一配置,其中第二配置把第二多个集成电路端子耦合到多个可重用模块输入的第二部分。
11.一种集成电路,包括配置电路,被耦合来根据控制信号选择地更新集成电路的至少一部分的配置;以及控制电路,被耦合到配置电路,控制电路包括预定的签名寄存器;签名获取寄存器,被耦合来接收签名;以及比较器,被耦合到预定的签名寄存器和签名获取寄存器,该比较器具有输出以提供比较结果,其中控制信号基于比较结果。
12.一种集成电路,包括配置电路,被耦合来根据控制信号选择地更新集成电路的至少一部分的配置;以及控制电路,具有用于接收输入数据的输入和用于根据输入数据把修正的数据提供到配置电路的输出,该控制电路包括指令扩展寄存器,被耦合到多个集成电路端子的至少之一以便接收扩展部分;以及选择电路,被耦合到多个集成电路端子的至少之一和指令扩展寄存器,以便选择地提供接收到的数据输入和扩展部分作为修正的输入数据,以及其中控制信号基于扩展部分。
13.一种用于创建签名的方法,包括提供状态机;以及行进状态机,其中在行进状态机期间,获取状态机信息以创建签名。
14.权利要求13的方法,其中获取的状态机信息包括状态历史信息。
全文摘要
在一个实施例中,使用一个或多个可重用模块(14,16)的集成电路(10)可以使用由重复状态机(26,28)或未修正的状态机(20,22)生成的签名来选择、控制、或影响集成电路(10)上的资源,其中影响资源不是未修正的状态机(20,22)的原始设计和状态图的部分。在一个实施例中,提供了用于动态重新配置在IC(10)上可重用模块(14,16)中的多个测试电路而不用修正在可重用模块(14,16)中的控制器状态机(20,22)的方法和装置。
文档编号G06F7/00GK1656386SQ03812402
公开日2005年8月17日 申请日期2003年5月9日 优先权日2002年5月29日
发明者威廉斯·C·莫耶, 小威廉姆·C·布鲁斯 申请人:飞思卡尔半导体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1