专利名称:改进全速测试访问端口操作的制作方法
改进全速测试访问端ロ操作
背景技术:
IEEEl 149.1测试访问端ロ(TAP)在半导体エ业中被广泛用作控制许多类型的嵌入式IC电路的IC接ロ,例如但不限于,测试电路、调试电路、编程电路、仪器电路和追踪电路。TAP被证明是过去20年中对控制嵌入式IC电路的操作是有效的。然而,TAP没有被证明对控制依赖于全速更新&捕获和移位&捕获(at speed Update&Capture andShift&Capture)操作的嵌入式IC电路的操作是有效的。本公开的第一部分(图1_7)描述了全速更新&捕获和移位&捕获问题。本公开的第二部分(图8-41)描述了使用各种示例实现的对这个问题的新解决方法。
发明内容
本公开描述了新的解决方法,其通过将TAP扩充有额外的电路来解决TAP的全速更新&捕获和移位&捕获问题。在图8-28的第一个公开的解决方法中,通过将CMD信号时分多路复用到TAP的输入并且将CMD信号输入到控制数据寄存器的全速操作的命令(CMD)电路,以此实现全速操作。在图29A-33的第二公开的解决方法中,通过检测TAP的ExitlDR状态从而向控制数据寄存器的全速操作的CMD电路产生CMD信号,以此实现全速操作。在图34A-38的第三个公开的解决方法中,通过检测TAP的ExitlDR和PauseDR状态从而产生经由可编程开关(PSW)电路被输入到数据寄存器的全速更新和捕获信号,以此实现全速操作。在图39-41的第四个公开的解决方法中,通过检测TAP的ExitlDR和PauseDR状态从而产生经由双端ロ路由器被输入到数据寄存器的全速更新和捕获信号,以此实现全速操作。全部所公开的解决方法可以扩充有外部可访问的更新和捕获信号,从而允许测试器直接控制数据寄存器的全速操作。
图1 示出 IEEEl 149.1TAP 架构。图2示出用于将Tap状态机(TSM)数据寄存器控制(DRC)信号路由到数据寄存器的路由器电路。图3示出TSM的状态图。图4示出由TSM经由路由器控制异步CSU数据寄存器。图5示出由TSM经由路由器控制同步CSU数据寄存器。图6示出由TSM经由路由器控制异步CS数据寄存器。图7示出由TSM经由路由器控制同步CS数据寄存器。图8示出根据本公开的扩充有命令(CMD)电路和双端ロ路由器的IEEE1149.1TAP。图9示出根据本公开的用于将DRC信号从TSM或者CMD电路路由到数据寄存器的双端ロ路由器电路。图10示出根据本公开的用于使用CMD电路执行CS或者CSU操作的时序图。图11示出根据本公开的由TSM或者CMD电路经由双端ロ路由器控制的异步CSU数据寄存器。图12示出根据本公开的由TSM或者CMD电路经由双端ロ路由器控制的同步CSU数据寄存器。图13示出根据本公开的由TSM或者CMD电路经由双端ロ路由器控制的异步CS数据寄存器。图14示出根据本公开的由TSM或者CMD电路经由双端ロ路由器控制的同步CS数据寄存器。图15示出根据本公开的由TSM或者CMD电路经由双端ロ路由器控制的异步CS数据寄存器。图16示出根据本公开的由TSM或者CMD电路经由双端ロ路由器控制的第一测试压缩架构。图17示出根据本公开的由TSM或者CMD电路经由双端ロ路由器控制的第二测试压缩架构。图18示出根据本公开的由TSM或者CMD电路经由双端ロ路由器控制的IEEE1500外壳(wrapper)架构。图19示出根据本公开的由TSM或者CMD电路经由双端ロ路由器控制的读取/写入电路架构。图20示出根据本公开的由TSM或者CMD电路经由双端ロ路由器控制的IEEEP1687仪器构造。图21示出根据本公开的执行外部测试操作的第一菊花链装置。图22示出根据本公开的执行内部测试操作的第二菊花链装置。图23示出JTAG/1149.1总线控制器。图24示出根据本公开的扩充有CMD电路的控制的JTAG/1149.1总线。图25示出根据本公开的JTAG控制器CMD电路的示例实现。图26示出根据本公开的经由双端ロ路由器可连接到具有附加Capture和Update输入的TSM或者CMD电路的CSU或者CS电路。图27示出根据本公开的具有Capture输入的CMD电路。图28示出根据本公开的具有Capture和Update输入的CMD电路。图29A示出根据本公开的扩充有从TSM接收CMD信号的CMD电路的IEEEl149.1TAP。图29B示出根据本公开的当TSM处于ExitlDR状态时将CMD信号输出到CMD电路的门控电路。图30示出根据本公开的TSM将CMD信号输出到CMD电路以执行CSOP、CSUOP和B2BCS0P操作的时序图。图31示出根据本公开的由接收用于TSM的CMD信号的CMD电路控制的数据寄存器。图32示出根据本公开的在某些TSM状态期间用于在TSM的ClockDR输出上产生时钟信号的电路。图33示出根据本公开的经由双端ロ路由器可连接到具有附加捕获和更新输入的TSM或者CMD电路的CSU或者CS电路。图34A示出根据本公开的扩充有从TSM接收控制信号的可编程开关(PSW)电路的IEEEl149.1TAP。图34B示出根据本公开的当TSM处于ExitlDR或者PauseDR状态时将控制信号输出到PSW的门控电路。图35示出根据本公开的TSM将控制信号输出到PSW电路以执行CSOP、CSUOP和B2BCS0P操作的时序图。图36示出根据本公开的由从TSM接收控制信号的PSW控制的数据寄存器。图37示出根据本公开的经由双端ロ路由器可连接到具有附加Capture和Update输入的TSM或者PSW电路的CSU或者CS电路。图38示出根据本公开的具有Capture和Update输入的PSW电路。图39示出根据本公开的扩充有TSM ExitlDR和PauseDR状态检测电路和双端ロ路由器的 ffiEE1149.1TAP。图40示出根据本公开的扩充有TSM ExitlDR和PauseDR状态检测电路、多路复用器和双端ロ路由器的IEEE1149.1TAP。图41示出根据本公开的经由双端ロ路由器可连接到DRC多路复用器的CSU或者CS电路。
具体实施例方式图1示出现有技术的示例TAP架构100,其包括TAP状态机(TSM)102、指令寄存器104、数据寄存器106、数据寄存器控制(DRC)信号路由器108和TDO多路复用器(MX) 110。TSM通过图3所示的状态操作从而;(I)将TAP置于测试逻辑复位状态,(2)将TAP置于运行测试/空闲状态,(3)执行指令寄存器扫描操作,或者(4)执行数据寄存器扫描操作。指令寄存器输出数据寄存器使能(DRE)信号,该信号选择TSM的DRC信号经过路由器到要被访问的数据寄存器。图2示出路由器108,其包括路由电路202,这些路由电路202将TSM的DRC输出连接到数据寄存器(DR) 106的DRC输入。一旦连接,可以通过将TAP状态机在其选择数据寄存器(SelectDR)、捕获数据寄存器(CaptureDR)、移位数据寄存器(ShiftDR)、退出I数据寄存器(ExitlDR)和更新数据寄存器(UpdateDR)状态之间进行转换,以此从测试数据输入(TDI)到测试数据输出(TDO)访问数据寄存器,如图3的TAP的TSM状态图中所示。图4示出异步捕获、移位和更新(CSU)数据寄存器402,其经由路由电路108连接到TSM102。在这个路由电路示例以及后面的其他路由电路示例中,路由电路108包括门控电路,当已经选择数据寄存器402以便DRE指令输入访问时,该门控电路允许TSM控制数据寄存器402。异步意味着数据寄存器由TSM的门控ClockDR输出提供时序。CSU类型数据寄存器,例如IEEE1149.1边界扫描寄存器,是众所周知的。如本领域中全部已知的,响应于DRE输入,路由器电路的门控电路将TSM的ClockDR、ShiftDR和UpdateDR输出连接到数据寄存器ClockDR、ShiftDR和UpdateDR输入。一旦连接,TSM通过图3的其SelectDR、CaptureDR、ShiftDR、ExitlDR和UpdateDR状态转换,从而操作数据寄存器。当数据寄存器没有正在被TSM访问吋,由DRE输入设置路由电路108的门控电路,将数据寄存器的ClockDR、ShiftDR和UpdateDR输入置于不活动状态。
图5示出经由路由电路108连接到TSM102的同步CSU数据寄存器502。同步意味着数据寄存器由TCK信号提供时序。同步操作需要数据寄存器的扫描单元提供保持状态,使得当数据寄存器没有正在执行捕获(Capture )、移位(Shif t)或更新(Update )操作时,维持其当前状态。Capture信号指示TSM处于图3的CaptureDR状态,Shift信号指示TSM处于图3的ShiftDR状态,Update信号指示TSM处于图3的UpdateDR状态。响应于DRE输入,路由电路将TSM的捕获(Capture)、移位(Shift)和更新(Update)状态输出连接到数据寄存器捕获(Capture)、移位(Shift)和更新(Update)输入。一旦连接,TSM通过图3的其SelectDR、CaptureDR、ShiftDR、ExitlDR和UpdateDR状态的转换,从而操作数据寄存器。当数据寄存器没有正在被TSM访问吋,由DRE输入设置路由电路108的门控电路,将数据寄存器的Capture、Shift和Update输入置于不活动状态。图6示出异步捕获和移位(CS)数据寄存器602,其经由路由电路108连接到TSM102。CS类型数据寄存器,例如内部扫描路径寄存器,是众所周知的。响应于DRE输入,路由电路将TSM的ClockDR和ShifDR输出连接到数据寄存器ClockDR和ShiftDR输入。一旦连接,TSM 通过图 3 的其 SelectDR、CaptureDR、ShiftDR、ExitlDR 和 UpdateDR 状态的转换,从而操作数据寄存器。当数据寄存器没有正在被TSM访问吋,由DRE输入设置路由电路108的门控电路,将数据寄存器的ClockDR和ShiftDR输入置于不活动状态。图7示出同步CS数据寄存器702,其经由路由电路108连接到TSM102。响应于DRE输入,路由电路将TSM的Capture和Shift状态输出连接到数据寄存器Capture和Shift输入。一旦连接,TSM 通过图 3 的其 SelectDR、CaptureDR、ShiftDR、ExitlDR 和 UpdateDR状态的转换,从而操作数据寄存器。当数据寄存器没有正在被TSM访问吋,由DRE输入设置路由电路108的门控电路,将数据寄存器的Capture和Shift输入置于不活动状态。图4和图5的CSU扫描循环的TSM状态转换在虚线方框中示出了有问题的停滞状态SelectDR和ExitlDR。当更新操作发生在UpdateDR状态中时,在CaptureDR状态中发生捕获操作之前需要花费2.5个TCK。这阻止了全速更新&捕获扫描操作。图6和图7的CS扫描循环的TSM状态转换在虚线方框中示出了有问题的停滞状态SelectDR、ExitlDR和UpdateDR。当最后ー个移位操作发生在ShiftDR状态中时,在CaptureDR状态中发生捕获操作之前需要花费4个TCK。这阻止了全速移位&捕获扫描操作。图4-7的阻止全速CSU和CS扫描操作的停滞状态在本行业中是众所周知的。已经提出许多解决方法解决这个问题。下面描述并參考ー些早期的解决方法。解决方法I 是 IEEE Computer Society Pressl990 年出版的 Maunder 的“ TheTest Access Port and Boundary Scan Architecture” 的第 18 章。这个解决方法定义了ScanTest指令,其可以被加载到TAP指令寄存器,该寄存器将TSM状态分配“重新编程”到在最后ー个移位操作之后能够发生全速捕获操作的情形。这个解决方法消除了 CS扫描操作中的停滞状态,但是没有消除CSU扫描操作中的停滞状态。同样,该解决方法仅应用于独立的器件测试,即它不能够使用于当该器件与其他器件菊花链接吋。解决方法2 是 Whetsel 的论文“ Built-1n-Test Using Boundary Scan”,ATE&Instrumentation Conference, 1989,pgl5_22。该解决方法定义了 BIST 和 DelayTest指令,其可以被加载到TAP指令寄存器并且在运行测试/空闲状态执行,从而执行全速更新和捕获操作。这个解决方法没有解决CSU和CS扫描操作中的停滞状态问题。
解决方法3 是 Lofstrom 的论文“Early Capture for Boundary Scan TimingMeasurements,,,IEEE International Test Conference, 1996。该角军决方法定义了EarlyCapture指令,其可以被加载到TAP指令寄存器,从而允许TMS信号被用作在更新操作之后能够被应用的捕获时钟。这个解决方法提供了全速更新和捕获操作,但是其没有消除解决停滞状态的需要。其也仅对CSU扫描操作有用,而不是CS扫描操作。解决方法 4 是 IEEE Standardl149.6, uK Standard for Boundary Scan Testing of AdvancedDigital Networks”。该解决方法是基于新标准(IEEE1149.6),该标准定义了新的指令(ExtestPulse&ExtestTrain),这些指令允许在运行测试/空闲状态中执行全速更新和捕获操作。类似解决方法2,这个解决方法没有解决CSU和CS扫描操作中的停滞状态问题。第一个公开的解决方法-图8-33本公开中所描述的消除图4-7的有问题的停滞状态的第一个解决方法涉及用命令电路和双端ロ路由器扩充TAPlOO。命令电路和双端ロ路由器可以当TSM102处于图3的ShiftDR状态时进行操作,从而对CSU数据寄存器执行全速更新和捕获操作,并且对CS数据寄存器执行全速移位和捕获操作。图8示出TAP800,其已经扩充有命令(CMD)电路802和双端ロ路由器804,除此之夕卜,TAP800与图1的TAPlOO相同。CMD电路802具有连接到TCK、TMS、DRE的输入和DRC输出。双端ロ路由器804的一个端ロ连接到CMD电路的DRC输出,并且另一个端ロ连接到TSM的DRC输出。来自指令寄存器的DRE信号使能或者禁用CMD电路。DRE信号还控制双端ロ路由器,使得路由器到数据寄存器106的DRC输出可以如前所述的由TSM102控制,或者由CMD电路804控制。图9示出示例双端ロ路由器804,其包括路由电路902,响应于DRE输入,路由电路902将来自TSM的DRC输出连接到选定的数据寄存器106的DRC输入,或者将CMD电路的DRC输出连接到选定的数据寄存器106的DRC输入。如果数据寄存器连接到TSM的DRC输出,则其可以被访问,以便进行由TSM控制的CSU或者CS扫描操作,如前所述。如果数据寄存器连接到CMD电路的DRC输出,则其可以被访问,以便进行由CMD电路控制的CSU或者CS扫描操作。图10示出使用CMD电路执行CSU扫描操作(CSUOP) 1002或者CS扫描操作(CSOP)1004的时序。当CMD电路正在被用于访问数据寄存器吋,TSM将转换到ShiftDR状态1006并且保持在该状态。在ShiftDR状态中,数据寄存器将数据从TDI移位到TD0。在移位期间的适当时候,CMD信号1008经由TMS信号在TCK的下降沿处被输入到CMD电路。在CMD信号输入之间,无操作(NOP)信号1010经由TMS在TCK的下降沿处被输入到CMD电路。在CMD控制访问数据寄存器期间,TSM继续在TCK的上升沿处接收正常TMS输入1012,从而将TSM维持在ShiftDR状态。在CMD电路控制的扫描操作结束时,TSM将接收TMS输入,以转换离开ShiftDR状态,从而終止数据寄存器访问操作。如图10中所不,如果CSU类型数据寄存器正在被访问,则响应于CMD信号输入将执行CSU0P。CSUOP在最后ー个移位(移位N)操作之后执行更新操作1014,执行捕获操作1016,然后重新开始移位操作。姆次CMD信号被输入在TMS上时,重复这个更新、捕获和移位顺序。由于当CMD电路控制CSU数据寄存器吋,TSM保持在ShiftDR状态,所以在图10的CSUOP循环中没有停滞状态。同样如图10中所示,如果CS类型数据寄存器正在被访问,则响应于CMD信号输入将执行CSOP。CSOP在最后ー个移位(移位N)操作之后执行捕获操作1018,然后重新开始移位操作。姆次CMD信号被输入在TMS上时,重复这个捕获和移位顺序。由于当CMD电路控制CS数据寄存器吋,TSM保持在ShiftDR状态,所以在图10的CSOP循环中没有停滞状态。图11示出图4的异步CSU数据寄存器402经由示例双端ロ路由器804连接到TSM和CMD电路。DRE输入控制双端ロ路由器,从而允许数据寄存器如图4中所描述的由TSM访问,或者如图10中所描述的由CMD电路访问。这个示例中的CMD电路仅是两个串联连接的FF,它们在TCK的下降沿处输入来自TMS的CMD信号。在这个示例中的双端ロ路由器804仅是如图所示连接的多路复用器和门,它们由来自指令寄存器的DRE输入控制。当数据寄存器将由TSM控制时,DRE输入将来自TSM的ClockDR、ShiftDR和UpdateDR输出通过双端ロ路由器路由到数据寄存器的ClockDR、ShiftDR和UpdateDR输入。当数据寄存器将由CMD电路控制吋,DRE输入将来自CMD电路的捕获(C)和更新(U)信号以及来自TSM的ClockDR信号通过双端ロ路由器路由到数据寄存器的ClockDR、ShiftDR和UpdateDR输入。来自TSM的ClockDR输出将运行,因为TSM将处于ShiftDR状态。这个示例双端ロ路由器的第一端ロ被定义为是来自TSM的ClockDR、ShiftDR和UpdateDR输入。这个示例双端ロ路由器的第二端ロ被定义为是来自CMD电路的捕获(C)和更新(U)输入以及来自TSM的ClockDR输入。在由CMD电路访问期间,第一 FF输入来自TMS的CMD信号并且将更新(U)信号输出到双端ロ路由器,该双端ロ路由器将UpdateDR信号输出到数据寄存器,使数据寄存器执行更新操作。来自CMD电路的更新(U)信号与来自TSM的ClockDR信号是门控的,以在TCK的上升沿处在到数据寄存器的UpdateDR输入上产生更新时钟脉沖。然后CMD信号被移位到第二 FF中,第二 FF将捕获(C)信号输出到双端ロ路由器,该双端ロ路由器将ShiftDR信号上的逻辑电平输出到数据寄存器,使数据寄存器在ClockDR的下一个上升沿处执行捕获操作,这是由TCK驱动的。该更新(U)和捕获(C)信号在上升沿ClockDR操作期间是稳定的,因为它们在TCK的下降沿处被寄存在FF中。每次CMD信号被输入到CMD电路时,重复该更新和捕获操作顺序。尽管这个示例双端ロ路由器在ClockDR的上升沿处产生更新时钟脉冲,但是如果期望,另ー个示例双端ロ路由器可以在ClockDR的下降沿处产生更新时钟脉冲。尽管图11中未示出,但是如图9所示,这个CMD电路示例和随后的其他CMD电路示例的CMD电路的FF将在数据寄存器测试访问操作开始时由DRE输入初始化,使得更新(U)和捕获(C)输出不是有效的,直到接收到CMD信号。图12示出图5的同步CSU数据寄存器502经由示例双端ロ路由器804连接到TSM102和CMD电路802。DRE输入控制双端ロ路由器,从而允许数据寄存器如图5所描述的由TSM访问,或者如图10所描述的由CMD电路访问。数据寄存器由自由运行TCK提供时钟。在这个示例中的双端ロ路由器804仅是如图所示连接的多路复用器和门,它们由来自指令寄存器的DRE输入控制。当数据寄存器将由TSM控制吋,DRE输入将来自TSM的捕获(Capture)、移位(Shift)和更新(Update)状态输出通过双端ロ路由器路由到数据寄存器的捕获(Capture)、移位(Shift)和更新(Update)输入。当TSM处于CaptureDR状态吋,使捕获状态信号有效,当TSM处于ShiftDR状态时,使移位状态信号有效,当TSM处于UpdateDR状态时,使更新状态信号有效。当数据寄存器将由CMD电路控制吋,DRE输入将来自CMD电路的捕获(C)和更新(U)信号通过双端ロ路由器路由到数据寄存器的捕获、移位和更新输入。来自TSM的捕获(C)输入将数据寄存器的捕获和移位输入设置为使数据寄存器移位或者捕获数据的状态。在这个示例中,如果捕获(C)是低,则到数据寄存器的捕获和移位输入被分别设置为低和高,从而使数据寄存器将数据从TDI移位到TDO,并且如果捕获(C)是高,则到数据寄存器的捕获和移位输入被分别设置为高和低,从而使数据寄存器捕获数据。这个示例双端ロ路由器的第一端ロ被定义为是来自TSM的捕获、移位和更新状态输出。这个示例双端ロ路由器的第二端ロ被定义为是来自CMD电路的捕获(C)和更新(U)输入。在由CMD电路访问期间,第一 FF输入来自TMS的CMD信号并且将更新(U)信号输出到双端ロ路由器,该双端ロ路由器输出更新信号,从而使数据寄存器执行更新操作。然后,CMD信号被移位到第二 FF中,第二 FF将捕获(C)信号输出到双端ロ路由器,该路由器输出捕获和移位信号,从而使数据寄存器执行捕获操作。这个示例的捕获、移位和更新数据寄存器操作发生在自由运行TCK的上升沿处。如果期望,通过简单地将到更新电路的TCK输入反相,数据寄存器中的更新电路可以被设计为响应于TCK的下降沿上的更新信号而操作。毎次CMD信号被输入到CMD电路时,重复该更新和捕获操作顺序。图13示出图6的异步CS数据寄存器602经由双端ロ路由器804连接到TSM102和CMD电路802。这个示例的双端ロ路由器包括如图所示连接的多路复用器和门。DRE输入控制双端ロ路由器的多路复用器和门,从而允许数据寄存器如图6所描述的由TSM访问,或者如图10所描述的由CMD电路访问。双端ロ路由器的第一端ロ包括来自TSM的ClockDR和ShiftDR输出。双端ロ路由器的第二端ロ包括来自CMD电路的捕获(C)输出和来自TSM的ClockDR输出。这个示例中的CMD电路仅是FF,其在TCK的下降沿处输入来自TMS的CMD信号。在由CMD电路访问期间,FF输入来自TMS的CMD信号并且将捕获(C)信号输出到双端ロ路由器,双端ロ路由器经由多路复用器和门输出ShiftDR信号上的逻辑状态,从而使数据寄存器在来自TSM的ClockDR的上升沿处执行捕获操作。ClockDR信号是有效的,因为TSM处于ShiftDR状态。在捕获操作之后,ShiftDR信号返回到其先前的状态,从而在ClockDR的下一个上升沿处重新开始该移位操作。毎次CMD信号被输入到CMD电路时,重复该捕获操作。图14示出图7的同步CS数据寄存器702经由双端ロ路由器连接到图12的TSM102和CMD电路802。这个示例的双端ロ路由器包括如图所示连接的多路复用器和门。DRE输入控制双端ロ路由器的多路复用器和门,从而允许数据寄存器如图7所描述的由TSM访问,或者如图10所描述的由CMD电路访问。双端ロ路由器的第一端ロ包括来自TSM的捕获和移位状态输出。双端ロ路由器的第二端ロ包括来自CMD电路的捕获(C)输出。该数据寄存器由自由运行TCK信号提供时钟。DRE输入控制双端ロ路由器,从而允许数据寄存器如图7所描述的由TSM访问,或者如图10所描述的由CMD电路访问。在由CMD电路访问期间,FF输入来自TMS的CMD信号并且将捕获(C)信号输出到双端ロ路由器,该双端ロ路由器进行输出,将到数据寄存器的捕获和移位输入设置为使数据寄存器在TCK的上升沿处执行捕获操作的状态。在该捕获操作之后,捕获和移位信号返回到其先前的状态,从而在TCK的下一个上升沿处重新开始移位操作。毎次CMD信号被输入到CMD电路吋,重复捕获操作。
图15示出图6的异步CS数据寄存器602经由图13的双端ロ路由器804连接到TSM102和CMD电路802。如图13所述,DRE输入控制双端ロ路由器,从而允许数据寄存器如图6所描述的由TSM访问,或者由CMD电路访问。在这个示例中,CMD电路被设计为控制数据寄存器执行背对背(back to back)捕获操作。这个示例的CMD电路包括第一和第二串联连接的FF。FF的输出被输入到门,例如或非门。门的输出被输入到双端ロ路由器。响应于来自TMS的CMD输入信号,CMD电路的第一 FF输出第一捕获(C)信号,然后CMD信号被移位到CMD电路的第二 FF中,CMD电路输出第二捕获信号。CMD电路经由门将第一和第二捕获信号(C)两者输入到双端ロ路由器。响应于第一捕获(C)信号,双端ロ路由器将到数据寄存器的ShiftDR输入设置为使数据寄存器在ClockDR的上升沿处执行第一捕获操作的状态。响应于第二捕获(C)信号,双端ロ路由器维持ShiftDR输入上的捕获状态,从而使数据寄存器在ClockDR的下一个上升沿处执行第二捕获操作。在背对背捕获操作之后,到数据寄存器的ShiftDR输入返回到其先前的状态,从而重新开始移位操作。尽管图8-15示出由TSM或者CMD电路控制的各种类型的简单的数据寄存器,但是这些数据寄存器通常形成装置内的更复杂的测试结构的构建模块。这些更复杂的测试结构也可以由TSM或者CMD电路控制,如下面图16-17中所描述的。同样,尽管图8-15示出CMD电路是单个触发器或者两个触发器的串联布置,但是CMD电路可以以许多不同方式设计,包括CMD电路被设计为状态机。图16示出器件内的已知类型的单个输入和单个输出测试压缩架构1602的简单示例。该架构包括解压缩器(D)电路、并行CS类型数据寄存器(DR)和压缩器(C)电路。解压缩器由双端ロ路由器的DRC输出控制,从而输入来自TDI的压缩的激励数据,解压该激励数据并且将解压缩的激励数据输出到CS数据寄存器。压缩器由双端ロ路由器的DRC输出控制,从而输入来自CS数据寄存器的响应数据,压缩该响应数据,并且将压缩的响应数据输出到TDO输出上。CS数据寄存器由双端ロ路由器的DRC输出控制,从而执行捕获和移位操作。DRE输入控制双端ロ路由器,从而允许测试压缩架构如图6或者7所描述的由TSM的DRC输出控制,或者如图13和14所描述的由CMD电路的DRC输出控制。图17示出器件内的已知类型的多个输入和多个输出测试压缩架构1702的简单示例。该架构的结构和操作与图16中所述的相同,除了多个TDI输入被用于输入压缩的激励数据,并且多个TDO输出被用于输出压缩的响应数据。多个输入多个输出测试压缩架构可以如图16中所描述的由TSM或者CMD电路选择性控制。图18示出在器件内IEEE1500核外壳架构1802的简单示例,该架构连接到双端ロ路由器的DRC输出。该架构包括外壳边界寄存器(WBR)和并行CS类型数据寄存器(DR)。尽管未示出,但是该架构还包括控制其测试操作模式的指令寄存器。外壳边界寄存器主要被用于在器件中的多个核外壳架构之间提供互连测试。其可以被实现为CSU或者CS类型数据寄存器。在互连测试期间,外壳边界寄存器由双端ロ路由器的DRC输出控制,从而经由外壳串行输入(WSI)和外壳串行输出(WSO)将数据移位通过外壳边界寄存器,然后执行更新和捕获操作。在这个示例中,WSI被示为连接到TDI,并且WSO被示为连接到TDO。如果到双端ロ路由器的DRE输入选择TSM控制互连测试,则TSM将循环通过数据寄存器扫描状态,从而输出DRC信号,以控制外壳边界寄存器。如果到双端ロ路由器的DRE输入选择CMD电路控制互连测试,则TSM将转换并保持ShiftDR状态,同时CMD电路输出DRC信号,从而控制外壳边界寄存器。并行CS数据寄存器用于执行核逻辑的并行扫描测试。在并行扫描测试期间,由双端ロ路由器的DRC输出控制CS数据寄存器,从而经由外壳并行输入(WPI)和外壳并行输出(WPO)将数据移位通过CS数据寄存器,然后执行捕获操作。如果到双端ロ路由器的DRE输入选择TSM控制并行扫描测试,则TSM将循环通过数据寄存器扫描状态,从而输出DRC信号,以控制并行CS数据寄存器。如果到双端ロ路由器的DRE输入选择CMD电路控制互连测试,则TSM将转换并保持ShiftDR状态,同时CMD电路输出DRC信号,从而控制并行CS数据寄存器。通常用TSM控制图16-18中所示的器件测试架构会在扫描操作期间发生有问题的停滞状态。用CMD电路控制测试架构有利地消除了扫描操作期间的这些停滞状态。尽管图16-18的示例示出了 CMD电路和双端ロ路由器如何可以用于改进器件的扫描或者扫描压缩测试,但是CMD电路也可以被用于改进对器件中与TAP接ロ连接的其他类型的嵌入式电路的扫描访问。下面描述两个这种嵌入式电路。图19示出布置1900,其包括连接到R/W数据寄存器1904的可寻址R/W电路1902,R/W数据寄存器1904经由双端ロ路由器804由TSM102或者由CMD电路802选择性控制。R/W电路可以是存储器电路、测试电路、调试电路或者追踪电路。R/W电路从数据寄存器接收地址(ADDRESS)输入和R/W控制输入,从而允许经由R/W电路和数据寄存器之间的数据(DATA)总线连接将数据写入R/W电路中的寻址位置,和/或从寻址位置读取数据。当期望由TSM控制对R/W电路的访问吋,DRE输入控制双端ロ路由器将来自TSM的DRC输出连接到数据寄存器的DRC输入。一旦连接,TSM转换到ShiftDR状态,从而将地址、数据和R/W控制比特移入和移出数据寄存器。如果R/W控制比特是针对写入操作设置的,则当TSM转换到UpdateDR状态时,数据寄存器中的数据被写入到R/W电路的寻址位置。如果R/W控制比特是针对读取设置的,则当TSM转换到CaptureDR状态时,R/W电路的寻址位置中的数据被加载到数据寄存器。如果R/W控制比特是针对读取和写入操作设置的,则在CaptureDR状态从R/W电路的寻址位置进行读取,并且在UpdateDR状态对R/W电路的寻址位置进行写入。当期望由CMD电路控制对R/W电路的访问时,DRE输入控制双端ロ路由器将CMD电路的DRC输出连接到数据寄存器的DRC输入。一旦连接,TSM转换到ShiftDR状态并且保持该状态,从而将地址、数据和R/W控制比特移入和移出数据寄存器。在移位操作期间的适当时候,CMD输入被输入到CMD电路,从而使CMD电路将DRC信号输出到双端ロ路由器。如果R/W控制比特是针对写入操作设置的,则响应于CMD电路的DRC信号,数据寄存器中的数据被写入到寻址位置。如果R/W控制比特是针对读取操作设置的,则响应于CMD电路的DRC信号,寻址位置中的数据被加载到数据寄存器。如果R/W控制比特是针对读取和写入操作设置的,则响应于CMD电路的DRC信号,进行读取和写入。由CMD电路控制的R/W操作的优点是,TSM不需要转换离开ShiftDR状态以执行读取和/或写入操作。读取和/或写入操作是在地址、数据和RW控制比特被连续移入和移出数据寄存器的同时,由CMD输入执行的。如果该数据寄存器是50比特长,则读取和/或写入操作可以被命令为在姆第五十个移位操作之后进行。图20示出由IEEE标准P1687开发的仪器数据寄存器架构2002,其用于访问器件中的嵌入式仪器。仪器数据寄存器架构包括分段插入比特(SIB)元件,其可以由扫描操作控制,从而在TDI和TDO之间的路径中连接或者断开仪器。该仪器数据寄存器架构模仿由美国专利4,872,169中Whetsel首先描述的自控制变量长度扫描路径的操作。该仪器数据寄存器架构被具体化为包括DRC控制输入,从而允许其连接到来自TSM的DRC输出并且由DRC输出控制。在这个示例中,CMD电路和双端ロ路由器已经被増加,以示出仪器数据寄存器也可以怎样由CMD电路控制。当期望由TSM控制对仪器数据寄存器的访问吋,DRE输入控制双端ロ路由器将来自TSM的DRC输出连接到数据寄存器的DRC输入。一旦连接,TSM转换到ShiftDR状态,从而将数据移入和移出仪器数据寄存器。如果SIB被设置为将其关联的仪器连接到数据寄存器中,则可以以针对图19的R/W电路所描述的相同的方式,在UpdateDR状态将数据写入仪器,并且在CaptureDR状态从仪器读取数据。当期望由CMD电路控制对仪器数据寄存器的访问吋,DRE输入控制双端ロ路由器将CMD电路的DRC输出连接到数据寄存器的DRC输入。一旦连接,TSM转换到ShiftDR状态,从而将数据移入和移出数据寄存器。如果SIB被设置为将其关联的仪器连接到数据寄存器中,则可以以针对图19的R/W电路所描述的相同的方式,响应于到CMD电路的CMD输入,将数据写入仪器并且从仪器读取数据。由CMD电路控制的仪器访问操作的优点与由CMD电路控制的R/W电路访问操作的优点相同,也就是说,TSM不需要转换离开ShiftDR状态以执行读取和/或写入操作,因为在数据被连续移入和移出仪器数据寄存器的同时,读取和写入操作由CMD输入执行。改进板级测试操作图21示出连接到JTAG控制器的菊花链器件的布置2102。该器件可以是板上的IC或者IC中的嵌入式电路。每个器件具有可命令TAP(CTAP),即每个器件TAP包括本公开的CMD电路和双端ロ路由器。在这个示例中,器件CTAP已经被加载有CMD控制的IEEE1149.1互连测试边界扫描指令,其使得能够在互连上进行全速更新和捕获操作。如在时序图中看出,响应于来自TMS的CMD输入执行更新、捕获和移位边界扫描测试操作,如前所述。在这个示例中,更新操作在TCK的上升沿处发生,并且捕获操作在TCK的随后的上升沿处发生。这使互连测试边界扫描更新和捕获操作在ー个TCK周期内发生,而常规的互连测试边界扫描更新和捕获操作在两个半TCK周期内发生。如果期望,通过设计双端ロ路由器,该更新操作可以被延迟到其在TCK的下降沿处发生,并且捕获操作在TCK的随后的上升沿处发生,从而使更新和捕获之间只有半个TCK周期。这个更新和捕获操作之间的时序收紧可以被应用于任何类型的CSU数据寄存器。在全速边界扫描测试期间,在TCK的上升沿处输入正常TMS信号,从而将CTAP维持在ShiftDR状态。CTAP也可以被设置为使用TSM状态转换执行互连的常规互连测试边界扫描测试。然而,该测试不是全速更新和捕获测试,因为会引入TSM停滞状态。开发了 IEEE标准1149.6以提供能够测试器件之间AC耦合互连的边界扫描测试。1149.6是需要的,因为1149.1互连测试指令不能充分测试全部AC耦合互连,这是由于更新和捕获操作之间有两个半的TCK延迟。由于如上所述的由CMD控制的互连测试操作可以在ー个或者甚至半个TCK周期内更新并捕获互连上的数据,所以其使得能够测试使用标准1149.1互连测试指令的测试无法胜任的AC耦合互连。
图22示出连接到JTAG控制器的菊花链器件的布置2202。这些器件可以是板上的IC或者IC中的嵌入式电路。在这个示例中,期望访问位于中间器件中的CS或者CSU类型电路。CS或者CSU电路可以是前面所述的仅使用TDI和TDO传递数据的任何类型。为了建立对中间器件的访问,前面的器件和后面的器件被加载有IEEE1149.1指令,即1149.1Bypass,Clamp或者HighZ指令,这些指令选择其旁路(BYP)寄存器,并且中间器件被加载有选择期望的CS或者CSU类型电路以便访问的指令。如果要使用正常JTAG扫描操作执行对中间器件的CS或者CSU电路的访问,则カロ载到中间器件中的指令会将器件的TSM连接到CS或者CSU电路。通过JTAG控制器执行常规数据寄存器捕获、移位和更新操作,以此执行对中间器件的访问。在捕获操作期间,旁路寄存器顺应地加载逻辑0,并且在下一个移位操作期间,中间器件电路加载要输出到控制器的数据。接着移位操作,执行更新操作,从而更新已经被移位到中间电路中的数据,假设中间电路为CSU类型电路。在每个数据寄存器扫描操作期间,JTAG控制器必须将数据移位通过前面的器件的旁路寄存器、中间器件电路以及后面的器件的旁路寄存器。如果有50个前面的器件,50个后面的器件并且中间器件电路扫描长度是50比特,则每个数据寄存器扫描循环将是150比特长。如果需要大量扫描循环来访问中间器件电路,则必须反复将数据移位通过前面的器件和后面的器件的旁路寄存器,这会浪费大量的时间。如果使用CMD电路执行对中间器件的CS或者CSU电路的访问,意思是中间电路的TAP将扩充有本公开的CMD电路和双端ロ路由器,则加载到中间器件中的指令会将器件的CMD电路连接到CS或者CSU电路。通过JTAG控制器将全部器件置于ShiftDR状态,以将数据从TDI到TDO连续移位通过装置,以此执行对中间器件电路的访问。在移位期间的适当时间,JTAG控制器将CMD信号经由TMS信号输入到中间器件的CMD电路。响应于CMD输入,CS电路将执行捕获操作,然后重新开始移位数据,如图22的CSOP时序所示。响应于CMD输入,CSU电路将执行更新操作,随后是捕获操作,然后重新开始移位数据,如图22的CSUOP时序所示。由于前面的器件和后面的器件的旁路寄存器不响应CMD输入,所以它们简单地操作为流水线比特,将数据从JTAG控制器移位到中间器件并且从中间器件移位回到JTAG控制器。在对中间器件的访问期间,必须穿过旁路寄存器而浪费的唯一时间,一次是在访问的开始,当来自JTAG控制器的数据填充前面的器件的旁路寄存器时,一次是在访问的结束,当来自中间器件的数据从后面的器件的旁路寄存器被清空到JTAG控制器吋。再次使用示例的50个前面的器件、50个后面的器件和50比特的中间器件电路长度,对中间器件的访问仅在访问的开始时被延长一次50比特移位并且在访问的结束时延长一次50比特移位。俥TTAG控制器话于CMD输出本公开使用TMS信号输入CMD的方法需要修改传统的JTAG控制器。存在两种基本类型的JTAG控制器,即软件控制的JTAG控制器和硬件控制的JTAG控制器。软件控制的JTAG控制器简单地使用计算机并行端ロ来使用软件操作TMS、TCK、TDI和TDO信号。硬件控制的JTAG控制器使用JTAG接ロ电路控制TMS、TCK、TDI和TDO信号。通过简单地修改控制并行端ロ的软件,实现了使软件控制的JTAG控制器适于在TMS上提供CMD信号。使硬件控制的JTAG控制器适于在TMS上提供CMD信号是更困难的,因为其需要修改硬件。下面描述了ー种修改硬件控制的JTAG控制器从而在TMS上提供CMD信号的简单方式。
图23示出示例硬件控制的JTAG控制器2302,其包括计算机2306和JTAG接ロ电路2304。JTAG接ロ电路具有用于输出TMS信号的TMS控制电路、用于输出TCK信号的TCK控制电路、用于输出TDI信号的TDI存储器和用于输入TDO信号的TDO存储器。计算机执行对JTAG接ロ电路的读取和写入,从而使JTAG接ロ电路操作TMS、TCK、TDI和TDO信号。图24示出示例布置2402,其示出图23的JTAG控制器如何可以扩充有CMD电路2404和多路复用器2406,从而选择性地允许其在TMS上提供或者不提供CMD信号。CMD电路具有计算机接ロ、ShiftDR状态输入、TCK输入、使能(ENABLE)输出和CMD输出。TCK输入为CMD电路提供时序,并且ShiftDR状态输入使能CMD电路的操作。多路复用器具有连接到使能输出的使能输入、连接到CMD输出的数据输入、连接到TMS输出的数据输入、连接到TCK输出的选择输入和连接到TMS输出的输出。当JTAG控制器布置2402被设置为不在TMS上提供CMD信号吋,使能信号将被设置为使多路复用器只输出TMS信号,从而复制图23的传统JTAG控制器的操作。当JTAG控制器布置2402被设置为在TMS上提供CMD信号吋,使能信号将被设置为使多路复用器响应于来自TCK信号的选择(SELECT)输入而在输出TMS信号和CMD信号之间交替。图25示出图24的CMD电路2404的示例实现,其包括寄存器2502和计数器2504。寄存器含有移位计数位字段和使能位。当图24的JTAG控制器布置要执行正常JTAG操作吋,计算机设置使能位,使多路复用器只输出TMS信号。当JTAG控制器布置2402要执行CMD操作吋,计算机将移位计数写入到寄存器,设置使能位,使多路复用器响应于选择信号而交替输出TMS和CMD信号,并且将移位计数加载到计数器中。移位计数被设置为等于正在访问的数据寄存器的比特长度。在CMD操作期间,ShiftDR状态输入被设置为使计数器能够在毎次上升沿TCK移位操作时计数一次。当移位计数期满时,计数器输出计数完成(CC)信号,该信号将CMD信号设置为高。CMD信号经由多路复用器被输出到TMS上,以触发目标器件中的CMD操作。如图25的时序图中所示,NOP信号被输出到TMS上,直到发生CMD信号。CC信号也将移位计数加载(LD)入计数器中,用于下ー个CMD移位循环。重复操作直到测试完成。当在CMD信号输出模式中吋,图24的JTAG控制器布置2402在TCK上升沿之前为TMS信号提供了半个TCK设置时间,并且在TCK下降沿之前为CMD信号提供了半个TCK设置时间。图26示出含有一个或更多CSU和/或CS数据寄存器元件的电路块2602。电路块2602可以是任何类型的电路,包括但不限于测试电路、调试电路、追踪电路、仿真电路、读取/写入电路和仪器电路。參考图16-20描述了这类电路的ー些示例。电路块由双端ロ路由器804的DRC输出控制,从而执行捕获和移位操作,或者捕获、移位和更新操作。DRE输入控制双端ロ路由器,从而允许电路块2602由TSM102或CMD电路2604的DRC输出控制,如前所述。这个示例的CMD电路2604具有用于捕获信号和更新信号的额外的输入。响应于DRE输入,可以选择捕获和更新信号以控制CMD电路2604的DRC输出。在晶圆级或者封装级的器件制造测试期间,可能期望允许外部测试器使用捕获和更新信号直接控制CMD电路的DRC输出,这些信号在测试期间在器件引脚上是可访问。允许测试器经由捕获和更新信号控制CMD电路的DRC输出,这使得能够更灵活控制CMD电路的DRC输出。同样,其允许到TSM的TMS输入仅需输入TMS信号,而不是TMS和CMD信号,这简化了对TAP102的测试器接ロ。进ー步地,仅需在TMS输入上输入TMS信号可以使TCK能够以较快的时钟频率运行,因为可以在TMS信号上施加更好的设置和保持时间。在使用捕获和更新信号的测试期间,测速器将TAP转换到ShiftDR状态,从而经由TDI和TDO信号将数据移入和移出电路块2602,并且在移位期间的适当时间,操作捕获和更新信号以实现测试电路块2602。图27示出CMD电路2604的一个示例实现,其包括图13和图14的先前所述的CMD电路804和多路复用器2702。当CMD电路2604被设置为允许CMD电路804控制捕获(C)输出时,DRE输入将设定多路复用器以将捕获(C)输出耦合到CMD电路804的输出,从而允许如图13和14中所述的全速移位&捕获操作。当CMD电路2604被设置为允许捕获信号控制捕获(C)输出时,DRE输入将设定多路复用器以将捕获信号耦合到捕获(C)输出,从而允许测试器直接控制全速移位&捕获操作。当器件在具有其他器件的系统中时,例如图21和22中所示的,将有利地使用CMD电路804控制捕获(C)输出。当在晶圆级或者封装级器件测试中由测试器测试器件时,将有利地使用捕获信号控制捕获(C)输出。图28示出CMD电路2604的另一个示例实现,其包括图11和图12的先前所述的CMD电路804和多路复用器2702和2802。当CMD电路2604被设置为允许CMD电路804控制更新(U)和捕获(C)输出时,DRE输入将设置多路复用器以将更新(U)和捕获(C)输出耦合到CMD电路804的输出,从而允许如图11和12中所描述的全速更新&捕获和移位&捕获操作。当CMD电路2604被设置为允许更新和捕获信号控制更新(U)和捕获(C)输出时,DRE输入将设置多路复用器以将更新和捕获信号耦合到更新(U)和捕获(C)输出,从而允许测试器直接控制全速更新&捕获和移位&捕获操作。当器件在具有其他器件的系统中时,例如图21和22中所示的,将有利地使用CMD电路804控制更新(U)和捕获(C)输出。当在晶圆级或者封装级器件测试中由测试器测试器件时,将有利地使用更新和捕获信号控制更新(U)和捕获(C)输出。图29A示出TAP2902,其与图8的TAP800 —致,除了到CMD电路802的CMD输入来自TSM102的输出2904,而不是来自TMS输入。当TSM处于ExitlDR状态时,发生来自TSM的CMD输出2904。这是通过使用状态解码门来检测何时TSM处于ExitlDR状态而实现的,如图29B所示。图30示出TSM转换通过ExitlDR状态(阴影)从而将CMD信号输出到图29A的CMD电路的时序图。如所示,从TCK的下降沿到TCK的下一个下降沿,CMD电路寄存CMD信号(阴影),如针对图8的CMD电路所描述的。CMD操作发生在TCK的两个下降沿之间的TCK的上升沿3008处。如果CMD操作使用图13和图14的示例CMD电路802执行捕获和移位操作(CS0P)3002,则在TCK的上升沿3008处发生捕获。如果CMD操作使用图11或者图12的示例CMD电路802执行捕获、移位和更新操作(CSUOP) 3004,则在TCK的上升沿3008处发生更新操作,并且在TCK的下一个上升沿3010处发生捕获操作。如果CMD操作使用图15的示例CMD电路802执行背对背捕获和移位操作(B2BCS0P)3006,则在TCK的上升沿3008处发生第一个捕获操作,并且在TCK的下一个上升沿3010处发生第二个捕获操作。如图30的时序图所示,与图10的时序图不同,TSM必须转换离开ShiftDR状态,经过ExitlDR状态,以将CMD信号提供给CMD电路802。对于CS0P3002,这意味着在捕获操作之后重新开始ShiftDR状态之前,必须经过两个停滞状态(即无动作状态),暂停数据寄存器(PauseDR)和退出2数据寄存器(Exit2DR)。对于CSU0P3004,这意味着在更新和捕获操作之后重新开始ShiftDR状态之前,必须经过一个停滞状态Exit2DR。对于B2BCS0P3006,这意味着在第一个和第二个捕获操作之后重新开始ShiftDR状态之前,必须经过一个停滞状态Exit2DR。尽管使用ExitlDR状态检测CMD信号引入了停滞状态,但是停滞状态发生在期望的全速移位和捕获操作(CSOP) 3002、全速更新和捕获操作(CSUOP) 3004和全速背对背捕获操作(B2BCS0P) 3006之后。众所周知,当TSM102转换离开ShiftDR状态时,其停止或门控关闭在其ClockDR输出上输出时钟信号。如图30的时序图所示,CSOP操作3002在ExitlDR状态中需要时钟用于捕获操作,CSUOP操作3004在ExitlDR和PauseDR状态中需要时钟用于更新和捕获操作,并且B2BCS0P操作3006在ExitlDR和PauseDR状态中需要时钟用于背对背捕获操作。图31和32的下列描述将示出在这些状态期间怎样在ClockDR上提供这些时钟的示例。图31示出异步寄存器3102、双端口路由器804、CMD电路802和TSM102。异步数据寄存器3102可以是异步CSU数据寄存器402或者异步CS数据寄存器602。如果是异步CSU数据寄存器402,则CMD电路802将如图11所述的操作以经由双端口路由器804提供ClockDR, ShiftDR和更新信号给数据寄存器。如果是异步CS数据寄存器602,则CMD电路802将如图13或者图15所述的操作以经由双端口路由器804提供ClockDR和ShiftDR信号给数据寄存器。图31的布置和其他之前描述的使用CMD电路802的布置之间的唯一差别是,到图31的CMD电路的CMD信号来自TSM,而不是来自TMS信号。TSM包括图29B的门控电路2904和进一步地包括ClockDR门控电路3102,门控电路2904在ExitlDR状态期间提供CMD信号,ClockDR门控电路3102在ClockDR上提供时钟信号,如上针对CSOP、CSUOP和B2BCS0P操作所述。图32示出TSM的ClockDR门控电路3102的示例,其包括门控电路(G)3204-3208和多路复用器(MUX)3202,均如图所示连接。每个门控电路3204-3208输入TCK信号和指示TSM状态的四个状态信号。当TSM处于CaptureDR或者ShiftDR状态时,门控电路3204将TCK传递到多路复用器。当TSM处于CaptureDR、ShiftDR或者ExitlDR状态时,门控电路3206将TCK传递到多路复用器。当TSM处于CaptureDR、ShiftDR、ExitlDR或者PauseDR状态时,门控电路3208将TCK传递到多路复用器。多路复用器从指令寄存器接收DRE输入,从而选择哪个门控电路输出传递到ClockDR输出。当TSM正在控制到数据寄存器3102的DRC信号时,门控电路3204的输出将被多路复用到多路复用器3202的ClockDR输出,从而允许常规的IEEE1149.1TSM控制的捕获和移位操作或者捕获、移位和更新操作。当在图30的CSOP操作3002期间,CMD电路正在控制到数据寄存器3102的DRC信号时,门控电路3206的输出将被多路复用到多路复用器3202的ClockDR输出,从而在ExitlDR状态期间,在ClockDR上提供所需要的额外的捕获时钟。当在图30的CSUOP操作3004期间,CMD电路正在控制到数据寄存器3102的DRC信号时,门控电路3208的输出将被多路复用到多路复用器3202的ClockDR输出,从而在ExitlDR状态期间,在ClockDR上提供所需要的额外的更新时钟并且在PauseDR状态期间,在ClockDR上提供所需要的捕获时钟。当在图30的B2BCS0P操作3006期间,CMD电路正在控制到数据寄存器3102的DRC信号时,门控电路3208的输出将被多路复用到多路复用器3202的ClockDR输出,从而在ExitlDR状态期间,在ClockDR上提供所需要的额外的第一捕获时钟,并且在PauseDR状态期间,在ClockDR上提供所需要的额外的第二捕获时钟。图33示出如下布置,其包括电路块2602、双端口路由器804、TSM102和CMD电路2604。图33与图26—致,除了 TSM已经被修改为,如前在图31中所描述的,在ExitlDR状态期间经由门控电路2904将CMD信号输出到CMD电路2604,并且在其他选定的TSM状态期间经由门控电路3104将时钟信号输出到双端口路由器。如针对图26、27和28所描述的,从双端口路由器到电路块2602的DRC输入可以由CMD电路控制,或者从连接到外部可访问的捕获和更新信号的测试器控制。图34A示出TAP3402,其与图29A的TAP2902的类似之处在于,其包括数据寄存器106、双端口路由器804、指令寄存器104、多路复用电路110和TSM102。其与TAP2902的不同之处在于,TAP3402使用可编程开关(PSW)电路3406代替CMD电路802。TSM102已经扩充有TSM状态检测电路3404。TSM状态检测电路被实现为检测ExitlDR和PauseDR状态,如图34B的示例所示。检测到的ExitlDR (EDR)和所检测的PauseDR (I3DR) TSM状态信号连同来自指令寄存器的DRE输入被输入到PSW电路。PSW电路将DRC控制输出到双端口路由器804,从而控制在选定的一个或更多数据寄存器上的捕获和移位、捕获、移位和更新或者背对背捕获和移位操作。到PSW电路的DRE输入将其编程为根据需要将EDR和PDR信号耦合到合适的DRC信号,以对数据寄存器执行CSOP、CSUOP或者B2BCS0P操作。图35示出TSM转换通过各状态以使用状态检测电路3404和PSW电路3406执行CSOP操作3502、CSUOP操作3504和B2BCS0P操作3506的时序图。在CSOP操作3502期间,检测到的ExitlDR状态经过PSW,从而使双端口路由器输出DRC控制,以对选定的数据寄存器执行捕获操作。在CSUOP操作3504期间,检测到的ExitlDR状态经过PSW,从而使双端口路由器输出DRC控制,以对选定的数据寄存器执行更新操作,并且检测到的PauseDR状态经过PSW,从而使双端口路由器输出DRC控制,以对选定的数据寄存器执行捕获操作。在B2BCS0P操作3506期间,检测到的ExitlDR状态经过PSW,从而使双端口路由器输出DRC控制,以对选定的数据寄存器执行第一捕获操作,并且检测到的PauseDR状态经过PSW,从而使双端口路由器输出DRC控制,以对选定的数据寄存器执行第二捕获操作。与图30的时序图相似,图35的时序图包括停滞状态。如所示,在CSOP操作3502期间发生两个停滞状态,在CSUOP操作3504期间发生一个停滞状态,在B2BCS0P操作3506期间发生一个停滞状态。这些停滞状态并不是令人讨厌的,因为它们在CSOP循环3502期间发生在期望的全速捕获操作之后,在CSUOP循环3504期间发生在期望的全速更新和捕获操作之后,在B2BCS0P循环3506期间发生在期望的全速背对背捕获操作之后。图36示出异步寄存器3602、双端口路由器804、TSM102和PSW电路3406,均如图所示连接。异步数据寄存器3602可以是异步CSU数据寄存器402或者异步CS数据寄存器602。如果数据寄存器3602是异步CSU数据寄存器402,则PSW3406将由DRE输入编程为将来自检测电路3404的ExitlDR信号耦合到PSW的更新(U)信号输出,并且将来自检测电路3404的PauseDR信号输出耦合到PSW的捕获(C)输出。当TSM转换通过可检测ExitIDR状态时,PSW的更新(U)输出被有效,并且经由双端口路由器施加到CSU数据寄存器的UpdateDR输入,从而执行更新操作。当TSM转换通过可检测PauseDR状态时,PSff的捕获(C)输出被有效,并且经由双端口路由器施加到CSU数据寄存器的ShiftDR输入,从而执行捕获操作。如果数据寄存器3602是异步CS数据寄存器602,并且要对寄存器执行CSOP操作,则PSW3406将由DRE输入编程为将来自检测电路3404的ExitlDR信号耦合到PSW的捕获(C)信号输出。当TSM转换通过可检测ExitlDR状态时,PSW的捕获(C)输出被有效,并且经由双端口路由器施加到CS数据寄存器的ShiftDR输入,从而执行捕获操作。如果数据寄存器3602是异步CS数据寄存器602,并且要对寄存器执行B2BCS0P操作,则PSW3406将由DRE输入编程为将来自检测电路3404的ExitlDR信号耦合到PSW的捕获(C)信号输出,并且将来自检测电路3404的PauseDR信号耦合到PSW的捕获(C)信号输出。当TSM转换通过可检测ExitlDR状态时,PSff的捕获(C)输出被有效,并且经由双端口路由器施加到CS数据寄存器的ShiftDR输入,从而执行第一捕获操作。当TSM转换通过可检测PauseDR状态时,PSW的捕获(C)输出被再次有效,并且经由双端口路由器施加到CS数据寄存器的ShiftDR输入,从而执行第二捕获操作。如图36中看出,TSM被扩充有前面所述的ClockDR门控电路3104,从而在所需TSM状态期间在ClockDR上提供时钟信号,如在图32中所述,从而执行上述PSW控制的CS0P、CSUOP和B2BCS0P操作。可以以许多方式设计PSW电路3406,包括使用由DRE输入控制的门控电路和多路复用器的方式,以及使用由DRE输入控制的门控电路和交叉开关的方式。图37示出如下布置,其包括电路块2602、双端口路由器804、TSM102和新的PSW电路3702,均如图所示连接。如图38中所示,新的PSW电路3702包括先前描述的PSW电路3406和两个多路复用器3802和3804。PSW电路3406输入来自先前描述的TSM102的检测电路3404的ExitlDR和PauseDR信号,并且输入来自指令寄存器的DRE输入。PSW电路3406将信号输出到多路复用器3802并且将信号输出到多路复用器3804。多路复用器3802输入来自PSW3406的信号、捕获信号、DRE控制输入信号,并且输出捕获(C)信号。多路复用器3804输入来自PSW3406的信号、更新信号、DRE控制输入信号,并且输出更新(U)信号。新的PSW3702可以操作在如由DRE输入确定的两种模式。第一种模式与图34A和图36中所述的一致,其中PSW3406对检测到的ExitlDR和PauseDR状态信号进行响应,从而经由多路复用器3802和3804控制新的PSW3702的捕获(C)和更新(U)输出。第二种模式允许新的PSW3702的捕获(C)和更新(U)输出由到多路复用器3802和3804的捕获和更新信号控制。如先前图26和图33中提到的,当TAP102处于ShiftDR状态时,在晶圆和封装器件制造测试期间,捕获和更新信号可以由测试器直接控制,从而更有效地控制CSOP、CSUOP和B2BCS0P测试操作。图39示出TAP3902,其与图34A的TAP3402的类似之处在于,其包括数据寄存器106、双端口路由器804、指令寄存器104、多路复用电路110和TSM102。TAP3902与TAP3402的不同之处在于,其不包括PSW电路3406。如所示,来自状态检测电路3404的TSM的ExitlDR (EDR)和PauseDR (I3DR)状态检测信号直接耦合到双端口路由器的DRC输入。双端口路由器804被设计为响应DRE输入,从而将EDR和PDR信号耦合到选定的数据寄存器,从而允许数据寄存器响应于信号执行CSOP、CSUOP或者B2BCSP操作,如图35中所述。在第一示例中,如果数据寄存器I是CS数据寄存器并且要执行如图35所示的CSOP操作3502,则DRE指令输入将控制双端口路由器804将EDR信号耦合到数据寄存器I的DRC3904输入,从而控制何时发生捕获操作。如果CS数据寄存器是异步602类型寄存器,则这意味着EDR信号将经由双端口路由器804的DRC输出3904耦合到寄存器的ShiftDR输入。
在第二示例中,如果数据寄存器N是CSU数据寄存器并且要执行如图35所示的CSUOP操作3504,则DRE指令输入将控制双端口路由器804将EDR和PDR信号耦合到数据寄存器N的DRC3906输入,从而控制何时发生更新和捕获操作。如果CSU数据寄存器是异步402类型寄存器,那么这意味着EDR信号将经由双端口路由器804的DRC输出3906耦合到寄存器的UpdateDR输入,并且PDR信号将经由双端口路由器804的DRC输出3906耦合到寄存器的ShiftDR输入。图40示出TAP4002,其与图39的TAP3902的类似之处在于,其包括数据寄存器106、双端口路由器804、指令寄存器104、多路复用电路110和TSM102。TAP4002与TAP3902的不同之处在于,其在TSM和双端口路由器之间的EDR和PDR信号路径中插入多路复用器(MUX)4008。多路复用器具有用于外部可访问的捕获和更新信号的输入。多路复用器由DRE输入控制,从而允许到双端口路由器的DRC输入由EDR和TOR TSM信号控制,或者由外部可访问的捕获和更新信号控制。当选择EDR和PDR信号控制到双端口路由器的DRC输入时,TAP4002如图39中所述的操作。当选择捕获和更新信号控制到双端口路由器的DRC输入时,TAP402如前面图26、33和37中所述操作。图41示出如下布置,其包括电路块2602、双端口路由器804、TSM102和多路复用器4008,均如图所示连接。多路复用器4008输入来自TSM的ExitlDR(EDR)和PauseDR(PDR)信号、捕获和更新信号,并且将DRC控制输出到双端口路由器,如图40中所述。PSW3406输入捕获信号、DRE控制输入信号并输出捕获(C)信号。多路复用器4008可以操作在如DRE输入确定的两种模式。第一种模式允许ExitlDR和PauseDR信号控制到双端口路由器的DRC输入。第二种模式允许捕获和更新信号控制到双端口路由器的DRC输入。如先前图26和图33中提到的,当TAP102处于ShiftDR状态时,在晶圆和封装器件制造测试期间,捕获和更新信号可以由测试器直接控制,从而更有效地控制对电路块2602的CSOP、CSUOP和B2BCS0P测试操作。双端口路由器的价值是,其允许目标电路由TSM常规控制,或者由本公开所述的新的方法控制。例如,在图21中,在标准IEEE1149.1互连测试指令操作期间,菊花链布置中的器件可以由TSM选择性地控制,或者在本公开的新的全速互连测试指令操作期间,它们可以由CMD电路控制。根据本公开,任何标准或者非标准的IEEE1149.1指令可以具有两种操作模式。第一种操作模式由TSM经由双端口路由器常规控制,而第二种操作模式根据本公开的教导经由双端口路由器控制。应该理解,尽管在本公开的实施例中示出双端口路由器,但是其不是本公开的必须的特征。实际上,如果不需要对数据寄存器106或者其他电路2602的常规TSM访问,则双端口路由器可以由如下另一个路由器代替,该路由器能够接收DRE输入,从而将来自CMD电路、PSW电路、ExitlDR和PauseDR状态检测电路的DRC输出或者从外部可访问的捕获和更新信号耦合到数据寄存器106或者电路2602的DRC输入。器件电路106和2602包括但不限于,器件测试电路、器件调试电路、器件编程电路、器件仪器电路、器件读取/写入电路、器件追踪电路和器件仿真电路。本领域技术人员应当理解,在所要求的本发明的范围内,其他实施例和变形是可能的;并且,即使为了简洁或者简明,特征或步骤是在具有这些特征或步骤中的全部或者仅一些的示例实施例的背景下描述的,也意图覆盖具有一个或更多所述特征或步骤的不同组 合的实施例。
权利要求
1.一种集成电路内的测试访问端ロ架构,其包括: TDI输入引线、TCK输入引线、TMS输入引线和TDO输出引线, Tap状态机,其具有耦合到所述TCK输入引线的输入、耦合到所述TMS输入引线的输入、指令寄存器控制输出、控制输出和数据寄存器控制输出, 指令寄存器,其具有耦合到所述TDI输入引线的输入、耦合到所述指令寄存器控制输出的输入、数据寄存器控制输出和输出, 数据寄存器,其具有耦合到所述TDI输入引线的输入、数据寄存器控制输入和输出,命令电路,其具有耦合到所述TCK输入引线的输入、耦合到所述TMS输入引线的输入和数据寄存器控制输出, 双端ロ路由器,其具有耦合到所述Tap状态机的数据寄存器控制输出的输入、耦合到所述命令电路的数据寄存器控制输出的输入、耦合到所述指令寄存器的数据寄存器使能输出的控制输入以及耦合到所述数据寄存器的数据寄存器控制输入的数据寄存器控制输出,和; 多路复用器电路,其具有耦合到所述指令寄存器的输出的输入、耦合到所述数据寄存器的输出的输入、耦合到所述Tap状态机的控制输出的控制输入以及耦合到所述TDO输出引线的输出。
2.一种集成电路内的测试访问端ロ架构,其包括: TDI输入引线、TCK输入引线、TMS输入引线和TDO输出引线, Tap状态机,其具有耦合到所述TCK输入引线的输入、耦合到所述TMS输入引线的输入、指令寄存器控制输出、控制输出、 ExitlDR状态检测输出和数据寄存器控制输出, 指令寄存器,其具有耦合到所述TDI输入引线的输入、耦合到所述指令寄存器控制输出的输入、数据寄存器控制输出和输出, 数据寄存器,其具有耦合到所述TDI输入引线的输入、数据寄存器控制输入和输出,命令电路,其具有耦合到所述TCK输入引线的输入、耦合到所述ExitlDR状态检测输出的输入和数据寄存器控制输出, 双端ロ路由器,其具有耦合到所述Tap状态机的数据寄存器控制输出的输入、耦合到所述命令电路的数据寄存器控制输出的输入、耦合到所述指令寄存器的数据寄存器使能输出的控制输入以及耦合到所述数据寄存器的数据寄存器控制输入的数据寄存器控制输出,和; 多路复用器电路,其具有耦合到所述指令寄存器的输出的输入、耦合到所述数据寄存器的输出的输入、耦合到所述Tap状态机的控制输出的控制输入以及耦合到所述TDO输出引线的输出。
3.一种集成电路内的测试访问端ロ架构,其包括: TDI输入引线、TCK输入引线、TMS输入引线和TDO输出引线, Tap状态机,其具有耦合到所述TCK输入引线的输入、耦合到所述TMS输入引线的输入、指令寄存器控制输出、控制输出、ExitlDR状态检测输出、PauseDR状态检测输出和数据寄存器控制输出, 指令寄存器,其具有耦合到所述TDI输入引线的输入、耦合到所述指令寄存器控制输出的输入、数据寄存器控制输出和输出,数据寄存器,其具有耦合到所述TDI输入引线的输入、数据寄存器控制输入和输出, 可编程开关电路,其具有耦合到所述ExitlDR状态检测输出的输入、耦合到所述PauseDR状态检测输出的输入和数据寄存器控制输出, 双端ロ路由器,其具有耦合到所述Tap状态机的数据寄存器控制输出的输入、耦合到所述可编程开关电路的数据寄存器控制输出的输入、耦合到所述指令寄存器的数据寄存器使能输出的控制输入以及耦合到所述数据寄存器的数据寄存器控制输入的数据寄存器控制输出,和; 多路复用器电路,其具有耦合到指令寄存器的输出的输入、耦合到数据寄存器的输出的输入、耦合到Tap状态机的控制输出的控制输入以及耦合到所述TDO输出引线的输出。
4.一种集成电路内的测试访问端ロ架构,其包括: TDI输入引线、TCK输入引线、TMS输入引线和TDO输出引线, Tap状态机,其具有耦合到所述TCK输入引线的输入、耦合到所述TMS输入引线的输入、指令寄存器控制输出、数据寄存器控制输出、控制输出、ExitlDR状态检测输出和PauseDR状态检测输出, 指令寄存器,其具有耦合到所述TDI输入引线的输入、耦合到所述指令寄存器控制输出的输入、数据寄存器使能输出和输出, 数据寄存器,其具有耦合到所述TDI输入引线的输入、数据寄存器控制输入和输出, 双端ロ路由器,其具有耦合到所述Tap状态机的数据寄存器控制输出的输入、耦合到所述Tap状态机的ExitlDR和PauseDR状态检测输出的输入、耦合到所述指令寄存器的数据寄存器使能输出的控制输入以 及耦合到所述数据寄存器的数据寄存器控制输入的数据寄存器控制输出,和; 多路复用器电路,其具有耦合到所述指令寄存器的输出的输入、耦合到所述数据寄存器的输出的输入、耦合到所述Tap状态机的控制输出的控制输入以及耦合到所述TDO输出引线的输出。
5.一种集成电路内的测试访问端ロ架构,其包括: TDI输入引线、TCK输入引线、TMS输入引线、捕获输入引线、更新输入引线和TDO输出引线, Tap状态机,其具有耦合到所述TCK输入引线的输入、耦合到所述TMS输入引线的输入、指令寄存器控制输出、数据寄存器控制输出、控制输出、ExitlDR状态检测输出和PauseDR状态检测输出, 指令寄存器,其具有耦合到所述TDI输入引线的输入、耦合到指令寄存器控制输出的输入、数据寄存器使能输出和输出, 数据寄存器,其具有耦合到所述TDI输入引线的输入、数据寄存器控制输入和输出,多路复用器,其具有耦合到所述ExitlDR状态检测输出的输入、耦合到所述PauseDR状态检测输出的输入、耦合到所述捕获输入引线的输入、耦合到所述更新输入引线的输入、耦合到所述数据寄存器使能输出的控制输入以及数据寄存器控制输出, 双端ロ路由器,其具有耦合到所述Tap状态机的数据寄存器控制输出的输入、耦合到所述多路复用器的所述数据寄存器控制输出的输入、耦合到所述指令寄存器的数据寄存器使能输出的控制输入以及耦合到所述数据寄存器的数据寄存器控制输入的数据寄存器控制输出,和; 多路复用器电路,其具有耦合到所述 指令寄存器的输出的输入、耦合到所述数据寄存器的输出的输入、耦合到所述Tap状态机的控制输出的控制输入以及耦合到所述TDO输出引线的输出。
全文摘要
一种集成电路的1149.1TAP执行全速更新&捕获、移位&捕获和背对背捕获&移位操作。在第一实施例中,通过将CMD信号时分多路复用到TAP的TMS输入,以实现全速操作。CMD信号被输入到CMD电路,其结合双端口路由器操作,从而执行电路的全速操作。在第二实施例中,通过检测TAP的ExitlDR状态作为被输入到CMD电路的CMD信号,以此实现全速操作,其中CMD电路结合双端口路由器操作,从而执行电路的全速操作。在第三实施例中,通过检测TAP的ExitlDR和PauseDR状态,并且进行响应以产生捕获和更新信号,以实现全速操作,其中捕获和更新信号被输入到可编程开关,可编程开关结合双端口路由器操作,从而执行电路的全速操作。在第四实施例中,通过检测TAP的ExitlDR和PauseDR状态并且将这些状态输入到双端口路由器从而控制电路的全速操作,以此实现全速操作。每个实施例可以扩充为包括外部可访问的更新和捕获输入信号,其可以被选择从而允许测试器直接控制电路的全速操作。
文档编号G01R31/303GK103097902SQ201180037146
公开日2013年5月8日 申请日期2011年7月29日 优先权日2010年7月29日
发明者L·D·威特赛 申请人:德克萨斯仪器股份有限公司