CN1260577C - 测试存取端口的数据同步 - Google Patents

测试存取端口的数据同步 Download PDF

Info

Publication number
CN1260577C
CN1260577C CNB01820709XA CN01820709A CN1260577C CN 1260577 C CN1260577 C CN 1260577C CN B01820709X A CNB01820709X A CN B01820709XA CN 01820709 A CN01820709 A CN 01820709A CN 1260577 C CN1260577 C CN 1260577C
Authority
CN
China
Prior art keywords
data
sign
circuit
register
clock
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.)
Expired - Fee Related
Application number
CNB01820709XA
Other languages
English (en)
Other versions
CN1507567A (zh
Inventor
C·P·罗思
R·P·辛格
R·科拉戈特拉
T·迪恩
Original Assignee
Analog Devices Inc
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Analog Devices Inc, Intel Corp filed Critical Analog Devices Inc
Publication of CN1507567A publication Critical patent/CN1507567A/zh
Application granted granted Critical
Publication of CN1260577C publication Critical patent/CN1260577C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318572Input/Output interfaces

Abstract

在一个实施例中,集成电路提供了与处理器内核中扫描链寄存器通信的测试存取端口。该集成电路同步了在测试时钟(TCK)控制下工作的调试控制器和在处理器时钟(CLK)控制下工作的处理器内核之间所传递的数据。

Description

测试存取端口的数据同步
                          背景
本发明涉及集成电路器件和用来测试的测试存取端口之间数据的传递。
复杂集成电路器件通常包括用来辅助测试和调试器件的边界扫描结构。该边界扫描结构形成了与器件的输入(I/O)引脚相耦合的寄存器链。众所周知,联合测试动作组(JTAG)接口,是一种标准接口,它指定了特殊的测试存取端口作为扫描结构的接口。JTAG测试存取接口有时候被称为“TAP”,以便于集成电路器件的外部存取。IEEE标准1149.1(IEEE Std.1149.1-1990,1990年出版,题名为“测试存取端口和边界扫描结构)定义了该JTAG接口。
通过使用JTAG接口,调试控制器能用于向测试存取端口发送边界扫描命令,以便于将扫描链转移到集成电路中,从而将集成电路初始化到已知状态。另外,调试控制器可以扫描链中转移数据,并向测试存取端口提供数据。如此,应用开发者就能校验为集成电路所开发代码的适当操作了。
                         附图的描述
图1是具备测试存取端口的集成电路器件的结构图。
图2是用来控制集成电路器件中处理器内核和测试存取端口之间数据流电路的结构图。
图3是适用于从测试存取端口到处理器内核的实时数据传递同步过程的时序图。
图4是从处理器内核到测试存取端口的实时数据传递同步过程的时间图表。
图5是说明控制处理器内核和测试存取端口之间数据流的电路示意图。
图6是说明控制处理器内核和测试存取端口之间数据流的电路的又一张示意图。
图7是说明控制处理器内核和测试存取端口之间数据流的电路的又一张示意图。
图8是说明控制处理器内核和测试存取端口之间数据流的电路的又一张示意图。
图9是说明控制处理器内核和测试存取端口之间数据流的电路的又一张示意图。
                         描述
图1是根据本发明实施例具有通讯测试通信端口的集成电路器件10的结构图。如图1所示,集成电路器件10可包括可编程处理器内核12和调试控制器14。处理器内核12可执线存储在随机存取存储器(RAM)器件(如,闪存装置)中的指令。处理器内核12根据线16的处理器时钟信号(CLK)在处理器时钟域中工作,而调试控制器14根据线18的测试时钟信号(TCK)工作于测试时钟域中。
调试控制器14可装备测试存取端口11。特别是,测试存取端口11可采用具备测试时钟(TCK)线18、测试数据输入(TDI)线20、测试数据输出(TDO)线22和测试模式选择(TMS)线24的JTAG测试存取端口(TAP)的形式。线18、20、22和24形成了测试存取端接口,并可采用集成电路器件10可访问的外部引脚形式。
在工作中,调试控制器14可接收从TDI线20来的以扫描链形式给出的调试命令。TDI线20可由外部主机(不显示)来驱动,如,对集成电路器件10运线测试程序的个人计算机或工作站。作为响应,调试控制器14可将调试命令应用于处理器内核12中。此外,调试控制器14从处理器内核12中提出状态数据,来校验处理器操作,并帮助调试为处理器内核设计的应用代码。调试控制器通过将提取出的数据置于TDO线22来进行状态数据与远程主机之间的通信。
如上所述,处理器内核12和调试控制器14工作在两种不同的时钟域中,即测试时钟域(TCK)和处理器时钟域(CLK)。线26描述了处理器内核12和调试控制器14之间的TCK-TLK时钟域边界26。如TDI线20,TCK时钟信号线18可由外部主机驱动并可在频率相对低时工作。然而,CLK时钟信号16可由外部或板上的时钟电路产生,并可在频率高得多的情况下工作。
尽管时钟域可以明显不同的频率工作,但集成电路器件10还是集合了数据同步特性,即允许数据在两个时钟域TCK和CLK之间实时交换。这样,如测试数据这样的数据可被应用,并实时的提取出来,而不必为了后续分析而暂停处理器内核12或缓冲数据的工作。此外,仅一次通过JTAG TAP数据寄存器状态,捕获、转移和更新数据传递就可以完成。
数据同步特性可允许在数据应用和提取以前稳态中的TCK和CLK域之间的数据交换。特别是,处理器内核12和调试控制器14能适于监控标志寄存器30和32中的一组相关标志,这些标志在各自的时钟域中根据数据确认的响应设置和清除。同步装置33采用逻辑和延迟电路的形式设置在集成电路10中,它控制寄存器30和32标志的设置和清除。
寄存器30和32中的标志可用来在时钟域里调节不同的设置时间(times),并确保数据在不同时钟域之间的交换发生之前已达稳态。特别是,可以更新标志来追踪处理器内核12和调试控制器14分别通过捕获、转移和更新状态。这样,就可以同步TCK和CLK时钟域之间的数据传递。每个时钟域中的标志可与另一个完全相等。例如,寄存器30和32中的每组标志可包括:(1)数据输入(Data In);(2)数据输出(Data out);(3)数据输入溢出(Data In Overflow;和(4)数据输出溢出(Data Out Overflow)。
一组数据寄存器可与标志寄存器30和32结合使用来驱动跨越两个时钟域CLK和TCK的数据流。特别是,对JTAG的捕获(Capture)、转移(Shift)和更新(Update)模式,在交互的基础上可使用普通的数据扫描寄存器28,该寄存器也可采取移位寄存器的形式。数据输入寄存器34以更新模式中接收到数据扫描寄存器28的输入数据,允许将数据存储映射寄存器(MMR)Read状态写入处理器内核12中。数据输出寄存器36在MMR写上接收到来自处理器内核12的输出数据,并允许数据扫描寄存器28读出的数据处于捕获模式,随进入转移模式。
在Shift模式中,接收来自外部主机的数据。在Update模式中,数据从数据扫描寄存器28传递到数据输入寄存器34。调试控制器14在标志寄存器30中设置Data In标志来指出数据已从外部主机上接收到了。在由同步装置33发出的预定延迟后,标志寄存器32中的Data In标志被设置为指出数据已达CLK域中的稳态并可由处理器内核12从数据输入寄存器34中重新得到。然后,在MMR Read状态,来自Data In寄存器34的数据被写入处理器内核12中。在标志寄存器32中包含的Data Out标志在MMR Read操作时被清除了,紧跟着的经同步装置33设置延迟后,清除寄存器30中的Data In标志。
标志寄存器32中的Data Out标志由处理器内核12设置,并指出数据准备好由调试控制器14捕获,并已达稳态。在MMR Write状态,数据从处理器内核12上读出,并被置于数据输出寄存器36中。在Capture模式中,来自处理器内核12的数据被捕获到数据扫描寄存器28中。通过响应标志寄存器32中Data Out标志的设置,在延迟之后设置标志寄存器30中的Data Out标志被为调试控制器14在将数据捕获到数据扫描寄存器中时,清除了标志寄存器30中的Data Out标志。在延迟周期后,处理器内核12清除了寄存器32中的Data Out标志。在Shift模式中,数据被移出到外部主机上。
当处理器时钟域CLK中有溢出标识时,标志寄存器30中设置了Data InOverflow标志。例如,如果寄存器32中的Data In标志没有在先于下一个Update周期的TCK时钟域中的特定周期中被清除时,那么Data In Overflow标志就被设置了。在这样的情况下,标志寄存器30中的Data In标志同样也不会被清除,并发出可能溢出的事件信号。
同样的,当调试控制器时钟域TCK中有溢出标识时,寄存器32中就设置了Data Out Overflow标志。例如,如果寄存器30中的Data Out标志没有在CLK时钟域中的特定周期中被清除,或者没有先于下一个捕获周期被清除,那么Data Out Overflow标志就被设置了。在这样的情况,寄存器32中的Data Out标志同样不会被清除。
在工作中,处理器内核12和调试控制器14依照Capture、Shift和Update这几个状态循环往复。在Update状态,调试控制器14产生处理器内核12所需的数据。在Capture状态,处理器内核12产生由调试控制器14提取的数据。这样调试控制器14就在Update有效地将数据写入处理器内核12中,并从Capture状态中从处理器内核提取作为结果的状态数据。转移状态管理数据扫描寄存器28数据输入和输出的转移。
在Shift状态,有关数据同时被移入和移出移位寄存器28。特别是,在Captuer状态之后,移位寄存器28将调试控制器14的所需的数据移入,处理器内核12。在Shift状态,移位寄存器28将处理器12所捕获的数据移出,用来由调试控制器14提取。
图2是说明控制处理器12、调试控制器14和外部主机之间数据传递电路的方框图。特别是,图2更详细地阐明了图1中数据扫描寄存器28、数据输入寄存器34和数据输出寄存器36的工作情况。
数据扫描寄存器28可形成部分复杂数据交换寄存器,并可与数据输入寄存器34和数据输出寄存器36集成。数据输入寄存器34和数据输出寄存器36可映射到相同的存储器地址并分享相同的JTAG数据扫描寄存器28,从而允许全双工的数据传递。
在调试模式,从处理器内核12到存储器映射寄存器的存储(数据)被写入数据输出寄存器36,与此同时,从存储器映射寄存器到处理器内核12的加载(数据)从数据输入寄存器34中读出。经过Capture、Shift和Update状态的循环可完成全双工的数据传递。
数据流出位(Data Outflow bit 40和数据流入位(Data Inflow bit 42分别指出数据输出寄存器36和数据输入寄存器34是否均有效。当出现存储器映射寄存器的存储过程时,数据流出位40就被设置,而当数据扫描寄存器28上的Capture出现时,数据流出位40就被清除。
当出现更新与在数据扫描寄存器28中设置的相关数据位的同时时,数据流出位42就被设置了。当出现存储器映射寄存器的加载时,数据流入位42就被清除了。数据扫描寄存器28包括数据流出(Data Outflow)和数据流入(DataInflow)标志位40和42。数据流出和数据流入标志位40和42可作为分离状态寄存器的一部分,或在数据扫描寄存器28中被复制,来提高数据载入的速度。
再来看图2,数据输入寄存器34具有输入更新控制线、加载控制线和至处理器内核12的MMR Read数据通道。数据输出寄存器36具有输入存储控制线、捕获控制线和从处理器内核到数据输出寄存器36和数据扫描寄存器28的MMRWrite数据通道。
数据扫描寄存器28具有输入数据输入(TDI)控制信号线和转移控制线,并具有输出Data Out(TD0)线。在工作中,Capture、Shift、Update和Lead命令是同步的,从而实现通过数据输入寄存器34、数据输出寄存器36和数据扫描寄存器28的实时数据传递。
图3是是根据本发明具体实施例通过测试存取端口11进行到处理器内核12的实时数据传递同步处理的时序图。图3尤其阐明了测试存取端口11在Update状态的线进,在此状态中,数据从调试控制器14传递到处理器内核12中,图3还显示出了参照图1和图2的上讨论的不同信号和标志之间的相互关系。
如图3所示,在插入在测试存取口(TAP)时,Shift命令之后的TCK时钟信号的第一个上升沿,采用TDl输入信号20,将扫描数据移入到数据扫描寄存器28。在Update状态中TCK信号的第一上升沿,具有器件10的逻辑电路确定了数据输入有效信号(Dara In Valid),并指出该有效信号已被载入移位寄存器28中。
在TCK时钟域中数据输入有效信号(Data In Valid)的确定引发了处理器时钟CLK域中更新信号(Update)的确定。更新信号(Update)指示处理器内核12将数据从数据扫描寄存器28载入寄存器34中。如果处理器内核12还没有完成将原有数据载入操作,那么就产生了溢出(Overflow)条件,如同标志寄存器32中数据输入溢出(Data In Overflow)的确定一样。
假设没有产生溢出条件,那么社会检测到标志寄存器30中数据输入(DataIn)标志的设置,并导致标志寄存器32中相关数据输入(Data In)标志的延迟设置。更具体的说,在CLK域中,数据输入上升沿(Data In Posedge)信号被确定来指示标志寄存器30的数据输入(Data In)标志状态的改变。Data InPosedge信号在CLK域中的一个时钟周期内保持不变,并在下一个CLK上升沿到来时变低。
通过响应数据输入上升沿信号的确定,标志寄存器32的数据输入(Data In)标志设置在CLK时钟域。如同下面将要讨论到的,标志寄存器32的数据输入(Data In)标志在处理器内核12从数据输入寄存器34中读数据之前保持不变。在本例中,在更新(Update)信号确定后有四个时钟周期,存储器映射寄存器(MMR)Read信号变高并保持一个CLK周期,表明处理器内核12已从寄存器34中读出数据,并从而在下一个CLK周期中清除标志寄存器32的数据输入(DataIn)标志。检测到标志被清除后,在预定延迟后的TCK域中,如CLK域中标志寄存器32的数据输入(Data In)标志清除之后的第三TCK周期就确定了数据输入下降沿(Data In Negedge)信号。数据输入下降沿(Data In Negedge)信号的确定导致标志30的数据输入(Data In)标志被清除,从而完成了测试存取端口11的更新/载入(Update/Load)周期。
在更新Update周期,分别使用寄存器30和32中的Data In TCK和Data InCLK标志,以及允许处理器内核12能继续它操作的Data In Overflow标志,来实现数据同步,以满足实时传送。与此同时,响应测试存取端口11的更新Update命令使Update信号再次变高,并保持一个CLK时钟周期。响应Data InCLK标志和更新信号的确定,Data In Overflow在下一个CLK信号的上升沿到来时变高。Data In Overflow信号表明又一个更新(Update)已初始化,但标志寄存器32中的Data In CLK标志还没有被清除。
图4是说明通过测试存取端口11使处理器内核12的实时数据同步处理的时序图。如图3,图4进一步阐明了实施数据传递的各种信号和标志的相互作用。图4尤其阐明了测试存取端口(TAP)11在Capture状态的过程,在该状态数据从处理器内核12传递到调试控制器14。
如图4所示,MMR Write信号在一个CLK时钟周期内保持为高。新数据返回到数据输出寄存器36中。另外,在MMR Read信号上升沿之后的一个CLK周期,设置标志寄存器32中的Data Out CLK标志。标志寄存器32中的Data OutCLK标志表明数据在CLK域中是稳定的。在标志寄存器32中Data Out CLK的上升沿之后的第三TCK时钟周期内,数据输出上升沿(Data Out Posedge)信号被确定了。通过响应数据输出上升(Data Out Posedge)沿信号,在下一个TCK时钟周期中,设置标志寄存器30中的Data Out TCK标志。
如果在下一个MMR Write之前,标志寄存器30中的Data Out TCK没有被清除,那么Data Out Overflow信号将在MMR Write信号的下降沿到来时保持为高。当在TCK域中确定了捕获(Capture)信号时,数据被捕获到数据扫描寄存器28中,并在转移状态时由测试存取端口11移出。
通过响应捕获(Capture)信号,标志寄存器30中的Data Out TCK标志在一个TCK周期后被清除。然后Data Out下降沿(Data Out Posedge)信号在DataOut TCK标志清除之后的第三CLK周期的CLK域中保持为高,并清除了Data OutCLK标志。特别是,标志寄存器32中的Data Out CLK标志在数据输出下降沿(Data Out Posdeg)信号确定之后的下一个CLK周期内被清除了。Data Out引脚在Data Out TCK为高的周期内也变成高。
图5是说明控制处理器内核12和测试存取端口11之间数据流电路的示意图。对与图6-9的电路相结合的实施例来说,图5的电路用来同步数据输入寄存器34和数据输出寄存器36工作,并支持与图3和图4描述有关的相互作用。
如图5所示,该电路可包括具有类似像输入MMR Write数据的寄存器44和MMR写允许线,其中,该MMR Write数据可为来自处理器内核12的32位数据。寄存器44的输出提供了捕获(Capture)模式中到数据扫描移位寄存器28的Data Out。寄存器44采用处理器时钟域CLK中的时钟,并可形成部分数据输出寄存器36。
数据扫描寄存器28的一系列多路复用器47接收作为输入来自寄存器44的Data Out,来自调试控制器14的TDI和来自于相应多路复用器相关的一系列输出触发器46的反馈线。每个触发器46采用测试时钟域TCK中的时钟。数据扫描移位寄存器28响应与各个多路复用器47相耦的控制线。
根据某些信号的状态,控制线选择每个多路复用器47的其中一个输入。例如,当确定保持信号时,由每个多路复用器47选择反馈线,并输出相关的触发器46。如此,数据扫描移位寄存器28就保持了它的内容。当确定了转移(Shift)信号时,控制线就使每个多路复用器47进行TDI数据转移,并使得捕获数据的最后一位移出至TDO线51。数据扫描移位寄存器28中的每个触发器46的输出都载入到寄存器50中。移位寄存器28的输出是多位总线线,其中一位被提出来作为TDO(参考数字51所示)。寄存器50输出来自触发器46,作为数据输入的数,并采用处理器时钟域CLK的时钟。寄存器50在使能输入时接收来自由标准数字52标识的同步电路的更新(Update)命令。通过响应更新(Update)命令,寄存器50寄存器28的输出作为MMR Read数据。
同步电路52接收数据输入有效(Data In Valid)信号作为自己的输入,该数据输入有效信号表明在更新工作状态,数据扫描移位寄存器28中存在有效的输入数据。同步电路52可形成图1中的部分同步装置33。数据输入有效(DateIn Valid)信号可在一系列触发器1-n中传播,如标注数字54所示。触发器54的数字n可根据需要的传播延迟来设置。所选择的传播延迟确保寄存器28中的数据在处于数据输入触发器50的时钟周期时已达稳态,从而同步数据在TCK和CLK域之间传递。
触发器54和触发器56的输出分别驱动与门58的输入和反向输入。当CLK域中的数据输入有效(Data In Valid)信号指示了数据扫描移位寄存器28中的有效数据时,触发器54和56就延迟了更新(Update)命令的传播,以使数据输入触发器50在一段时间(a period of time)以后才能被使能。
如此,同步电路52确保了数据扫描移位寄存器28中内容的稳定性。以使数据可在CLK-TCK域接口之间传递而没有数据恶化(corruption)的实质风险。这个过程有效的将TCK和CLK域中数据扫描移位寄存器28中的数据达到同步,从而允许在不必暂停处理器内核12的操作进行实时传递。这是便于代码调试工作的重大优点。
图6是说明控制处理器内核12和调试控制器14之间数据流电路的又一张示意图。图6的电路产生了数据同步的数据流入上升沿(Data Inflow Posedge)信号,并清除和设置TCK和CLK域中的同步标志。特别是,图6的电路阐明了标志寄存器30中Data In TCK标志和数据输入上升沿(Data Inflow Posedge)信号之间的关系。
如图6所示,该电路可包括多路复用器60,它可接收0、1和来自触发器62的反馈线,并作为自己的输入。触发器62采用TCK域的时钟。多路复用器60接收选择其中一个输入的控制线。一旦保持信号被确定,控制线控制多路复用器60来选择来自触发器62的反馈线。
当确定数据输入下降沿(Data In Negedge)信号时,控制线控制多路复用器60选择0线。当确定更新(Update)信号时,控制线控制多路复用器60选择1线。触发器62的输出的是Data In TCK,作为TCK域中的数据输入(Data In)标志,例如,标志寄存器30中的标志。一系列1-n触发器64接收Data In TCK标志。触发器66接收触发器64的输出。触发器64和66采用CLK域的时钟。触发器64和触发器66的输出分别驱动与门68的输入和反向输入。该与门的输出是数据输入上升沿(Dara In Posedge)信号。可选择触发器64的数目来确保数据扫描寄存器28中流入数据稳定性的传播延迟。
图7是说明控制处理器内核12和调试控制器14之间数据流的电路的又一张示意图。图7的电路产生了TCK和CLK域中数据同步的数据输入下降沿(DataIn Negedge)信号。特别是,图7阐明了标志寄存器32中Data In CLK标志和数据输入下降沿(Data In Negedge)信号之间的关系。如图7所示,该电路可包括接收0、1和来自触发器72反馈线,并作为自己输入的多路复用器70。触发器72采用CLK域中的时钟。
多路复用器70接收驱动多路复用器其中一个输入选择的控制线。一旦确定了保持信号,就选择反馈线由多路复用器70。控制线控制多路复用器70在MMR Read信号和Data In CLK标志都被确定时,即,两个信号满足逻辑“与”选择0线。控制线控制多路复用器70在数据输入上升沿(Data In Posedge)信号被确定时选择1线。触发器62的输出是Data In CLK标志。
一系列1-n触发器74接收Data In CLK标志。触发器76接收触发器74的输出。触发器74和76都采用TCK域中的时钟,并具有TCK和CLK域之间DataIn CLK标志同步装置的作用。触发器74和触发器76的输出分别驱动与门78的输入和反向输入。该与门的输出是数据输入下降沿(Data In Nefedge)信号。
图8是说明控制处理器内核12和测试存取端口11之间数据流的电路的又一张示意图。图8的电路通常与图6的电路相似,但是图8的电路涉及捕获(Capture)模式。图8的电路产生TCK和CLK域中数据同步的Data Out上升沿(Data Out Psedge)信号。
如图8所示,该电路可包括多路复用器80,它可接收0、1和来自触发器82的反馈线,并作为自己的输入。触发器82采用CLK域的时钟。多路复用器80接收驱动其中一个输入选择的控制线。在保持信号确定时,控制线驱动多路复用器80来选择反馈线和Data Out CLK。控制线控制多路复用器80在确定Data Out下降沿(Data Out Negedge)信号时选择0线。当MMR Write信号确定时,控制线控制多路复用器80选择1线。触发器82的输出是作为CLK域中DataOut标志的Data Out CLK。
一系列1-n触发器84接收Data Out CLK信号。触发器86接收触发器84的输出。触发器84和86都采用TCK域中的时钟。触发器84和触发器86的输出分别驱动与门88的输入和反向输入。该与门的输出是数据输出上升(DataOut Posedge)沿信号。
图9是说明控制处理器内核12和测试存取端口11之间数据流的电路的又一张示意图。图9的电路产生了TCK和CLK域中数据同步的数据输出下降沿(Data Out Negedge)信号。如图9所示,该电路可包括接收0、1和来自触发器92反馈线,并作为自己输入的多路复用器90。触发器62采用TCK域中的时钟。
多路复用器90接收驱动其中一个输入选择的控制线。当确定保持信号时,控制线控制多路复用器90选择反馈线。控制线控制多路复用器90在捕获(Capture)和Data Out TCK信号被确定时选择0线,例如,在逻辑“与”状态中。控制线控制多路复用器90在数据输出上升沿(Data Out Posedge)信号被确定时选择1线。触发器92的输出是作为CLK域中Data Out标志的Data OutCLK。
一系列1-n触发器94接收Date In CLK信号。触发器96接收触发器94的输出。触发器94和96都采用CLK域中的时钟。触发器94和触发器6的输出分别驱动与门98的输入和反向输入。该与门的输出是数据输出下降沿(DataOut Negedge)信号。选择触发器94的数目可产生需要的传播延迟,从而确保数据扫描寄存器28中流出数据的稳定性。
我们已描述了本发明的不同实施例。这些以及其他的实施例在下面如权利要求的范围之内。

Claims (23)

1.一种方法包含:
在测试时钟域中设置第一标志来表示调试控制电路中第一数据寄存器中数据的有效性;
响应于对所述第一标志的设定,将数据从所述调试控制电路中的所述第一数据寄存器实时转移到处理器电路中的第二数据寄存器而不停止所述处理器电路的运行;
在设定所述第一标志起的预定延迟以后,在处理器时钟域中设置第二标志以表示所述第二数据寄存器中数据的稳定性,所述处理器时钟域具有与所述测试时钟域不同的频率;以及
响应于所述第二标志的设置,从响应于所述第二标志的设定而在所述处理器时钟域中受到时钟控制的处理器电路中的第二数据寄存器,读出所述数据。
2.如权利要求1中的方法,进一步包含清除所述第一标志和所述第二标志,来表示从所述第二数据寄存器读出数据的完成。
3.如权利要求2所述的方法,其特征在于,所述第一标志存储在采用所述测试时钟域的进行时钟控制的第一触发器中,所述第二标志存储在采用所述处理器时钟域进行时钟控制的第二触发器中,所述方法进一步包括响应于所述第二标志的清除来清除所述第一标志。
4.如权利要求1所述的方法,其特征在于,传递所述数据包括将扫描链数据从调试控制电路中的所述第一数据寄存器传递到处理器电路中的所述第二数据寄存器。
5.如权利要求4所述的方法,其特征在于,传递所述数据包括将所述数据以与JTAG兼容的测试存取端口(TAP)的形式从所述调试控制器电路传递到所述处理器电路。
6.如权利要求1所述的方法,进一步包含:如果在尝试将附加数据从所述测试域中受时钟控制的调试控制器电路传递到在所述处理器域中受时钟控制的所述处理器电路之前而没有清除所述第一标志,则设置溢出标志。
7.如权利要求1所述的方法,进一步包含:
在所述处理器时钟域中设置第三标志来表示在所述处理器电路中的第三数据寄存器中数据的有效性;
响应于对所述第三标志的设定,将所述数据实时从所述处理器电路中的所述第三数据寄存器转移到所述调试控制器电路中的第一数据寄存器而不停止所述处理器电路的运行;
在设定所述第三标志起的预定延迟以后,在所述调试控制器时钟域中设置第四标志,以表示所述第一数据寄存器中数据的稳定性。
8.如权利要求1所述的方法,其特征在于,调试控制器电路包括与JTAG兼容的测试存取端口(TAP),该方法进一步包含在调试控制器电路和处理器电路之间传递数据,而只经历JTAG捕获(Capture)、转移(Shift)和更新(Update)数据寄存器状态一次。
9.如权利要求1所述的方法,进一步包含使所述第二标志延迟若干时钟周期,这些时钟周期足以使所述第二数据寄存器中的数据达到稳定状态。
10.一种装置,其特征在于,它包含:
在测试时钟域内运行的调试控制器电路中的第一寄存器;
在处理器时钟域内运行的处理器电路中的第二寄存器,所述第二数据寄存器用来从所述第一数据寄存器接收数据,所述处理器时钟域具有与所述测试时钟域不同的频率;
在所述测试时钟域内存储第一标志以表示在所述第一数据寄存器中的数据的有效性的第一标志寄存器;
在所述处理器时钟域内存储第二标志的第二标志寄存器,所述第二标志是响应于所述第一标志的设置在预定延迟后设置的以表示所述第二数据寄存器中数据的稳定性;
与所述第一、第二标志寄存器耦合的同步器,以实时控制所述调试控制电路和所述处理器电路之间所述第一、第二标志以及候选数据的传递而不停止所述处理器电路的运行。
11.如权利要求10所述的装置,进一步包含逻辑电路,其清除第一和第二标志来表示数据传递的完成。
12.如权利要求11所述的装置,其特征在于,所述第一标志存储在所述第一时钟域中受时钟控制的第一触发器内,而所述第二标志存储在所述处理器时钟域中受时钟控制的第二触发器内,所述装置还包含响应于所述第二标志的清除来清除所述第一标志的电路。
13.如权利要求10所述的装置,其特征在于,数据包括扫描链数据。
14.如权利要求13所述的装置,其特征在于,调试控制器电路包括与JTAG兼容的测试存取端口的(TAP)。
15.如权利要求10所述的装置,其特征在于,进一步包含逻辑电路,如果所述第一标志在测试域中受时钟控制的调试控制器电路和在处理器域中受时钟控制的处理器电路之间尝试附加数据传递之前没有被清除,则设置溢出标志。
16.如权利要求10所述的装置,其特征在于,所述调试控制器电路包括与JTAG兼容的测试存取端口(TAP),并且排列所述第一、第二标志寄存器、第一、第二数据寄存器,以在所述调试控制器电路和所述处理器电路之间传递数据,而只经历JTAG捕获(Capture)、移位(Shift)和更新(Update)数据寄存器状态一次。
17.如权利要求10所述的装置,其特征在于,它还包含延迟电路,它使所述第一、第二标志中的至少一个的设置延迟若干时钟周期,所述若干时钟周期足以使数据达到稳定状态。
18.一种系统,其特征在于,它包含:
闪存存储器器件;
与所述闪存存储器器件耦合的处理器电路,所述处理器电路工作在处理器时钟域内;
与所述处理器电路耦合的调试控制器电路,所述调试控制器电路工作在测试时钟域中,所述测试时钟域具有与所述处理器时钟域不同的频率;
在所述调试控制器电路中的第一数据寄存器;
在所述处理器电路中的第二数据寄存器,所述第二数据寄存器用来从所述第一数据寄存器接收数据;
在所述测试时钟域内存储第一标志的第一标志寄存器,所述第一标志表示所述第一数据寄存器中数据的有效性;
在所述测试时钟域内存储第二标志的第二标志寄存器,所述第二标志是响应于所述第一标志的设置在预定延迟后设置的以表示所述第二数据寄存器中数据的稳定性;
与所述第一、第二标志寄存器耦合的同步器,以实时控制所述调试控制电路和所述处理器电路之间所述第一、第二标志以及候选数据的传递而不停止所述处理器电路的运行。
19.如权利要求18所述的系统,进一步包含逻辑电路,其通过清除第一和第二标志来表示数据传递的完成。
20.如权利要求19所述的系统,其特征在于,所述第一标志存储在所述测试时钟域中受时钟控制的第一触发器内,而所述第二标志存储在所述处理器时钟域中受时钟控制的第二触发器内,所述系统还包含响应于所述第二标志的清除而清除所述第一标志的电路。
21.如权利要求18所述的系统,其特征在于,它还包含逻辑电路,如果所述第一标志在尝试在所述尝试域中受时钟控制的调试控制器电路和在所述处理器域中受时钟控制处理器电路之间的附加数据传递之前没有被清除,则设置溢出标志。
22.如权利要求18所述的系统,其特征在于,所述调试控制器电路包括与JTAG兼容的测试存取端口(TAP),并且排列所述第一、第二标志寄存器、第一、第二数据寄存器,以在所述调试控制器电路和所述处理器电路之间传递数据,而只经历JTAG捕获(Capture)、移位(Shift)和更新(Update)数据寄存器状态一次。
23.如权利要求18所述的系统,其特征在于,它还包含延迟电路,它使所述第一、第二标志中的至少一个的设置延迟若干时钟周期,所述若干时钟周期足以使数据达到稳定状态。
CNB01820709XA 2000-12-15 2001-12-10 测试存取端口的数据同步 Expired - Fee Related CN1260577C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/738,405 US7168032B2 (en) 2000-12-15 2000-12-15 Data synchronization for a test access port
US09/738,405 2000-12-15

Publications (2)

Publication Number Publication Date
CN1507567A CN1507567A (zh) 2004-06-23
CN1260577C true CN1260577C (zh) 2006-06-21

Family

ID=24967868

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB01820709XA Expired - Fee Related CN1260577C (zh) 2000-12-15 2001-12-10 测试存取端口的数据同步

Country Status (6)

Country Link
US (1) US7168032B2 (zh)
JP (1) JP3895278B2 (zh)
KR (1) KR100551546B1 (zh)
CN (1) CN1260577C (zh)
TW (1) TWI221976B (zh)
WO (1) WO2002048722A2 (zh)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7017066B2 (en) * 2003-04-10 2006-03-21 International Business Machines Corporation Method, system and synchronization circuit for providing hardware component access to a set of data values without restriction
US7805638B2 (en) * 2003-06-18 2010-09-28 Nethra Imaging, Inc. Multi-frequency debug network for a multiprocessor array
JP2007526670A (ja) * 2003-06-25 2007-09-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ クロックドメイン間のイベントの無損失転送
JP4494899B2 (ja) * 2004-07-29 2010-06-30 富士通株式会社 プロセッサデバッグ装置およびプロセッサデバッグ方法
US20060161818A1 (en) * 2005-01-14 2006-07-20 Ivo Tousek On-chip hardware debug support units utilizing multiple asynchronous clocks
US7511228B2 (en) * 2005-09-14 2009-03-31 Schmartboard, Inc. Printed circuit board
KR100727975B1 (ko) * 2005-09-10 2007-06-14 삼성전자주식회사 시스템 온 칩의 고장 진단 장치 및 방법과 고장 진단이가능한 시스템 온 칩
US7665002B1 (en) * 2005-12-14 2010-02-16 Advanced Micro Devices, Inc. Multi-core integrated circuit with shared debug port
US7596719B2 (en) 2006-02-14 2009-09-29 Atmel Corporation Microcontroller information extraction system and method
WO2008024697A2 (en) * 2006-08-20 2008-02-28 Ambric, Inc. Multi-frequency debug network for a multiprocessor array
US7707448B1 (en) * 2007-05-03 2010-04-27 Oracle America, Inc. Deterministic test strand unparking
US8468416B2 (en) 2007-06-26 2013-06-18 International Business Machines Corporation Combined group ECC protection and subgroup parity protection
US7802025B2 (en) 2007-06-26 2010-09-21 International Business Machines Corporation DMA engine for repeating communication patterns
US8108738B2 (en) 2007-06-26 2012-01-31 International Business Machines Corporation Data eye monitor method and apparatus
US8103832B2 (en) * 2007-06-26 2012-01-24 International Business Machines Corporation Method and apparatus of prefetching streams of varying prefetch depth
US7827391B2 (en) 2007-06-26 2010-11-02 International Business Machines Corporation Method and apparatus for single-stepping coherence events in a multiprocessor system under software control
US8032892B2 (en) * 2007-06-26 2011-10-04 International Business Machines Corporation Message passing with a limited number of DMA byte counters
US7793038B2 (en) 2007-06-26 2010-09-07 International Business Machines Corporation System and method for programmable bank selection for banked memory subsystems
US7877551B2 (en) * 2007-06-26 2011-01-25 International Business Machines Corporation Programmable partitioning for high-performance coherence domains in a multiprocessor system
US7886084B2 (en) 2007-06-26 2011-02-08 International Business Machines Corporation Optimized collectives using a DMA on a parallel computer
US8509255B2 (en) 2007-06-26 2013-08-13 International Business Machines Corporation Hardware packet pacing using a DMA in a parallel computer
US8140925B2 (en) * 2007-06-26 2012-03-20 International Business Machines Corporation Method and apparatus to debug an integrated circuit chip via synchronous clock stop and scan
US8756350B2 (en) 2007-06-26 2014-06-17 International Business Machines Corporation Method and apparatus for efficiently tracking queue entries relative to a timestamp
US7984448B2 (en) * 2007-06-26 2011-07-19 International Business Machines Corporation Mechanism to support generic collective communication across a variety of programming models
US8458282B2 (en) 2007-06-26 2013-06-04 International Business Machines Corporation Extended write combining using a write continuation hint flag
US8230433B2 (en) 2007-06-26 2012-07-24 International Business Machines Corporation Shared performance monitor in a multiprocessor system
US8010875B2 (en) 2007-06-26 2011-08-30 International Business Machines Corporation Error correcting code with chip kill capability and power saving enhancement
US7882409B2 (en) * 2007-09-21 2011-02-01 Synopsys, Inc. Method and apparatus for synthesis of augmented multimode compactors
US20090260862A1 (en) * 2008-04-16 2009-10-22 Andrew Yaung Circuit modification device for printed circuit boards
US8572433B2 (en) 2010-03-10 2013-10-29 Texas Instruments Incorporated JTAG IC with commandable circuit controlling data register control router
US8589714B2 (en) 2009-12-18 2013-11-19 Texas Instruments Incorporated Falling clock edge JTAG bus routers
US8423851B2 (en) * 2010-09-16 2013-04-16 Nanya Technology Corporation Measured device and test system utilizing the same
US9140754B2 (en) * 2011-02-28 2015-09-22 Texas Instruments Incorporated Scan-based MCM interconnecting testing
US10025343B2 (en) * 2011-12-28 2018-07-17 Intel Corporation Data transfer between asynchronous clock domains
US20150106660A1 (en) * 2013-10-16 2015-04-16 Lenovo (Singapore) Pte. Ltd. Controller access to host memory
US10495690B2 (en) 2017-08-28 2019-12-03 Stmicroelectronics International N.V. Combinatorial serial and parallel test access port selection in a JTAG interface
CN112462240A (zh) * 2020-12-04 2021-03-09 国微集团(深圳)有限公司 支持跨芯片信号同步触发检测方法及装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63142437A (ja) 1986-12-05 1988-06-14 Hitachi Ltd Cmos大規模集積回路装置のクロツク制御回路
US5602878A (en) 1994-09-23 1997-02-11 Intel Corporation Method of delivering stable data across an asynchronous interface
US6014752A (en) 1995-01-27 2000-01-11 Sun Mircosystems, Inc. Method and apparatus for fully controllable integrated circuit internal clock
US5838684A (en) * 1996-02-22 1998-11-17 Fujitsu, Ltd. Low latency, high clock frequency plesioasynchronous packet-based crossbar switching chip system and method
US6032271A (en) 1996-06-05 2000-02-29 Compaq Computer Corporation Method and apparatus for identifying faulty devices in a computer system
GB9622685D0 (en) 1996-10-31 1997-01-08 Sgs Thomson Microelectronics An integrated circuit device and method of communication therewith
GB9622687D0 (en) 1996-10-31 1997-01-08 Sgs Thomson Microelectronics An integrated circuit with tap controller
GB9622686D0 (en) 1996-10-31 1997-01-08 Sgs Thomson Microelectronics A test port controller and a method of effecting communication using the same
US5935266A (en) 1996-11-15 1999-08-10 Lucent Technologies Inc. Method for powering-up a microprocessor under debugger control
US6058255A (en) 1996-12-17 2000-05-02 Texas Instruments Incorporated JTAG instruction decode test register and method
US6112298A (en) 1996-12-20 2000-08-29 Texas Instruments Incorporated Method for managing an instruction execution pipeline during debugging of a data processing system
US5900753A (en) 1997-03-28 1999-05-04 Logicvision, Inc. Asynchronous interface
US6052808A (en) 1997-10-31 2000-04-18 University Of Kentucky Research Foundation Maintenance registers with Boundary Scan interface
US6145100A (en) 1998-03-04 2000-11-07 Advanced Micro Devices, Inc. Debug interface including timing synchronization logic
US6115763A (en) 1998-03-05 2000-09-05 International Business Machines Corporation Multi-core chip providing external core access with regular operation function interface and predetermined service operation services interface comprising core interface units and masters interface unit
US6041418A (en) 1998-08-07 2000-03-21 Lucent Technologies, Inc. Race free and technology independent flag generating circuitry associated with two asynchronous clocks
JP3888792B2 (ja) 1998-12-25 2007-03-07 富士通株式会社 クロック発生回路
US6327684B1 (en) * 1999-05-11 2001-12-04 Logicvision, Inc. Method of testing at-speed circuits having asynchronous clocks and controller for use therewith
US6321329B1 (en) 1999-05-19 2001-11-20 Arm Limited Executing debug instructions
US6535988B1 (en) * 1999-09-29 2003-03-18 Intel Corporation System for detecting over-clocking uses a reference signal thereafter preventing over-clocking by reducing clock rate

Also Published As

Publication number Publication date
TWI221976B (en) 2004-10-11
JP2004515787A (ja) 2004-05-27
WO2002048722A3 (en) 2003-05-15
CN1507567A (zh) 2004-06-23
US20020078420A1 (en) 2002-06-20
WO2002048722A2 (en) 2002-06-20
US7168032B2 (en) 2007-01-23
KR100551546B1 (ko) 2006-02-13
JP3895278B2 (ja) 2007-03-22
KR20030060990A (ko) 2003-07-16

Similar Documents

Publication Publication Date Title
CN1260577C (zh) 测试存取端口的数据同步
CN101382583B (zh) 多核微处理器jtag调试方法
US6684362B1 (en) Method and apparatus for connecting manufacturing test interface to a global serial bus including an I2 c bus
US7900106B2 (en) Accessing sequential data in a microcontroller
US7269770B1 (en) AC coupled line testing using boundary scan test methodology
CN1949723A (zh) 一种atca中jtag器件远程维护的方法及系统
CN105095040B (zh) 一种芯片调试方法与装置
US5450418A (en) Pseudo master slave capture mechanism for scan elements
US6815977B2 (en) Scan cell systems and methods
CN103376340A (zh) 一种转接板、多平台串行测试系统及方法
US7707021B2 (en) Circuit emulation with state recovery
US8145963B2 (en) Semiconductor integrated circuit device and delay fault testing method thereof
US5515530A (en) Method and apparatus for asynchronous, bi-directional communication between first and second logic elements having a fixed priority arbitrator
CN107340467A (zh) 测试系统
CN101065679A (zh) 集成电路及用于测试多tap集成电路的方法
US7747423B1 (en) Systems and methods of co-simulation utilizing multiple PLDs in a boundary scan chain
CN101782626B (zh) 一种jtag端口控制器
CN110717311A (zh) 一种fpga内部访问系统、fpga验证方法
CN102340304B (zh) 一种tap接口优化电路
CN103097902B (zh) 改进全速测试访问端口操作
CN102110047B (zh) 一种在开发系统中读写ram的方法
CN202217036U (zh) 分布式测试节点链及其多链系统
CN114546866A (zh) 一种jtag读指令延时处理方法
CN102305909A (zh) 分布式测试节点链及其多链系统
CN111241764B (zh) 以处理器为核心的电路时序测量方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20090206

Address after: Massachusetts, USA

Patentee after: ANALOG DEVICES, Inc.

Address before: California, USA

Co-patentee before: ANALOG DEVICES, Inc.

Patentee before: INTEL Corp.

ASS Succession or assignment of patent right

Owner name: ANALOG DEVICES, INC.

Free format text: FORMER OWNER: INTEL CORP

Effective date: 20090206

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060621

Termination date: 20201210