CN113608600A - 具有多个时钟域和复位域的系统中数据同步的方法和设备 - Google Patents
具有多个时钟域和复位域的系统中数据同步的方法和设备 Download PDFInfo
- Publication number
- CN113608600A CN113608600A CN202110485103.1A CN202110485103A CN113608600A CN 113608600 A CN113608600 A CN 113608600A CN 202110485103 A CN202110485103 A CN 202110485103A CN 113608600 A CN113608600 A CN 113608600A
- Authority
- CN
- China
- Prior art keywords
- flip
- reset
- flop
- clock domain
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- 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/0045—Correction by a latch cascade
-
- 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/0033—Correction by delay
- H04L7/0041—Delay of data signal
-
- 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/24—Resetting means
-
- 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
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/01—Shaping pulses
- H03K5/04—Shaping pulses by increasing duration; by decreasing duration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
- H04L7/0012—Synchronisation information channels, e.g. clock distribution lines by comparing receiver clock with transmitter clock
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Information Transfer Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本公开的各实施例涉及在具有多个时钟域和复位域的系统中进行数据同步的方法和设备。一种数据同步单元,包括:第一触发器,在第一时钟域上操作,和第二时钟域的复位,对来自第一时钟域的数据进行采样;第二触发器,在第一时钟域中操作,当被请求脉冲使能时,对请求信号进行采样;请求信号路径,被配置为将请求信号延迟第一延迟,并根据经延迟的请求信号生成用于再循环复用器的使能信号;复位信号同步路径,被配置为将第一时钟域的复位信号延迟第二延迟,其中第二延迟短于第一延迟;以及复用器,具有用于接收再循环复用器的输出的第一输入,用于接收可编程寄存器的复位值的第二输入,该复用器被配置为将在输入处的信号选择性地输出至输出。
Description
技术领域
本发明总体上涉及用于在具有多个时钟和复位域的系统中进行数据同步的设备和方法。
背景技术
如图1所示,传统的两个触发器同步器100用于同步单个位水平信号Sig1。触发器A105在时钟A域107中操作,触发器B1 110和触发器B2 112在时钟B域114中操作。时钟A域107和时钟B域114是异步时钟域。触发器A 105在“D”输入处接收输入信号Sig1,并在时钟输入处由第一时钟信号CLK1进行时钟控制。如本领域所公知的,输入信号Sig1通过第一时钟信号CLKA的作用被传送到触发器A 105的“Q”输出。触发器B1 110和B2 112由第二时钟信号CLKB进行时钟控制,并且触发器A 105的“Q”输出处的输出信号通过触发器B1 110和B2 112中的每一个串行传输到输出节点120处的最后“Q”输出。
图2A示出了图1所示的示例性常规同步器100的第一定时图200。示出了与CLKA信号(跟踪205)、触发器A的“Q”输出(跟踪207)、CLKB信号(跟踪209)、触发器B1的“Q”输出(跟踪211)和触发器B2的“Q”输出(跟踪213)关联的波形。有可能在对触发器B1在CLKB时钟域中输入的输入“D”进行采样的同时,触发器B1的“Q”输出可能进入亚稳状态215。但是,在与亚稳状态215相关联的CLKB时钟信号的一个时钟周期时间内,触发器B1的输出“Q”输出可能会稳定到某个稳定值(在图2A所示的情况下,稳定值是逻辑一个值)。如果触发器B1在与亚稳状态215相关联的一个时钟周期时间期间没有稳定到稳定值,则触发器B2的输出也可以进入亚稳状态,但是触发器B2在整个时钟周期内变为亚稳态的可能性非常接近零。
如果CLKB的频率太高,则在触发器B2对触发器B1的输出采样时,触发器B1的输出可能无法稳定到稳定值。在这种情况下,可以使用三个触发器同步器代替两个触发器同步器,以留出更多的时间使亚稳信号稳定。
图2B示出了与图1的示例性常规同步器100相关联的第二定时图250。示出了与CLKA信号(跟踪255)、触发器A的“Q”输出(跟踪257)、CLKB信号(跟踪259)、触发器B1的“Q”输出(跟踪261)和触发器B2的“Q”输出(跟踪263)关联的波形。定时图250示出了与多触发器同步器相关联的现象,称为周期不确定性。在周期不确定性中,可能需要目标时钟的附加时钟周期以将源信号(触发器A 105的输出)同步到目标时钟域。周期不确定性可能取决于中间触发器的输出是否稳定到正确的逻辑值。如图2A所示,需要目标时钟的两个有效时钟边沿来同步目标时钟域中的源信号。这是因为在亚稳状态215之后,触发器B1 110的输出稳定到正确的逻辑水平1。然而,如图2B所示,触发器B1 110的输出在亚稳状态265之后稳定到不正确的逻辑水平0。由于这种不正确的行为,需要额外的目标时钟周期来同步目标时钟域中的源信号。因此,关于需要目标时钟的两个时钟周期或三个时钟周期的同步存在不确定性。
发明内容
根据一个实施例,提供了一种数据同步单元。数据同步单元包括第一触发器,其具有用于从第一时钟域接收数据的输入、耦合到第二时钟域的复位信号的复位、以及用于提供采样数据的输出,第一触发器通过请求使能信号而被使能;第二触发器,其具有耦合到第二触发器的反相输出的输入、用于提供请求信号的输出、以及耦合到第一时钟域的复位信号的复位,第二触发器通过请求使能信号而被使能;请求信号路径,其具有耦合到请求信号的输入、以及用于提供同步到第二时钟域的使能信号的输出,该请求信号路径被配置为将请求信号同步并延迟第一延迟,并根据经同步的请求信号生成使能信号;同步复位信号路径,其具有耦合到第一时钟域的复位信号的输入、以及用于提供同步到第二时钟域的复位信号的输出,同步复位信号路径被配置为将第一时钟域的复位信号同步并延迟第二延迟,其中第二延迟比第一延迟短;以及复用器,其具有用于接收再循环复用器的输出的第一输入、用于接收在第一时钟域中存储数据的可编程寄存器的复位值的第二输入、用于接收同步的复位信号的选择输入,复用器被配置为将在复用器的输入处的信号选择性地输出到复用器的输出。
根据另一个实施例,提供了一种系统。该系统包括:第一时钟域电路,其具有用于提供由第一时钟域的时钟进行时钟控制的数据的输出;第二时钟域电路,其具有用于从第一时钟域电路接收数据的输入,所接收的数据由第二时钟域的时钟进行时钟控制;和数据同步电路,其可操作地耦合在第一时钟域电路和第二时钟域电路之间,该数据同步电路被配置为将第一时钟域的复位信号同步到第二时钟域,并防止亚稳态值传播到第二时钟域电路中。
根据另一个实施例,提供了一种方法。该方法包括将第一时钟域的复位同步到第二时钟域;并且确保第二时钟域中的、来自第一时钟域的请求信号的同步和延迟比第二时钟域中的、第一时钟域的复位的同步和延迟慢。
附图说明
为了更全面地理解本发明及其优点,现在参考以下结合附图的描述,其中:
图1示出了示例性常规同步器的示意图;
图2A示出了与图1的示例性常规同步器相关联的第一定时图;
图2B示出了与图1的示例性常规同步器相关联的第二定时图;
图3示出了一种系统,其突出了用于在时钟域之间传递多位数据的现有技术的再循环复用器(mux)技术;
图4示出了具有两个复位域的现有技术系统;
图5示出了定时图,其突出了如本申请的发明人所识别的,在图4的现有技术系统中可能导致亚稳态状态的场景;
图6示出了根据本文提出的实施例的具有多个时钟域的系统的高层次视图,突出了跨越多个时钟域和复位域的信号;
图7示出了突出根据本文提出的实施例的数据同步单元的系统的详细视图;
图8示出了根据本文提出的实施例的显示第一示例性数据跨时钟域的图7的系统的定时图;
图9示出了根据本文提出的实施例的显示第二示例性数据跨时钟域的图7的系统的定时图;
图10A示出了突出根据本文提出的实施例的单向数据跨时钟域的系统;
图10B示出了突出根据本文提出的实施例的双向数据跨时钟域的系统;
图11A示出了根据本文提出的实施例的在具有多个时钟域和复位域的系统中发生的示例性操作的流程图;和
图11B示出了根据本文提出的实施例的在确保复位值在亚稳态值之前到达数据触发器时发生的示例性操作的流程图。
除非另外指出,否则不同附图中的相应数字和符号通常指代相应的部分。绘制附图以清楚地示出实施例的相关方面,并且不一定按比例绘制。
具体实施方式
在随后的描述中,示出了一个或多个具体细节,旨在提供对实施例的示例的理解。可以在没有一个或多个特定细节的情况下,或者在其他方法、组件、材料等的情况下获得实施例。在其他情况下,没有详细示出或描述已知的结构、材料或操作,因此实施例的某些方面将不要被遮盖。
在本说明书的框架中对“一实施例(an embodiment)”或“一个实施例(oneembodiment)”的引用旨在指示相对于该实施例描述的特定配置、结构或特性包括在至少一个实施例中。因此,在本说明书的一个或多个点中可能出现的诸如“在一实施例(anembodiment)中”或“在一个实施例(one embodiment)中”的短语不一定指一个且相同的实施例。此外,在一个或多个实施例中,可以以任何适当的方式组合特定的构型、结构或特性。
仅出于方便起见而提供本文中使用的参考,并且因此未限定保护范围或实施例的范围。
诸如汽车系统的电子系统可以实现为片上系统(SoC),其是一种集成电路,包括系统的所有组件,例如通常包括与不同和异步时钟域相关联的组件。当数据从第一时钟驱动的触发器(源触发器)传输到第二时钟驱动的触发器(目标触发器)时,发生跨时钟域。根据时钟之间的关系,在源触发器和目标触发器之间的数据传输中可能会出现问题。作为示例,如果源触发器的输出处的转变非常接近第二时钟的有效边沿发生,则可能在目标触发器处发生设置或保留违反。这可能导致第二触发器的输出振荡,变得不稳定,并且可能在第二时钟的下一个有效边沿之前未稳定下来到稳定值。这种情况称为亚稳态。
当存在跨复位域问题时,也可能发生亚稳态状态。当在不同复位上操作的触发器之间传输数据时,即使它们共享相同的时钟域,也可能发生跨复位域问题。例如,如果在目标触发器正在采样数据时断言源触发器的复位(并且未断言目标触发器的复位),则在目标触发器的输入处的数据可能不符合复位或保留要求。这可能导致目标触发器的输出处的亚稳态状态。
图3示出了一种系统300,其突出了用于在时钟域之间传递多位数据的现有技术的再循环复用器(mux)技术。如图3所示,系统300可用于将多位数据从源域同步到目标域,其中在目标域中保持数据相干性很重要(即,所有数据位必须同时变化(或几乎同时,在由制造工艺公差差异、传播延迟差异等引起的定时差异内)。由于这一要求,简单的多触发器同步方案(例如如图1所示的一个)不能用于同步每个单独的数据位,因为周期不确定性(如前所解释的)可能会导致数据非相干性。系统300包括两个时钟域、第一时钟域305和第二时钟域307。第一时钟域305包括可用于存储数据的软件(SW)可编程寄存器310和用于存储和保留存储在SW可编程寄存器310中的数据的触发器312。SW可编程寄存器310例如可以被实现为触发器。SW可编程寄存器310和触发器312中的每一项中的触发器的数目等于数据总线的宽度。作为实例,在具有64位数据总线的系统中,可以使用64个触发器而被使能SW可编程寄存器310。类似地,触发器312可以包括64个触发器。
第一时钟域305还包括用于生成请求信号(REQ)的触发器314,该请求信号用于指示已经做出了读取存储在SW可编程寄存器310中的数据的请求。例如,可以从请求使能信号(REQ_PULSE)产生请求信号(REQ)。请求使能信号(REQ_PULSE)用于使能触发器312和触发器314,这意味着请求使能信号(REQ_PULSE)上的有效信号会启动触发器312和触发器314的操作。例如,一旦软件将多位数据写入SW可编程寄存器310,就生成请求使能信号(REQ_PULSE),以指示源多位数据(在第一时钟域305中)已准备好在第二时钟域307中读取。
尽管未将SW可编程寄存器310、触发器312和触发器314示为被时钟控制,但它们由第一时钟域305通用的时钟进行时钟控制。省略时钟线以简化图3。
第二时钟域307包括再循环复用器320,其根据请求信号(REQ)有选择地输出触发器322的输出(其为存储在第二时钟域307中的SW可编程寄存器310中的数据)或触发器312的输出。再循环复用器320的数目等于数据总线的宽度。作为示例,如果请求信号有效,则再循环复用器320选择触发器312的输出以输出,而如果请求信号无效,则再循环复用器320选择触发器322的输出作为输出(换句话说,再循环复用器320使触发器322的输出再循环,产生其名字)。存储在触发器322中的数据可能与存储在SW可编程寄存器310中的数据不相干直至触发器322的更新发生。触发器322的输出是存储在第二时钟域307中的SW可编程寄存器310中的多位数据。
第二时钟域307还包括配置为将请求信号(REQ)同步到第二时钟域307的同步器324,在此将其称为请求信号(REQ_DST)。如图3所示,同步器324包括两个触发器(触发器326和触发器328)。第二时钟域307还包括脉冲发生器329。脉冲发生器329包括触发器330和异或(XOR)逻辑门332,其第一输入耦合到触发器330的输出,第二输入耦合到触发器330的输入(或等效地,触发器328的输出)。每当请求信号(REQ_DST)发生变化时,脉冲发生器329(触发器330和XOR逻辑门332)用于产生脉冲,其在持续时间内是一个目标时钟周期。例如,每当请求信号(REQ_DST)从0变为1或从1变为0时,脉冲发生器329就输出脉冲。例如,脉冲发生器329的输出用作再循环复用器320的选择信号。
单个复位信号(RST_B)335用于复位系统300中的触发器。当激活时,复位信号(RST_B)335复位系统300中的触发器中存储的内容。因此,尽管系统300包括两个时钟域,但是只有一个复位域。触发器314、326、328和330是单个触发器,而触发器312和触发器322是多个触发器阵列,每个触发器阵列包含的触发器数目与系统300支持的数据总线的宽度一样。类似地,再循环复用器320是再循环复用器的线性阵列,其具有与数据总线的宽度一样多的再循环复用器。
图4示出了具有两个复位域的现有技术系统400。系统400包括两个时钟域(第一时钟域405和第二时钟域407)和两个复位域(与第一复位信号(RST_B)415相关联的第一复位域和与第二复位信号(RST_B)相关联的第二复位域(POR_B)434)。如图4所示,第一时钟域405中的触发器(SW可编程寄存器(例如,实现为触发器)410、触发器412和触发器414)是由第一复位信号(RST_B)415控制的第一复位域的一部分,而第二时钟域407中的触发器(触发器422、触发器426、触发器428和触发器430)是由第二复位信号(POR_B)434控制的第二复位域的一部分。例如,第一复位域可以是编程接口的一部分,而第二复位域可以是运行时接口的一部分。可能需要多个复位域来支持操作,例如当运行时接口测量功能性芯片复位期间发生的事件时。在这种情况下,复位值(例如,复位触发器的值)需要正确地传播到目标域(第二时钟域407)。
由于系统400的两个复位域配置,触发器422可能变为亚稳态的。作为示例,当触发器422正在从触发器412采样多位数据时,可以断言第一复位信号(RST_B)415,从而导致来自触发器412(D_SRC)的多位数据在触发器422的设置或保留边界内改变。这可能导致触发器422变为亚稳态的,并且因此,利用来自触发器422的多位数据(D_DST)的其他电路可能变为亚稳态或使用损坏的值。
图5示出了定时图500,其突出了如本申请的发明人所识别的,在图4的现有技术系统400中可能导致亚稳态状态的场景。定时图500显示跟踪,其代表第二时钟域407的时钟(跟踪505)、XOR逻辑门432的输出(ENP)(跟踪507)、触发器412的良好输出(跟踪509)和触发器412的不良输出(跟踪511)。如果第一复位信号(RST_B)415在间隔515内断言,则触发器422可以进入亚稳态状态。这可能是由于违反了触发器422的设置或保留边界,因此导致随后的电路变得亚稳态或使用损坏的值。
在两个时钟域的复位发生在不同时间的情况下(更具体地,当源域复位可以独立于目标域复位来断言时),用于处理跨时钟域的技术(例如,再循环复用器或握手同步器)可能失败。失败可能导致亚稳定性及其传播,最终导致系统功能失败。因此,需要用于在具有多个时钟域和复位域的系统中进行数据同步的方法和设备。
根据一个实施例,提供了用于在具有多个时钟域和复位域的系统中进行数据同步的方法和设备。本文提供的方法和设备可以在具有多个时钟域的任何数字设计域的系统中操作,并且其中多个时钟域的复位域是不同的。
在一个实施例中,来自源时钟域的数据被目标时钟域的复位信号复位。来自源时钟域的数据,如存储在存储数据的电路中(例如,该电路包括一个或多个触发器,触发器的数目取决于数据总线的宽度),可以在目标时钟域的复位信号变为指定值时复位。使用目标时钟域的复位信号(例如,复位(POR_B)信号上的电源)从源时钟域复位数据有助于防止在目标时钟域中对数据进行采样时数据发生任何变化,因为复位信号来自目标时钟域。例如,当目标时钟域的复位信号有效时,来自源时钟域的数据被复位,而当目标时钟域的复位信号非有效时,来自源时钟域的数据不被复位,即使在源时钟域的复位变为有效(例如,变为逻辑零值)时。
在一个实施例中,根据源时钟域的复位信号来同步来自源时钟域的数据的采样。通过目标时钟域中的电路从源时钟域对数据的采样通过源时钟域的复位信号(例如,复位(RST_B)信号)与源时钟域同步。作为示例,当源时钟域的复位信号无效时(例如,源时钟域的复位信号为逻辑一值),目标时钟域中的电路从源时钟域采样数据(例如,电路包括一个或多个触发器,触发器的数目取决于数据总线的宽度),而当源时钟域的复位信号有效时(例如,源时钟域的复位信号变为逻辑零值),目标时钟域中的电路不会从源时钟域中采样数据。
图6示出了根据本公开实施例的具有多个时钟域的系统600的高层次视图,突出了跨多个时钟域和复位域的信号。如图6所示,系统600包括两个时钟域(域A 605和域B 607),其中域A 605是源时钟域,而域B 607是目标时钟域。从域A 605流到域B 607的信号包括数据信号(D_SRC)610、源复位信号(SRC_RST)612和请求信号(REQ)614。从域B 607到域A 605的信号流包括目标复位信号(DST_RST)616。尽管在图6中将域A 605和域B 607示为源域和目标域,但是对于不同的数据信号,域A 605和域B 607也可以分别是目标域和源域。在这种相反的情况下,信号的方向应相反。
域B 607提供的目标复位信号(DST_RST)616可用于复位存储在数据同步单元610中的来自域A 605的数据。使用目标复位信号(DST_RST)616从域A 605复位数据有助于防止在域B 607中对数据进行采样时域A 605中的数据的改变。
来自域B 607中的域A 605的数据采样与域A 605提供的源复位信号(SRC_RST)612同步。作为示例,当源复位信号(SRC_RST)612有效时,数据同步单元612对来自域A 605的数据进行采样。将域B 607中的数据采样与源复位信号(SRC_RST)612同步还有助于防止在域B607中对数据进行采样时域A 605中的数据的改变。
系统600还包括数据同步单元,其中数据同步单元610与域A 605相关联,并且数据同步单元612与域B 607相关联。数据同步单元包括与用于在具有多个时钟域和复位域的系统中进行数据同步的方法和设备相关联的电路。该电路包括例如触发器和逻辑门。在一个实施例中,数据同步单元610和612包括用于在域A 605是源域而域B 607是目标域时在具有多个时钟域和复位域的系统中提供数据同步的电路。换句话说,数据同步单元610和612包括用于在仅域A 605是源域而域B 607是目标域时提供数据同步的电路。作为示例,数据同步单元610包括用于在具有多个时钟域和复位域的系统中提供数据同步的电路,其中域A605是源域,而数据同步单元612包括用于在具有多个时钟域和复位域的系统中进行数据同步的电路,其中域B 607是目标域。
在另一个实施例中,数据同步单元610和612包括用于当域A 605是源域或目标域而域B 607是目标域或源域时在具有多个时钟域和复位域的系统中提供数据同步的电路。换句话说,数据同步单元610和612包括用于当域A 605或域B 607可以是源域或目标域时提供数据同步的电路。作为示例,数据同步单元610和数据同步单元612各自包括用于在具有多个时钟域和复位域的系统中提供数据同步的电路。下面提供数据同步单元的示例实施例的详细讨论。
图7示出了根据本公开的实施例的突出数据同步单元的系统700的详细视图。系统700包括两个时钟域(时钟域705和时钟域707),其中时钟域705是源域,而时钟域707是目标域。如图7所示,目标域(时钟域707)中的电路对源域(时钟域705)中的数据进行采样。这两个时钟域包括电路,即数据同步单元,以在系统700中提供数据同步。
源域中的电路包括SW可编程寄存器(例如,实现为触发器)710,其存储由源域中的电路采样的数据。换句话说,SW可编程寄存器710存储将由目标域采样并且将跨时钟域的数据。SW可编程寄存器710可以存储在其输入处提供的任何值。
源域中的电路还包括数据同步单元712,该数据同步单元712包括为源域提供数据同步的电路。数据同步单元712包括对存储在SW可编程寄存器710中的数据进行采样并保持的触发器714,以及生成并保持能实现目标域中的再循环复用器722的请求信号(REQ)的触发器716,选择任一个触发器714的输出或触发器720的值(源域的数据的采样值)取决于请求信号(REQ)的值。例如,可以从请求使能信号(REQ_PULSE)产生请求信号(REQ)。
触发器714的输入称为存储在SW可编程寄存器710中的值(D_REG),并且触发器714的输出称为源域的数据(D_SRC)。触发器714由请求使能信号(REQ_PULSE)使能。请求使能信号(REQ_PULSE)通常在将数据写入SW可编程寄存器710时生成,并且指示该数据可以在目标域中被同步。当由请求使能信号(REQ_PULSE)使能时,触发器714对存储在SW可编程寄存器710中的值进行采样,并且当未被请求使能信号(REQ_PULSE)使能时,触发器714保持其当前值。当由请求使能信号(REQ_PULSE)使能时,触发器716在请求信号(REQ)的零和一值之间切换。当未被请求使能信号(REQ_PULSE)使能时,触发器716保持请求信号(REQ)的当前值。
可以通过作为源域的复位信号的复位信号(RST_B)来复位SW可编程寄存器710和触发器716。当复位信号(RST_B)有效时,SW可编程寄存器710和触发器716被复位为默认值,其可以由系统700的操作员或管理系统700的操作的技术标准来定义。触发器714可以由复位信号(POR_B)复位,该复位信号是目标域的复位信号。当复位信号(POR_B)有效时,触发器714被复位。由目标域的复位信号来复位的触发器714允许目标域知道并且对触发器714何时稳定的控制,从而防止设置或保持目标域的边界的违反。触发器714和触发器716组成源域的数据同步单元712。
目标域中的电路包括触发器720,触发器720存储从源域中采样的数据。目标域中的电路还包括再循环复用器722,其以类似于先前描述的图4的再循环复用器420的方式操作。
目标域中的电路还包括数据同步单元724,该数据同步单元712包括为目标域提供数据同步的电路。数据同步单元724包括传播由触发器716输出的请求信号(REQ)的请求信号路径726,以及传播复位信号(RST_B)以选择触发器714的采样值或SW可编程寄存器710(RST_VAL)的复位值。SW可编程寄存器710的复位值可以是在复位SW可编程寄存器710时加载到SW可编程寄存器710中的预定值或预定义值。复位值以参数的形式可用于系统700或在系统700中进行硬编码。
请求信号路径726包括同步器728,其在目标域中同步请求信号(REQ)。同步器728被实现为触发器的线性序列(在该示例实施例中为三个触发器,但是可以使用其他数目的触发器)。由于同步器728中的触发器,请求信号(REQ)被延迟第一指定量。施加到请求信号(REQ)上的延迟可能是触发器数目以及目标域的时钟速率的函数。请求信号路径726还包括脉冲发生器729(包括触发器730和XOR逻辑门732),该脉冲发生器729用于产生用于再循环复用器722的使能信号(ENP)。在该示例实施例中,使能信号(ENP)在目标域的时钟的一个周期内是有效的。当请求信号(REQ_DST)的状态在连续的时钟周期中发生变化时,触发器730和XOR逻辑门732的组合产生有效值。如果在连续的时钟周期内请求信号(REQ_DST)没有变化,则产生无效值。如果使能信号(ENP)有效,则再循环复用器722输出触发器714的输出,而如果使能信号(ENP)无效,则再循环复用器722输出触发器720的输出(目标域(D_DST)中的数据)。
复位路径736使目标域中的复位信号(RST_B)同步,并产生同步的复位信号(RST_B_SRC_2_DEST)。复位路径736被实现为触发器的线性序列。由于复位路径736中的触发器,复位信号(RST_B)被延迟第二指定量。施加到复位信号(RST_B)上的延迟可能是触发器数目以及目标域的时钟速率的函数。如图7所示,复位路径736由两个触发器实现。然而,可以使用其他数目的触发器。复位路径736的输出(同步的复位信号(RST_B_SRC_2_DEST))被提供给复用器734,以从再循环复用器722的输出(触发器714的采样输出或触发器720的输出),或SW可编程寄存器710的复位值(RST_VAL)(其例如以硬编码参数的形式可用)中选择。
由于复位路径736是由两个触发器实现的,而请求信号路径726的同步器728是由三个触发器实现的,因此与复位路径736相关联的延迟小于与请求信号路径726相关联的延迟。因此,在对请求信号(REQ)的改变到达再循环复用器722之前,对复位信号(RST_B)的改变将到达复用器734。因此,复位信号(RST_B)可用于选择(利用复用器734)SW可编程寄存器710的复位值以输出,同时采样数据(触发器714的输出)可以是亚稳态的。如果复位信号(RST_B)是无效的,则复用器734将选择再循环复用器722的输出,一旦请求信号(REQ)已经以同步方式到达目标域,则再循环复用器722将继而对来自源域的数据进行采样。由于请求信号(RST_B)是无效的,因此触发器714的输出不会违反触发器720的设置或保留边界。
由于多触发器同步器中的周期不确定性(如前所述),复位信号(RST_B)可能占用目标域时钟的三个周期才能与目标域同步,而不是目标域时钟的两个周期。因此,再循环复用器722有可能在与透明于复位值(RST_VAL)的复用器734大致相同的时间未意识到潜在的亚稳态数据(D_SRC)。然而,由于复用器734位于数据路径中的再循环复用器722之后,因此可以确定的是即使由复位信号(RST_B)引起的延迟大约等于由请求信号(REQ)引起的延迟,触发器720也捕获复位值(RST_VAL)而不是再循环复用器722的输出。
目标域的触发器(即,触发器720,以及同步器728和复位路径736中的触发器)由复位信号(POR_B)复位,触发器714也是如此,因此目标域控制从源域到目标域的采样数据的采样和传播。
当源域的复位信号(RST_B)被断言时,触发器714可能变为亚稳态的。这是可能的,因为触发器714由目标域的复位信号(POR_B)复位,而不是由复位信号(RST_B)异步复位,并且SW可编程寄存器710的输出可能不满足用于触发器714的设置或保留边界。作为示例,当请求使能信号(REQ_PULSE)是有效的(从而使能触发器714)并且复位信号(RST_B)被断言太靠近源域的时钟的有效边沿时,可能发生这种情况,因此,触发器714的数据输入在触发器714的设置或保留边界内改变。由于触发器714不在复位状态,因此它们可以在其输入处对不稳定数据进行采样,从而在触发器714的输出处导致亚稳态输出。触发器714的亚稳态状态可以传播到触发器720。然而,直到请求信号(REQ)到达目标域并使能再循环复用器722(以使能信号(ENP)的形式),传播才发生。例如,请求信号(REQ)的先前值可以是逻辑1,并且由于复位信号(RST_B)的断言,请求信号(REQ)切换,变为逻辑0。可以在目标域中捕获请求信号(REQ)的这种变化,导致使能信号(ENP)的产生。在一个实施例中,同步器728和复位路径736的设计使得请求信号(REQ)在目标域中的传播比复位信号(RST_B)的传播慢。因此,SW可编程寄存器710的复位值(RST_VAL)而不是触发器714的输出被路由到触发器720。
图8示出了根据本公开的实施例的显示第一示例数据跨时钟域的图7的系统700的定时图800。定时图800中所示的信号名称对应于图7中所示的信号名称,其中跟踪805代表目标域中的复位信号(POR_B),跟踪807代表源域中的复位信号(RST_B),跟踪809代表源域的时钟(SRC_CLK),跟踪811代表SW可编程寄存器710的数据(D_REG)(多值信号),跟踪813代表请求使能信号(REQ_PULSE),跟踪815代表触发器716的输出(请求信号(REQ)),跟踪817代表触发器714的采样数据(D_SRC)(多值信号),跟踪819代表目标域的时钟(DST_CLK),跟踪821代表同步的请求信号(REQ_DST),跟踪823表示使能信号(ENP),跟踪825代表同步复位信号(RST_B_SRC_2_DEST),跟踪827代表目标域中的数据(D_DST)(多值信号)。
如图8所示,在时间830断言复位信号(RST_B),导致SW可编程寄存器710被复位,并且复位值(RST_VAL)被载入SW可编程寄存器710。然而,请求使能信号(REQ_PULSE)是无效的,触发器714保持触发器710的预复位值(“D0”),其在上次被使能时(例如,在请求使能信号(REQ_PULSE)的有效高水平832期间)由触发器714采样。
由于采样数据(D_SRC)尚未通过复位信号(POR_B)进行复位,也未通过请求使能信号(REQ_PULSE)使能触发器714,因此采样数据(D_SRC)与数据(D_REG)不相干,有效高水平的使能信号(ENP)导致再循环复用器722选择要输出的采样数据(D_SRC),因此数据(D_DST)从触发器714取值“D0”。然而,在同步复位信号(RST_B_SRC_2_DEST)的下降边沿834,复用器734选择要输出的复位值(RST_VAL),因此在时钟的后续边沿(DST_CLK)将数据(D_DST)更改为复位值(RST_VAL)。
图9示出了根据本公开的实施例的显示第二示例数据跨时钟域的图7的系统700的定时图900。定时图900中所示的信号名称对应于图7中所示的信号名称。
如图9所示,在大致时间905断言复位信号(RST_B),导致SW可编程寄存器710被复位,并且复位值(RST_VAL)被载入SW可编程寄存器710。在数字电路中,触发器的输入通常必须满足触发器的设置或保留要求,以确保触发器具有与输入相对应的值。触发器714的设置或保留要求被示为“设置或保留”窗口907,这意味着触发器714的输入应该在窗口907内相对稳定,以确保触发器714准确地捕获输入和输出处的值并且不会变得亚稳态。
然而,如图9所示,触发器714的输入(数据(D_REG))在时间905之前具有值D1 909,在时间905之后具有值RST_VAL 911,具有在大致时间905的值变化。因此,触发器714的输入不满足窗口907内的设置或保留要求。结果,触发器714在时间905之后变为亚稳态913。
对应于请求使能信号(REQ_PULSE)917的使能信号(ENP)的逻辑1水平915使再循环复用器722将D_SRC数据(D0)从触发器714传递到其输出,导致数据(D_DST)827更改为D0。请求使能信号(REQ_PULSE)的第二脉冲921在大致时间905产生,大致与复位信号(RST_B)被断言的时间相同。由于复位路径延迟短于请求路径延迟,因此复用器734采样源数据的复位值(RST_VAL)而不是D_SRC 817的亚稳态值913。这导致数据(D_DST)更改为复位值(RST_VAL)。
根据一个实施例,每当数据越过时钟域时,就将数据同步单元提供作为系统的时钟域之间的接口。每当数据从源域跨越到目标域时,数据同步单元就会提供电路以确保亚稳态状态不会传播到目标域中。在一个实施例中,为任何两个时钟域之间的数据流的每个方向提供数据同步单元。作为示例,如果数据仅在一个方向上流动(例如,从第一时钟域到第二时钟域),则单个数据同步单元就足够。作为示例,如果数据在两个方向上流动(例如,从第一时钟域到第二时钟域以及从第二时钟域到第一时钟域),则使用第一数据同步单元来确保亚稳态状态不会传播到第二时钟域(由于来自第一时钟域的数据),并且使用第二数据同步单元来确保亚稳态状态不会传播到第一时钟域(由于来自第二时钟域的数据)。
图10A示出了根据本公开实施例的突出单向数据跨时钟域的系统1000。系统1000包含域A 1005和域B 1007,数据跨时钟域仅从域A 1005到域B 1007。系统1000还包括数据同步单元1009,该数据同步单元1009确保亚稳态状态不会传播到域B 1007中。
图10B示出了根据本公开实施例的突出双向数据跨时钟域的系统1050。系统1050包含域A 1055和域B 1057,数据跨时钟域从域A1055到域B 1057,以及从域B 1057到域A1055。系统1050还包括确保亚稳态状态不传播到域B 1057中的第一数据同步单元1059,以及确保亚稳态状态不传播到域A 1055中的第二数据同步单元1061。
在一个实施例中,在具有多于两个时钟域的系统中,在存在数据跨时钟域的任何两个时钟域之间存在数据同步单元。
图11A示出了根据本公开实施例的在具有多个时钟域和复位域的系统中发生的示例性操作1100的流程图。操作1100可以指示在具有多个时钟域和复位域的系统中发生的操作。
操作1100开始于用来自域B的复位信号来复位域A中的数据触发器(方框1105)。使用来自域B的复位信号对域A中的数据触发器进行复位确保当域B中的电路对域A中的数据进行采样时,目标域数据触发器不会变得亚稳态。来自域A的复位在域B中被同步(方框1107)。域A的复位将在域B中同步以帮助确保域B知道何时采样来自域A的源数据的复位值。然而,为了帮助防止亚稳态值的传播,域A中的数据触发器的复位值在亚稳态值之前到达域B中的数据触发器(方框1109)。确保复位值在亚稳态值之前到达的一种方法是确保目标域中的请求同步路径比目标域中的复位同步路径具有更大的延迟。
图11B示出了根据本公开实施例的在确保复位值在亚稳态值之前到达数据触发器时发生的示例性操作1150的流程图。操作1150可以指示系统中发生的操作,同时系统确保复位值在亚稳态值之前到达数据触发器。
操作1150开始于将复位值的信号路径中的延迟设置为第一延迟值(方框1155)。将潜在的亚稳态数据值的信号路径中的延迟设置为第二值,其中第一延迟值小于第二延迟值(方框1157)。可以使用插入到信号路径中的触发器来设置延迟值,并且具有更多触发器数目的信号路径将比具有更少触发器数目的信号路径具有更大的延迟(假设触发器是使用相同技术制造的相同类型的触发器)。除了插入延迟之外,信号路径中的触发器还可用于将信号路径中的信号同步到目标域。
尽管已经参考说明性实施例描述了本发明,但是该描述并非旨在以限制性的意义来解释。通过参考说明书,示例性实施例以及本发明的其他实施例的各种修改和组合对于本领域技术人员将是显而易见的。因此,意图是所附权利要求涵盖任何这样的修改或实施例。
Claims (20)
1.一种数据同步单元,包括:
第一触发器,具有用于从第一时钟域接收数据的输入、耦合到第二时钟域的复位信号的复位、以及用于提供采样数据的输出,所述第一触发器通过请求使能信号而被使能;
第二触发器,具有耦合到所述第二触发器的反相输出的输入、用于提供请求信号的输出、以及耦合到所述第一时钟域的复位信号的复位,所述第二触发器通过所述请求使能信号而被使能;
请求信号路径,具有耦合到所述请求信号的输入、以及用于提供同步到所述第二时钟域的使能信号的输出,所述请求信号路径被配置为将所述请求信号同步并延迟第一延迟,并根据经同步的所述请求信号生成所述使能信号;
同步复位信号路径,具有耦合到所述第一时钟域的所述复位信号的输入、以及用于提供同步复位信号的输出,所述同步复位信号路径被配置为将所述第一时钟域的所述复位信号同步,并延迟第二延迟,其中所述第二延迟比所述第一延迟短;以及
复用器,具有用于接收再循环复用器的输出的第一输入、用于接收可编程寄存器的复位值的第二输入、用于接收所述同步复位信号的选择输入,所述复用器被配置为选择性地将在所述复用器的输入处的信号输出到所述复用器的输出。
2.根据权利要求1所述的数据同步单元,其中所述请求信号路径包括三个串联耦合的触发器,其中每个触发器具有耦合到所述第二时钟域的所述复位信号的复位。
3.根据权利要求2所述的数据同步单元,其中所述请求信号路径还包括第四触发器,所述第四触发器具有耦合到所述三个串联耦合的触发器的输入;以及逻辑门,具有用于接收所述第四触发器的输出的第一输入、用于接收所述三个串联耦合的触发器的输出的第二输入、以及用于响应于检测到所述请求信号切换状态而提供单个周期脉冲的输出。
4.根据权利要求3所述的数据同步单元,其中所述逻辑门包括异或逻辑门。
5.根据权利要求3所述的数据同步单元,其中所述第四触发器包括耦合到所述第二时钟域的复位信号的复位。
6.根据权利要求3所述的数据同步单元,其中所述三个串联耦合的触发器和所述第四触发器由所述第二时钟域的时钟进行时钟控制。
7.根据权利要求1所述的数据同步单元,其中所述同步复位信号路径包括两个串联耦合的触发器,其中每个触发器具有耦合到所述第二时钟域的所述复位信号的复位。
8.根据权利要求1所述的数据同步单元,其中所述第一触发器和所述第二触发器是“D”触发器。
9.根据权利要求1所述的数据同步单元,其中所述第一触发器和所述第二触发器由所述第一时钟域的时钟进行时钟控制。
10.根据权利要求1所述的数据同步单元,其中所述第一时钟域的所述复位信号和所述第二时钟域的所述复位信号是不同的复位信号。
11.根据权利要求1所述的数据同步单元,其中所述可编程寄存器的所述复位值是硬编码参数。
12.一种系统,包括:
第一时钟域电路,具有用于提供由第一时钟域的时钟进行时钟控制的数据的输出;
第二时钟域电路,具有用于从所述第一时钟域电路接收数据的输入,所接收的所述数据由第二时钟域的时钟进行时钟控制;以及
数据同步电路,可操作地耦合在所述第一时钟域电路和所述第二时钟域电路之间,所述数据同步电路被配置为将所述第一时钟域的复位信号同步到所述第二时钟域,并防止亚稳态值传播到所述第二时钟域电路中。
13.根据权利要求12所述的系统,其中所述数据同步电路包括:
第一触发器,具有用于从所述第一时钟域电路接收数据的输入、耦合到所述第二时钟域的复位信号的复位、以及用于提供采样数据的输出,所述第一触发器通过请求使能信号而被使能;
第二触发器,具有耦合到所述第二触发器的反相输出的输入、用于提供请求信号的输出、以及耦合到所述第一时钟域的所述复位信号的复位,所述第二触发器通过所述请求使能信号而被使能;
请求信号路径,具有耦合到所述请求信号的输入、以及用于提供同步到所述第二时钟域的使能信号的输出,所述请求信号路径被配置为将所述请求信号同步并延迟第一延迟,并根据经同步的请求信号生成所述使能信号;
同步复位信号路径,具有耦合到所述第一时钟域的所述复位信号的输入、以及用于提供同步复位信号的输出,所述同步复位信号路径被配置为将所述第一时钟域的所述复位信号同步,并延迟第二延迟,其中所述第二延迟比所述第一延迟短;以及
复用器,具有用于接收再循环复用器的输出的第一输入、用于接收可编程寄存器的复位值的第二输入、用于接收所述同步的复位信号的选择输入,所述复用器被配置为选择性地将在所述复用器的输入处的信号输出到所述复用器的输出。
14.根据权利要求13所述的系统,其中所述请求信号路径包括三个串联耦合的触发器,其中每个触发器具有耦合到所述第二时钟域的所述复位信号的复位。
15.根据权利要求14所述的系统,其中所述请求信号路径还包括第四触发器,所述第四触发器具有耦合到所述三个串联耦合的触发器的输入;以及异或门,具有用于接收所述第四触发器的输出的第一输入、用于接收所述三个串联耦合的触发器的输出的第二输入、以及用于针对所述再循环复用器提供使能信号的输出,所述使能信号被同步到所述第二时钟域。
16.根据权利要求13所述的系统,其中所述同步复位信号路径包括两个串联耦合的触发器,其中每个触发器具有耦合到所述第二时钟域的所述复位信号的复位。
17.根据权利要求13所述的系统,其中所述第一触发器和所述第二触发器由所述第一时钟域的时钟进行时钟控制。
18.一种方法,包括:
将第一时钟域的复位同步到第二时钟域;以及
确保所述第二时钟域中的、来自所述第一时钟域的请求信号的同步和延迟比所述第二时钟域中的所述第一时钟域的所述复位的同步和延迟慢。
19.根据权利要求18所述的方法,进一步包括:利用所述第二时钟域的复位来复位所述第一时钟域中的数据采样触发器。
20.根据权利要求18所述的方法,所述第一时钟域的所述复位和所述第二时钟域的所述复位是不同的复位。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/865,914 US10999050B1 (en) | 2020-05-04 | 2020-05-04 | Methods and apparatus for data synchronization in systems having multiple clock and reset domains |
US16/865,914 | 2020-05-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113608600A true CN113608600A (zh) | 2021-11-05 |
Family
ID=75689505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110485103.1A Pending CN113608600A (zh) | 2020-05-04 | 2021-04-30 | 具有多个时钟域和复位域的系统中数据同步的方法和设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10999050B1 (zh) |
EP (1) | EP3907886B1 (zh) |
CN (1) | CN113608600A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116155245A (zh) * | 2023-04-21 | 2023-05-23 | 苏州领慧立芯科技有限公司 | 跨时钟域低电平脉冲同步电路和低电平脉冲同步方法 |
CN116996071A (zh) * | 2023-09-27 | 2023-11-03 | 苏州领慧立芯科技有限公司 | 一种saradc采样时钟产生装置及方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111262583B (zh) * | 2019-12-26 | 2021-01-29 | 普源精电科技股份有限公司 | 亚稳态检测装置和方法、adc电路 |
FR3134462A1 (fr) * | 2022-04-12 | 2023-10-13 | Stmicroelectronics (Rousset) Sas | Procédé de transfert de données entre un premier domaine numérique et un deuxième domaine numérique, et système sur puce correspondant. |
CN116126116B (zh) * | 2023-02-03 | 2023-12-01 | 芯动微电子科技(武汉)有限公司 | 时钟复位电路、方法、装置、系统级芯片和存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5487092A (en) | 1994-12-22 | 1996-01-23 | International Business Machines Corporation | System for high-speed synchronization across clock domains |
US5987081A (en) * | 1997-06-27 | 1999-11-16 | Sun Microsystems, Inc. | Method and apparatus for a testable high frequency synchronizer |
US6333893B1 (en) | 2000-08-21 | 2001-12-25 | Micron Technology, Inc. | Method and apparatus for crossing clock domain boundaries |
KR100522433B1 (ko) | 2003-04-29 | 2005-10-20 | 주식회사 하이닉스반도체 | 도메인 크로싱 회로 |
US8559576B2 (en) * | 2008-06-30 | 2013-10-15 | Oracle America, Inc. | Adaptive synchronization circuit |
US8212594B2 (en) * | 2010-08-11 | 2012-07-03 | Integrated Device Technology, Inc. | Methods and apparatuses for clock domain crossing |
US8493108B2 (en) * | 2011-09-16 | 2013-07-23 | Apple Inc. | Synchronizer with high reliability |
US9106401B2 (en) | 2012-06-21 | 2015-08-11 | Nvidia Corporation | Deterministic synchronization for transmitting signals between different clock domains |
US10014041B1 (en) * | 2016-12-23 | 2018-07-03 | Texas Instruments Incorporated | Integrated circuits, methods and interface circuitry to synchronize data transfer between high and low speed clock domains |
-
2020
- 2020-05-04 US US16/865,914 patent/US10999050B1/en active Active
-
2021
- 2021-04-29 EP EP21171144.5A patent/EP3907886B1/en active Active
- 2021-04-30 CN CN202110485103.1A patent/CN113608600A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116155245A (zh) * | 2023-04-21 | 2023-05-23 | 苏州领慧立芯科技有限公司 | 跨时钟域低电平脉冲同步电路和低电平脉冲同步方法 |
CN116996071A (zh) * | 2023-09-27 | 2023-11-03 | 苏州领慧立芯科技有限公司 | 一种saradc采样时钟产生装置及方法 |
CN116996071B (zh) * | 2023-09-27 | 2023-12-22 | 苏州领慧立芯科技有限公司 | 一种saradc采样时钟产生装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3907886B1 (en) | 2024-04-17 |
US10999050B1 (en) | 2021-05-04 |
EP3907886A2 (en) | 2021-11-10 |
EP3907886A3 (en) | 2022-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113608600A (zh) | 具有多个时钟域和复位域的系统中数据同步的方法和设备 | |
US6763489B2 (en) | Method for scan testing of digital circuit, digital circuit for use therewith and program product for incorporating test methodology into circuit description | |
KR101089153B1 (ko) | 상이한 클록 도메인 간에서의 데이터 신호 전송 방법 및 집적 회로 | |
KR101010649B1 (ko) | 디지털 dll 회로 | |
US7394721B1 (en) | Method and apparatus for data synchronization to local clock on memory reads | |
US7269754B2 (en) | Method and apparatus for flexible and programmable clock crossing control with dynamic compensation | |
US5764528A (en) | Delay optimizing method in logic circuit designing | |
US5422914A (en) | System and method for synchronizing data communications between two devices operating at different clock frequencies | |
US7808846B2 (en) | Semiconductor memory device | |
US20060090149A1 (en) | Simulation testing of digital logic circuit designs | |
US20050008110A1 (en) | System and method for data phase realignment | |
US7586356B1 (en) | Glitch free clock multiplexer that uses a delay element to detect a transition-free period in a clock signal | |
US7984351B2 (en) | Data transfer device and method thereof | |
US6636980B1 (en) | System for launching data on a bus by using first clock for alternately selecting data from two data streams and using second clock for launching data thereafter | |
KR101334111B1 (ko) | 쿼드 데이터 레이트(qdr) 제어기 및 그의 실현방법 | |
US9171596B2 (en) | Short asynchronous glitch | |
JP2005518042A (ja) | クロックの異なるバス間におけるデータ転送 | |
US20200097626A1 (en) | Metastability insertion using the x-state | |
JP2005518685A (ja) | クロック回路のための方法及び装置 | |
JPH10133768A (ja) | クロックシステム、半導体装置、半導体装置のテスト方法、及びcad装置 | |
US6774823B1 (en) | Clock synchronization logic | |
US20030125916A1 (en) | Simulation and synthesis of metastable flip flops | |
KR100588375B1 (ko) | 셋업/홀드 타임 제어 회로 | |
KR100196225B1 (ko) | 인터페이스 회로 | |
CN117373504A (zh) | 延迟控制电路、半导体存储装置以及延迟控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |