CN1952835A - 控制异步时钟域以执行同步操作的装置与方法 - Google Patents
控制异步时钟域以执行同步操作的装置与方法 Download PDFInfo
- Publication number
- CN1952835A CN1952835A CNA2006100931032A CN200610093103A CN1952835A CN 1952835 A CN1952835 A CN 1952835A CN A2006100931032 A CNA2006100931032 A CN A2006100931032A CN 200610093103 A CN200610093103 A CN 200610093103A CN 1952835 A CN1952835 A CN 1952835A
- Authority
- CN
- China
- Prior art keywords
- signal
- clock
- door
- asynchronous
- test
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/005—Correction by an elastic buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
Abstract
提供了用于控制异步时钟域执行同步操作的装置和方法。利用该系统和方法,当要在芯片上执行同步操作的时候,芯片功能元件的锁存器受同步时钟控制,从而锁存器被同步控制,即使这跨越了芯片的异步边界。同步操作随后可以被执行,并且芯片的功能元件在同步操作完成之后被返回到由本地时钟以异步方式控制。该同步操作例如可以是上电复位(POR)操作、制造测试序列、调试操作等。
Description
技术领域
本申请一般地涉及改进的信息处理设备。更具体地说,本申请涉及用于控制异步时钟域以执行同步操作的装置与方法。
背景技术
高度集成的微处理器和片上系统(system-on-a-chip)集成电路含有许多不同的功能元件。微处理器的核心逻辑以千兆赫兹的时钟运行。然而,当输入/输出(I/O)和存储器器件被并入同一芯片的时候,这些器件将有不同的计时要求。对于基于扫描的设计,即,其中通过微处理器或片上系统的各种功能元件的锁存元件来扫描数据的设计,不同的计时要求在核心逻辑和其它功能元件之间建立了异步边界。跨越异步时钟边界的扫描会出现问题,因为不能在两种计时环境中可靠地建立锁存设立和保持次数。
这对于上电复位(POR)和制造测试序列来说特别成问题。在上电复位序列期间,希望让所有数字逻辑在同一时钟上运行。这将允许POR引擎扫描所有锁存元件,以将芯片初始化为已知状态。对于锁存器在相同时钟上运行的类似要求存在于执行制造测试序列的过程中。然而,这对于在芯片上具有不同计时域的片上系统或微处理器来说是不可能的。结果,在POR或制造测试期间,POR逻辑和测试逻辑必须单独处理每个时钟域。因此,为了正确执行POR或制造测试序列,POR引擎和测试电路的设计和实现变得非常复杂。
发明内容
考虑到上面的情况,设计一种用于控制异步时钟域的改进机制以允许跨越微处理器或片上系统中的异步边界执行基于扫描的上电复位(POR)和测试序列将是有益的。说明本发明的示例性实施例提供了这样一种机制。
利用图示的实施例,当要在微处理器或片上系统(下文统称为“芯片”)上执行同步操作时,芯片的功能元件的锁存器以下述方式被同步时钟控制,即锁存器被同步控制,即使其跨越了芯片的异步边界。同步操作随后可以被执行,并且芯片的功能元件在同步操作完成之后返回到由本地时钟以异步的方式控制。该同步操作例如可以是上电复位(POR)操作、制造测试序列、调试操作等。
利用说明本发明的一示例性实施例,提供了测试保持(或“thold”)生成电路,用于将芯片的锁存器从受它们本地异步时钟控制切换到受同步核心时钟控制以及相反的切换。该测试保持生成电路被用来将芯片功能元件的扫描锁存器置于同步核心时钟操作模式,从而可以在功能元件上执行同步操作,并且随后在同步操作完成之后将它们返回到它们的本地时钟操作模式。
除了测试保持生成电路外,还提供了本地时钟缓冲器,本地时钟缓冲器具有在两个输入时钟之间进行选择的能力。本地时钟缓冲器可以是复用的本地时钟缓冲器。复用的本地时钟缓冲器可以接收作为输入的本地时钟和系统时钟,并且可以将两个时钟中被选中的一个输出到锁存器以进行同步或异步操作。
在说明本发明的一示例性实施例中,提供了集成电路中用于跨越同步/异步时钟域边界执行同步操作的方法。该方法可以包括将处于集成电路的异步时钟域中的一个或多个第一器件从异步时钟操作模式切换到同步时钟操作模式。可以通过使用集成电路的同步时钟域中的一个或多个第二器件和集成电路的异步时钟域中的一个或多个第一器件来执行同步操作。集成电路的异步时钟域中的一个或多个第一器件随后可以被返回到异步时钟操作模式。
将异步时钟域中的一个或多个第一器件从异步时钟操作模式切换到同步时钟操作模式可以包括控制测试模式输入信号、系统时钟使能信号和异步时钟保持信号,以便将到一个或多个第一器件的输入时钟信号从本地异步时钟信号切换到同步系统时钟信号。所述一个或多个第一器件可以包括切换单元,切换单元基于系统时钟使能信号的状态来选择本地异步时钟信号和同步系统时钟信号中的一个,用以输出到异步域中的一个或多个第一器件。切换单元可以是复用本地时钟缓冲器,该复用本地时钟缓冲器复用本地异步时钟信号和同步系统时钟信号。
控制测试模式输入信号、系统时钟使能信号和异步时钟保持信号可以包括向测试保持生成逻辑单元的第一与门断言异步时钟保持信号,向测试保持生成逻辑单元中的第一与门断言测试模式输入信号,以及向一个或多个第一器件断言系统时钟使能信号。异步时钟保持信号和测试模式输入信号可以被测试保持生成逻辑中的第一与门进行与运算,以生成测试保持信号。系统时钟使能信号可以使得同步系统时钟信号被选择,用以对所述一个或多个第一器件计时。
测试模式输入信号可以在断言异步时钟保持信号之后的测试模式延迟周期之后被断言。系统时钟使能信号可以在断言测试模式输入信号之后的系统时钟使能延迟周期之后被断言。
该方法还可以包括确定同步操作是否已完成,并且如果同步操作已经完成,则向一个或多个第一器件去断言(de-assert)系统时钟使能信号。此外,该方法还可以包括:如果同步操作已经完成,则向测试保持生成逻辑中的与门去断言测试模式输入信号,以及如果同步操作已经完成,则向测试保持生成逻辑中的与门去断言异步时钟保持信号。
测试模式输入信号可以是异步的,并且可以被提供给一个或多个同步锁存器以将测试模式输入信号与同步系统时钟信号同步。经同步的测试模式输入信号和全时钟频率信号可以作为输入被提供给第二与门,第二与门输出单元测试保持信号。单元测试保持信号和从第一与门输出的经同步的测试保持信号可以作为输入被提供给第一或门,第一或门输出将被分发给一个或多个第一器件的输出信号。
扫描门信号和激活信号可被提供给关联于一个或多个第一器件的第二或门。关联于一个或多个第一器件的第二或门的输出可以作为输入被提供给关联于一个或多个第一器件的与非门。第一或门的输出信号可被提供给关联于一个或多个第一器件的与非门,且与非门的输出可被提供给关联于一个或多个第一器件的第三或门。关联于一个或多个第一器件的复用器的输出可以作为输入被提供给第三或门。
同步操作可以是上电复位操作、制造测试序列或调试操作之一。该方法可以由在集成电路的测试控制单元中提供的测试保持生成电路来实现。
在说明本发明的一示例性实施例中,提供了一种用于跨越同步/异步时钟域边界执行同步操作的装置。该装置可以包括测试保持生成逻辑单元和切换单元,切换单元耦合到测试保持生成逻辑,并且与异步时钟域中的一个或多个第一器件相关联。测试保持生成逻辑可以控制切换单元,以将一个或多个第一器件从异步时钟操作模式切换到同步时钟操作模式。测试保持生成逻辑还可以控制切换单元,以将一个或多个第一器件返回到异步时钟操作模式。在一个或多个第一器件处于同步时钟操作模式的时候,可以使用同步时钟域中的一个或多个第二器件和异步时钟域中的一个或多个第一器件来执行同步操作。
在下文对说明本发明的示例性实施例的详细说明中将描述本发明的这些以及其它特征和优点,并且对于本领域普通技术人员来说,根据下文的详细说明,本发明的这些以及其它特征和优点将是显而易见的。
附图说明
在所附权利要求中阐述了被认为是本发明新颖特征的特性。然而,通过参考下面对说明性实施例的详细说明并结合附图进行阅读时,本发明自身及其优选使用模式以及进一步的目的和优点将得到最好地理解,在附图中:
图1是可以实现本发明说明性实施例的示例性方面的微处理器芯片的示例性框图;
图2是图示出根据说明本发明的一示例性实施例的测试保持生成电路的示例性示图;
图3是根据说明本发明的示例性实施例的复用的本地时钟缓冲器的示例性示图;
图4是图示出从锁存器的本地时钟控制转换到锁存器的核心时钟控制的信号转换的示例性示图;
图5是图示出从锁存器的核心时钟控制转换回锁存器的本地时钟控制的信号转换的示例性示图;
图6是概述用于说明本发明的以下示例性操作的流程图,该操作用于将异步域中的锁存器从异步操作模式切换到同步操作模式;以及
图7是概述用于说明本发明的以下示例性操作的流程图,该操作用于将异步域中的锁存器返回到异步操作模式。
具体实施方式
说明性实施例提供了用于控制异步时钟域以执行同步操作的装置与方法。说明性实施例的机制可以被实现在任意信息(例如指令和/或数据)处理系统中,在该系统中存在关于系统时钟的同步和异步时钟域之间的边界,并且希望跨越这些边界执行同步操作。一种这样的示例性信息处理系统是可从纽约Armonk的国际商业机器公司得到的单元宽带引擎(CBE)体系结构。图1提供了采用CBE体系结构的微处理器的示例性框图。应当认识到,图1所示的示例性微处理器仅仅是示例性的,而不是要对可以实现说明性实施例的示例性方面的信息处理系统或环境进行任何明示或暗示的限制。
如图1所示,CBE100包括具有处理器(PPU)116及其L1和L2高速缓存112和114的功率处理器元件(PPE)110,和多个协处理器元件(SPE)120-134,多个协处理器元件(SPE)120-134的每个具有其自有的协处理器单元(SPU)140-154、存储器流控制155-162、本地存储器或存储装置(LS)163-170、以及总线接口单元(BIU单元)180-194,BIU单元180-194例如可以是组合直接存储器存取(DMA)、存储器管理单元(MMU)和总线接口单元。还提供有高带宽内部元件互连总线(EIB)196、总线接口控制器(BIC)197和存储器接口控制器(MIC)198。
CBE100可以是片上系统,从而图1描述的每个元件可以在单个微处理器芯片上被提供。而且,CBE100是异质处理环境,其中每个SPU可以接收来自系统中其它每个SPU的不同指令。而且,SPU的指令集不同于PPU的指令集,例如,PPU可以执行基于精简指令集计算机(RISC)的指令,而SPU执行矢量化指令。
SPE120-134彼此耦合并且经由EIB196耦合到L2高速缓存114。此外,SPE120-134经由EIB196耦合到MIC198和BIC197。MIC198提供到共享存储器199的通信接口。BIC197提供CBE100和其它外部总线与器件之间的通信接口。
PPE110是双线程的PPE110。该双线程PPE110和八个SPE120-134的组合使得CBE100能够处理10个并发线程以及超过128个未完成的存储器请求。PPE110充当其它八个SPE120-134的控制器,SPE120-134处理绝大多数计算工作负荷。举例来说,PPE110可以被用来运行传统的操作系统,而SPE120-134执行矢量化的浮点代码运行。
SPE120-134包括协处理单元(SPU)140-154、存储器流控制单元155-162、本地存储器或存储装置163-170和接口单元180-194。在一实施例中,本地存储器或存储装置163-170包括对PPE110可见并可以由软件直接寻址的256KB的指令与数据存储器。
PPE110可以为SPE120-134加载小的程序或线程,将SPE链接在一起来处理复杂操作中的每一步。例如,引入CBE100的机顶盒可以加载用于读取DVD、视频音频解码以及显示的程序,并且信息将从一SPE传递到另一SPE,直到它最终止于输出显示器上。在4GHz处,每个SPE120-134具有理论上32GFLOPS(十亿次浮点运算/秒)的性能,并且PPE110具有类似的性能水平。
存储器流控制单元(MFC)155-162用作SPU与系统的其余部分及其它元件的接口。MFC155-162提供了用于主存储装置和本地存储装置163-170之间的信息传送、保护和同步的主要机制。逻辑上对于处理器中的每个SPU存在一MFC。某些实现方式可以在多个SPU之间共享单个MFC的资源。在这种情形下,为MFC定义的所有设备和命令必须表现为独立于用于每个SPU的软件。共享MFC的效果受限于依赖于实现方式的设备和命令。
在图1所示的体系结构中,PPE110可以基于系统时钟工作,而体系结构中的其它元件可以根据用于这些元件的本地时钟而工作。例如,SPE120-134可以以不同于PPE110的时钟工作,并且因而产生了同步/异步时钟域边界。如上所述,该边界向需要对元件同步计时的上电复位(POR)、测试和调试逻辑中引入了复杂性。因此,对于该边界,希望有这样一种机制,其用于控制异步时钟域,以便允许跨越异步边界执行基于扫描的上电复位(POR)、测试和调试序列。说明本发明的示例性实施例提供了这样的机制。
利用说明性实施例,当要在微处理器或片上系统(例如图1所示的体系结构,下文中统称为“芯片”)上执行同步操作时,芯片功能元件的锁存器受同步时钟控制,从而锁存器被同步控制,即使跨越了芯片的异步边界。同步操作随后可以被执行,并且在同步操作完成之后,芯片的功能元件返回到由本地时钟以异步方式控制。该同步操作例如可以是上电复位(POR)操作、制造测试序列、调试操作等。
利用说明本发明的一示例性实施例,提供了测试保持(或“thold”)生成电路,例如测试控制单元195,用于将芯片的锁存器从受它们本地异步时钟控制切换到受同步核心时钟控制,以及相反的切换。该测试保持生成电路被用来将芯片功能元件的扫描锁存器置于同步核心时钟模式中,从而可以对功能元件执行同步操作,并且随后可以在同步操作完成之后,将功能元件返回到它们的本地时钟操作模式。
除了测试保持生成电路之外,还提供了本地时钟缓冲器,本地时钟缓冲器具有在两个输入时钟之间进行选择的能力。本地时钟缓冲器可以是复用的本地时钟缓冲器,其中本地时钟和系统时钟作为输入被提供,并且两个时钟之一被选中输出到锁存器以进行同步或异步操作。
图2是图示出根据说明本发明的一示例性实施例的测试保持生成电路的示例性示图。如上所述,该测试保持生成电路例如可以在片上系统或微处理器的功能逻辑单元中被提供。该功能逻辑单元可以提供与外部的片外设备的接口,从而可以在片外设备的指引下在片上执行同步操作。例如,在一示例性实施例中,该功能逻辑单元可以是测试控制单元,该测试控制单元在片上系统的操作测试期间提供控制信息并且与制造测试器进行接口。这种测试控制单元还可以具有控制逻辑,例如上电复位(POR)引擎等。
对于图2,xclk指的是异步功能单元的异步时钟信号,而nclk指的是系统时钟。xclk异步于nclk。如图2所示,测试保持生成电路200包括xclk保持生成逻辑210、测试模式逻辑220、异步时钟停止逻辑230和xclkthold_b分发逻辑240。测试保持生成电路200被用来控制异步xclk域的时钟。
图2中还示出了同步时钟域250。如所示,同步时钟域250包括同步锁存器和nclk thold_b分发树。下文讨论的x_thold_b信号被分发到nclkthold_b分发树中的锁存器。如下文所讨论的那样,x_thold_b信号与其它信号一起被用来控制用来对锁存器计时的时钟信号,从而将锁存器置于同步或异步的操作模式。
xclk保持生成逻辑210接收full_clk_rate_b输入信号作为输入信号。full_clk_rate_b信号是由异步方式下的逻辑(例如BIC197和MIC198)生成的。异步单元中的逻辑可以是简单如用于提供配置位的逻辑,或者如确定单元将何时以全时钟频率运行的更复杂逻辑。应当意识到,xclk保持生成逻辑210在异步时钟域中工作。
full_clk_rate_b输入信号和来自xclk保持生成逻辑210的输出的反馈信号一起被与门212进行与运算,来自xclk保持生成逻辑210的输出的反馈信号作为反相器214的输出,是与门212的输出的反相形式。因此,当full_clk_rate_b和反馈信号都为高时,与门212的输出为高,但是反相器214的输出为低,因此,xclk保持生成逻辑210的输出为低。类似地,当full_clk_rate_b和反馈信号都为低或者当full_clk_rate_b和反馈信号处于相反状态的时候,与门212的输出为低,且反相器214的输出为高。来自反相器214的输出被反馈回与门212,但是还作为xclk保持生成逻辑210的输出被提供给测试模式逻辑220的与门224。
测试模式逻辑220接收gt_dc_testmode_b信号作为输入。该gt_dc_testmode_b信号确定x_thold_b信号是从同步逻辑还是从异步逻辑确认的。即,当gt_dc_testmode_b信号被断言时,如下所讨论的那样,来自xclk保持生成逻辑210的异步信号不被允许对xclk分发逻辑230中的锁存器计时。再一次地,异步逻辑由时钟信号“xclk”表示。
gt_dc_testmode_b信号被提供给同步锁存器222,并且还被反相器226反相并作为输入被提供给异步时钟停止逻辑230的与门232。因为诸如gt_dc_testmode_b信号的信号是异步信号,所以同步锁存器222被用来将异步信号改变为与nclk对准的同步信号。信号gt_dc_testmode_b是异步的,因为它由nclk域中的逻辑生成但是控制xclk域中的逻辑。
来自同步锁存器222的输出作为输入被提供给与门224。结果,当gt_dc_testmode_b信号和来自xclk保持生成逻辑120的输出都为高时,单元测试保持信号228为高。当gt_dc_testmode_b信号和来自xclk保持生成逻辑120的输出中的其一为低或者二者都为低时,单元测试保持信号228为低。因此,对gt_dc_testmode_b信号的断言(当被断言时该信号为低(再次注意,当被断言时“b”信号为低)使得单元测试保持信号228为低。
gt_dc_testmode_b信号被反相器226反相,并且反相信号(测试模式)作为输入被提供给异步时钟停止逻辑230的与门232。因此,如果gt_dc_testmode_b信号被断言,即为低,则测试模式信号为高。除了测试模式信号外,x_thold_b信号也作为输入被提供给异步时钟停止逻辑230的与门232。当x_thold_b信号被断言时,它也为低,但是它在被提供绐与门232之前不被反相。x_thold_b信号与gt_dc_nclk_en_b信号一起被用来控制哪个时钟信号(即,nclk或xclk)将被输出到xclk thold_b分发逻辑240中的锁存器,如下文将要讨论的那样。
当测试模式信号为高即gt_dc_testmode_b被断言且x_thold_b信号为高即x_thold_b信号被去断言时,与门232到同步锁存器234的输出为高。当测试模式信号为低即gt_dc_testmode_b没有被断言或x_thold_b信号为低即x_thold_b信号被断言时,与门232到同步锁存器234的输出为低。
同步锁存器234的输出与单元测试保持信号228一起作为输入被提供给或门236。如果单元测试保持信号228或来自同步锁存器234的输出为高,则或门236到xclk thold_b分发逻辑240的输出为高,即到xclk thold_b分发逻辑240的x_thold_b信号为高。因此,当异步信号full_clk_rate_b被断言(低)且gt_dc_testmode_b信号没被断言(高)时,则到或门236的单元测试保持信号为高。在该情形中,同步锁存器234作为gt_dc_testmode_b的函数为低,或门235的输出将为高,即,被分发到xclkthold_b分发树240的锁存器的x_thold_b将为高。换句话说,如果gt_dc_testmode_b信号没被断言,则异步逻辑被允许控制xclk thold_b分发树240中的锁存器的计时。
不管full_clk_rate_b信号是否被断言(是否为低),如果gt_dc_testmode_b信号被断言(低),则到或门236的单元测试保持信号为低。在该情形中,测试模式信号将为高。如果x_thold_b信号被断言(低),则到或门236的输出是经同步(低)的thold_b信号。结果,或门236的输出是低thold_b信号。如果x_thold_b信号没被断言(高),则到或门236的输出是经同步(高)的thold_b信号。结果,或门236的输出是高thold_b信号。
因此总的来说,gt_dc_testmode_b信号的断言被用来停止xclk thold_b分发树240中的锁存器的异步控制。x_thold_b信号被用来同步扫描输入到xclk thold_b分发树240的锁存器中的信息,如下文将参考图3更加详细描述的那样。
可选的gt_dc_stop_async_b信号输入也可以被提供给与门232,但是该信号不是说明性实施例的操作所必需的。gt_dc_stop_async_b信号输入是这样的信号输入,它允许停止xclk域,而nclk域继续运行。该特征使得能够在xclk域中保持固定值的同时测试nclk域。这例如对快速排序nclk逻辑是有帮助的。
图3是根据说明本发明的示例性实施例的复用本地时钟缓冲器的示例性示图。图2中示出的分发逻辑或分发树中的每个锁存器可以具有相应的诸如图3所示的复用本地时钟缓冲器。如图3所示,复用本地时钟缓冲器(MLCB)300包括向与非门320提供输入的或门310。或门310接收scan_gate输入信号和激活输入信号作为输入。这些信号被用来扫描输入用于相应锁存器的同步操作的信息,例如用于上电复位(POR)操作、制造测试操作或调试操作的信号。如果到或门310的这些输入信号中的任何一个为高,则到与非门320的输出为高。
与非门320接收来自或门310的输出以及来自测试保持生成电路200的x_thold_b信号。如果两个信号都为高,则与非门320的输出为低,如果两个信号都为低或任何一个为低,则与非门320的输出为高。与非门320的输出作为输入被提供给或门330。
或门330还接收来自复用器340的时钟信号作为输入。时钟信号是同步系统时钟(即,nclk)或异步本地时钟(即,xclk)。用于选择复用器340输出哪个时钟信号的选择信号例如是由测试控制单元195提供的gt_dc_nclk_en_b信号。测试控制单元195包含到外部的片外制造测试器或其它外部设备的连接和/或逻辑,通过其可以接收指令/数据来确定如何生成适当的选择信号。
选中的时钟作为输入被提供给或门330,或门330随后将时钟信号clk输出到同步和异步域中的分发逻辑或分发树的锁存器。这样,异步域中的锁存器可以被置于同步操作模式,以便执行同步操作,例如上电复位(POR)、测试、调试等,并且随后被返回到异步操作模式。
图4是图示出从锁存器的本地或本地时钟控制转换到核心或系统时钟控制(即,从xclk到nclk)的信号转换的示例性示图。如图4所示,为了从xclk转换到nclk,在测试模式延迟之后gt_dc_testmode_b信号被设置为低,并且x_thold_b信号被设置为低。在nclk_en延迟时段之后gt_dc_nclk_en_b信号被设置为低。低x_thold_b信号、低gt_dc_testmode_b信号和低gt_dc_nclk_en_b信号的组合使得分发树或分发逻辑中的锁存器的复用本地时钟缓冲器从控制锁存器的xclk切换到控制锁存器操作的nclk。
图5是图示出从锁存器的核心或系统时钟控制转换回到锁存器的本地或本地时钟控制的信号转换的示例性示图。如图5所示,为了从控制分发树或分发逻辑中的锁存器操作的nclk转换到控制分发树或分发逻辑中的锁存器操作的xclk,gt_dc_nclk_en_b信号首先被设置高。在测试模式延迟之后gt_dc_testmode_b信号被设置为高。然后在测试保持释放时段之后x_thold_b信号被设置为高。这些高信号的组合使得复用本地时钟缓冲器选择并输出xclk到分发树或分发逻辑的锁存器。
图6和图7是概述了用于切换到异步域的锁存器的时钟输入的说明性实施例的示例性操作的流程图。将理解,图6和图7中图示的流程图的每个块以及块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供给处理器或其它可编程的信息处理装置以产生一机器,从而,在处理器或其它可编程信息处理装置上执行的指令创建了用于实现流程图一个块或多个块中规定的功能的工具。这些计算机程序指令还可以被存储在计算机可读存储器或存储媒体中,其可以引导处理器或其它可编程信息处理装置以特定方式工作,从而存储在计算机可读存储器或存储媒体中的指令产生了包括指令工具的一种制品,其中所述指令工具实现了在流程图一个块或多个块中规定的功能。
因此,流程图图示的多个块支持用于执行规定功能的工具组合、用于执行规定功能的步骤组合以及用于执行规定功能的程序指令工具。还将理解,流程图图示中的每个块以及流程图图示中多个块的组合可以由执行规定功能或步骤的专用的基于硬件的计算机系统来实现,或者由专用硬件和计算机指令的组合来实现。
图6是概述本发明说明性实施例的以下示例性操作的流程图,该操作用于将异步域中的锁存器从异步操作模式切换到同步操作模式。如图6所示,操作开始于测试控制单元(即,上电复位引擎或制造测试单元)确定要执行同步操作(步骤610)。如上所述,该同步操作例如可以是上电复位操作、制造测试操作、调试操作等。测试控制单元断言xclk保持信号,即,x_thold_b信号被设置为低(注意,“_b”信号当前为低)(步骤620)。测试控制单元还断言测试模式信号,即,gt_dc_testmode_b信号被设置为低(步骤630)。测试控制单元断言nclk使能信号,即,gt_dc_nclk_en_b信号被设置为低(步骤640)。测试控制单元随后将用于同步操作的信息扫描输入分发树的锁存器中(650),然后操作终止。
图7是概述本发明说明性实施例的以下示例性操作的流程图,该操作用于将异步域中的锁存器返回到异步操作模式。如图7所示,操作开始于测试控制单元终止同步操作,同步操作例如是上电复位操作、制造测试操作、调试操作等(步骤710)。测试控制单元去断言nclk使能信号,即,gt_dc_nclk_en_b信号被设置为高(步骤720)。测试控制单元去断言测试模式信号,即,gt_dc_testmode_b信号被设置为高(步骤730)。测试控制单元去断言xclk保持信号,即,x_thold_b信号被设置为高(步骤740),然后操作终止。
因此,本发明的说明性实施例提供了一种用于将异步时钟域中的器件(例如锁存器)切换到同步操作模式的机制。这样,需要对器件进行同步计时的操作(例如,上电复位(POR)操作、制造测试操作和调试操作)可以跨越同步/异步时钟域边界执行。本发明说明性实施例的机制还提供用于将异步时钟域中的器件的操作模式切换回到异步操作模式。作为本发明说明性实施例的结果,在这种同步操作期间处理同步/异步时钟域边界的复杂性被最小化。
上述电路是集成电路芯片设计的一部分。芯片设计以图形化计算机编程语言来创建,并且被存储在计算机存储媒体(例如盘、磁带、物理硬盘驱动器或诸如存储存取网络中的虚拟硬盘驱动器)中。如果设计者不制备芯片或不制备用来制备芯片的光刻掩模,则设计者通过物理工具(例如,通过提供存储该设计的存储媒体的拷贝)或以电子的形式(例如,通过因特网)将所得的设计直接或间接传送给能够进行上述制备的实体。所存储的设计随后被转换成用于制备光刻掩模的适当格式(例如,GDSII),其典型地包括要形成在晶片上的所述芯片设计的多重拷贝。光刻掩模被用来定义要被刻蚀或以其它方式被处理的晶片区域(和/或其上的层)。
所得的集成电路芯片可以由制备者以原始晶片的形式(即,作为具有多个未经封装芯片的单个晶片)作为裸管芯或以封装的形式进行分发。在后一种情形中,芯片被安装在单芯片封装件(例如塑料载体,具有附接到母板或其它更高级载体的引线)或多芯片封装件(例如陶瓷载体,其具有表面互连或下埋互连两者或任一个)中。在任一情形下,芯片随后与其它芯片、分离的电路元件和/或其它信号处理器件相集成,作为(a)中间产品(例如母板)或(b)最终产品的一部分。最终产品可以是包括集成电路芯片的任何产品,范围涉及玩具和其它低端应用直至具有显示器、键盘或其它输入设备、以及中央处理器的高级计算机产品,例如便携式计算设备、台式计算设备、博弈控制台系统、手持计算设备等。
已经出于说明和描述的目的呈现了说明性实施例的描述,其不是要穷尽本发明或将本发明限制为所公开的形式。本领域普通技术人员可以很容易想到多种修改和变化形式。所选择并描述的实施例是为了最好地解释本发明的原理和实际应用,以及使本领域普通技术人员能够理解本发明的具有适于所构思的具体应用的各种修改的各种实施例。
Claims (20)
1.一种在集成电路中跨越同步/异步时钟域边界执行同步操作的方法,包括:
将集成电路的异步时钟域中的一个或多个第一器件从异步时钟操作模式切换到同步时钟操作模式;
通过使用集成电路的异步时钟域中的所述一个或多个第一器件和同步时钟域中的一个或多个第二器件来执行同步操作;以及
将集成电路的异步时钟域中的所述一个或多个第一器件返回到异步时钟操作模式。
2.如权利要求1所述的方法,其中将异步时钟域中的一个或多个第一器件从异步时钟操作模式切换到同步时钟操作模式包括:
控制测试模式输入信号、系统时钟使能信号和异步时钟保持信号,以便将到所述一个或多个第一器件的输入时钟信号从本地异步时钟信号切换到同步系统时钟信号。
3.如权利要求2所述的方法,其中所述一个或多个第一器件包括切换单元,所述切换单元基于系统时钟使能信号的状态选择本地异步时钟信号和同步系统时钟信号中的一个,用以输出到异步域中的所述一个或多个第一器件。
4.如权利要求3所述的方法,其中所述切换单元是复用本地时钟缓冲器,所述复用本地时钟缓冲器复用本地异步时钟信号和同步系统时钟信号。
5.如权利要求2所述的方法,其中控制测试模式输入信号、系统时钟使能信号和异步时钟保持信号包括:
向测试保持生成逻辑单元的第一与门断言所述异步时钟保持信号;
向所述测试保持生成逻辑单元中的第一与门所述断言测试模式输入信号;以及
向所述一个或多个第一器件断言所述系统时钟使能信号,其中所述异步时钟保持信号和所述测试模式输入信号被所述测试保持生成逻辑中的第一与门进行与运算,以生成测试保持信号,其中所述系统时钟使能信号使所述同步系统时钟信号被选择用来对所述一个或多个第一器件计时。
6.如权利要求5所述的方法,其中所述测试模式输入信号在断言所述异步时钟保持信号之后的测试模式延迟周期之后被断言,并且其中所述系统时钟使能信号在断言所述测试模式输入信号之后的系统时钟使能延迟周期之后被断言。
7.如权利要求5所述的方法,还包括:
确定同步操作是否已被完成;
如果同步操作已经完成,则向所述一个或多个第一器件去断言所述系统时钟使能信号;
如果同步操作已经完成,则向所述测试保持生成逻辑中的与门去断言所述测试模式输入信号;以及
如果同步操作已经完成,则向所述测试保持生成逻辑中的与门去断言所述异步时钟保持信号。
8.如权利要求5所述的方法,其中:
所述测试模式输入信号是异步的,并且被提供给一个或多个同步锁存器以将所述测试模式输入信号与同步系统时钟信号同步,
经同步的测试模式输入信号和全时钟频率信号作为输入被提供给第二与门,所述第二与门输出单元测试保持信号,以及
所述单元测试保持信号和从所述第一与门输出的经同步的测试保持信号作为输入被提供给第一或门,所述第一或门输出将被分发给所述一个或多个第一器件的输出信号。
9.如权利要求8所述的方法,其中:
扫描门信号和激活信号被提供给与所述一个或多个第一器件相关联的第二或门,
与所述一个或多个第一器件相关联的第二或门的输出作为输入被提供给与所述一个或多个第一器件相关联的与非门,
所述第一或门的输出信号被提供给与所述一个或多个第一器件相关联的与非门,并且所述与非门的输出被提供给与所述一个或多个第一器件相关联的第三或门,以及
与所述一个或多个第一器件相关联的复用器的输出作为输入被提供给所述第三或门。
10.如权利要求1所述的方法,其中所述同步操作是上电复位操作、制造测试序列或调试操作之一。
11.如权利要求1所述的方法,其中所述方法是由集成电路的测试控制单元中提供的测试保持生成电路实现的。
12.一种用于跨越同步/异步时钟域边界执行同步操作的装置,包括:
测试保持生成逻辑单元;和
耦合到所述测试保持生成逻辑的切换单元,该切换单元与异步时钟域中的一个或多个第一器件相关联,其中所述测试保持生成逻辑控制所述切换单元以:
将所述一个或多个第一器件从异步时钟操作模式切换到同步时钟操作模式,以及
将所述一个或多个第一器件返回到异步时钟操作模式,并且其中在所述一个或多个第一器件处于同步时钟操作模式的时候,通过使用同步时钟域中的一个或多个第二器件和异步时钟域中的所述一个或多个第一器件来执行同步操作。
13.如权利要求12所述的装置,其中所述测试保持生成逻辑接收用来生成要被分发到所述一个或多个第一器件中的每个的测试保持信号的异步时钟保持信号和测试模式输入信号,并且其中所述切换单元接收系统时钟使能信号以将到所述一个或多个第一器件的输入时钟从本地异步时钟信号切换到同步系统时钟信号。
14.如权利要求13所述的装置,其中所述切换单元是复用本地时钟缓冲器,所述复用本地时钟缓冲器复用本地异步时钟信号和同步系统时钟信号。
15.如权利要求13所述的装置,其中通过以下步骤将到所述一个或多个第一器件的输入时钟从本地异步时钟信号切换到同步系统时钟信号:
向所述测试保持生成逻辑单元的第一与门断言所述异步时钟保持信号;
向所述测试保持生成逻辑单元中的第一与门断言所述测试模式输入信号;以及
向与所述一个或多个第一器件相关联的切换单元断言所述系统时钟使能信号,其中所述异步时钟保持信号和所述测试模式输入信号被所述测试保持生成逻辑中的第一与门进行与运算,以生成测试保持信号,其中所述-系统时钟使能信号使所述同步系统时钟信号被所述切换单元选择,以用来对所述一个或多个第一器件计时。
16.如权利要求15所述的装置,其中所述测试模式输入信号在断言所述异步时钟保持信号之后的测试模式延迟周期之后被断言,并且其中所述系统时钟使能信号在断言所述测试模式输入信号之后的系统时钟使能延迟周期之后被断言。
17.如权利要求15所述的装置,其中通过以下步骤将到所述一个或多个第一器件的输入时钟从同步系统时钟信号切换到本地异步时钟信号:
确定同步操作是否已完成;
如果同步操作已经完成,则向所述一个或多个第一器件去断言所述系统时钟使能信号;
如果同步操作已经完成,则向所述测试保持生成逻辑中的与门去断言所述测试模式输入信号;以及
如果同步操作已经完成,则向所述测试保持生成逻辑中的与门去断言所述异步时钟保持信号。
18.如权利要求15所述的装置,其中:
所述测试模式输入信号是异步的,并且被提供给所述测试保持生成逻辑单元中的一个或多个同步锁存器,以将所述测试模式输入信号与同步系统时钟信号同步,
经同步的测试模式输入信号和全时钟频率信号作为输入被提供给所述测试保持生成逻辑单元中的第二与门,所述第二与门输出单元测试保持信号,以及
所述单元测试保持信号和从所述第一与门输出的经同步的测试保持信号作为输入被提供给所述测试保持生成逻辑单元中的第一或门,所述第一或门输出将被分发给所述一个或多个第一器件的输出信号。
19.如权利要求18所述的装置,其中:
扫描门信号和激活信号被提供给所述切换单元的第二或门,
与所述一个或多个第一器件相关联的所述切换单元的第二或门的输出作为输入被提供给所述切换单元的与非门,
所述第一或门的输出信号被提供给所述切换单元的与非门,并且所述与非门的输出被提供给所述切换单元的第三或门,以及
所述切换单元的复用器的输出作为输入被提供给所述切换单元的第三或门。
20.如权利要求12所述的装置,其中所述同步操作是上电复位操作、制造测试序列或调试操作之一。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/255,156 US7492793B2 (en) | 2005-10-20 | 2005-10-20 | Method for controlling asynchronous clock domains to perform synchronous operations |
US11/255,156 | 2005-10-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1952835A true CN1952835A (zh) | 2007-04-25 |
CN100480950C CN100480950C (zh) | 2009-04-22 |
Family
ID=37985336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100931032A Expired - Fee Related CN100480950C (zh) | 2005-10-20 | 2006-06-21 | 控制异步时钟域以执行同步操作的装置与方法 |
Country Status (2)
Country | Link |
---|---|
US (3) | US7492793B2 (zh) |
CN (1) | CN100480950C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106168937A (zh) * | 2015-05-22 | 2016-11-30 | 飞思卡尔半导体公司 | 系统级封装(sip)装置的时钟信号对准 |
CN107077163A (zh) * | 2014-04-24 | 2017-08-18 | 瑞典爱立信有限公司 | 时钟相位对齐 |
WO2023035615A1 (zh) * | 2021-09-07 | 2023-03-16 | 南京宏泰半导体科技有限公司 | 一种多核测试处理器及集成电路测试系统与方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7492793B2 (en) * | 2005-10-20 | 2009-02-17 | International Business Machines Corporation | Method for controlling asynchronous clock domains to perform synchronous operations |
JP2008118548A (ja) * | 2006-11-07 | 2008-05-22 | Sharp Corp | 通信装置および通信装置としてコンピュータを機能させるためのプログラム |
US8205110B2 (en) * | 2008-11-03 | 2012-06-19 | Oracle America, Inc. | Synchronous operation of a system with asynchronous clock domains |
US8489775B2 (en) * | 2010-07-21 | 2013-07-16 | Dell Products L.P. | System-wide time synchronization across power management interfaces and sensor data |
US9515880B1 (en) * | 2011-12-28 | 2016-12-06 | Altera Corporation | Integrated circuits with clock selection circuitry |
US9201448B2 (en) * | 2012-06-28 | 2015-12-01 | Intel Corporation | Observing embedded signals of varying clock domains by fowarding signals within a system on a chip concurrently with a logic module clock signal |
US20140203850A1 (en) * | 2013-01-24 | 2014-07-24 | Apple Inc. | Power managed synchronizers for asynchronous input signals |
US10289186B1 (en) * | 2013-10-31 | 2019-05-14 | Maxim Integrated Products, Inc. | Systems and methods to improve energy efficiency using adaptive mode switching |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5325405A (en) * | 1991-08-27 | 1994-06-28 | Motorola, Inc. | Burst mode receiver control |
US5522048A (en) * | 1993-11-30 | 1996-05-28 | At&T Corp. | Low-power area-efficient and robust asynchronous-to-synchronous interface |
US7200767B2 (en) * | 2002-12-27 | 2007-04-03 | Texas Instruments Incorporated | Maintaining synchronization of multiple data channels with a common clock signal |
US7155651B2 (en) * | 2004-04-22 | 2006-12-26 | Logicvision, Inc. | Clock controller for at-speed testing of scan circuits |
US7245552B2 (en) * | 2005-06-22 | 2007-07-17 | Infineon Technologies Ag | Parallel data path architecture |
US7560956B2 (en) * | 2005-08-03 | 2009-07-14 | Micron Technology, Inc. | Method and apparatus for selecting an operating mode based on a determination of the availability of internal clock signals |
US7492793B2 (en) * | 2005-10-20 | 2009-02-17 | International Business Machines Corporation | Method for controlling asynchronous clock domains to perform synchronous operations |
-
2005
- 2005-10-20 US US11/255,156 patent/US7492793B2/en not_active Expired - Fee Related
-
2006
- 2006-06-21 CN CNB2006100931032A patent/CN100480950C/zh not_active Expired - Fee Related
-
2008
- 2008-05-28 US US12/128,315 patent/US8144689B2/en not_active Expired - Fee Related
- 2008-12-19 US US12/339,157 patent/US7792154B2/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107077163A (zh) * | 2014-04-24 | 2017-08-18 | 瑞典爱立信有限公司 | 时钟相位对齐 |
CN107077163B (zh) * | 2014-04-24 | 2020-06-09 | 瑞典爱立信有限公司 | 时钟相位对齐 |
CN106168937A (zh) * | 2015-05-22 | 2016-11-30 | 飞思卡尔半导体公司 | 系统级封装(sip)装置的时钟信号对准 |
CN106168937B (zh) * | 2015-05-22 | 2021-07-30 | 恩智浦美国有限公司 | 系统级封装(sip)装置及其时钟信号对准方法 |
WO2023035615A1 (zh) * | 2021-09-07 | 2023-03-16 | 南京宏泰半导体科技有限公司 | 一种多核测试处理器及集成电路测试系统与方法 |
Also Published As
Publication number | Publication date |
---|---|
US7492793B2 (en) | 2009-02-17 |
US20070091933A1 (en) | 2007-04-26 |
US20090106575A1 (en) | 2009-04-23 |
CN100480950C (zh) | 2009-04-22 |
US20080229136A1 (en) | 2008-09-18 |
US7792154B2 (en) | 2010-09-07 |
US8144689B2 (en) | 2012-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100480950C (zh) | 控制异步时钟域以执行同步操作的装置与方法 | |
Moore et al. | Point to point GALS interconnect | |
Van Berkel et al. | A fully asynchronous low-power error corrector for the DCC player | |
US10451674B2 (en) | Apparatus and method for at-speed scan test | |
JPH07306827A (ja) | P/q整数比関係を有する周波数で動作するディジタル装置間で同期データ伝送を行うための方法および装置 | |
US5894419A (en) | System and method for robust clocking schemes for logic circuits | |
JP3247937B2 (ja) | 論理集積回路 | |
Sokolov et al. | Automating the design of asynchronous logic control for AMS electronics | |
Sokolov et al. | Benefits of asynchronous control for analog electronics: Multiphase buck case study | |
Kol et al. | A doubly-latched asynchronous pipeline | |
US20070038795A1 (en) | Asynchronous bus interface and processing method thereof | |
US5515530A (en) | Method and apparatus for asynchronous, bi-directional communication between first and second logic elements having a fixed priority arbitrator | |
JPS6270922A (ja) | クロツク位相調整方式 | |
Bystrov et al. | Asynchronous circuit synthesis by direct mapping: Interfacing to environment | |
Shi et al. | Improved analytical delay models for RC-coupled interconnects | |
CN102445907A (zh) | 微控制器及其驱动方法以及利用其的显示装置 | |
JP2007087284A (ja) | 集積回路におけるメモリ・インタフェース制御方式 | |
Poole | Self-timed logic circuits | |
JPH10133768A (ja) | クロックシステム、半導体装置、半導体装置のテスト方法、及びcad装置 | |
WO2017116600A1 (en) | Dynamically configurable shared scan clock channel architecture | |
Yakovlev et al. | Design and analysis of a self-timed duplex communication system | |
Gopalakrishnan et al. | Towards amalgamating the synchronous and asynchronous styles | |
de Oliveira et al. | Miriã: a CAD tool to synthesize multi-burst controllers for heterogeneous systems | |
Kessels et al. | DESCALE: a design experiment for a smart card application consuming low energy | |
JP2013036960A (ja) | 遅延スキャンテスト方法、半導体装置及び半導体装置の設計方法 |
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 | ||
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: 20090422 Termination date: 20200621 |