TW201439714A - System and method for determining a time for safely sampling a signal of a clock domain - Google Patents

System and method for determining a time for safely sampling a signal of a clock domain Download PDF

Info

Publication number
TW201439714A
TW201439714A TW102139651A TW102139651A TW201439714A TW 201439714 A TW201439714 A TW 201439714A TW 102139651 A TW102139651 A TW 102139651A TW 102139651 A TW102139651 A TW 102139651A TW 201439714 A TW201439714 A TW 201439714A
Authority
TW
Taiwan
Prior art keywords
phase
clock domain
clock
signal
estimate
Prior art date
Application number
TW102139651A
Other languages
Chinese (zh)
Other versions
TWI516896B (en
Inventor
Stephen G Tell
Original Assignee
Nvidia 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
Priority claimed from US13/674,864 external-priority patent/US8964919B2/en
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of TW201439714A publication Critical patent/TW201439714A/en
Application granted granted Critical
Publication of TWI516896B publication Critical patent/TWI516896B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

A system and method are provided for determining a time for safely sampling a signal of a clock domain. In one embodiment, a phase estimate of a first clock domain is calculated based on a relative frequency estimate between a second clock domain and the first clock domain and, based on the phase estimate, a first time during which a signal from the first clock domain is unchanging such that the signal is capable of being safely sampled by the second clock domain is determined to generate a first sampled signal in the second clock domain. Additionally, an updated phase estimate is calculated, and, based on the updated phase estimate, a second time during which the signal from the first clock domain is changing such that the signal is not capable of being safely sampled by the second clock domain is determined. During the second time the first sampled signal in the second clock domain is maintained.

Description

判斷安全地採樣時脈域之訊號的時間的系統與方法 System and method for judging the time to safely sample the signal of the clock domain

本發明關於在時脈域之間傳送訊號,更特定而言係關於同步化時脈域。 The present invention relates to transmitting signals between clock domains, and more particularly to synchronizing clock domains.

許多的數位系統具有多重時脈域。因此,當訊號由一時脈域移動到另一者時,它們必須被同步以避免亞穩態與同步的失敗。如果兩個時脈具有固定頻率,該等兩個時脈之間的相位於該等兩個時脈的拍頻(beat frequency)之下有周期性。周期性同步器透過利用這種周期性相位關係的優點可以較為簡單,具有較低的潛時,以及會比必須處理完全非同步訊號的同步器具有較低的失敗機率。 Many digital systems have multiple clock domains. Therefore, when signals are moved from one clock domain to another, they must be synchronized to avoid metastable and synchronization failures. If the two clocks have a fixed frequency, the phases between the two clocks are periodic under the beat frequencies of the two clocks. The periodic synchronizer can take advantage of this periodic phase relationship to be simpler, has a lower latency, and has a lower probability of failure than a synchronizer that must process a completely asynchronous signal.

可惜地是,傳統的周期性同步器具有多種限制。例如,大多數既有的系統之訊號係使用非同步先進先出(FIFO,“First-in-first-out”)而與周期性時脈同步。這些會造成FIFO記憶體之很大的面積負擔。因為該FIFO的格雷編碼(Gray-coded)輸入與輸出指標必須透過多個正反器進行同步化來將它們移動橫跨時脈域,該等FIFO亦加上了數個延遲循環。 Unfortunately, traditional periodic synchronizers have a number of limitations. For example, the signals of most existing systems are synchronized with the periodic clock using a non-synchronous first-in first-out (FIFO). These can cause a large area burden on the FIFO memory. Because the FIFO's Gray-coded input and output metrics must be synchronized across multiple flip-flops to move them across the clock domain, the FIFOs also add several delay cycles.

因此有需要處理關聯於先前技術的這些及/或其它問題。 There is therefore a need to address these and/or other issues associated with prior art.

本發明提供一種用於判斷安全地採樣時脈域之訊號的時間 的系統與方法。在一具體實施例中,一第一時脈域的一相位估計係基於一第二時脈域與該第一時脈域之間的一相對頻率估計來做計算,且基於該相位估計,決定一第一時間,以在該第二時脈域中產生一第一採樣訊號,其中在該第一時間期間,該第一時脈域的一訊號並未改變,使得該訊號能夠由該第二時脈域安全地採樣。此外,計算出一更新的相位估計,並基於該更新的相位估計,決定一第二時間,其中在該第二時間期間,來自該第一時脈域的該訊號正在改變,使得該訊號不能夠由該第二時脈域安全地採樣。於該第二時間期間,在該第二時脈域中維持該第一採樣訊號。 The present invention provides a time for judging a signal for safely sampling a clock domain System and method. In a specific embodiment, a phase estimate of a first clock domain is calculated based on a relative frequency estimate between a second clock domain and the first clock domain, and based on the phase estimate, the decision is made. a first time to generate a first sampling signal in the second clock domain, wherein during the first time, a signal of the first clock domain is not changed, so that the signal can be used by the second The clock domain is safely sampled. In addition, an updated phase estimate is calculated, and based on the updated phase estimate, a second time is determined, wherein during the second time, the signal from the first clock domain is changing, such that the signal cannot be The second clock domain is safely sampled. The first sampled signal is maintained in the second clock domain during the second time period.

100‧‧‧方法 100‧‧‧ method

102‧‧‧作業 102‧‧‧ homework

104‧‧‧作業 104‧‧‧ homework

200‧‧‧方法 200‧‧‧ method

204‧‧‧作業 204‧‧‧ homework

206‧‧‧作業 206‧‧‧ homework

300‧‧‧全數位周期性同步器 300‧‧‧All-digit periodic synchronizer

400‧‧‧頻率估計器 400‧‧‧frequency estimator

500‧‧‧相位檢測器 500‧‧‧ phase detector

510‧‧‧相位檢測器 510‧‧‧ phase detector

520‧‧‧四樣本相位檢測器 520‧‧‧ four-sample phase detector

530‧‧‧相位檢測器校正器 530‧‧‧ phase detector corrector

540‧‧‧相位檢測器 540‧‧‧ phase detector

600‧‧‧相位估計器 600‧‧‧ Phase Estimator

700‧‧‧衝突檢測器 700‧‧‧ conflict detector

800‧‧‧二分之一次方衝突檢測器 800‧‧ ‧ one-half party collision detector

900‧‧‧順向同步器 900‧‧‧ Forward Synchronizer

1200‧‧‧同步器 1200‧‧‧Synchronizer

1400‧‧‧相位循環 1400‧‧‧ phase loop

1500‧‧‧先進先出同步器 1500‧‧‧First In First Out Synchronizer

1600‧‧‧先進先出同步器 1600‧‧‧First In First Out Synchronizer

1800‧‧‧系統 1800‧‧‧ system

1801‧‧‧主控處理器 1801‧‧‧Master processor

1802‧‧‧通訊匯流排 1802‧‧‧Communication bus

1804‧‧‧主記憶體 1804‧‧‧ main memory

1806‧‧‧圖形處理器 1806‧‧‧Graphic processor

1808‧‧‧顯示器 1808‧‧‧ display

1810‧‧‧次級儲存器 1810‧‧‧Secondary storage

1905‧‧‧作業 1905‧‧‧ homework

1906‧‧‧作業 1906‧‧‧ homework

1907‧‧‧作業 1907‧‧‧ homework

1908‧‧‧作業 1908‧‧‧ homework

1909‧‧‧作業 1909‧‧‧ homework

1910‧‧‧順向同步器 1910‧‧‧ Forward Synchronizer

1911,1912‧‧‧暫存器 1911, 1912‧‧ ‧ register

1915‧‧‧輸出暫存器 1915‧‧‧Output register

1916‧‧‧選擇單元 1916‧‧‧Selection unit

1917‧‧‧經選擇的訊號 1917‧‧‧Selected signals

1930‧‧‧同步器狀態圖 1930‧‧‧Synchronizer state diagram

圖1例示根據一具體實施例的一種用於使用一頻率估計來判斷可安全地採樣一時脈域的一訊號的時間之方法。 1 illustrates a method for determining the time at which a signal of a time domain can be safely sampled using a frequency estimate, in accordance with an embodiment.

圖2例示根據另一具體實施例的一種用於使用一相位估計來判斷可安全地採樣一時脈域的一訊號的時間之方法。 2 illustrates a method for determining the time at which a signal of a time domain can be safely sampled using a phase estimate, in accordance with another embodiment.

圖3例示根據又另一具體實施例的一種用於使用一相位估計來安全地採樣一時脈域的一訊號的全數位周期性同步器。 3 illustrates an all-digital periodic synchronizer for safely sampling a signal of a clock domain using a phase estimate, in accordance with yet another embodiment.

圖4例示根據又另一具體實施例的一種頻率估計器。 FIG. 4 illustrates a frequency estimator in accordance with yet another embodiment.

圖5A例示根據另一具體實施例的一種相位檢測器。 FIG. 5A illustrates a phase detector in accordance with another embodiment.

圖5B例示根據又另一具體實施例的一種用於分開早期與晚期檢測的相位檢測器。 Figure 5B illustrates a phase detector for separating early and late detections in accordance with yet another embodiment.

圖5C例示根據又另一具體實施例的一種四樣本相位檢測器。 Figure 5C illustrates a four sample phase detector in accordance with yet another embodiment.

圖5D例示根據另一具體實施例的一種相位檢測器校正器。 Figure 5D illustrates a phase detector corrector in accordance with another embodiment.

圖5E例示根據另一具體實施例的一種用於檢測偶數與奇數相位的相位檢測器。 Figure 5E illustrates a phase detector for detecting even and odd phases in accordance with another embodiment.

圖6例示根據又另一具體實施例的一種相位估計器。 Figure 6 illustrates a phase estimator in accordance with yet another embodiment.

圖7例示根據又另一具體實施例的一種衝突檢測器。 Figure 7 illustrates a collision detector in accordance with yet another embodiment.

圖8例示根據另一具體實施例的一種二分之一次方衝突檢測器。 Figure 8 illustrates a one-half one-party collision detector in accordance with another embodiment.

圖9例示根據又另一具體實施例的一種順向同步器。 Figure 9 illustrates a forward synchronizer in accordance with yet another embodiment.

圖10例示根據圖9所示之該順向同步器的運作的一同步器狀態圖。 Figure 10 illustrates a synchronizer state diagram in accordance with the operation of the forward synchronizer shown in Figure 9.

圖11例示圖9所示之該順向同步器之運作的時序圖。 Fig. 11 is a timing chart showing the operation of the forward synchronizer shown in Fig. 9.

圖12例示根據又另一具體實施例的一種具有流程控制的同步器。 Figure 12 illustrates a synchronizer with flow control in accordance with yet another embodiment.

圖13例示圖12所示之該具有流程控制的同步器之運作的時序圖。 Figure 13 illustrates a timing diagram of the operation of the flow controlled synchronizer shown in Figure 12.

圖14例示根據另一具體實施例的一相位循環,其顯示出偶數與奇數不讓入內區域,及該偶數暫存器被選擇的一區域。 Figure 14 illustrates a phase loop showing an even and odd number of inbound regions and an area in which the even register is selected, in accordance with another embodiment.

圖15例示根據另一具體實施例中使用一偶數/奇數順向同步器的一FIFO同步器。 Figure 15 illustrates a FIFO synchronizer using an even/odd forward synchronizer in accordance with another embodiment.

圖16例示根據另一具體實施例的一FIFO同步器,其中保留頭端與尾端指標的偶數與奇數版本另可降低FIFO潛時。 Figure 16 illustrates a FIFO synchronizer in accordance with another embodiment in which the even and odd versions of the head and tail end indicators are retained to further reduce the FIFO latency.

圖17A-D例示根據其它具體實施例的多種相位循環。 17A-D illustrate various phase loops in accordance with other embodiments.

圖18例示可以實施多種先前具體實施例之多種架構及/或功能之示例性系統。 FIG. 18 illustrates an exemplary system in which various architectures and/or functions of various prior embodiments may be implemented.

圖19A例示根據又另一具體實施例的一種用於使用一相位估計來判斷可安全地採樣一時脈域的一訊號的時間之方法。 Figure 19A illustrates a method for determining the time at which a signal of a time domain can be safely sampled using a phase estimate, in accordance with yet another embodiment.

圖19B例示根據又另一具體實施例的一種順向同步器。 Figure 19B illustrates a forward synchronizer in accordance with yet another embodiment.

圖19C例示根據圖19B所示之該順向同步器的運作的一同步器狀態圖。 Figure 19C illustrates a synchronizer state diagram in accordance with the operation of the forward synchronizer shown in Figure 19B.

表1例示以下該等圖面之說明中所參照到的多種符號與訊號名稱,以及這些符號與訊號名稱中至少一部份的示例性數值。 Table 1 illustrates various symbols and signal names referred to in the description of the following figures, and exemplary values of at least some of these symbols and signal names.

此外,以下包括的該等多種具體實施例的示例係揭示於William J.Dally與Stephen G.Tell發表於2010年的2010 IEEE Symposium on Asynchronous Circuits and Systems的Asynchronous Circuits and Systems國際研討會論文集75-84頁之「偶數/奇數同步器:一種快速全數位式周期性同步器」(The Even/Odd Synchronizer:A Fast,All-Digital,Periodic Synchronizer),其在此完整引述加入做為參照。 In addition, examples of such various embodiments included below are disclosed in 2010 by Symbian J. Dally and Stephen G. Tell in 2010 IEEE Symposium on Asynchronous Circuits and Systems, Proceedings of Asynchronous Circuits and Systems International Symposium 75- On page 84, "Even/Odd Synchronizer: A Fast Full-Digital Synchronizer" (The Even/Odd Synchronizer: A Fast, All-Digital, Periodic Synchronizer), which is hereby incorporated by reference in its entirety.

圖1例示根據一具體實施例的一種用於使用一頻率估計來判斷可安全地採樣一時脈域的一訊號的時間之方法100。如作業102所示,一第一時脈域的一頻率估計利用一頻率估計器進行計算。在本案中,該第一時脈域可包括任何一種可以採樣一訊號之系統的時脈域(例如具有一特定頻率的時脈)。例如,該第一時脈域可包括一中央處理單元(CPU,“Central processing unit”)、一圖形處理單元(GPU,“Graphics processing unit”)、一記憶體控制器及/或具有一時脈域的任何其它系統之一時脈域。 1 illustrates a method 100 for determining the time at which a signal of a time domain can be safely sampled using a frequency estimate, in accordance with an embodiment. As shown in operation 102, a frequency estimate for a first clock domain is calculated using a frequency estimator. In the present case, the first clock domain may include a clock domain of any system that can sample a signal (e.g., a clock having a particular frequency). For example, the first clock domain may include a central processing unit (CPU, "Central processing unit"), a graphics processing unit (GPU, "Graphics processing unit"), a memory controller, and/or a clock domain. One of the other systems of the clock domain.

如上述,該第一時脈域可包括該系統的時脈。另外,該時脈域可在一特定頻率下運作(例如傳送訊號)。為此目的,該第一時脈域的該頻率估計可包括該系統的該時脈之頻率的一估計(例如測量等)。 As mentioned above, the first clock domain can include the clock of the system. In addition, the clock domain can operate at a particular frequency (e.g., transmit signals). For this purpose, the frequency estimate of the first clock domain may comprise an estimate (e.g., measurement, etc.) of the frequency of the clock of the system.

在一具體實施例中,該頻率估計可利用一對b-位元計數器 進行計算。例如,該等計數器之第一者(以下稱之為該第一計數器)可由該第一時脈域計時,並可計數在該第一時脈域中該時脈的脈衝。另外,該等計數器的第二者(以下稱之為第二計數器)可計數自該第一時脈域採樣一訊號所需要的在一第二時脈域中一時脈的脈衝,並可由該第二時脈域計時。必須注意到該第二時脈域可包括一系統的一時脈域,藉此該第一時脈域的該訊號可被採樣,因此其不同於關聯於該第一時脈域的該系統。例如,該第一時脈域的頻率可以不同於該第二時脈域的頻率。 In a specific embodiment, the frequency estimate can utilize a pair of b-bit counters Calculation. For example, a first one of the counters (hereinafter referred to as the first counter) can be clocked by the first clock domain and can count pulses of the clock in the first clock domain. In addition, a second one of the counters (hereinafter referred to as a second counter) may count a pulse of a clock in a second clock domain required for sampling a signal from the first clock domain, and may be Two-time domain timing. It must be noted that the second clock domain may comprise a clock domain of a system whereby the signal of the first clock domain may be sampled, thus being different from the system associated with the first clock domain. For example, the frequency of the first clock domain may be different from the frequency of the second clock domain.

當該第二計數器到達其終端計數值時,該第一計數器即停止。依此方式,該第一計數器計數脈衝的時間可以等於該第二計數器用來到達該終端計數值的時間。然後該第一計數器的計數值可被記錄在一暫存器中。這種第一計數值可以指示出該第一時脈域的頻率估計。 When the second counter reaches its terminal count value, the first counter is stopped. In this manner, the time at which the first counter counts the pulse can be equal to the time at which the second counter is used to reach the terminal count value. The count value of the first counter can then be recorded in a register. This first count value may indicate a frequency estimate for the first clock domain.

在另一具體實施例中,該頻率估計可以不需要測量該第一時脈域與該第二時脈域每一者之頻率來進行計算。在這種具體實施例中,該第一時脈域與該第二時脈域可以具有差異為一有理數(rational number)的頻率。例如,該第一時脈域的頻率可等於該第二時脈域的頻率乘以N/D,其中N與D為整數。因此,針對整數N與D,該頻率估計可計算為N除以D(N/D)。 In another embodiment, the frequency estimate may not be calculated by measuring the frequency of each of the first clock domain and the second clock domain. In such a specific embodiment, the first clock domain and the second clock domain may have a frequency that is a rational number. For example, the frequency of the first clock domain may be equal to the frequency of the second clock domain multiplied by N/D, where N and D are integers. Thus, for integers N and D, the frequency estimate can be calculated as N divided by D(N/D).

用於計算該頻率估計的該頻率估計器可被包括在一同步器中。例如,該同步器可實施於關聯於該第一時脈域的系統與關聯於該第二時脈域的系統之間,用於同步化該第一時脈域與該第二時脈域之間的訊號(例如用於同步化來自該第一時脈域由該第二時脈域進行的該訊號之採樣)。如下述,這種同步化可基於該經計算的頻率估計來執行。 The frequency estimator used to calculate the frequency estimate can be included in a synchronizer. For example, the synchronizer may be implemented between a system associated with the first clock domain and a system associated with the second clock domain for synchronizing the first clock domain with the second clock domain Inter-signal (eg, for synchronizing samples of the signal from the second clock domain from the first clock domain). As described below, such synchronization can be performed based on the calculated frequency estimate.

另外,如作業104中所示,使用該頻率估計決定一時間,,使得該訊號能夠由該第二時脈域安全地採樣,而在該時間中來自該第一時脈域的一訊號並未改變。例如,來自該第一時脈域的一訊號並未改變期間的該時間可包括來自該第一時脈域的該訊號並未改變(例如靜態等)時間中 該第一時脈域的一相位。在另一示例中,來自該第一時脈域的一訊號並未改變期間的該時間可包括關聯於該第一時脈域的一時脈邊緣的一檢測邊緣以外的任何時段。例如,可能知道該訊號同步於該第一時脈域的該時脈之該等邊緣而變化。因此,該檢測範圍可包括結合了該第一時脈域的一時脈邊緣之前的一第一時段與該第一時脈域的該時脈邊緣之後的一第二時段。 Additionally, as shown in operation 104, the frequency estimate is used to determine a time such that the signal can be safely sampled by the second clock domain, during which time a signal from the first clock domain is not change. For example, the time during which the signal from the first clock domain has not changed may include that the signal from the first clock domain has not changed (eg, static, etc.) in time. One phase of the first clock domain. In another example, the time during which the signal from the first clock domain has not changed may include any time period other than a detected edge associated with a clock edge of the first clock domain. For example, it may be known that the signal changes in synchronization with the edges of the clock of the first clock domain. Therefore, the detection range may include a first time period before a clock edge of the first clock domain and a second time period after the clock edge of the first clock domain.

在一具體實施例中,來自該第一時脈域的該訊號並未改變期間的時間,可基於辨識出該第一時脈域與該第二時脈域為有理地相關而被判斷出來。該有理關係(rational relationship)可由於該第一時脈域的頻率與該第二時脈的頻率而來,而該第一時脈域的頻率與該第二時脈的頻率皆透過除以一參考頻率然後相乘的相位鎖定迴路(PLL,“Phase-locked-loops”)自一共通晶體參考頻率來產生。 In a specific embodiment, the signal from the first clock domain does not change the time of the period, and may be determined based on recognizing that the first clock domain is reasonably related to the second clock domain. The rational relationship may be due to the frequency of the first clock domain and the frequency of the second clock, and the frequency of the first clock domain and the frequency of the second clock are both divided by one The reference frequency and then the multiplied phase locked loop (PLL, "Phase-locked-loops") is generated from a common crystal reference frequency.

在另一具體實施例中,在辨識出該第一時脈域與該第二時脈域為有理相關時,即自動地判斷出該第一時脈域的該相位並未改變(且因此無法被檢測)或為緩慢地變化。因此,來自該第一時脈域的一訊號並未改變期間的該時間的判斷可以不需要利用該第一時脈域的該相位之估計(例如因此僅利用該第一時脈域的該頻率估計)。 In another embodiment, when it is recognized that the first clock domain and the second clock domain are in a rational correlation, it is automatically determined that the phase of the first clock domain has not changed (and thus cannot It is detected) or changes slowly. Therefore, the determination of the time during which the signal from the first clock domain has not changed may not require an estimate of the phase using the first clock domain (eg, thus utilizing only the frequency of the first clock domain) estimate).

例如,該相位可表示成P=a.b/D,其中「a」為一整數部份,「b」為一分數部份,且D為一有理相關頻率的分母。依此方式,該相位可被檢測出來,且上方(up)與下方(lp)限制可被初始化為以D為比例之該檢測區域的該等界限,如上所述。在一具體實施例中,一第一檢測可以初始化該等相位界限(up與lp)。該等D相對相位可被重複地造訪,其中至少一者被預期會造成一檢測(並因此檢測一可能的衝突)。在沒有檢測的D+1個循環之後,可判斷出該等兩個時脈之間所有D個相對循環不會造成衝突,使得來自該第一時脈域的一訊號並未改變的該時間可被判斷出來,因此該訊號能夠由該第二時脈域安全地採樣。 For example, the phase can be expressed as P = a.b/D, where "a" is an integer part, "b" is a fractional part, and D is the denominator of a rational correlation frequency. In this manner, the phase can be detected and the upper and lower (lp) limits can be initialized to the boundaries of the detection region in proportion to D, as described above. In a specific embodiment, a first detection can initialize the phase boundaries (up and lp). The D relative phases can be repeatedly visited, at least one of which is expected to cause a detection (and thus detect a possible conflict). After the D+1 cycles that are not detected, it can be determined that all D relative cycles between the two clocks do not cause a collision, so that the time from the first clock domain does not change. It is judged so that the signal can be safely sampled by the second clock domain.

圖2例示根據另一具體實施例的一種用於使用一相位估計 來判斷可安全地採樣一時脈域的一訊號的時間之方法。如作業202所示,一第一時脈域的一頻率估計利用一頻率估計器進行計算。關於本說明,該頻率估計可依照上述關於圖1的作業102所述的方式進行計算。 2 illustrates a method for using a phase estimate in accordance with another embodiment. To determine the method of safely sampling the time of a signal in a time domain. As shown in operation 202, a frequency estimate for a first clock domain is calculated using a frequency estimator. With respect to the present description, the frequency estimate can be calculated in the manner described above with respect to job 102 of FIG.

另外,如作業204所示,該第一時脈域的一相位估計利用一相位估計器基於該頻率估計進行計算。在一具體實施例中,該第一時脈域的一相位可被檢測出。例如,早期與晚期樣本可能相對於該第二時脈域而來自該第一時脈域。 Additionally, as shown in operation 204, a phase estimate of the first clock domain is calculated based on the frequency estimate using a phase estimator. In a specific embodiment, a phase of the first clock domain can be detected. For example, early and late samples may be from the first clock domain relative to the second clock domain.

該等早期與晚期樣本可包括樣本配對(pairs),每一配對由一早期樣本與一晚期樣本所構成。另外,該等早期與晚期樣本可為同步於該第一時脈域之一訊號。如果一對早期與晚期樣本有差異,可判斷出於發生在採取該等早期與晚期樣本的時間之間發生的該檢測區域(例如時間)期間發生一轉換。依此方式,該第一時脈域的一相位可被檢測出。 The early and late samples may include sample pairs, each pair consisting of an early sample and a late sample. Additionally, the early and late samples may be synchronized to one of the first clock domains. If a pair of early and late samples differ, it can be determined that a transition occurs during the detection zone (e.g., time) that occurs between the time the early and late samples were taken. In this way, a phase of the first clock domain can be detected.

在另一具體實施例中,該相位估計可基於該相位檢測進行計算。例如,該第一時脈域的該相位之一b-位元運行估計可相對於該第二時脈域來維持。該相位估計可為一b-位元部份,其代表環繞一個單位循環的0與1之間的數值。另外,該相位估計可被重置,以指示出每當該相位依照前述之方式檢測到時,即可安全地由該第一時脈域採樣。 In another embodiment, the phase estimate can be calculated based on the phase detection. For example, one b-bit operation estimate for the phase of the first clock domain may be maintained relative to the second clock domain. The phase estimate can be a b-bit portion that represents a value between 0 and 1 around a unit cycle. Additionally, the phase estimate can be reset to indicate that the first clock domain can be safely sampled each time the phase is detected in the manner described above.

在另一具體實施例中,於檢測時,該第一時脈域的相位必須被設定為f(S+1),其中一額外的循環被加入到S(該同步器的延遲)以預測在其發生之前的一個循環之該相位估計。上述之該第一時脈域的相位可被設定為f(S+1),所以該相位估計預測位在該第二時脈域的下一個上升邊緣處的該第一時脈域的相位。例如,該相位估計可以編碼在該第一時脈域的偶數循環與奇數循環內的該相位。如果未檢測到該相位,該相位估計可於該第二時脈域的每一循環期間以該第一時脈域的該相對頻率被增量。為此目的,可以維持一運行中相位估計。必須注意到除了該頻率檢測器之外,該相位檢測器與該相位估計器亦可被包括在一同步器中。例如,該同步器可實施 於關聯於該第一時脈域的該系統與關聯於該第二時脈域的系統之間,用於同步化該第一時脈域與該第二時脈域之間的訊號(例如用於同步化來自該第一時脈域由該第二時脈域進行的該訊號之採樣)。如下述,這種同步化可基於該經計算的相位估計來執行。 In another embodiment, at the time of detection, the phase of the first clock domain must be set to f(S+1), wherein an additional loop is added to S (the delay of the synchronizer) to predict This phase estimate of a cycle before it occurs. The phase of the first clock domain described above may be set to f(S+1), so the phase estimate predicts the phase of the first clock domain at the next rising edge of the second clock domain. For example, the phase estimate can encode the phase within the even and odd cycles of the first clock domain. If the phase is not detected, the phase estimate may be incremented at the relative frequency of the first clock domain during each cycle of the second clock domain. For this purpose, an in-run phase estimate can be maintained. It must be noted that in addition to the frequency detector, the phase detector and the phase estimator can also be included in a synchronizer. For example, the synchronizer can be implemented Between the system associated with the first clock domain and a system associated with the second clock domain, for synchronizing signals between the first clock domain and the second clock domain (eg, Synchronizing the sampling of the signal from the second clock domain from the first clock domain). As described below, such synchronization can be performed based on the calculated phase estimate.

再者,如作業206中所示,使用該相位估計決定一時間,使得該訊號能夠由該第二時脈域安全地採樣,而在該時間中來自該第一時脈域的一訊號並未改變。如上述,該相位估計可指出可安全地由該第一時脈域進行採樣期間的時間(即當來自該第一時脈域的該訊號已知並未改變)。 Furthermore, as shown in operation 206, the phase estimate is used to determine a time such that the signal can be safely sampled by the second clock domain, and a signal from the first clock domain is not present during the time. change. As described above, the phase estimate can indicate the time during which sampling can be safely performed by the first clock domain (i.e., when the signal from the first clock domain is known to have not changed).

例如,該相位估計可以預測在該第二時脈域的下一上升邊緣處的該第一時脈域的相位。此可允許該輸入資料的一延遲版本可在該第二時脈域的該上升邊緣對在該不讓入內區域正在轉換中(因此可為正在改變中)的一直接輸入進行採樣之前被採樣。 For example, the phase estimate can predict the phase of the first clock domain at the next rising edge of the second clock domain. This may allow a delayed version of the input data to be sampled before the rising edge of the second clock domain is sampled before a direct input in which the inbound region is being converted (and thus may be changing) .

現在將進行關於多種選擇性架構及特徵來提出更多例示性資訊,藉此前述的架構可根據使用者的需要來實施。必須特別注意到以下的資訊係為了例示性目的而提出,且不應以任何方式視為其限制。任何以下的特徵可以視需要加入或排除所述的其它特徵。 More illustrative information will now be presented with respect to a variety of alternative architectures and features, whereby the aforementioned architecture can be implemented according to the needs of the user. It is important to note that the following information is presented for illustrative purposes and should not be construed as limiting in any way. Any of the following features may be added or excluded as desired.

圖3例示根據又另一具體實施例的一種用於使用一相位估計來安全地採樣一時脈域的一訊號的全數位周期性同步器300。選擇性地,全數位周期性同步器300可被實施以執行圖1及/或圖2之方法。但是當然全數位周期性同步器300可實施在任何想要的環境中。亦必須注意到該等前述的定義亦可在下文中來應用。 3 illustrates a full-digit periodic synchronizer 300 for safely sampling a signal of a clock domain using a phase estimate, in accordance with yet another embodiment. Alternatively, full digit periodic synchronizer 300 can be implemented to perform the methods of FIGS. 1 and/or 2. But of course the full digital periodic synchronizer 300 can be implemented in any desired environment. It must also be noted that the aforementioned definitions can also be applied hereinafter.

一任意周期性訊號可藉由測量其頻率與相位而使用整個數位分量來同步化,然後使用此資訊來判斷出何時可安全地利用該接收時脈簡單地採樣該訊號,以及何時直接採樣並不安全,而必須使用一延遲的時脈。藉由使用該頻率與相位,可以避免使用FIFO記憶體。此外,可以降低同步化的延遲(例如藉由避免經由蠻力(brute-force)同步器來同步化格雷編 碼的頭端與尾端指標)。 An arbitrary periodic signal can be synchronized using the entire digital component by measuring its frequency and phase, and then using this information to determine when it is safe to use the receive clock to simply sample the signal and when to directly sample it. It is safe to use a delayed clock. By using this frequency and phase, the use of FIFO memory can be avoided. In addition, synchronization delays can be reduced (eg, by avoiding synchronization via the brute-force synchronizer) The head and tail indicators of the code).

如果利用一FIFO同步器進行流程控制,該同步器可以取代一蠻力同步器(使用多個串聯的正反器)來用於同步化該等FIFO頭端與尾端指標。此可降低該FIFO同步器的延遲,且避免使用格雷編碼的指標(其另會需要同時維持格雷編碼與二元化指標)。 If a FIFO synchronizer is used for flow control, the synchronizer can replace a brute force synchronizer (using multiple series of flip-flops) for synchronizing the FIFO headend and tail end metrics. This reduces the latency of the FIFO synchronizer and avoids the use of Gray-coded metrics (which would otherwise require maintaining both Gray coding and binarization metrics).

關於本具體實施例,一進入訊號d可被同步於一傳送時脈(屬於一傳送時脈域)tclk,其具有低於該接收時脈rclk(屬於一接收時脈域)的頻率fR之一固定的頻率fT。此處所述之具體實施例亦可在當fT高於fR時實施。 In particular embodiments regarding the present embodiment, a signal d may be entered at the time of transmitting a synchronized clock (clock belonging to a domain transfer) TCLK, having a clock RCLK (belonging to a receiving clock domain) below the received frequency of f R A fixed frequency f T . The specific embodiments described herein can also be practiced when f T is higher than f R .

如所示,一頻率估計方塊使用一對b-位元計數器來測量該傳送時脈的該頻率。該頻率估計方塊輸出一b-位元相對頻率f=fT/fR mod 2f。 As shown, a frequency estimation block uses a pair of b-bit counters to measure the frequency of the transmitted clock. The frequency estimation block outputs a b-bit relative frequency f = f T / f R mod 2f.

一相位檢測方塊記錄該傳送時脈最後一次進入該接收時脈的一檢測區域的時間。當此發生時即輸出一檢測訊號(det)。因為該檢測訊號被同步化,其反映出在S個接收循環之前該傳送時脈的該相位。必須注意到可以利用多個檢測區域與訊號。但是,關於本具體實施例,係假設一單一位元檢測訊號。 A phase detection block records the time at which the transmission clock entered the detection region of the reception clock for the last time. When this occurs, a detection signal (det) is output. Since the detection signal is synchronized, it reflects the phase of the transmission clock before the S reception cycles. It must be noted that multiple detection zones and signals can be utilized. However, with respect to this embodiment, a single bit detection signal is assumed.

一相位估計方塊保留該接收時脈的該相位之一運行估計。其在每次接收到一檢測時設定該相位p為(S+1)f,並針對沒有檢測的rclk的每一循環將該運行相位增加f。 A phase estimation block retains one of the phases of the received clock to run an estimate. It sets the phase p to (S+1)f each time a detection is received, and increments the operating phase by f for each cycle of the undetected rclk.

最後,一衝突檢測方塊使用該目前相位估計來判斷何時直接採樣為安全,或是何時需要延遲的採樣。當相位p係在靠近該危險點的一窗中時,衝突訊號c被設定(asserted),其指示一多工器來取樣該近同步輸入的一延遲版本。 Finally, a collision detection block uses the current phase estimate to determine when to sample directly as safe or when to delay sampling. When phase p is in a window near the dangerous point, collision signal c is asserted, which instructs a multiplexer to sample a delayed version of the near-synchronous input.

該同步器資料路徑接受被同步於tclk的一a位元寬的輸入d1。在圖中,d1由被tclk計時的暫存器F1所產生。選擇性地,暫存器F1 可以不需要為同步器300的一部份。但是,訊號d1可以直接來自於一暫存器而沒有中介的邏輯,做為另一種選項。閂鎖器L1(或一正反器,未示出)採樣在rclk的該下降邊緣上的訊號d1來產生延遲的輸入訊號d2。一多工器當沒有衝突時選擇該直接輸入d1,而當有一衝突時選擇該延遲輸入d2。此選擇的結果dx可保證由暫存器F2安全地採樣,其即產生同步於rclk的一輸出ds。 The synchronizer data path accepts an input d1 that is synchronized to a a bit wide of tclk. In the figure, d1 is generated by the register F1 clocked by tclk. Optionally, the register F1 It may not be necessary to be part of the synchronizer 300. However, the signal d1 can come directly from a register without the logic of the intermediary, as an alternative. Latch L1 (or a flip-flop, not shown) samples signal d1 on the falling edge of rclk to produce a delayed input signal d2. A multiplexer selects the direct input d1 when there is no conflict, and selects the delayed input d2 when there is a conflict. The result of this selection, dx, is guaranteed to be safely sampled by the scratchpad F2, which produces an output ds synchronized to rclk.

設定該衝突檢測窗使得採樣在該多工器的經選擇的輸入上為安全。當c被設定且該多工器選擇d2時,由閂鎖器L1在rclk的該下降邊緣上之訊號d1的採樣可保證為安全。當c未被設定(asserted)時,則由暫存器F2在rclk的該上升邊緣上之d1的採樣可保證為安全。 The conflict detection window is set such that sampling is safe on the selected input of the multiplexer. When c is set and the multiplexer selects d2, the sampling of the signal d1 by the latch L1 on the falling edge of rclk can be guaranteed to be safe. When c is not asserted, the sampling of d1 by the register F2 on the rising edge of rclk can be guaranteed to be safe.

同步器300使用閂鎖器L1來延遲輸入d1半個循環(在clkR的該下降邊緣上採樣)。因此,可以提供pD=0.5的一相位延遲。做為另一選項,可使用不同時序的閂鎖器或暫存器來延遲d1不同的量。做為又另一種選項,可使用一延遲線(例如串聯的偶數個反向器)來延遲訊號d1充足的時間來使得由暫存器F2進行的採樣為安全。這些替代方案可以提供pD不同的數值。 Synchronizer 300 uses latch L1 to delay input d1 for a half cycle (sampling on this falling edge of clk R ). Therefore, a phase delay of p D = 0.5 can be provided. As an alternative, different timing latches or registers can be used to delay the different amounts of d1. As yet another option, a delay line (e.g., an even number of inverters in series) can be used to delay the signal d1 for a sufficient amount of time to make the sampling by the register F2 safe. These alternatives can provide different values for p D .

圖4例示根據又另一具體實施例的一種頻率估計器400。選擇性地,頻率估計器400可在圖1-3之功能及架構之環境中實施。但是當然頻率估計器400可在任何想要的環境中實施。亦必須注意到該等前述的定義亦可在下文中來應用。 FIG. 4 illustrates a frequency estimator 400 in accordance with yet another embodiment. Alternatively, frequency estimator 400 can be implemented in the context of the functions and architecture of Figures 1-3. But of course the frequency estimator 400 can be implemented in any desired environment. It must also be noted that the aforementioned definitions can also be applied hereinafter.

圖3的同步器仰賴在每一接收時脈循環的結束時具有該傳送時脈相位的一準確估計。此估計藉由先測量該傳送時脈的該相對頻率(如圖3所示),然後使用此頻率估計連同一相位檢測器(如圖5E所示)來產生一相位估計。該相位估計使用區間算術(interval arithmetic)做計算,以維持在該相位上準確的誤差界限。 The synchronizer of Figure 3 relies on having an accurate estimate of the phase of the transmitted clock at the end of each receive clock cycle. This estimate produces a phase estimate by first measuring the relative frequency of the transmitted clock (as shown in Figure 3) and then using this frequency estimate to connect the same phase detector (as shown in Figure 5E). This phase estimate is calculated using interval arithmetic to maintain an accurate margin of error at that phase.

如圖4所示係提供該頻率測量單元的方塊圖400,其使用一 對計數器來計算f,即該傳送時脈相對於該接收時脈的頻率。該頻率測量程序由一開始訊號st啟始。st的該上升邊緣重置該接收計數器(CR,“Receive counter”)。該開始訊號亦經由一蠻力同步器被傳送到該傳送時脈(tclk)域當中,即產生用於重置該傳送計數器(CT,“Transmit counter”)的訊號stTA block diagram 400 of the frequency measurement unit is provided as shown in Figure 4, which uses a pair of counters to calculate f, i.e., the frequency of the transmit clock relative to the receive clock. The frequency measurement procedure is initiated by a start signal st. The rising edge of st resets the receive counter (CR, "Receive counter"). The start signal is also transmitted to the transmit clock (tclk) field via a brute force synchronizer, ie a signal st T for resetting the transfer counter (CT, "Transmit counter") is generated.

當該接收計數器到達一終端計數時(例如一b=10位元計數器的計數為1023)時,訊號tc被設定,並同步於該tclk域。此同步化的終端計數訊號tcT停止該傳送計數器。該等sp與tc同步器之延遲被平衡,所以來自CT的最終計數反映出於2b個接收時脈(rclk)循環期間發生的tclk循環之數目,即該傳送器的相對頻率f=fT/fR。該終端計數訊號被同步回到該rclk域中,以產生訊號tcTR,其指出該頻率測量f何時預備好,並使其能夠在該結果暫存器(RR,“Result register”)中補捉。 When the receive counter reaches a terminal count (e.g., a b = 10 bit counter count is 1023), the signal tc is set and synchronized to the tclk field. The synchronized terminal count signal tc T stops the transfer counter. The delays of the sp and tc synchronizers are balanced, so the final count from the CT reflects the number of tclk cycles that occur during 2 b receive clock (rclk) cycles, ie the relative frequency of the transmitter f = f T /f R . The terminal count signal is synchronized back to the rclk domain to generate a signal tc TR indicating when the frequency measurement f is ready and enabling it to be captured in the result register (RR, "Result register") .

計數器CT產生一b+1位元的結果,所以f產生成模數2。其為一固定點數目,在該二元化點左方有一位元,在其右方有b個位元。計算該傳送頻率估計模數2而非模數1,所以該相位估計器(如以下關於圖5E的說明)可以追蹤該傳送器是在一奇數或偶數時脈循環中。 The counter CT produces a result of a b+1 bit, so f produces a modulus of two. It is a fixed number of bits with one bit to the left of the binarization point and b bits to the right. The transmit frequency estimate modulus 2 is calculated instead of modulus 1, so the phase estimator (as explained below with respect to Figure 5E) can track that the transmitter is in an odd or even clock cycle.

在圖4的該頻率測量方塊中有三個蠻力同步器。這些同步器僅使用一次,意即當在重置之後測量頻率。所有這些同步器在該關鍵路徑之外,所以它們的延遲可被設定為任意地高,藉以達到一任意低的同步化失敗機率。基本上,四或五個時脈循環的一延遲S足以提供低於10-40的失敗機率。 There are three brute force synchronizers in the frequency measurement block of Figure 4. These synchronizers are used only once, meaning that the frequency is measured after reset. All of these synchronizers are outside of this critical path, so their delay can be set to arbitrarily high, thereby achieving an arbitrarily low probability of synchronization failure. Basically, a delay S of four or five clock cycles is sufficient to provide a probability of failure below 10 -40 .

該開始訊號與終端計數同步器之每一者皆會對該頻率測量引入一個循環的不確定性。因此,該頻率測量方塊的輸出準確地為±1 LSB,即±2-bEach of the start signal and the terminal count synchronizer introduces a cyclic uncertainty to the frequency measurement. Therefore, the output of the frequency measurement block is exactly ±1 LSB, which is ±2 -b .

圖5A例示根據另一具體實施例的一種相位檢測器500。選擇性地,相位檢測器500可被實施在圖1-4之功能與架構環境中。例如,該相位檢測器可以包括上述之該相位估計器的一組件。但是當然相位檢測器 500可以實施在任何想要的環境中。亦必須注意到該等前述的定義亦可在下文中來應用。 FIG. 5A illustrates a phase detector 500 in accordance with another embodiment. Alternatively, phase detector 500 can be implemented in the functional and architectural environments of Figures 1-4. For example, the phase detector can include a component of the phase estimator described above. But of course the phase detector 500 can be implemented in any desired environment. It must also be noted that the aforementioned definitions can also be applied hereinafter.

如所示,關於相位檢測器500所顯示的該相位檢測邏輯可藉由相對於rclk採取與tclk同步的一訊號dT之早期與晚期樣本來運作。如果該等早期與晚期樣本不同,即判斷於該檢測區域期間發生一轉換。正反器F1產生於與每一個循環觸變的tclk同步化的訊號dT。相對於rclk,訊號dT由正反器F3早期地採樣,而由正反器F2晚期地採樣。正反器F2由被T1延遲的一rclk版本來計時,因此在rclk的該上升邊緣之後的時間T1採樣dT。此dT的晚期採樣的結果為訊號dL。正反器F3在利用rclk做採樣之前延遲訊號dT時間T2。該效果相同於在rclk之前的時間T2採樣dT。此早期採樣的結果為訊號dEAs shown, the phase detection logic displayed with respect to phase detector 500 can be operated by taking early and late samples of a signal d T synchronized with tclk with respect to rclk. If the early and late samples are different, it is determined that a transition occurs during the detection zone. The flip-flop F1 is generated by a signal d T synchronized with tclk of each cyclic thixotropic. Relative to rclk, the signal d T is sampled early by the flip-flop F3 and is sampled late by the flip-flop F2. The flip-flop F2 is clocked by a version of rclk delayed by T1, so d T is sampled at time T1 after the rising edge of rclk. The result of the late sampling of this d T is the signal d L . The flip-flop F3 delays the signal d T time T2 before sampling with rclk. This effect is the same as sampling d T at time T2 before rclk. The result of this early sampling is the signal d E .

訊號dL與dE為採樣一非同步訊號的結果,因此可以進入一亞穩態。為了允許有時間可確定下來(settle out)任何的亞穩態,這些訊號分別被傳送通過蠻力同步器S1與S2。此即產生該等晚期與早期訊號的延遲與同步版本,即dLS與dES。為了達到有充份低的同步失敗機率,訊號dLS與dES將由dL與dE被延遲rclk的S個(基本上為2到4個)循環。正反器F2與F3可分別視為同步器S1與S2的第一階段,或者這些正反器可被省略,而直接使用該等同步器來採取該等早期與晚期樣本。 The signals d L and d E are the result of sampling an unsynchronized signal, so that a metastable state can be entered. In order to allow time to settle out any metastability, these signals are transmitted through brute force synchronizers S1 and S2, respectively. This produces a delayed and synchronized version of these late and early signals, namely d LS and d ES . In order to achieve a sufficiently low probability of synchronization failure, the signals d LS and d ES will be delayed by S (substantially 2 to 4) of rclk by d L and d E . The flip-flops F2 and F3 can be considered as the first phase of the synchronizers S1 and S2, respectively, or these flip-flops can be omitted, and the synchronizers are used directly to take the early and late samples.

互斥或閘X1檢測何時在dLS與dES之間有一差異。此閘的輸出det,當在S個循環之前訊號為真時,訊號dT在相對於rclk的該轉換的該窗[-T2,T1]中已經發生一轉換。依此方式,相位檢測器500可以檢測何時該傳送時脈相位係在範圍[-T2/T,T1/T]中,其中T為該傳送時脈循環。 Mutual exclusion or gate X1 detects when there is a difference between d LS and d ES . The output det of this gate, when the signal is true before S cycles, the signal d T has undergone a transition in the window [-T2, T1] of the conversion with respect to rclk. In this manner, phase detector 500 can detect when the transmit clock phase is in the range [-T2/T, T1/T], where T is the transmit clock cycle.

延遲線T1與T2可藉由串鏈偶數個反向器來實現。這些延遲必須使其足夠大來包括暫存器F2的該不讓入內窗tko=ts+th加上在此不讓入內區域的任一側上的一護衛帶g。依照需要,針對每一延遲線可以使用4到8個扇出的一個(FO1,fan-out of one)反向器。 Delay lines T1 and T2 can be implemented by an even number of inverters in a chain. These delays must be made large enough to include the inward window t ko = t s + t h of the register F2 plus a guard band g on either side of the inbound region. Four to eight fan-out of one (FO1) inverters can be used for each delay line as needed.

當此處僅顯示一單一相位檢測器時,必須注意到可以使用兩個相位檢測器,一個在rclk的上升邊緣上,一個在rclk的下降邊緣上。可以使用該等兩個檢測訊號來在當在rclk的上升邊緣上發生一檢測時重置該相位估計到零(加上(S+1)f),而發生在rclk的下降邊緣上時重置到0.5(加上(S+1)f)。此可在當該相位非常緩慢地處理時防止一亞穩態由該延遲的路徑進行採樣。 When only a single phase detector is shown here, it must be noted that two phase detectors can be used, one on the rising edge of rclk and one on the falling edge of rclk. The two detection signals can be used to reset the phase estimate to zero (plus (S+1)f) when a detection occurs on the rising edge of rclk, and reset when it occurs on the falling edge of rclk To 0.5 (plus (S+1)f). This prevents a metastable state from being sampled by the delayed path when the phase is processed very slowly.

如以下關於圖5B-D所做的說明,相位檢測器500可被修改來使用多個樣本用以提供一更為準確的相位測量,可以保留在該相位估計上的上限與下限(例如利用區間算術來計算相位)用以允許更為準確地判斷何時一時脈在另一者的「不讓入內」區域中,並可自動地校正來判斷該循環的那一部份正在被檢測。 As explained below with respect to Figures 5B-D, phase detector 500 can be modified to use multiple samples to provide a more accurate phase measurement that can be retained at the upper and lower limits of the phase estimate (e.g., using intervals) Arithmetic to calculate the phase) is used to allow a more accurate determination of when a clock is in the "incoming" region of the other, and can be automatically corrected to determine which portion of the loop is being detected.

圖5B例示根據又另一具體實施例的一種用於分開早期與晚期檢測的相位檢測器510。選擇性地,相位檢測器510可實施在圖1-4之功能及架構之環境中。但是當然,相位檢測器510可在任何想要的環境中實施。亦必須注意到該等前述的定義亦可在下文來應用。 Figure 5B illustrates a phase detector 510 for separating early and late detections in accordance with yet another embodiment. Alternatively, phase detector 510 can be implemented in the context of the functions and architecture of Figures 1-4. But of course, phase detector 510 can be implemented in any desired environment. It must also be noted that the foregoing definitions can also be applied hereinafter.

如所示,產生有兩個輸出,包括有detE用於檢測何時該傳送相位在[-T2/T,0]的範圍中,以及detL用於檢測何時該相位在範圍[0,T1/T]中。藉由使用detE與detL,基於一經檢測的相位計算出的該相位估計可被更準確地界定。 As shown, there are two outputs, including detE for detecting when the transmit phase is in the range [-T2/T, 0], and detL for detecting when the phase is in the range [0, T1/T] in. By using detE and detL, the phase estimate calculated based on the detected phase can be more accurately defined.

圖5C例示根據又另一具體實施例的一種四樣本相位檢測器520。選擇性地,四樣本相位檢測器520可實施在圖1-4之功能及架構之環境中。但是當然,四樣本相位檢測器520可在任何想要的環境中實施。亦必須注意到該等前述的定義亦可在下文來應用。 FIG. 5C illustrates a four sample phase detector 520 in accordance with yet another embodiment. Alternatively, four sample phase detector 520 can be implemented in the context of the functions and architecture of Figures 1-4. But of course, the four sample phase detector 520 can be implemented in any desired environment. It must also be noted that the foregoing definitions can also be applied hereinafter.

如所示,可以包括額外的延遲線(相對於圖5B中的相位檢測器510)以產生額外的檢測訊號。必須注意到可被包括的額外延遲線的數目可視需要被擴大的任何需要的數目。藉由加入延遲線,可以提供更為準確 的相位資訊。當傳送相位在[-2T2/T,-T2/T]中時,四樣本相位檢測器520產生detLL,而當該相位在[T1/T,2T1/T]中時產生detEE。 As shown, an additional delay line (relative to phase detector 510 in Figure 5B) can be included to generate additional detection signals. It must be noted that the number of additional delay lines that can be included can be any desired number that needs to be expanded. More accurate by adding a delay line Phase information. The four-sample phase detector 520 generates detLL when the transmission phase is in [-2T2/T, -T2/T], and generates detEE when the phase is in [T1/T, 2T1/T].

當相位被檢測時,該原始的快速周期性同步器可有效地將該相位估計歸零(例如設定該相位為(S+1)f來做為同步化該相位檢測之S個循環的延遲)。該傳送相位在該不讓入內區域中期間的時間可藉由維持在該相位估計上的上限與下限來更為準確地檢測(例如藉由使用區間算術來計算該相位估計)。對於該相位估計的該等更新可使用頻率的界限。因為圖4中該等兩個同步器每一者僅引入一個不確定性的循環,該頻率被限定在範圍[f-1,f+1]內。 When the phase is detected, the original fast periodic synchronizer can effectively zero the phase estimate (eg, set the phase to (S+1)f as the delay of synchronizing the S cycles of the phase detection) . The time during which the transmission phase is in the inbound region can be more accurately detected by maintaining the upper and lower limits on the phase estimate (e.g., by using interval arithmetic to calculate the phase estimate). The limits of the frequency can be used for such updates of the phase estimate. Since the two synchronizers in Fig. 4 each introduce only one cycle of uncertainty, the frequency is limited to the range [f-1, f+1].

表2例示一Verilog碼的示例,其可用於使用圖5B的相位檢測器510來更新上與下相位估計(分別為up與lp)。當然,必須注意到表2所提出的碼僅做為例示性目的,因此不能以任何方式視為限制。 Table 2 illustrates an example of a Verilog code that can be used to update the upper and lower phase estimates (up and lp, respectively) using phase detector 510 of Figure 5B. Of course, it must be noted that the code presented in Table 2 is for illustrative purposes only and therefore cannot be considered limiting in any way.

表2所示的碼在一相位檢測上適當的數值設定上限與下限, 然後使用頻率上的界限隨時間地發展它們。使用相位估計的上限與下限指示出當這些界限重疊於該有護衛帶的區域[-c,c]時,該傳送時脈域係在該不讓入內區域中。例如,此可能發生於當該上限或下限在該不讓入內區域中時,或是如果該上限為正而該下限為負時。 The code shown in Table 2 sets the upper and lower limits for appropriate values on a phase detection. They are then developed over time using the boundaries of the frequency. The upper and lower limits of the phase estimation are used to indicate that when these limits overlap the region [-c, c] of the guard band, the transmission time domain is in the inaccess zone. For example, this may occur when the upper or lower limit is in the inbound zone or if the upper limit is positive and the lower limit is negative.

表3中所示的最後一個案例涵蓋了該相位區域包括整個不讓入內區域的狀況。表3例示一Verilog碼的示例,其可實施基於有符號的算術用於使用相位估計的上限與下限。當然,必須注意到表3所提出的碼僅做為例示性目的,因此不能以任何方式視為限制。 The last case shown in Table 3 covers the situation where the phase region includes the entire inbound zone. Table 3 illustrates an example of a Verilog code that can implement symbol based arithmetic for using the upper and lower limits of phase estimation. Of course, it must be noted that the code presented in Table 3 is for illustrative purposes only and therefore cannot be considered limiting in any way.

表4例示一Verilog碼的示例,其可實施基於無符號的算術用於使用相位估計的上限與下限。當然,必須注意到表4所提出的碼僅做為例示性目的,因此不能以任何方式視為限制。 Table 4 illustrates an example of a Verilog code that can implement unsigned based arithmetic for using the upper and lower limits of phase estimation. Of course, it must be noted that the codes presented in Table 4 are for illustrative purposes only and therefore cannot be considered limiting in any way.

利用表4所示的無符號表示式,相位由0增加到最大時(所有皆為1s),且cneg為對應於-c的一大的正值(接近所有皆為1s)。利用一偶數/奇數同步器(如下述),分開的不讓偶數(koe)與不讓奇數(koo)訊號可依此方式藉由鑑定ko是否由目前的Tx循環為偶數或奇數的方式來產生。 Using the unsigned representation shown in Table 4, the phase increases from 0 to the maximum (all are 1 s), and cneg is a large positive value corresponding to -c (nearly all 1s). Using an even/odd synchronizer (as described below), separate do not allow even (koe) and no odd (koo) signals can be generated in this way by identifying whether ko is even or odd by the current Tx cycle. .

另外,為了判斷T1/T,T2/T等實際的大小等級,除了T(傳送器循環時間)之外,利用了判斷T1與T2的處理變化。此可假設該同步器係在該接收器時脈域中。如果該同步器在該傳送時脈域中(例如估計接收器相位),則係在該接收器循環時間中。 In addition, in order to determine the actual size level such as T1/T, T2/T, in addition to T (transmitter cycle time), the process changes for determining T1 and T2 are utilized. This can assume that the synchronizer is in the receiver time domain. If the synchronizer is in the transmit time domain (e.g., estimating the receiver phase), then it is in the receiver cycle time.

如果該傳送與接收時脈並非有理相關,T1/T(與T2/T)將藉由檢測傳送循環中造成一檢測的該部份來進行測量。此可在當藉由加入兩個 額外的計數器來測量該頻率而完成。如果該等兩個時脈並非有理相關,該接收時脈將一致地採樣該傳送時脈,且此部份可收斂到T1/T(或T2/T)。 If the transmission and reception clocks are not rationally related, T1/T (and T2/T) will be measured by detecting the portion of the transmission cycle that caused a detection. This can be done by joining two An additional counter is used to measure the frequency and complete. If the two clocks are not rationally related, the receive clock will consistently sample the transmit clock and this portion may converge to T1/T (or T2/T).

圖5D例示根據另一具體實施例的一種相位檢測器校正器530。選擇性地,校正器530可被實施在圖1-5C之功能與架構的環境中。例如,該相位檢測器校正器可為上述之該相位檢測器之一組件。但是當然,校正器530可以實施在任何想要的環境中。亦必須注意到該等前述的定義亦可在下文來應用。 FIG. 5D illustrates a phase detector corrector 530 in accordance with another embodiment. Alternatively, corrector 530 can be implemented in the context of the functions and architecture of Figures 1-5C. For example, the phase detector corrector can be one of the components of the phase detector described above. But of course, the corrector 530 can be implemented in any desired environment. It must also be noted that the foregoing definitions can also be applied hereinafter.

如所示,校正器530測量該檢測區間d。校正器530藉由在計數器CT2到達其終端計數所需要的2b個tclk循環期間,計數det(det=dete | deto)為真期間的tclk循環的數目來運作。此可將2d做為一b位元二元化部份。類似頻率估計,由於該同步器延遲的不確定性,此d的測量之準確度為+/-1。假定有此不確定性,CD(一計數器)的輸出被增加來對2d提供一上限(例如使得在關聯於該相位估計的該檢測區間上的上限被提供來補償同步器延遲)。此時(未示出)可加入一額外的數值來提供護衛帶(例如d的一界限負責電壓與溫度變化,以及用於中頻的抖動),如上所述。將此數目向右偏位一個位元的位置即得到d。此完成訊號指示出d的測量何時可完成。 As shown, the corrector 530 measures the detection interval d. The corrector 530 operates by counting the number of tclk cycles during which the det (det = dete | deto) is true during the 2b tclk cycles required for the counter CT2 to reach its terminal count. This can be 2d as a b-bit binary part. Similar to the frequency estimate, the accuracy of this d measurement is +/-1 due to the uncertainty of the synchronizer delay. Assuming this uncertainty, the output of the CD (a counter) is increased to provide an upper limit for 2d (e.g., such that the upper limit on the detection interval associated with the phase estimate is provided to compensate for the synchronizer delay). At this point (not shown) an additional value can be added to provide the guard band (eg, a limit for d is responsible for voltage and temperature changes, and for intermediate frequency jitter), as described above. Deviating this number to the right by one bit gives d. This completion signal indicates when the measurement of d can be completed.

如果該等時脈並未有理相關,校正器530僅一致地採樣tclk相位。如果它們為有理相關,則該接收時脈重複地造訪在該單元相位循環上相同的D(有理比例的分母)點。如果D足夠大,此即充份。該估計誤差小於1/D。針對小的D,該相位檢測器可使用一獨立的頻率來源做校正(例如一環式振盪器)以驅動該CD計數器。為此目的,校正器530可允許該相位檢測器進行自我校正。 If the clocks are not rationally correlated, the corrector 530 only samples the tclk phase consistently. If they are rationally correlated, the receiving clock repeatedly visits the same D (rational proportional denominator) point on the unit phase loop. If D is large enough, this is sufficient. The estimated error is less than 1/D. For small D, the phase detector can be calibrated using a separate frequency source (eg, a ring oscillator) to drive the CD counter. For this purpose, the corrector 530 can allow the phase detector to self-correct.

圖5E例示根據另一具體實施例的一種用於檢測偶數與奇數相位的相位檢測器540。選擇性地,相位檢測器540可被實施在圖5A-5D之功能與架構的環境中。但是當然,相位檢測器540可以實施在任何想要的環境中。亦必須注意到該等前述的定義亦可在下文來應用。 FIG. 5E illustrates a phase detector 540 for detecting even and odd phases, in accordance with another embodiment. Alternatively, phase detector 540 can be implemented in the context of the functions and architecture of Figures 5A-5D. But of course, phase detector 540 can be implemented in any desired environment. It must also be noted that the foregoing definitions can also be applied hereinafter.

相位檢測器540檢測何時在一傳送資料訊號上一轉換會落在環繞該接收時脈邊緣的一±td的窗中。該相位檢測器採樣在每一循環觸變的傳送訊號「even」。此訊號於偶數的tclk循環期間為高,而在奇數的tclk循環期間為低。正反器F2利用提供dL的td所延遲的rclk來採樣「even」,其為在rclk的上升邊緣之後的一「even」td的樣本,即一晚期樣本。由F3產生的一早期樣本dE,其採樣由td延遲的「even。」 Window t d of the phase detector 540 detects when a transmitting data signals on a conversion will fall around the edge of a received pulse of ±. The phase detector samples the transmitted signal "even" that is thixotropic at each cycle. This signal is high during the even tclk cycle and low during the odd tclk cycle. The flip-flop F2 samples "even" by the rclk delayed by t d which provides d L , which is a sample of "even" t d after the rising edge of rclk , that is, a late sample. An early sample d E produced by F3 whose sample is delayed by t d "even."

如果「even」的一邊緣發生在rclk之前的td與rclk之後的td之間,由F3與F2採樣的該等數值將會不同。該等早期與晚期樣本由分別產生同步化的早期與晚期樣本dES與dLS的一對蠻力同步器來被同步於該接收時脈域。該等同步化的樣本之間的差異由一對及閘檢測到。如果該早期樣本為高而該晚期樣本為低,則檢測到tclk的一偶數邊緣(結束一偶數循環者),且「dete」被設定。如果該早期樣本為低而該晚期樣本為高,則檢測到tclk的一奇數邊緣,且「deto」被設定。 Between t d after an edge if "even" occurs before rclk of t d and rclk, these values sampled by the F3 and F2 will be different. The early and late samples are synchronized to the receive clock domain by a pair of brute force synchronizers that produce synchronized early and late samples d ES and d LS , respectively. The difference between the synchronized samples is detected by a pair of gates. If the early sample is high and the late sample is low, then an even edge of tclk is detected (ending an even cycle) and "dete" is set. If the early sample is low and the late sample is high, then an odd edge of tclk is detected and "deto" is set.

在rclk的每一個循環運作的該相位檢測器中有兩個蠻力同步器。但是類似於在該頻率測量單元中者,這些同步器在該關鍵路徑之外,所以它們的延遲可以較大,而使得該同步化失敗的頻率可任意地小。該採樣正反器加上同步器的4或5個循環之一組合的延遲S基本上可適用於維持一小於10-40Hz的一非常失敗頻率。 There are two brute force synchronizers in the phase detector operating in each cycle of rclk. But similar to those in the frequency measuring unit, these synchronizers are outside the critical path, so their delay can be large, and the frequency of the synchronization failure can be arbitrarily small. The delay S of the combination of the sampled flip-flop plus one of the 4 or 5 cycles of the synchronizer is substantially applicable to maintain a very low frequency of less than 10 -40 Hz.

為了初始化該相位估計器,如下述,td的數值被限定。當有可能算出td上一最壞情況上限時,如果td的瞬間值被測量,且之後加入一護衛帶到此測量來負責具有溫度與電壓之td的變化時,即可產生更為準確的相位估計。 In order to initialize the phase estimator, the value of t d is defined as follows. While it is possible on the d t is calculated on a worst-case limit, if the instantaneous value of d t is measured, and then a guard is added to the charge of this measurement with variation of temperature t d of the voltage can produce a more Accurate phase estimation.

圖6例示根據又另一具體實施例的一種相位估計器600。選擇性地,相位檢測器600可被實施在圖1-5E之功能與架構的環境中。但是當然,相位估計器600可以實施在任何想要的環境中。亦必須注意到該等前述的定義亦可在下文中來應用。 FIG. 6 illustrates a phase estimator 600 in accordance with yet another embodiment. Alternatively, phase detector 600 can be implemented in the context of the functions and architecture of Figures 1-5E. But of course, phase estimator 600 can be implemented in any desired environment. It must also be noted that the aforementioned definitions can also be applied hereinafter.

如所示,相位估計器600藉由相對於rclk保留tclk的該相位之一b-位元運行估計來運作。此估計p為一b-位元部份,其代表環繞一個單位循環的零與一之間的數值。相位估計p在每當該相位檢測邏輯設定det時被重置為(S+1)f,以指示出其已經檢測到在該窗[-T2,T1]中dT的一轉換。當det未被設定(asserted)時,該相位增加f(即每一個rclk循環的tclk之相對頻率)。暫存器pR保留該b-位元運行相位p。如果det被設定,在該相位檢測邏輯中該等同步器的該延遲之前,相位p被重置為(S+1)f,以反映出該相位在S個循環之前為零。當det為低時,藉由在每一個循環將f加入到該運行總和來更新該相位估計。 As shown, phase estimator 600 operates by running an estimate of one b-bit operation of the phase relative to rclk. This estimate p is a b-bit portion that represents the value between zero and one around a unit cycle. The phase estimate p is reset to (S+1)f each time the phase detection logic sets det to indicate that it has detected a transition of d T in the window [-T2, T1]. When det is not asserted, the phase is increased by f (i.e., the relative frequency of tclk for each rclk cycle). The register pR retains the b-bit running phase p. If det is set, phase p is reset to (S+1)f before the delay of the synchronizers in the phase detection logic to reflect that the phase is zero before S cycles. When det is low, the phase estimate is updated by adding f to the running sum at each cycle.

請注意該預見因子A被設定為S+1,所以該運行相位p預測在rclk的下一個上升邊緣處tclk的相位。此使得圖3中的該多工器被設定成:在rclk的該上升邊緣取樣在該不讓入內區域中轉換的一直接輸入之前,選擇該輸入資料的該延遲版本。 Note that this lookahead factor A is set to S+1, so the run phase p predicts the phase of tclk at the next rising edge of rclk. This causes the multiplexer in FIG. 3 to be set to select the delayed version of the input data before the rising edge of rclk samples a direct input that is transitioned in the inbound region.

該相位估計的準確性可基於該相位檢測器的該窗與該頻率估計的該準確性。在檢測時,該準確性在初始時可等於該相位檢測器的該窗[-T2,T1]。回應於沒有檢測的每一個循環,在該頻率估計中的該誤差可能為一完整LSB。 The accuracy of the phase estimate can be based on the accuracy of the window of the phase detector and the frequency estimate. At the time of detection, the accuracy may initially be equal to the window [-T2, T1] of the phase detector. In response to each cycle that is not detected, the error in the frequency estimate may be a complete LSB.

圖7例示根據又另一具體實施例的一種衝突檢測器700。選擇性地,衝突檢測器700可實施在圖1-6之功能及架構之環境中進行。但是當然,衝突檢測器700可在任何想要的環境中實施。亦必須注意到該等前述的定義亦可在下文中來應用。 FIG. 7 illustrates a collision detector 700 in accordance with yet another embodiment. Alternatively, collision detector 700 can be implemented in the context of the functions and architecture of Figures 1-6. But of course, the conflict detector 700 can be implemented in any desired environment. It must also be noted that the aforementioned definitions can also be applied hereinafter.

衝突檢測器700包括該命中檢測邏輯的一具體實施例。衝突檢測器700比較該相位P的該運行估計與限制pL及pH。當將p解譯成一無符號數目時,如果p<pL或p>pH,該輸出c將被設定。當相位被解譯成有符號的數目時,此對應於正在該範圍[pH,pL]中(例如環繞0的一窗)的該相位。這個窗可被設定為大於該準確度窗[-N2-(b+1)-T2,N2-(b+1)+T1]。 Collision detector 700 includes a specific embodiment of the hit detection logic. The collision detector 700 compares the operational estimates and limits p L and p H of the phase P. When p is interpreted as an unsigned number, if p < p L or p > p H , the output c will be set. When the phase is interpreted as a signed number, this corresponds to the phase being in the range [p H , p L ] (eg, a window around 0). This window can be set larger than the accuracy window [-N2 - (b+1) - T2, N2 - (b + 1) + T1].

圖8例示根據另一具體實施例的一種二分之一次方衝突檢測器800。選擇性地,二分之一次方衝突檢測器800可在圖1-7之功能及架構之環境中實施。但是當然,二分之一次方衝突檢測器800可在任何想要的環境中實施。亦必須注意到該等前述的定義亦可在下文中來應用。 FIG. 8 illustrates a one-half one-party collision detector 800 in accordance with another embodiment. Alternatively, the one-half-party collision detector 800 can be implemented in the context of the functions and architecture of Figures 1-7. But of course, the one-half party collision detector 800 can be implemented in any desired environment. It must also be noted that the aforementioned definitions can also be applied hereinafter.

當該等限制pL與pH被限定為2-I的型式時,可以使用如圖8所示之該命中檢測邏輯之一較簡單的版本。二分之一次方衝突檢測器800檢測何時p的最有效i個位元皆為0或皆為1。例如,為了檢測p何時在範圍[-1/8,1/8]中,其可判斷何時p的上方3個位元皆為0s或皆為1s。在另一示例中,藉由檢測何時p的上方2個位元皆為0s或皆為1s,即可檢測出p係在範圍[-1/4,1/4]。 When the limits p L and p H are limited to a 2 -I version, a simpler version of one of the hit detection logics as shown in FIG. 8 can be used. The one-half-party collision detector 800 detects when the most significant i-bits of p are both 0 or both. For example, to detect when p is in the range [-1/8, 1/8], it can be judged when the upper 3 bits of p are both 0s or both are 1s. In another example, by detecting when the upper two bits of p are both 0s or both are 1s, the p-system is detected to be in the range [-1/4, 1/4].

表5例示可利用於表6所述之圖3中的全數位近同步同步器300之作業的示例中。必須注意到這些參數與作業示例僅係為了例示性目的提出,因此不應以任何方式視為限制。 Table 5 illustrates an example of an operation that can be utilized in the all-digital near-synchronizer 300 of FIG. 3 described in Table 6. It must be noted that these parameters and job examples are presented for illustrative purposes only and should not be considered limiting in any way.

如以下表6所示,顯示出該作業示例。該第一行反映出該循環數目,而該第二行顯示出相對於rclk之tclk的實際相位。標示為Det的該行指示出何時該實際相位落在該相位檢測器的檢測窗內。該相位檢測器的實際輸出為晚三個循環,如標示為Del的該行中所反映者。當Del為真時,該相位被設定為4f=0.868,其預測出在下一個循環上的實際相位。標示為p的該行顯示出該實際相位。在該初始檢測時,其完全準確,但可能會有在後續檢測時該檢測窗一樣大的誤差。標示為c的該行顯示出何時該估計的 相位會落在該衝突訊號之內,因此c被設定。請注意到此在該衝突實際發生之前的一個循環來預測到該衝突。最後,標示為ko的該行顯示出何時該實際時脈相位落在該不讓入內窗之內。在發生在該表中之單一案例時,其可由c在前一循環上被設定來正確地預測。 This job example is shown as shown in Table 6 below. The first line reflects the number of cycles, and the second line shows the actual phase relative to tclk of rclk. The line labeled Det indicates when the actual phase falls within the detection window of the phase detector. The actual output of the phase detector is three cycles later, as reflected in the row labeled Del. When Del is true, the phase is set to 4f = 0.868, which predicts the actual phase on the next cycle. The line labeled p shows the actual phase. At the time of this initial detection, it is completely accurate, but there may be an error that is as large as the detection window at the time of subsequent detection. The line labeled c shows when the estimate is The phase will fall within the conflict signal, so c is set. Notice that this loop is predicted before the conflict actually occurs. Finally, the line labeled ko shows when the actual clock phase falls within the inner window. When a single case occurs in the table, it can be set correctly by c on the previous cycle.

以下提供圖3的全數位近同步同步器300之準確度的分析。該不讓入內窗、該檢測窗與該衝突窗之相對大小可決定該頻率與相位估計所需要的精度b。使得d為該檢測窗的大小、g為該檢測窗與該不讓入內窗之間的該護衛帶,而c為該衝突窗的大小。在以上的示例中,d為0.10、g為0.04而c為0.25。 An analysis of the accuracy of the all-digital near-synchronizer 300 of FIG. 3 is provided below. The relative size of the inward window, the detection window and the collision window may determine the accuracy b required for the frequency and phase estimation. Let d be the size of the detection window, g be the guard band between the detection window and the inaccess window, and c is the size of the collision window. In the above example, d is 0.10, g is 0.04, and c is 0.25.

當決定一準確的相位估計時,該系統可明確地保證一安全的同步化。在該採樣時間,該傳送相位已知為Φ[lp,up],且如果lp[x,1+x),該偶數暫存器可安全採樣。如果該等系統參數b與d被適當地選擇,該系統亦可保證在近同步(plesiochronous)模態下的安全同步化,當不知道一準確的相位估計時,因為其自從lp與up的一檢測到由該臨界值k發散時已經足夠地長。在此近同步案例中,顯示出該頻率的範圍將會使得在一相位檢測針對該同步器係發生在一不讓入內事件之足夠久之前處來保證適當的採樣。 When determining an accurate phase estimate, the system can explicitly guarantee a secure synchronization. At this sampling time, the transmission phase is known as Φ [lp,up], and if lp [x, 1+x), the even register can be safely sampled. If the system parameters b and d are properly selected, the system can also guarantee safe synchronization in the plesiochronous mode, when an accurate phase estimate is not known, since it is one of lp and up. It is detected that it is sufficiently long when it is diverged by the critical value k. In this near-synchronous case, the range of frequencies is shown to ensure proper sampling at a phase detection for the synchronizer to occur long enough before the inbound event occurs.

考慮以下f的案例:針對f<g/S(該護衛帶),在一錯誤之前將有一檢測。在此例中,該相位將足夠緩慢地移動到該檢測區域中,其中一檢測將發生在該相位進入該不讓入內窗之前S個循環處,而在一實際衝突發生之前,給我們時間來同步化該檢測、更新該相位估計,並設定(assert)該衝突訊號。 Consider the following case of f: For f<g/S (the guard band), there will be a test before an error. In this case, the phase will move slowly enough into the detection zone, where a detection will occur at S cycles before the phase enters the inward window, and give us time before an actual collision occurs. To synchronize the detection, update the phase estimate, and assert the collision signal.

針對g/Sf<d,在每一個N=1/f循環處將有一檢測,每次該相位旋轉環繞該單元循環時至少有一次。所以只要2-b<gck/S,在該相位估計累積過多的誤差之前將會有一檢測。(此處k=0.25為一因子來加入額外的精度)。例如,針對我們的示例之該等數目,我們將gck/S=(0.04)(0.25)(0.25)/4=.000625,且b=11位元為充份的精度。 For g/S f < d, there will be a detection at each N = 1/f cycle, each time the phase rotation is at least once around the unit cycle. So as long as 2 -b <gck/S, there will be a test before the phase estimate accumulates too much error. (where k = 0.25 is a factor to add extra precision). For example, for these numbers of our example, we would gck/S=(0.04)(0.25)(0.25)/4=.000625, and b=11 bits are sufficient precision.

針對fd,f被表示成具有一限定的分母之一有理分數加上一誤差項f=N/D±e,其中DC=1/d 。如下所示,具有一限定分母之分數序列(稱之為Farey序列)的該等性質可保證eDC<1。在此例中,環繞該相位循環可能有D個點之重複樣式,其在每一個D-循環周期偏位De。此即提供如同f<d相同的兩個案例。 For f d, f is expressed as having a defined denominator of a rational score plus an error term f = N / D ± e, where D C= 1/ d . As shown below, these properties with a fractional sequence of definite denominators (referred to as Farey sequences) ensure that eDC <1. In this example, there may be a repeating pattern of D points around the phase loop that is offset by De in each D-cycle period. This provides two cases with the same f<d.

如果De<g/S,每個周期的該相位偏位為足夠地小,在誤差之前將會有檢測,如同當f<g/S時。 If De < g / S, the phase offset of each cycle is sufficiently small, there will be detection before the error, as when f < g / S.

如果g/SDe<d,則在每一個1/(D2e)循環發生一檢測,所以如果2-b<gck/S,在我們累積過多的誤差之前將會有一檢測。此處針對b的需求實際上相同於以上g/Sf<d的案例。 If g/S De<d, a detection occurs in every 1/(D2e) cycle, so if 2 -b <gck/S, there will be a test before we accumulate too much error. The requirement for b here is actually the same as the above g/S Case of f<d.

我們需要顯示針對f>d>1/C,我們永遠能夠將f表示成f=N/D±e,其中DC與eDC<1。考慮Farey序列F(C),有理數的序列在0與1之間,分母DC。針對來自此組合的兩個相鄰數目,p/q,r/s,永遠會是r/s=(ps+1)/qs,其中q,s<=C及(ps+1)=qr。然後兩個相鄰有理數p/q與r/s之間的距離為1/qs。我們分配在p/q及p/q+1/q(s+q)之間的數值f成為p/q,而數目由r/s-1/s(s+q)到r/s。然後我們知道e=1/q(s+q),eDC= (1/q(s+q))qC=C/(s+q)<1,因為由於Farey序列的該等性質,所以s+q>C。 We need to show that for f>d>1/C, we can always represent f as f=N/D±e, where D C and eDC < 1. Consider the Farey sequence F(C), the sequence of rational numbers is between 0 and 1, the denominator D C. For two adjacent numbers from this combination, p/q,r/s will always be r/s=(ps+1)/qs, where q, s<=C and (ps+1)=qr. Then the distance between two adjacent rational numbers p/q and r/s is 1/qs. The value f we assign between p/q and p/q+1/q(s+q) becomes p/q, and the number is from r/s-1/s(s+q) to r/s. Then we know that e = 1 / q (s + q), eDC = (1/q (s + q)) qC = C / (s + q) < 1, because of the nature of the Farey sequence, so s + q>C.

同步器參數之間的相依性要求它們以pD,d,c,然後b的順序被選擇。該相位延遲pD的數值在該等其它參數上設定一些限制。如以上示例設定pD=0.5,係以會有些微增加該同步器的平均延遲的代價,來提供最大的彈性。藉由將pD設定為一較小的數值(例如0.1),即可降低延遲。但是,如此會對其餘的參數造成非常緊迫的限制。不論針對pD選擇那一個數值,該相位檢測器可被實施成檢測dT的轉換何時同時發生於相位0與相位pD,且該相位估計器可被實施成根據同時兩個事件來重置其相位估計。當De非常小時,該相位將在一樣本進入任一採樣路徑的該不讓入內區域之前被重置。 The dependencies between the synchronizer parameters require that they be selected in the order of p D , d, c, and then b. The value of the phase delay p D sets some limits on these other parameters. Setting the p D = 0.5 as in the above example provides the greatest flexibility at the cost of slightly increasing the average delay of the synchronizer. The delay can be reduced by setting p D to a small value (for example, 0.1). However, this imposes very urgent restrictions on the remaining parameters. Regardless of which value is selected for p D , the phase detector can be implemented to detect when the conversion of d T occurs simultaneously at phase 0 and phase p D , and the phase estimator can be implemented to reset according to two simultaneous events Its phase estimate. When De is very small, the phase will be reset before a sample enters the inbound zone of any sampling path.

該檢測區域的大小d部份地決定了在該相位測量中的該誤差,因此被設定成足夠小,所以該相位估計器能夠準確地區分何時要選擇該直接與經延遲的資料值。一限制為d<pD/2-k,其中k為針對該相位估計器選出的該準確度參數。另一方面,選擇一小的d可造成一小的護衛帶,因此增加了在該等頻率與相位估計器中所利用之位元數目。在一具體實施例中,設定d為大約pD/4,可平衡這兩個限制。因為d由一反向器延遲線決定,其數值將橫跨PVT顯著地改變,因此該同步器被設計成同時在兩個極限端處運作。 The size d of the detection area determines the error in the phase measurement in part, and is therefore set small enough that the phase estimator can accurately distinguish when the direct and delayed data values are to be selected. One limit is d < p D / 2-k, where k is the accuracy parameter selected for the phase estimator. On the other hand, selecting a small d can result in a small guard band, thus increasing the number of bits utilized in the frequency and phase estimators. In a specific embodiment, setting d to about p D /4 balances the two limits. Since d is determined by an inverter delay line, its value will vary significantly across the PVT, so the synchronizer is designed to operate at both extreme ends simultaneously.

誤差之最大容忍度係實現在:當該衝突檢測窗c被設定為pD的一半時。例如,當pD為0.5(如以上的示例),設定c為[-.25,.25]可提供誤差的最大餘裕。該相位可偏離0.25-tko,且該同步器仍可避免採樣一不安全的訊號。另一方面,c設定的很大會造成該延遲的資料訊號的許多「錯誤正向」選擇,其會增加平均的同步器延遲。在一具體實施例中,c被設定為[-.25,.25]或[-.125,.125]。使c為二分之一次方可允許來使用圖8的較簡單的檢測電路。一旦選出pD,d與c,b的最小值即可如上述地選出,所以2-b<gck/S。 The maximum tolerance of error is achieved when the collision detection window c is set to half of p D . For example, when p D is 0.5 (as in the example above), setting c to [-.25, .25] provides the maximum margin of error. The phase may deviate from 0.25-t ko, and the synchronizer can still avoid unsafe sampling a signal. On the other hand, the large setting of c causes many "error positive" choices for the delayed data signal, which increases the average synchronizer delay. In a specific embodiment, c is set to [-.25, .25] or [-.125, .125]. Let c be one-half of a second to allow the simpler detection circuit of Figure 8 to be used. Once p D is selected, the minimum values of d and c, b can be selected as described above, so 2 - b <gck / S.

選擇性地,圖3的全數位近同步同步器300中較貴的零件可於該同步器之實例之間共享。該頻率估計方塊的一單一副本可於所有同步化tclk與rclk之間的訊號的所有同步器之間共享,其中數值f由一方塊產生,並分散到這兩個時脈域之間所有的同步器中。依類似方式,一單一相位檢測方塊、相位估計方塊與衝突檢測方塊可於共享tclk與rclk之間相同相位關係的一些同步器之間共享。 Alternatively, the more expensive parts of the all-digital near-synchronizer 300 of Figure 3 can be shared between instances of the synchronizer. A single copy of the frequency estimation block can be shared between all synchronizers that synchronize the signals between tclk and rclk, where the value f is generated by a block and is spread across all synchronizations between the two clock domains. In the device. In a similar manner, a single phase detection block, phase estimation block, and collision detection block can be shared between some synchronizers that share the same phase relationship between tclk and rclk.

圖9例示根據又另一具體實施例的一種順向同步器900。選擇性地,順向同步器900可實施在圖1-2與圖4-8之功能及架構之環境中。但是當然,順向同步器900可在任何想要的環境中實施。亦必須注意到該等前述的定義亦可在下文中來應用。 FIG. 9 illustrates a forward synchronizer 900 in accordance with yet another embodiment. Alternatively, the forward synchronizer 900 can be implemented in the context of the functions and architecture of Figures 1-2 and 4-8. But of course, the forward synchronizer 900 can be implemented in any desired environment. It must also be noted that the aforementioned definitions can also be applied hereinafter.

關於本具體實施例,可以避免關聯於採樣該訊號的一延遲版本之限制。為了不使用流程控制而將一多位元訊號由該傳送轉送到該接收時脈域,該傳送時脈在交替的循環上寫入一對暫存器。例如,暫存器E寫入到偶數循環上(於該偶數循環的結束處更新),而暫存器O寫入到奇數循環上。 With respect to this embodiment, the limitation associated with sampling a delayed version of the signal can be avoided. In order to transfer a multi-bit signal from the transmission to the reception clock domain without using flow control, the transmission clock writes a pair of registers on alternate cycles. For example, register E is written to an even loop (updated at the end of the even loop) and register O is written to an odd loop.

然後該接收器使用其相位估計來選出可「安全地」在該接收時脈域中採樣(於該目前rclk循環結束處)的該最近寫入的傳送暫存器。該選擇係基於在目前rclk循環p的結束處該預測的tclk相位。在每一個接收時脈上,暫存器O於當該傳送時脈相位在e.x與o.x之間時被選擇,其中e代表該偶數循環,而x為該「不讓入內」餘裕。否則選擇該E暫存器。此同步器的該延遲根據平均為0.5+0.x的相位而在0.x與1.x之間變化。 The receiver then uses its phase estimate to select the most recently written transfer register that can be "safely" sampled in the receive time domain (at the end of the current rclk cycle). This selection is based on the predicted tclk phase at the end of the current rclk cycle p. At each receive clock, the register O is selected when the phase of the transmit clock is between e.x and o.x, where e represents the even loop and x is the "into" margin. Otherwise select the E register. This delay of this synchronizer varies between 0.x and 1.x depending on the phase averaged 0.5+0.x.

當本具體實施例關於偶數與奇數時脈循環與兩個暫存器來說明時,必須注意到在其它具體實施例中可以利用任何數目的時脈循環與暫存器。因此,時脈循環可被標示為模數N,且可利用N個暫存器。增加暫存器的數目可允許非常大的不讓入內區域(例如大於一單一UI)。為此原因使用N個暫存器可被同時應用到圖9所示的該順向同步器與以下關於圖 11所述之該流程控制同步器。 While the present embodiment is described with respect to even and odd clock cycles and two registers, it must be noted that any number of clock cycles and registers may be utilized in other embodiments. Therefore, the clock cycle can be labeled as modulus N and N registers can be utilized. Increasing the number of scratchpads allows for very large indentation areas (eg, greater than a single UI). For this reason, the use of N scratchpads can be simultaneously applied to the forward synchronizer shown in FIG. 9 with respect to the following figures. The process described in 11 controls the synchronizer.

如圖9所示且相對於該傳送器側,「tdata」在「tclk」的每一個循環上被交替地寫入到該等E與O暫存器中。在該接收器側,該選擇邏輯判斷要選擇該等兩個暫存器中那一者來在「rdata」上輸出。該選擇邏輯的此決定可基於由該頻率與相位估計邏輯(未示出)所產生的該傳送器時脈之相位估計。此邏輯可產生中間訊號,其指示出該相位何時在該偶數(或奇數)不讓入內區域「tkoe」(「tkoo」)及該傳送器何時在該偶數時脈循環「teven。」 As shown in FIG. 9 and relative to the transmitter side, "tdata" is alternately written into the E and O registers on each cycle of "tclk". On the receiver side, the selection logic determines that one of the two registers is to be selected for output on "rdata". This decision of the selection logic may be based on a phase estimate of the transmitter clock generated by the frequency and phase estimation logic (not shown). This logic can generate an intermediate signal indicating when the phase is in the even (or odd) recessed area "tkoe" ("tkoo") and when the transmitter is in the even clock cycle "teven."

表7顯示能夠用於選擇一訊號的碼之示例。必須特別注意到這些碼係僅係為了例示性目的而提出,且不應以任何方式視為其限制。 Table 7 shows an example of a code that can be used to select a signal. It must be noted that these code numbers are presented for illustrative purposes only and should not be construed as limiting in any way.

因此,關於本具體實施例,該奇數暫存器在當該傳送器在其偶數時脈循環中時(奇數暫存器剛在該奇數時脈循環結束時寫入)被選擇,除非該接收時脈係在該奇數不讓入內區域中,否則選擇該偶數暫存器。 Thus, with respect to this embodiment, the odd register is selected when the transmitter is in its even clock cycle (the odd register was just written at the end of the odd clock cycle) unless the reception is The pulse system is in the odd number in the inbound area, otherwise the even register is selected.

在初始化時,順向同步器900可經過多種不同狀態。表8顯示出順向同步器900於初始化期間的該等選擇性狀態。當然,必須注意到這些狀態僅係為了例示性目的而提出,且不應以任何方式視為其限制。 Upon initialization, the forward synchronizer 900 can go through a number of different states. Table 8 shows these selective states of the forward synchronizer 900 during initialization. Of course, it must be noted that these states are presented for illustrative purposes only and should not be construed as limiting in any way.

如關於圖10所述,在重置時,順向同步器900進入該頻率取得(FA)狀態,並啟動其計數器配對來測量「另一個」時脈的頻率。於此狀態期間,順向同步器900檢查是否有一相位檢測(落在該檢測區域中的相位)。 As described with respect to Figure 10, upon reset, the forward synchronizer 900 enters the frequency acquisition (FA) state and initiates its counter pairing to measure the frequency of the "other" clock. During this state, the forward synchronizer 900 checks if there is a phase detection (phase falling in the detection area).

一旦取得頻率,即進入該相位取得(PA)狀態,且順向同步器900等待一相位檢測。此時,一頻率估計f與一相位估計p已被決定,並進入該追蹤狀態(T)。如果並無相位檢測(例如發生一逾時),該等兩個時脈為有理相關(f=N/D)(或近乎有理相關)於一相位偏位,所以該D可命中該相位循環周圍,而遠離該檢測區域。在此例中,進入該M狀態,因為該相位被保證為足夠地慢,使其將在發生一錯誤之前被檢測到。 Once the frequency is obtained, the phase acquisition (PA) state is entered, and the forward synchronizer 900 waits for a phase detection. At this time, a frequency estimate f and a phase estimate p have been determined and entered the tracking state (T). If there is no phase detection (for example, a timeout occurs), the two clocks are rationally correlated (f=N/D) (or nearly rationally related) to a phase offset, so the D can hit around the phase loop. And away from the detection area. In this example, the M state is entered because the phase is guaranteed to be sufficiently slow that it will be detected before an error occurs.

在該追蹤狀態(T)中,順向同步器900在每一個循環更新該相位估計,並在當順向同步器900檢測到其係在該偶數或奇數不讓入內區域中時採取適當的動作。自從計數最後一次相位檢測的循環數目且當此數目超過一臨界值時,該相位估計不再可靠,且順向同步器900進入該近同步(M)狀態。 In the tracking state (T), the forward synchronizer 900 updates the phase estimate every cycle and takes appropriate when the forward synchronizer 900 detects that it is in the even or odd inbound region. action. Since the number of cycles of the last phase detection is counted and when this number exceeds a threshold, the phase estimate is no longer reliable and the forward synchronizer 900 enters the near synchronous (M) state.

如果該相位非常緩慢地漂移(均同步或近同步模數一有理部份),順向同步器900可安全地同步化而不需要預測。在此例中(該M狀態), 順向同步器900簡單地利用一蠻力同步器檢測進入到該檢測區域,並使用足夠大的護衛帶,使得於同步化該檢測所需要的該等數個循環期間不會發生一錯誤。例如,來自該tclk域的該偶數訊號被直接地於在該等E與O暫存器之間拿來選擇。因為該相位足夠緩慢地改變且該護衛帶g=d-x足夠大,此即為安全,所以將在此訊號為不安全之前返回到該T狀態而將發生一相位檢測。請注意在該有理案例中當該相位漂移到該檢測區域中時,可以辨識出一1-of-D檢測樣式(其中D為該有理數分母)。在這種狀況下可以利用在該第一檢測時進入到該T狀態。 If the phase drifts very slowly (either synchronous or near synchronous modulo-rational), the forward synchronizer 900 can be safely synchronized without prediction. In this case (the M state), The forward synchronizer 900 simply detects the entry into the detection zone using a brute force synchronizer and uses a sufficiently large guard band so that an error does not occur during the number of cycles required to synchronize the detection. For example, the even signal from the tclk field is selected directly between the E and O registers. Since the phase changes slowly enough and the guard band g = d-x is sufficiently large, this is safe, so a phase detection will occur when the signal is returned to the T state before the signal is unsafe. Note that in this rational case, when the phase drifts into the detection region, a 1-of-D detection pattern (where D is the rational denominator) can be identified. In this case, it is possible to utilize the T state at the time of the first detection.

在該T狀態中的作業仰賴為固定或近乎固定的頻率。為了安全(例如針對頻率可於短期間中改變的狀況,例如當在電力狀態之間改變時),該頻率測量電路可連續地運作,並將其測量與該目前估計做比較。如果該差異大於一臨界值,順向同步器900可降回到蠻力(B)模態。例如,上述的該FIFO同步器可被調整成:藉由格雷編碼該等指標並平行於該等E/O同步器運作一對蠻力同步器,而相對於該頻率改變模態來工作。當頻率正在變化時,該等同步器切換成使用該等蠻力同步器(B模態)。一旦該等頻率穩定下來,它們改變回到使用該快速周期性同步器(M模態)。 The work in this T state relies on a fixed or near fixed frequency. For security (eg, for conditions where the frequency can change over a short period of time, such as when changing between power states), the frequency measurement circuit can operate continuously and compare its measurements to the current estimate. If the difference is greater than a threshold, the forward synchronizer 900 can fall back to the brute force (B) mode. For example, the FIFO synchronizer described above can be adjusted to operate by changing the modalities relative to the frequency by encoding the metrics and operating a pair of brute force synchronizers parallel to the E/O synchronizers. When the frequency is changing, the synchronizers switch to use the brute force synchronizer (B mode). Once the frequencies have stabilized, they change back to using the fast periodic synchronizer (M mode).

順向同步器900可視需要僅用於該等時脈為周期性或周期性行為偏離明確地發信處(例如一「非周期性」訊號在該等時脈開始無法預期地變化之前觸發蠻力模態)的狀況。依此方式,即可避免對於太慢變化之頻率的檢測,藉此在檢測一變化之前能夠完成該等時脈域之間數個不安全採樣。 The forward synchronizer 900 can be used only for the clocks to periodically or periodically deviate from the unambiguous location (eg, a "non-periodic" signal triggers a brute force mode before the clocks begin to change unexpectedly. State). In this way, detection of frequencies that are too slow to change can be avoided, whereby several unsafe samples between the clock domains can be completed before detecting a change.

如上所述,具有頻率差異為一有理數之兩個時脈域之間的訊號亦可被同步化,即fr=Nft/D,N與D為整數。利用有理的頻率,N,D與該等兩個頻率為有理相關的一指示皆由該系統提供。該等兩個時脈之間的該相位係假設為未知,甚至可以緩慢地變化。 As described above, signals having a frequency difference between the pulse of the domain may also be synchronized during a rational number of two, i.e. f r = Nf t / D, N and D are integers. With a rational frequency, an indication that N, D is reasonably related to the two frequencies is provided by the system. The phase between the two clocks is assumed to be unknown and can even vary slowly.

當該等時脈域為有理相關時,不需要進行頻率測量。反之, f=N/D變成該頻率。此外,該相位可被保持乘以D來進行積分。例如,在一具體實施例中,該相位表示成具有一整數部份a與一分數部份b,所以該相位p=a.b/D。 When the clock domains are rationally correlated, no frequency measurements are required. on the contrary, f=N/D becomes this frequency. In addition, the phase can be held multiplied by D for integration. For example, in one embodiment, the phase is represented as having an integer part a and a fractional part b, so the phase p = a.b/D.

另外,該相位可依以上關於圖5B-圖E所述來進行檢測。上限與下限up與lp被初始化成比例為D該檢測區域的該等界限。順向同步器900開始於一「初始」狀態。該第一檢測造成轉換到該「鎖定」狀態,並初始化該等相位界限(up與lp)。在該鎖定狀態中,該系統重複地造訪D個相對相位,其中至少一者被預期會造成一檢測(並因此檢測一可能的衝突)。在D+1個沒有檢測的循環之後,進行轉換到該「安全」狀態。 Additionally, the phase can be detected as described above with respect to Figures 5B-E. The upper and lower limits up and lp are initialized to a ratio of D to the boundaries of the detection zone. The forward synchronizer 900 begins in an "initial" state. The first detection causes a transition to the "locked" state and initializes the phase boundaries (up and lp). In this locked state, the system repeatedly visits D relative phases, at least one of which is expected to cause a detection (and thus detect a possible collision). After D+1 undetected loops, a transition is made to the "safe" state.

因此可注意到該等兩個時脈之間D個相對相位不會造成衝突,因此其可安全地在所有D個相位中直接地同時取樣偶數與奇數暫存器。在該「鎖定」狀態下,該比例化的相位界限(up與lp)藉由在每一循環加入N-模數D來上漲。在該頻率中沒有不確定性,所以該等界限將不會隨時間發散。 It can therefore be noted that the D relative phases between the two clocks do not cause collisions, so it is safe to simultaneously sample even and odd registers directly in all D phases. In this "locked" state, the scaled phase boundaries (up and lp) rise by adding an N-modulus D to each cycle. There is no uncertainty in this frequency, so these boundaries will not diverge over time.

對此,一相位檢測(或在其缺少)能夠用於在當該等時脈域為有理相關時動態地檢測該相位差異。再者,藉由自該估計的相位檢測衝突即可避免使用大小為D的一表格來儲存該衝突樣式,使其亦可避免大的D之區域。 In this regard, a phase detection (or lack thereof) can be used to dynamically detect the phase difference when the clock domains are rationally correlated. Moreover, by detecting the conflict from the estimated phase, it is possible to avoid using a table of size D to store the conflict pattern so that a large D region can be avoided.

在一具體實施例中,如果兩個時脈之間的該相位緩慢地改變(每個循環為△p,即至少該實際頻率暫時地為ft=Nfr/D+△p),則上述的該系統只要當△p<min((d-k)/2D、(d-k)/2S)時即被實施,其中(d-k)/2為該檢測區域(d)與該不讓入內區域(k)之間該一側的餘裕,D為該有理頻率的分母,而S為該相位檢測器同步器之延遲。此限制可確保進入(最多為D△p的)該檢測區域的第一步驟可能不會穿透到該不讓入內區域中,而且一旦檢測到時,該檢測可在該相位進入該不讓入內區域之前被同步。 In a specific embodiment, if the phase between the two clocks changes slowly (each cycle is Δp, ie at least the actual frequency is temporarily f t =Nf r /D+Δp), then the above The system is implemented as long as Δp<min((dk)/2D, (dk)/2S), where (dk)/2 is the detection region (d) and the inward region (k) The margin between the sides, D is the denominator of the rational frequency, and S is the delay of the phase detector synchronizer. This restriction ensures that the first step of entering the detection zone (up to DΔp) may not penetrate into the inaccess zone, and once detected, the detection may enter the phase at the phase. The inbound area is synchronized before.

對此,該相位估計可用於建構一快速、簡單的順向同步器, 其可將一平行訊號自一周期性時脈域移動到另一者。特定而言,在本具體實施例中,提供一順向同步器來將一平行訊號自該傳送時脈(tclk)域移動到該接收時脈(rclk)域,其方式在同步化失敗中為安全的,但沒有流程控制。另外,此同步器可運用在一FIFO同步器中,以提供同步化與流程控制,如下所述。 In this regard, the phase estimate can be used to construct a fast, simple forward synchronizer. It can move a parallel signal from one periodic clock domain to the other. In particular, in the present embodiment, a forward synchronizer is provided to move a parallel signal from the transmit clock (tclk) field to the receive clock (rclk) field in a synchronization failure. Safe, but no process control. In addition, this synchronizer can be used in a FIFO synchronizer to provide synchronization and flow control as described below.

圖11例示圖9所示之順向同步器的運作之時序圖。關於本具體實施例,「tclk」快於「rclk」。如所示,該相位估計器訊號(偶數、tkoe與tkoo)反映出該tclk在rclk的下一上升邊緣上將是什麼相位。因此tkoe在所顯示的rclk的第一邊緣上顯示為高,因為rclk的下一邊緣係在tclk的一偶數邊緣的該不讓入內區域中。 Fig. 11 is a timing chart showing the operation of the forward synchronizer shown in Fig. 9. Regarding this embodiment, "tclk" is faster than "rclk". As shown, the phase estimator signals (even, tkoe and tkoo) reflect what phase the tclk will be on the next rising edge of rclk. Thus tkoe is shown high on the first edge of the displayed rclk because the next edge of rclk is in the inbound region of an even edge of tclk.

如所示,不在一不讓入內區域中的最新寫入的暫存器是永遠被採樣的。rclk的該第一邊緣自暫存器E採樣該數值「a」,因為此邊緣落在tclk的一奇數循環中。該下一邊緣自暫存器O採樣「b」,因為此rclk邊緣係在tclk的該偶數不讓入內區域中。該第三邊緣自暫存器O採樣「d」,因為其落在一偶數tclk循環中。最後,該最後rclk邊緣自暫存器E採樣「e」,因為其落在tclk的該奇數不讓入內區域中。請注意到數值「c」永遠不被採樣,因為tclk快於rclk。為了確定每一數值被準確地採樣一次,其需要具有流程控制的一同步器,如以下關於圖12所述。 As shown, the most recently written scratchpad that is not in the inbound area is always sampled. The first edge of rclk samples the value "a" from the scratchpad E because the edge falls in an odd cycle of tclk. The next edge samples "b" from the scratchpad O because the rclk edge is in the indented area of tclk. The third edge samples "d" from the scratchpad O because it falls in an even number of tclk cycles. Finally, the last rclk edge samples "e" from the scratchpad E because it falls within the odd-numbered area of tclk. Please note that the value "c" is never sampled because tclk is faster than rclk. In order to determine that each value is accurately sampled once, it requires a synchronizer with flow control, as described below with respect to FIG.

圖12例示根據又另一具體實施例的一種具有流程控制的同步器1200。選擇性地,同步器1200可實施在圖1-11之功能及架構之環境中。但是當然,同步器1200可在任何想要的環境中實施。亦必須注意到該等前述的定義亦可在下文中來應用。 Figure 12 illustrates a synchronizer 1200 with flow control in accordance with yet another embodiment. Alternatively, synchronizer 1200 can be implemented in the context of the functions and architecture of Figures 1-11. But of course, synchronizer 1200 can be implemented in any desired environment. It must also be noted that the aforementioned definitions can also be applied hereinafter.

關於本具體實施例,可以提供該等兩個時脈域之間的流程控制。例如,頻率與相位估計器同時提供在該傳送器與接收器中。該等相位估計器可被擴充來回報範圍在0-2(在循環中)中的相位,使得它們描述另一個時脈域是否在一偶數或奇數循環上,且在該循環中該時脈在何處。該傳 送器經由一對暫存器(資料暫存器)傳送資料,而該接收器經由一對暫存器(反向觸變暫存器)傳送流程控制資訊。使用該相位估計,該同步器在當另一時脈係在一偶數或奇數循環中該「不讓入內」區域中時進行計算。當在該循環(偶數或奇數)的該不讓入內區域中,在一暫存器被寫入期間,有一協定避免採樣該暫存器。 With regard to this particular embodiment, flow control between the two clock domains can be provided. For example, a frequency and phase estimator is provided in both the transmitter and the receiver. The phase estimators can be extended to report phases in the range 0-2 (in the loop) such that they describe whether another clock domain is on an even or odd loop, and in the loop the clock is where. The biography The transmitter transmits data via a pair of scratchpads (data registers), and the receiver transmits flow control information via a pair of scratchpads (reverse thixotropy registers). Using this phase estimate, the synchronizer calculates when another clock is in the "not allowed" region in an even or odd loop. When in the inbound area of the loop (even or odd), there is an agreement to avoid sampling the register while a register is being written.

關於本具體實施例,流程控制係實施在該同步器中。具有流程控制的同步器1200藉由將該傳送器交替地寫入一對暫存器來運作,如以上關於圖9所述,但該傳送器暫停,來避免暫存器由該接收器接受之前覆寫暫存器,並避免當無可用的有效資料時寫入暫存器。該傳送器觸變(toggle)在每一暫存器(順向觸變暫存器)中一位元以發出信號指示出新的資料已經被寫入到該暫存器。該接收器交替地觸變一對流程控制正反器(反向觸變暫存器)以發出信號指示出該傳送器資料被接受。該接收器可以延遲觸變一正反器,因為來自下游流程控制的背向壓力(即一未預備好訊號)。當該接收器已經觸變該相對應流程控制正反器時,該傳送器知道該接收器已經接受一數值。 With regard to this embodiment, the flow control is implemented in the synchronizer. Synchronizer 1200 with flow control operates by alternately writing the transmitter to a pair of registers, as described above with respect to Figure 9, but the transmitter is suspended to prevent the register from being accepted by the receiver. Overwrite the scratchpad and avoid writing to the scratchpad when no valid data is available. The transmitter toggles a bit in each register (the forward thief register) to signal that new material has been written to the register. The receiver alternately thixes a pair of flow control flip-flops (reverse thixophones) to signal that the transmitter data is accepted. The receiver can delay the thixotropic-reactor because of the back pressure from the downstream process control (ie, an unprepared signal). When the receiver has thixed the corresponding flow control flip-flop, the transmitter knows that the receiver has accepted a value.

在一具體實施例中,利用一預備好/有效流程控制協定。該傳送器可選擇性僅在當有可使用的有效資料時更新一傳送暫存器。當兩個暫存器皆滿時,該傳送器發出信號來指示尚未預備好上游。當其已經自該傳送器收到尚未由該下游邏輯接受的新字元時,如同由其預備好輸入所指出,該接收器另外發出信號來指示有效。當該預備好輸入為低時,該接收器可能不會接受來自該傳送器的一有效資料字元。 In a specific embodiment, a ready/effective process control protocol is utilized. The transmitter can selectively update a transfer register only when there is valid data available. When both registers are full, the transmitter signals that the upstream has not been prepared. When it has received a new character from the transmitter that has not been accepted by the downstream logic, as indicated by its ready input, the receiver additionally signals that the indication is valid. When the ready input is low, the receiver may not accept a valid data character from the transmitter.

為了使得該時脈域可安全地交叉,該傳送器經由在該等偶數與奇數時脈循環(分別為tae與tao)上更新的一對暫存器(順向觸變暫存器)傳送該ta暫存器的該觸變位元。同樣地,tb的該觸變位元經由tbe與tbo被傳送,且該等接收觸變暫存器經由rae,rao,rbe與rbo傳送。 In order for the clock domain to be safely crossed, the transmitter transmits the pair of registers (forward thief register) updated on the even and odd clock cycles (tae and tao, respectively). The thixotropic bit of the ta register. Similarly, the thixotropic bit of tb is transmitted via tbe and tbo, and the receiving thixotropic registers are transmitted via rae, rao, rbe, and rbo.

該接收器觀看這些同步的觸變位元來判斷何時能安全地採 樣ta或tb。在任一時間點上,該rtptr位元指示出該接收器是否正在期待在ta或tb上其下一個資料字元。在一具體實施例中該下一字元到達ta處,該接收器觀看ta的該觸變位元來察看是否一新的字元已經到達。如果其並不在一不讓入內區域,其直接觀看tat(ta的該觸變位元)。如果其係在該偶數(奇數)不讓入內區域中,其觀看在該奇數(偶數)時脈循環tao(tae)上同步化的tat之版本。 The receiver views these synchronized thixotropic bits to determine when it can be safely taken Sample ta or tb. At any point in time, the rtptr bit indicates whether the receiver is expecting its next data character on ta or tb. In a specific embodiment, the next character arrives at ta, and the receiver views the thixotropic bit of ta to see if a new character has arrived. If it is not in the inbound area, it directly watches tat (the thixo bit of ta). If it is in the even (odd) not allowed in-in region, it views the version of the tat synchronized on the odd (even) clock cycle tao(tae).

如果看到一觸變,rtptr即被觸變。一第二指標optr驅動該輸出多工器來決定ta或tb那一者被應用到該接收器輸出。此指標在當於該目前暫存器中有有效的資料且該「預備好」輸入為真時即前進,指示出該下游邏輯可接受該資料。當optr前進時,該相對應接收器觸變位元ra或rb被觸變來發信該資料已經被接受。為了完全與空白區別,當rtptr=optr時,一rcount計數器保持已經到達但尚未被送出的該等字元之計數。此計數器在當rtptr前進時增加,而當optr前進時減少。當兩者皆前進時,其維持並不改變。當rcount為零時,該接收器「valid」輸出被設定為低。 If you see a thixotropic change, rtptr is thixotropic. A second indicator optr drives the output multiplexer to determine which one of ta or tb is applied to the receiver output. This indicator advances when there is valid data in the current register and the "prepared" input is true, indicating that the downstream logic can accept the data. When optr advances, the corresponding receiver thixotropic bit ra or rb is thixotropic to signal that the material has been accepted. To be completely different from white space, when rtptr = optr, a rcount counter keeps a count of the characters that have arrived but have not yet been sent. This counter is incremented as rtptr advances and decreases as optr advances. When both progress, their maintenance does not change. When rcount is zero, the receiver "valid" output is set to low.

圖13例示圖12所示之具有流程控制的該同步器的運作之時序圖。關於本具體實施例,該傳送器之運行快於該接收器。該傳送器在其第一偶數循環上利用「a」寫入「ta」,並在其第一奇數循環上利用「b」寫入「tb」。這些寫入分別藉由觸變「tat」與「tbt」來反應。因為「optr」初始為零,該「a」直接傳播到該輸出,並由rclk的該第一偶數邊緣採樣。在接受「a」之後,rptr前進來選擇「b」(只要其為預備好),且「ra」觸變來發信接受。 Fig. 13 is a timing chart showing the operation of the synchronizer with flow control shown in Fig. 12. With respect to this embodiment, the conveyor operates faster than the receiver. The transmitter writes "ta" with "a" on its first even cycle and writes "tb" with "b" on its first odd cycle. These writes are reacted by the thixotropic "tat" and "tbt" respectively. Since "optr" is initially zero, the "a" is propagated directly to the output and is sampled by the first even edge of rclk. After accepting "a", rptr proceeds to select "b" (as long as it is ready), and "ra" is changed to send a letter.

該電路依此方式進行使tclk的每一邊緣進入佇列一新的值,而rclk的每一邊緣離開佇列一新的值。請注意填入該等傳送暫存器之進入佇列使得「tready」成為低,直到出現使一值離開佇列(dequeue)的該接收器邊緣。該等不讓入內區域針對該等tready與rvalid訊號需要為足夠大,以在它們個別的時脈邊緣之前穩定下來。在循環5,「tready」在整個循環中維持 低,因為「rb」被觸變來接受「d」係在該不讓入內區域中來引導該傳送器來施加背向壓力,且「d」與「e」的有效周期被擴大到三個循環。相同的事情發生於循環8上「f」的接受。 In this manner, the circuit causes each edge of tclk to enter a new value, and each edge of rclk leaves a new value. Note that filling in the entry queues of the transfer registers causes "tready" to go low until there is a receiver edge that causes a value to dequeue. These do not allow the inbound area to be large enough for these tready and rvalid signals to settle before their individual clock edges. In loop 5, "tready" is maintained throughout the loop. Low, because "rb" is thixotropic to accept "d" in the inbound area to guide the transmitter to apply back pressure, and the effective period of "d" and "e" is expanded to three cycle. The same thing happens in the acceptance of "f" on cycle 8.

在該接收時脈的該不讓入內區域中傳送訊號(例如tat於傳送器循環2的結束處上升)與在該傳送時脈的該不讓入內區域中接收訊號(例如rb於接收器循環1的結束處上升)之轉換係使用上述的該簡單順向同步器之變形來處理。此即造成這些轉換在該危險邊緣上被忽略,但接著可在該採樣時脈的下一邊緣上被安全地看見。因此,「tcount」在循環6與9中維持在「2」,即使已經接受一數值,且並無新數值已經到達。該接收發生在該不讓入內區域中,因此在該下一循環之前可能不會被看到。 Transmitting a signal in the inbound area of the receiving clock (eg, tat rising at the end of the transmitter cycle 2) and receiving the signal in the inbound area of the transmitting clock (eg, rb at the receiver) The transition at the end of cycle 1 is processed using the deformation of the simple forward synchronizer described above. This causes these transitions to be ignored on the dangerous edge, but can then be safely seen on the next edge of the sampling clock. Therefore, "tcount" is maintained at "2" in loops 6 and 9, even if a value has been accepted and no new value has arrived. This reception occurs in the inbound zone and may not be seen before the next cycle.

圖14例示根據另一具體實施例的一相位循環1400,其顯示出偶數與奇數不讓入內區域,及該偶數暫存器被選擇的一區域。選擇性地,偶數/奇數順向同步器相位循環1400可被實施在圖1-13之功能與架構的環境中。例如,相位循環1400可實施在圖9的順向同步器9之環境中。但是當然,相位循環1400可在任何需要的環境中實施。再次地,亦必須注意到前述的定義亦可在下文中來應用。 Figure 14 illustrates a phase loop 1400 showing an even and odd number of inbound regions and an area in which the even registers are selected, in accordance with another embodiment. Alternatively, the even/odd forward synchronizer phase loop 1400 can be implemented in the context of the functions and architecture of Figures 1-13. For example, phase loop 1400 can be implemented in the context of forward synchronizer 9 of FIG. But of course, phase loop 1400 can be implemented in any desired environment. Again, it must also be noted that the aforementioned definitions can also be applied hereinafter.

在本具體實施例中,該傳送器相位在[0,2)的範圍中為一實數,其可在如圖14所示的一相位循環上被看到。奇數時脈循環具有一相位Φ[0,1),而偶數時脈循環具有Φ[1,2)。一奇數(偶數)時脈循環結束在一奇數(偶數)時脈邊緣中,且該訊號偶數於偶數時脈循環期間為高(即當Φ[1,2)時)。為了避免同步失敗,該接收器於該偶數不讓入內周期Φ[2-x,x)期間不會採樣該偶數(E)暫存器,且該O暫存器於該奇數不讓入內周期[1-x,1+x)期間被避免。這些不讓入內周期請參照本圖中利用淡灰色著色。具有寬度2x的該不讓入內窗代表該採樣正反器的該設置與保持窗。這些不讓入內區域的寬度在圖面中被放大。一典型的40nm正反器可能具有大約60ps的一不讓入內窗,或僅為1GHz時脈周期的6%。 In the present embodiment, the transmitter phase is a real number in the range of [0, 2), which can be seen on a phase loop as shown in FIG. Odd clock cycle has a phase Φ [0,1), while the even clock cycle has Φ [1, 2). An odd (even) clock cycle ends in an odd (even) clock edge, and the signal is even during the even clock cycle (ie, when Φ [1, 2))). In order to avoid the synchronization failure, the receiver does not allow the in-in period φ in the even number. The even (E) register is not sampled during [2-x, x), and the O register is avoided during the period when the odd number is not allowed to enter [1-x, 1+x). These are not allowed to enter the inner cycle, please refer to the light gray color in this figure. The recessed inner window having a width of 2x represents the set and hold window of the sampled flip-flop. These do not allow the width of the inbound area to be enlarged in the drawing. A typical 40 nm flip-flop may have an internal window of approximately 60 ps, or only 6% of the 1 GHz clock period.

為了符合我們選擇可安全地採樣之最新被寫入之暫存器的規則,該選擇邏輯在當Φ[x,1+x)時選擇該偶數(E)暫存器,如圖中暗灰色著色的弧線所示。該E暫存器只要當該相位於Φ=x時清除該偶數不讓入內區域時即被選擇。該E暫存器於參照本圖所示之該大的中灰色弧現期間安全地採樣,即Φ[x,2-x)(每一處除了該偶數不讓入內區域之外)。但是,其僅為該最新被寫入之安全暫存器up,直到Φ=1+x。當Φ[1+x,x)時,該奇數暫存器(O)為該最新被寫入的安全暫存器。 In order to comply with the rules we have chosen to safely sample the most recently written scratchpad, the selection logic is in Φ When [x, 1+x) is selected, the even (E) register is displayed as shown by the dark gray colored arc in the figure. The E register is selected as long as the phase is cleared when the phase is located at Φ=x. The E register is safely sampled during the period of the large medium gray arc shown in the figure, that is, Φ [x, 2-x) (Every place except the even number does not allow the entry area). However, it is only the newly written secure register up until Φ=1+x. When Φ When [1+x, x), the odd register (O) is the latest written secure register.

為了確定每一數值僅被準確地採樣一次,需要一具有流程控制的同步器,例如以下參照圖15-16所述之該FIFO同步器。目前已經假設該接收器知道該tclk相位Φ。實務上,該接收器使用tclk相位p的一估計。為了處理該估計誤差ε=|Φ-p|,可加入一護衛帶到該不讓入內區域的檢測,或是該相位估計使用區間算術來計算,如以下參照圖7與表9所述,其提供ε上的一界限。當使用區間算術時,該選擇決定係使用該相位的下限(lp)來完成,因為此永遠會選擇可安全採樣的該最新被寫入的暫存器。 In order to determine that each value is only accurately sampled once, a synchronizer with flow control is needed, such as the FIFO synchronizer described below with reference to Figures 15-16. It has now been assumed that the receiver knows the tclk phase Φ. In practice, the receiver uses an estimate of the tclk phase p. In order to process the estimation error ε=|Φ-p|, a guard band may be added to the detection of the inaccess zone, or the phase estimation may be calculated using interval arithmetic, as described below with reference to FIGS. 7 and 9. It provides a limit on ε. When using interval arithmetic, the selection decision is done using the lower bound (lp) of the phase, as this will always select the most recently written scratchpad that can be safely sampled.

圖15例示根據另一具體實施例中使用一偶數/奇數順向同步器的一FIFO同步器1500。選擇性地,FIFO同步器1500可實施在圖1-14之功能及架構之環境中。但是當然,FIFO順向同步器1500可在任何想要的環境中實施。再次地,亦必須注意到前述的定義亦可在下文中來應用。 Figure 15 illustrates a FIFO synchronizer 1500 using an even/odd forward synchronizer in accordance with another embodiment. Alternatively, FIFO synchronizer 1500 can be implemented in the context of the functions and architecture of Figures 1-14. But of course, the FIFO forward synchronizer 1500 can be implemented in any desired environment. Again, it must also be noted that the aforementioned definitions can also be applied hereinafter.

必須注意到圖15與16描述一種用於測量該等兩個時脈之相對頻率,並使用此估計來產生具有誤差界限的一相位估計之一具體實施例。如圖15所示,FIFO同步器1500使用兩個E/O同步器來實現。該FIFO使用一雙埠記憶體,其被同步地寫入,並非同步地讀取來保持轉送中的資料。針對小型FIFO,此記憶體被實施成一正反器或閂鎖器陣列。大型FIFO使用一RAM或暫存器檔案巨集。 It must be noted that Figures 15 and 16 describe one embodiment for measuring the relative frequencies of the two clocks and using this estimate to produce a phase estimate with error bounds. As shown in Figure 15, FIFO synchronizer 1500 is implemented using two E/O synchronizers. The FIFO uses a pair of memory, which is written synchronously, not read synchronously to hold the material being transferred. For small FIFOs, this memory is implemented as a flip-flop or latch array. Large FIFOs use a RAM or scratchpad file macro.

該FIFO記憶體被寫入,且當輸入有效(ivalid)為真且填滿為假時,該尾端指標在該輸入時脈(iclk)的上升邊緣上遞增。該頭端指標選擇 位在該FIFO的頭端處選擇該數值,並出現在該記憶體的該輸出埠處。該頭端指標當空白為假且輸出忙碌(obusy)為假時,於該輸出時脈(oclk)的該上升邊緣上遞增。該尾端指標與填滿邏輯係在該iclk域中,而該頭端指標與空白邏輯係在該oclk域中。 The FIFO memory is written, and when the input is valid (ivalid is true and filled to false), the tail indicator is incremented on the rising edge of the input clock (iclk). The head end indicator selection The bit selects the value at the head end of the FIFO and appears at the output port of the memory. The headend indicator increments on the rising edge of the output clock (oclk) when the blank is false and the output busy is false. The tail end indicator and the fill logic are in the iclk domain, and the head end indicator and the blank logic are in the oclk domain.

一對E/O同步器在該等兩個時脈域之間移動該等頭端與尾端指標。一同步器由該iclk域傳送該尾端指標到該oclk域,而一第二同步器由該oclk域傳送該頭端指標到該iclk域。針對該尾端同步器,tclk=iclk且rclk=oclk,而針對該頭端同步器,tclk=oclk且rclk=iclk。這些同步器之每一者包括9中所示的該邏輯,以及如上所述的該頻率與相位估計邏輯。 A pair of E/O synchronizers move the head and tail indicators between the two clock domains. A synchronizer transmits the tail end indicator to the oclk field by the iclk field, and a second synchronizer transmits the head end indicator to the iclk field by the oclk field. For the tail synchronizer, tclk=iclk and rclk=oclk, and for the headend synchronizer, tclk=oclk and rclk=iclk. Each of these synchronizers includes the logic shown in 9, and the frequency and phase estimation logic as described above.

圖16例示根據另一具體實施例的一FIFO同步器1600,其中保留頭端與尾端指標的偶數與奇數版本另可降低FIFO潛時。選擇性地,FIFO同步器1600可實施在圖1-15之功能及架構之環境中。但是當然,該FIFO同步器1600可在任何想要的環境中實施。再次地,亦必須注意到前述的定義亦可在下文中來應用。 16 illustrates a FIFO synchronizer 1600 in accordance with another embodiment in which the even and odd versions of the head and tail end indicators are retained to further reduce the FIFO latency. Alternatively, FIFO synchronizer 1600 can be implemented in the context of the functions and architecture of Figures 1-15. But of course, the FIFO synchronizer 1600 can be implemented in any desired environment. Again, it must also be noted that the aforementioned definitions can also be applied hereinafter.

一時脈循環的延遲可藉由保持該等頭端與尾端指標的偶數與奇數版本來避免,如圖16所示。於每一循環期間,該輸入邏輯計算下一個尾端指標,並將其儲存在該ETail暫存器(在偶數循環時)或該OTail暫存器(在奇數循環時)。由ieven(輸入偶數)控制的一多工器永遠選擇該最新被寫入之尾端指標到要被使用做為該寫入位址的該尾端訊號上。由來自一E/O同步器的該選擇訊號osel所控制的一第二多工器選擇可安全地在該下一個輸出時脈的結束處在訊號tailo(在該oclk域中的尾端)上採樣的該最新被寫入的尾端暫存器。 The delay of a clock cycle can be avoided by maintaining the even and odd versions of the head and tail indicators, as shown in FIG. During each cycle, the input logic calculates the next end indicator and stores it in the ETail register (in even cycles) or the OTail register (in odd cycles). A multiplexer controlled by ieven (input even) selects the last written end indicator to the end signal to be used as the write address. A second multiplexer control controlled by the select signal osel from an E/O synchronizer can safely be at the end of the next output clock at the signal tailo (at the end of the oclk field) The most recently written tail register is sampled.

訊號tailo由該輸出邏輯使用來計算填滿,並計算該下一個頭端指標。在運作上,ose1滯緩ieven,使得ieven永遠選擇最新被寫入的尾端指標,而osel在當該最新被寫入的暫存器無法安全地採樣時可選擇較舊的暫存器。依類似方式,該輸出段保留偶數與奇數頭端暫存器,並使用 一對多工器來產生該目前頭端指標(head)與在該輸入時脈域中一版本(headI)。 The signal tailo is used by the output logic to calculate the fill and calculate the next head end indicator. In operation, ose1 lags ieven, causing ieven to always select the most recently written tail metric, while osel can select an older scratchpad when the most recently written scratchpad cannot be safely sampled. In a similar manner, the output segment retains the even and odd header registers and uses a pair of multiplexers to generate the current headend and a version (head I ) in the input clock.

相較於使用蠻力同步器來在時脈域之間傳送該等頭端與尾端指標的習用方法,使用偶數/奇數同步器可提供較快的速度與簡單性。該FIFO同步器的潛時可被降低,因為該偶數/奇數同步器平均具有一0.5循環的延遲,相較於一蠻力同步器具有一S+0.5循環的延遲(基本上為3.5循環),其中S為一蠻力同步器的該延遲。該設計亦可較簡單,因為該等頭端與尾端指標可被保持在二元化型式。利用習用的蠻力同步器,該等指標要必須格雷編碼過來防止一次改變一個以上的單一位元。 The use of even/odd synchronizers provides faster speed and simplicity than conventional methods of using brute force synchronizers to transfer such head and tail indicators between clock domains. The latency of the FIFO synchronizer can be reduced because the even/odd synchronizer has an average delay of 0.5 cycles, which has a delay of S+0.5 cycles (substantially 3.5 cycles) compared to a brute force synchronizer, where S is the delay of a brute force synchronizer. The design can also be simpler because the head and tail indicators can be maintained in a binary format. With the conventional brute force synchronizer, these indicators must be Gray coded to prevent changing more than one single bit at a time.

圖17A-D例示根據其它具體實施例的多種相位循環。選擇性地,該等相位循環可被利用在圖1-16之功能及架構之環境中。但是當然,相位循環可被利用在任何想要的環境中。再次地,其亦必須注意到前述的定義亦可在下文中來應用。 17A-D illustrate various phase loops in accordance with other embodiments. Alternatively, the phase loops can be utilized in the context of the functions and architecture of Figures 1-16. But of course, the phase loop can be utilized in any desired environment. Again, it must also be noted that the aforementioned definitions can also be applied hereinafter.

為了顯示該同步器為適當地運作,可為(a)檢測將足夠經常地發生使得永遠不會進入近同步模態(即將永遠會有一準確的相位估計),或者(b)當在近同步模態時,一檢測(p[-d,d])發生在一不讓入內區域(p[-x,x])之前至少S+1個循環時。 In order to show that the synchronizer is functioning properly, (a) detection will occur often enough so that it never enters the near-simultaneous mode (and will always have an accurate phase estimate), or (b) when in near-simultaneous mode State, a test (p [-d,d]) occurs in an inaccessible area (p [-x,x]) At least S+1 cycles before.

如圖17A所示,可達成安全的近同步同步化(plesiochronous synchronization)。針對f<fg,在一錯誤之前有一檢測。在此例中,該相位足夠緩慢地移動到該檢測區域中,檢測將發生在該相位進入該不讓入內窗之前至少A個循環處,以提供時間來同步化該檢測、更新該相位估計,並避免採樣該不安全暫存器。亦如所示,該相位(徑線)針對f的小數值而超過八個時脈循環。因為f<fg,該相位在進入該不讓入內區域之前位在該超過A個循環的檢測區域中(在圖中為6)。 As shown in Fig. 17A, secure plesiochronous synchronization can be achieved. For f < f g , there is a test before an error. In this example, the phase moves slowly enough into the detection zone, and detection will occur at least A cycles before the phase enters the recessed inner window to provide time to synchronize the detection, update the phase estimate And avoid sampling the unsafe register. As also shown, this phase (diameter) exceeds eight clock cycles for a small value of f. Since f < f g , the phase is located in the detection area (6 in the figure) exceeding the A loop before entering the recessed area.

圖17B顯示一最大檢測範圍。針對fg f<2d,在每一個N=1/f<A/g循環處發生一檢測,該相位每次旋轉環繞該單元循環時至少有一次。 只要2-b<gk/2A,因為該等相位界限於檢測之間僅發散2-bg/2A,並未進入近同步模態。例如,針對我們的示例之該等數目,我們將gk/2A=(0.1)(0.5)/(2)(4)=.00625,且b=8位元為充份的精度。因為f<2d,該相位不能夠「躍過」該檢測區域,並可保證該相位每次旋轉大約該單元循環時可達成至少一次檢測。因為ffg,此旋轉將發生最多1/fg=A/g個循環。如在本具體實施例中所示,至少每9個循環一檢測。 Figure 17B shows a maximum detection range. For f g f < 2d, a detection occurs at each N = 1 / f < A / g cycle, which is at least once per rotation around the unit cycle. As long as 2 - b < gk / 2A, since the phase limits only divergence 2 - b g / 2A between detections, the near-synchronous mode is not entered. For example, for these numbers of our example, we would have gk/2A = (0.1) (0.5) / (2) (4) = .00625, and b = 8 bits for sufficient precision. Since f < 2d, the phase cannot "jump" the detection area, and it can be ensured that at least one detection can be achieved each time the phase is rotated about the unit cycle. Because f f g , this rotation will occur up to 1/f g = A / g cycles. As shown in this particular embodiment, at least every nine cycles are detected.

針對f2d,f被表示成具有一限定的分母之一有理分數加上一誤差項f=N/D±e,其中DC=1/2d 。如下所述,具有一限定分母之分數序列的該等性質(稱之為Farey序列)可保證eDC<1。在此例中,在該相位循環處附近提供D個點之一重複樣式,其在每一個D-循環周期偏位De。此即提供如同f<2d相同的兩個案例。 For f 2d, f is expressed as having a defined denominator of one rational score plus an error term f=N/D±e, where D C= 1/2 d . As described below, these properties (referred to as Farey sequences) having a fractional sequence of a denominator can ensure eDC <1. In this example, one of the D points is repeated near the phase loop, which is offset by De in each D-cycle. This provides two cases with the same f<2d.

圖17C顯示具有D=4及小的殘餘頻率De之一近乎有理的案例。如果De<g/A,每個周期之相位偏位將足夠小,使得在錯誤之前有一檢測,相當於在f<g/A時的結果。此在本具體實施例中例示為D=4。事實上,此處的限制簡單許多,因為每次該相位「groups」中之一者前進De時即經過D個循環,只要De<g/ A/D ,在一不讓入內事件之前A個循環有一檢測,其為一較鬆的限制。 Fig. 17C shows a case in which one of D = 4 and a small residual frequency De is almost reasonable. If De < g / A, the phase offset of each cycle will be small enough that there is a test before the error, which is equivalent to the result at f < g / A. This is exemplified as D=4 in this embodiment. In fact, the restrictions here are much simpler, because each time one of the phases "groups" advances De, it passes through D cycles, as long as De<g/ A / D A loop has a test before it is allowed to enter the event, which is a loose limit.

圖17D顯示具有D=4及大的殘餘頻率De之一近乎有理的案例。如果g/ADe<2d,則在每一個1/(De)<A/g循環可達成一次檢測,所以如果2-b<gk/2A,在累積過多的誤差之前將發生一檢測。此處針對b的需求實際上相同於上述g/Af<2d的案例。 Fig. 17D shows a case in which one of D = 4 and a large residual frequency De is almost reasonable. If g/A De<2d, a detection can be achieved in every 1/(De)<A/g cycle, so if 2 -b <gk/2A, a detection will occur before excessive errors are accumulated. The requirement for b here is actually the same as the above g/A f<2d case.

顯示出針對f>2d>1/C,f能夠永遠表示成f=N/D±e,其中DC與eDC<1。考慮Farey序列F(C),有理數的序列在0與1之間,分母DC。針對來自此組合的兩個相鄰數目,p/q,r/s,此組合永遠會是r/s=(ps+1)/qs的案例,其中q,s<=C及(ps+1)=qr[7]。然後兩個相鄰有理數p/q與r/s之間的距離為1/qs。我們分配在p/q及p/q+1/q(s+q)之間的數值f 成為p/q,而數目由r/s-1/s(s+q)到r/s。然後我們知道e1/q(s+q),eDC(1/q(s+q))qC=C/(s+q)<1,因為由於Farey序列的該等性質,所以s+q>C。 It is shown that for f>2d>1/C, f can always be expressed as f=N/D±e, where D C and eDC < 1. Consider the Farey sequence F(C), the sequence of rational numbers is between 0 and 1, the denominator D C. For two adjacent numbers from this combination, p/q, r/s, this combination will always be the case of r/s=(ps+1)/qs, where q, s<=C and (ps+1) ) = qr[7]. Then the distance between two adjacent rational numbers p/q and r/s is 1/qs. The value f we assign between p/q and p/q+1/q(s+q) becomes p/q, and the number is from r/s-1/s(s+q) to r/s. Then we know e 1/q(s+q), eDC (1/q(s+q))qC=C/(s+q)<1, because s+q>C due to these properties of the Farey sequence.

在其它具體實施例中,該等兩個自由同步器參數為d與k。假設一不讓入內區域2x,其為該同步器正反器之一性質,選擇d提供該護衛帶的該數值,g=d-x,其依此決定該等頻率與相位估計所需要之位元數目2-b<gk/2A,所以b>lg(2A/gk)。選擇一小的d,因而一小的護衛帶提供一更為準確的相位估計而降低同步器延遲,但代價是,在該等頻率與相位估計器中需要更多位元為來確保正確的行為。 In other embodiments, the two free synchronizer parameters are d and k. Assuming that the inbound region 2x is one of the properties of the synchronizer flip-flop, d is selected to provide the value of the guard band, g = dx, which in turn determines the bits required for the frequency and phase estimation. The number 2 -b <gk/2A, so b>lg(2A/gk). Choose a small d, so a small guard band provides a more accurate phase estimate and reduces the synchronizer delay, but at the cost of requiring more bits in the frequency and phase estimators to ensure correct behavior. .

選擇該k數值可提供一類似的妥協方案。選擇一小的k提供一較低的平均同步器延遲,因為該同步器將較快地進入近同步模態(不具有延遲)。但是,選擇一小的k亦在該等估計中需要更多位元的精度。 Selecting this k value provides a similar compromise. Selecting a small k provides a lower average synchronizer delay because the synchronizer will enter the near synchronous mode faster (without delay). However, choosing a small k also requires more bit precision in these estimates.

在一示例性模擬中,可以建構上述之該周期性同步器的一Verilog RTL模型,並可使用兩個這種同步器來建構如圖15-16所述之一有流程控制的FIFO。在該等相位檢測器中的該等延遲線可依行為來模型化,且所有的正反器可實施有設置與保持時間檢查的一時域。Verilog模擬可在將一個時脈固定於1GHz,而另一個時脈設定為2000個在500Mhz與2GHz之間隨機選擇的頻率來執行。在一具體實施例中,該1GHz時脈的該相位在1600ps範圍之上被緩慢地前後掃過,以每10個循環為1ps的速率改變,以確保所有相對時脈相位皆被測試。有可能於這種模擬期間不會檢測到時序錯誤。 In an exemplary simulation, a Verilog RTL model of the periodic synchronizer described above can be constructed and two such synchronizers can be used to construct a flow control FIFO as illustrated in Figures 15-16. The delay lines in the phase detectors can be modeled by behavior, and all flip-flops can implement a time domain with setup and hold time checks. The Verilog simulation can be performed by fixing one clock to 1 GHz and the other clock to 2000 frequencies randomly selected between 500 Mhz and 2 GHz. In one embodiment, the phase of the 1 GHz clock is slowly swept back and forth over a range of 1600 ps, with a rate change of 1 ps every 10 cycles to ensure that all relative clock phases are tested. It is possible that timing errors will not be detected during this simulation.

圖18所示為可以實施多種先前具體實施例之多種架構及/或功能之示例性系統1800。如所示,一系統1800之提供包括有至少一主機處理器1801,其連接至一通訊匯流排1802。系統1800亦包括一主記憶體1804。控制邏輯(軟體)及資料係儲存在主記憶體1804中,其型式可為隨機存取記憶體(RAM)。 FIG. 18 illustrates an exemplary system 1800 that can implement various architectures and/or functions of various prior embodiments. As shown, the provision of a system 1800 includes at least one host processor 1801 coupled to a communication bus 1802. System 1800 also includes a main memory 1804. Control logic (software) and data are stored in main memory 1804, which may be in the form of random access memory (RAM).

系統1800亦包括一圖形處理器1806及一顯示器1808,即 一電腦螢幕。在一具體實施例中,圖形處理器1806可包括複數個遮影器模組、一掃描場化模組等。該等前述模組之每一者甚至可位在一單一半導體平台上來形成一圖形處理單元(GPU,“Graphics processing unit”)。 System 1800 also includes a graphics processor 1806 and a display 1808, ie A computer screen. In a specific embodiment, the graphics processor 1806 can include a plurality of shader modules, a fielding module, and the like. Each of the aforementioned modules can even be placed on a single semiconductor platform to form a graphics processing unit (GPU, "Graphics processing unit").

在本說明中,一單一半導體平台可代表一專用單一半導體為主的積體電路或晶片。必須注意到該用語「單一半導體平台」亦可代表多晶片模組,其具有可模擬晶片上作業之增加的連接性,並在利用一習用中央處理單元(CPU)及匯流排實施當中進行實質的改善。當然,多種模組亦可獨立放置或根據使用者的需要而置於多種半導體平台的組合中。 In the present description, a single semiconductor platform can represent a dedicated single semiconductor-based integrated circuit or wafer. It must be noted that the term "single semiconductor platform" can also represent a multi-chip module that has the added connectivity to simulate on-wafer operations and is implemented in a practical central processing unit (CPU) and busbar implementation. improve. Of course, a variety of modules can also be placed independently or placed in a combination of multiple semiconductor platforms depending on the needs of the user.

系統1800亦可包括一次級儲存器1810。次級儲存器1810包括,例如硬碟機及/或可移除式儲存驅動器,其代表軟碟機、磁帶機、光碟機等。該可移除式儲存驅動器以熟知的方式讀取及/或寫入一可移除的儲存單元。 System 1800 can also include primary storage 1810. Secondary storage 1810 includes, for example, a hard disk drive and/or a removable storage drive that represents a floppy disk drive, tape drive, optical disk drive, and the like. The removable storage drive reads and/or writes a removable storage unit in a well known manner.

電腦程式或電腦控制邏輯演算法可以儲存在主記憶體1804及/或次級儲存器1810中。這些電腦程式在當被執行時可致能系統1800來執行多種功能。記憶體1804,儲存器1810及/或任何其它儲存器皆為電腦可讀取媒體之可能範例。 The computer program or computer control logic algorithm can be stored in main memory 1804 and/or secondary storage 1810. These computer programs, when executed, can enable system 1800 to perform a variety of functions. Memory 1804, storage 1810, and/or any other storage are all possible examples of computer readable media.

在一具體實施例中,多種先前圖面之架構及/或功能可實施成主控處理器1801、繪圖處理器1806、能夠同時具有主控處理器1801及繪圖處理器1806之能力中至少一部份的積體電路(未示出)、一晶片組(即設計成以執行相關功能等之單元來工作及銷售的一積體電路群組)、及/或為該目的之任何其它積體電路之內容中。 In a specific embodiment, the architecture and/or functions of the various previous figures may be implemented as at least one of the main control processor 1801, the graphics processor 1806, and the ability to simultaneously have the master processor 1801 and the graphics processor 1806. Integral circuit (not shown), a chipset (ie, an integrated circuit group designed to operate and sell units that perform related functions, etc.), and/or any other integrated circuit for this purpose In the content.

再者,多種先前圖面之架構及/或功能可實施成一通用電腦系統、電路板系統、專屬於娛樂目的之遊戲主機系統、特定應用系統及/或任何其它想要系統之內容中。例如,系統1800可採用的型式有桌上型電腦、膝上型電腦、及/或任何其它類型的邏輯。另外,系統1800可採取多種其它裝置的型式,其包括但不限於個人數位助理(PDA)裝置、行動電話裝置、電 視等。 Furthermore, the architecture and/or functionality of the various previous figures can be implemented in a general purpose computer system, a circuit board system, a gaming host system for entertainment purposes, a particular application system, and/or any other desired system. For example, system 1800 can take the form of a desktop computer, a laptop computer, and/or any other type of logic. Additionally, system 1800 can take a variety of other types of devices including, but not limited to, personal digital assistant (PDA) devices, mobile telephone devices, electricity Wait and so on.

另外,雖然未示出,系統1800為了通訊的目的可耦合於一網路(例如電信網路、區域網路(LAN)、無線網路、廣域網路(WAN),像是網際網路、點對點網路、纜線網路等)。 Additionally, although not shown, system 1800 can be coupled to a network for communication purposes (eg, telecommunications networks, local area networks (LANs), wireless networks, wide area networks (WANs), such as the Internet, peer-to-peer networks. Road, cable network, etc.).

如先前配合圖14所述,當判斷出一準確的相位估計時,該系統明確地保證一安全的同步化。實務上,該接收器使用tclk相位p的一估計。為了處理該估計誤差ε=|Φ-p|,該相位估計可使用先前關於圖7與表9所述之區間算術來計算,其提供在ε上的一界限。當使用區間算術時,該等偶數或奇數暫存器之間的選擇決定係使用該傳送相位(lp)的該下限來完成,因為此將永遠選擇可安全採樣的該最新被寫入的暫存器。亦可計算出該傳送相位(up)的一上限。 As previously described in connection with Figure 14, the system explicitly ensures a secure synchronization when an accurate phase estimate is determined. In practice, the receiver uses an estimate of the tclk phase p. To process the estimated error ε=|Φ-p|, the phase estimate can be calculated using the interval arithmetic described previously with respect to Figures 7 and 9, which provides a bound on ε. When interval arithmetic is used, the selection decision between the even or odd registers is done using the lower limit of the transmit phase (lp), since this will always select the most recently written temporary memory that can be safely sampled. Device. An upper limit of the transmission phase (up) can also be calculated.

表9例示一Verilog碼的示例,其可用於使用圖5E的相位檢測器540來更新上與下相位估計(分別為up與lp)。當然,必須注意到表9所提出的碼僅做為例示性目的,因此不能以任何方式視為限制。 Table 9 illustrates an example of a Verilog code that can be used to update the upper and lower phase estimates (up and lp, respectively) using phase detector 540 of Figure 5E. Of course, it must be noted that the code presented in Table 9 is for illustrative purposes only and therefore cannot be considered limiting in any way.

在該採樣時間,該傳送相位已知為Φ[lp,up],且如果lp[x,1+x),該偶數暫存器可安全來採樣。否則,該奇數暫存器可安全地採樣。但是,當up-lp>1-2x,該相位估計不再有用,且該偶數與該奇數暫存器皆無法安全地採樣。並未如前所述在近同步模態下運作該同步器,當up-lp>1-2x時,該同步器設置成不會選擇該偶數或該奇數暫存器,反而在該輸出處維持該先前選擇的樣本。當一臨界數目的rclk循環已經通過而未選擇該偶數或該奇數暫存器時,則該同步器可在近同步模態下運作。 At this sampling time, the transmission phase is known as Φ [lp,up], and if lp [x, 1+x), the even register can be safely sampled. Otherwise, the odd register can be safely sampled. However, when up-lp>1-2x, the phase estimate is no longer useful, and neither the even number nor the odd register can be safely sampled. The synchronizer is not operated in the near-simultaneous mode as described above. When up-lp>1-2x, the synchronizer is set to not select the even number or the odd-numbered register, but instead maintains at the output. The previously selected sample. When a critical number of rclk cycles have passed without the even number or the odd register being selected, then the synchronizer can operate in a near synchronous mode.

將該先前樣本維持在該同步器的該輸出處而非轉換成在近同步模態下運作,在當針對在該相位估計中產生中介誤差的一或多個時脈循環會增加時脈抖動時,即可允許該同步器在該等傳送與接收時脈域之間轉移訊號而具有較少的延遲。換言之,為有效的一先前採樣的數值被維持,而該相位估計器由造成該等相位估計不準確的一臨時狀況中恢復。該同步器可以追蹤接收時脈循環的數目,其並未選擇該奇數或偶數暫存器來做採樣。雖然該同步器以一奇數暫存器與一偶數暫存器來做說明,可包括有額外的暫存器來儲存相對於該傳送時脈之對應於不同相對相位的訊號。 Maintaining the previous sample at the output of the synchronizer rather than converting to operate in a near-simultaneous mode, when clock jitter is increased for one or more clock cycles that produce a mediating error in the phase estimate The synchronizer is allowed to transfer signals between the transmit and receive time domains with less delay. In other words, the value of a previously sampled sample that is valid is maintained, and the phase estimator is recovered from a temporary condition that causes the phase estimates to be inaccurate. The synchronizer can track the number of receive clock cycles that have not been selected for sampling by the odd or even registers. Although the synchronizer is illustrated by an odd-numbered register and an even-numbered register, an additional register may be included to store signals corresponding to different relative phases with respect to the transmitted clock.

圖19A例示根據又另一具體實施例的一種用於使用一相位估計來判斷可安全地採樣一時脈域的一訊號的時間之方法。如作業1905所示,在一第二時脈域(tclk)與一第一時脈域(rclk)之間一相對頻率估計利用一頻率估計來計算。關於本說明,該頻率估計可依以上關於圖1的作業102所述之方式來計算。圖4所示之頻率估計器400可用於計算該相對頻率估計f,其指示出該傳送時脈相對於該接收時脈的頻率。在另一具體實施例中,該相對頻率估計可為已知或以某種其它方式決定,在該例中,該相對頻率估計提供於步驟1905中。 Figure 19A illustrates a method for determining the time at which a signal of a time domain can be safely sampled using a phase estimate, in accordance with yet another embodiment. As shown in operation 1905, a relative frequency estimate between a second clock domain (tclk) and a first clock domain (rclk) is calculated using a frequency estimate. With respect to the present description, the frequency estimate can be calculated in the manner described above with respect to operation 102 of FIG. The frequency estimator 400 shown in Figure 4 can be used to calculate the relative frequency estimate f, which indicates the frequency of the transmit clock relative to the receive clock. In another embodiment, the relative frequency estimate may be known or determined in some other manner, in this example, the relative frequency estimate is provided in step 1905.

另外,如作業1906所示,該第一時脈域的一相位估計利用一相位估計器基於該相對頻率估計進行計算。在一具體實施例中,如先前配合相位檢測器500,510與540,及四樣本相位檢測器520所述,該第一時脈域之一相位可使用早期與晚期樣本來檢測,其可來自相對於該第二時脈域的該第一時脈域。 Additionally, as shown in operation 1906, a phase estimate of the first clock domain is calculated based on the relative frequency estimate using a phase estimator. In one embodiment, as previously described with phase detectors 500, 510 and 540, and four sample phase detector 520, one phase of the first clock domain can be detected using early and late samples, which can be derived from The first clock domain of the second clock domain.

在另一具體實施例中,該相位估計可基於該相位檢測進行計算。例如,該第一時脈域的該相位之一b位元運行估計可相對於該第二時脈域來維持,如先前配合校正器530所述之測量該檢測區間d。 In another embodiment, the phase estimate can be calculated based on the phase detection. For example, one of the b-bit operation estimates for the phase of the first clock domain may be maintained relative to the second clock domain, as previously described by the fit corrector 530.

在另一具體實施例中,於檢測時,該第一時脈域的相位必須被設定為f(S+1),其中一額外的循環被加入到S(該同步器的延遲)以預測在 其發生之前的一個循環之該相位估計。上述之該第一時脈域的相位可被設定為f(S+1),所以該相位估計預測位在該第二時脈域的下一個上升邊緣處的該第一時脈域的相位。例如,該相位估計可以編碼在該第一時脈域的偶數循環與奇數循環內的該相位。如果未檢測到該相位,該相位估計可於該第二時脈域的每一循環期間被增值該第一時脈域的該相對頻率,以維持一運行相位估計。 In another embodiment, at the time of detection, the phase of the first clock domain must be set to f(S+1), wherein an additional loop is added to S (the delay of the synchronizer) to predict This phase estimate of a cycle before it occurs. The phase of the first clock domain described above may be set to f(S+1), so the phase estimate predicts the phase of the first clock domain at the next rising edge of the second clock domain. For example, the phase estimate can encode the phase within the even and odd cycles of the first clock domain. If the phase is not detected, the phase estimate can be incremented by the relative frequency of the first clock domain during each cycle of the second clock domain to maintain an operational phase estimate.

如作業1907中所示,決定出來自該第一時脈域的一訊號是否可安全地由該第二時脈域採樣,以在該第二時脈中產生一採樣的訊號。當使用順向同步器900且up-lp>1-2x時,該相位估計不再有用,且該偶數與該奇數暫存器皆無法安全地採樣。同樣地,當使用設置成於儲存來自該第一時脈域於不同相位偏位處的該訊號之多個暫存器之間做選擇的一同步器且up-lp>(N-1)-2x,其中N為該等多個暫存器之數目,該相位估計不再有用。 As shown in operation 1907, it is determined whether a signal from the first clock domain can be safely sampled by the second clock domain to generate a sampled signal in the second clock. When the forward synchronizer 900 is used and up-lp > 1-2x, the phase estimate is no longer useful, and neither the even number nor the odd register can be safely sampled. Similarly, when using a synchronizer that is selected to store a plurality of registers from the signal at the different phase offsets of the first clock domain and up-lp>(N-1)- 2x, where N is the number of such registers, and the phase estimate is no longer useful.

如果在作業1907基於該相位估計,決定出一時間,其中在該時間期間,自該第一時脈域的一訊號未改變,使得該訊號能夠由該第二時脈域安全地採樣,則在作業1908中,來自該第一時脈域的該訊號由該第二時脈域採樣來產生一採樣的訊號。在產生該採樣的訊號之後,該方法回到作業1906,並計算一更新的相位估計。 If, based on the phase estimate, at job 1907, a time is determined during which a signal from the first clock domain has not changed such that the signal can be safely sampled by the second clock domain, then In job 1908, the signal from the first clock domain is sampled by the second clock domain to generate a sampled signal. After generating the sampled signal, the method returns to job 1906 and an updated phase estimate is calculated.

每次該相位檢測邏輯指示出該tclk的一轉換已經發生在rlk的一個循環之內時,即重置相位估計p。特定而言,該相位估計被重置為[-d,d],而如果檢測到一偶數邊緣,則設定該偶數位元(msb)。然後該相位估計在時間上前進S+1個循環。當尚未發生一轉換時,該相位增加f,其指示出每一個rclk循環的tclk之相對頻率。該傳送相位在該不讓入內區域期間的時間可藉由維持在該相位估計上的上限與下限up與lp來更為準確地檢測,如表9所示。 The phase estimate p is reset each time the phase detection logic indicates that a transition of tclk has occurred within one cycle of rlk. In particular, the phase estimate is reset to [-d,d], and if an even edge is detected, the even bit (msb) is set. The phase estimate then advances in time by S+1 cycles. When a transition has not occurred, the phase is incremented by f, which indicates the relative frequency of tclk for each rclk cycle. The time during which the transmission phase is within the inbound region can be more accurately detected by maintaining the upper and lower limits up and lp on the phase estimate, as shown in Table 9.

如果在作業1907中,基於該相位估計判斷出來自該第一時 脈域的該訊號正在改變,使得該訊號不能夠由該第二時脈域安全地採樣,則在作業1909,在該第二時脈域中該採樣的訊號被維持。換言之,來自該第一時脈域的該訊號不被採樣,而在該第二時脈域中被採樣而來自該第一時脈域的該先前採樣的訊號被保留。 If in job 1907, based on the phase estimate, it is determined from the first time The signal in the pulse domain is changing such that the signal cannot be safely sampled by the second clock domain. In operation 1909, the sampled signal is maintained in the second clock domain. In other words, the signal from the first clock domain is not sampled, but is sampled in the second clock domain and the previously sampled signal from the first clock domain is retained.

圖19B例示根據又另一具體實施例的一種順向同步器1910。必須注意到除了一選擇單元1916之外,一相位檢測器與一相位估計器亦可被包括在順向同步器1910中。例如,順向同步器1910可實施於關聯於該第一時脈域的該系統與關聯於該第二時脈域的該系統之間,用於同步化該第一時脈域與該第二時脈域之間的訊號(例如用於同步化來自該第一時脈域由該第二時脈域的該訊號之採樣)。如下述,這種同步化可基於該經計算的相位估計來執行。 FIG. 19B illustrates a forward synchronizer 1910 in accordance with yet another embodiment. It must be noted that in addition to a selection unit 1916, a phase detector and a phase estimator may also be included in the forward synchronizer 1910. For example, a forward synchronizer 1910 can be implemented between the system associated with the first clock domain and the system associated with the second clock domain for synchronizing the first clock domain with the second A signal between the clock domains (eg, for synchronizing samples of the signal from the second clock domain from the first clock domain). As described below, such synchronization can be performed based on the calculated phase estimate.

選擇性地,順向同步器1910可實施在圖1-2與圖4-8之功能及架構之環境中。但是當然,順向同步器1910可在任何想要的環境中實施。亦必須注意到該等前述的定義亦可在下文中來應用。 Alternatively, the forward synchronizer 1910 can be implemented in the context of the functions and architecture of Figures 1-2 and 4-8. But of course, the forward synchronizer 1910 can be implemented in any desired environment. It must also be noted that the aforementioned definitions can also be applied hereinafter.

關於本具體實施例,可以避免關聯於採樣該訊號的一延遲版本之限制。為了不使用流程控制而由該傳送時脈域到該接收時脈域轉送一多位元訊號,該傳送時脈在交替的循環上寫入一對暫存器。例如,暫存器1912在偶數循環上被寫入(於該偶數循環的結束處更新),而暫存器1911在奇數循環上被寫入(於該奇數循環的結束處更新)。一偶數輸入訊號在偶數循環上致能暫存器1912,在奇數循環上致能暫存器1911。 With respect to this embodiment, the limitation associated with sampling a delayed version of the signal can be avoided. In order to transfer a multi-bit signal from the transmission clock domain to the reception clock domain without using flow control, the transmission clock writes a pair of registers on alternate cycles. For example, register 1912 is written on even cycles (updated at the end of the even cycle), and register 1911 is written on odd cycles (updated at the end of the odd cycle). An even input signal enables the register 1912 on even cycles and enables the register 1911 on odd cycles.

該相位估計由選擇單元1916使用來選出可「安全地」在該接收時脈域中採樣(於該目前rclk循環結束處)的該最近寫入的傳送暫存器。該相位估計可以包括該等lp與up值,且當暫存器1912與暫存器1911皆無法「安全地」採樣時,選擇單元1916設定該「None」輸出訊號,且輸出暫存器1915不被致能來採樣該選出的訊號。該選擇係基於在該目前rclk循環的結束處該預測的tclk相位p。在每一接收時脈上,如果該傳送時脈相位係 在e.x與o.x之間,選擇了暫存器1911,其中e代表該偶數循環,而x為該「不讓入內」餘裕。否則選擇暫存器1912。順向同步器1910的該延遲將根據平均為0.5+0.x的相位而在0.x與1.x之間變化。 The phase estimate is used by selection unit 1916 to select the most recently written transfer register that can be "safely" sampled in the receive time domain (at the end of the current rclk cycle). The phase estimation may include the lp and the up values, and when neither the register 1912 nor the register 1911 can be "safely" sampled, the selecting unit 1916 sets the "None" output signal, and the output register 1915 is not It is enabled to sample the selected signal. The selection is based on the predicted tclk phase p at the end of the current rclk cycle. On each receive clock, if the transmit clock phase is Between e.x and o.x, a register 1911 is selected, where e represents the even-numbered loop and x is the "no-in" margin. Otherwise, the register 1912 is selected. This delay of the forward synchronizer 1910 will vary between 0.x and 1.x depending on the phase averaged 0.5+0.x.

當本具體實施例關於偶數與奇數時脈循環與兩個暫存器來說明時,必須注意到在其它具體實施例中可以利用任何數目的時脈循環與暫存器。因此,時脈循環可被標示為模數N,且可利用N個暫存器。增加暫存器的數目可允許非常大的不讓入內區域(例如大於一單一UI)。 While the present embodiment is described with respect to even and odd clock cycles and two registers, it must be noted that any number of clock cycles and registers may be utilized in other embodiments. Therefore, the clock cycle can be labeled as modulus N and N registers can be utilized. Increasing the number of scratchpads allows for very large indentation areas (eg, greater than a single UI).

如圖19B所示且相對於該傳送器側,“tdata”在tclk的每一個循環上被交替地寫入到1912與1911暫存器中。在該接收器側上,選擇單元1916決定該等兩個暫存器中那一者要被選擇輸出該選擇的訊號1917。選擇單元1916可基於由該頻率與相位估計邏輯(未示出)產生的該傳送器時脈之該相位估計的此決定。 As shown in Fig. 19B and with respect to the transmitter side, "tdata" is alternately written into the 1912 and 1911 registers on each cycle of tclk. On the receiver side, selection unit 1916 determines which of the two registers is to be selected to output the selected signal 1917. Selection unit 1916 can be based on this determination of the phase estimate of the transmitter clock generated by the frequency and phase estimation logic (not shown).

圖19C例示根據圖19B所示之該順向同步器的運作的一同步器狀態圖1930。在初始化時,順向同步器1910可經過多種不同狀態。表10顯示出順向同步器1910於初始化期間的該等選擇性狀態。當然,必須注意到這些狀態僅係為了例示性目的而提出,且不應以任何方式視為其限制。 Figure 19C illustrates a synchronizer state diagram 1930 in accordance with the operation of the forward synchronizer shown in Figure 19B. Upon initialization, the forward synchronizer 1910 can go through a number of different states. Table 10 shows these selective states of the forward synchronizer 1910 during initialization. Of course, it must be noted that these states are presented for illustrative purposes only and should not be construed as limiting in any way.

如關於圖19C所述,在重置時,順向同步器1910進入該頻率取得(FA)狀態,並啟動其計數器配對來測量「另一個」時脈的頻率。於在該FA狀態期間,順向同步器1910檢查來判斷在到達一終端計數與該訊號tc被設定之後是否有一相位檢測(相位落到該檢測區域中)。 As described with respect to Figure 19C, upon reset, the forward synchronizer 1910 enters the frequency acquisition (FA) state and initiates its counter pairing to measure the frequency of the "other" clock. During the FA state, the forward synchronizer 1910 checks to determine if there is a phase detection (phase falls into the detection region) after reaching a terminal count and the signal tc is set.

一旦取得頻率,即進入該相位取得(PA)狀態,且順向同步器1910等待一相位檢測(pd)。此時,已經判斷出一頻率估計f與一相位估計p。如果該訊號能夠被安全地採樣,則無一需要被取消,並進入該追蹤狀態(T)。如果該訊號不能夠被安全地採樣,則無一被設定(asserted),並進入該不做選擇狀態(SN)。當在狀態SN時,如果並無相位檢測(例如發生一逾時),該等兩個時脈為有理相關(f=N/D)(或近乎有理相關)於一相位偏位,所以該D可命中該相位圓圈周圍,而遠離該檢測區域。在此例中,進入該M狀態,因為該相位先行被保證為足夠地慢使其將在發生一錯誤之前被檢測到。當在狀態SN時,如果有一相位檢測,則無一被取消,並進入該狀態T。 Once the frequency is obtained, the phase acquisition (PA) state is entered, and the forward synchronizer 1910 waits for a phase detection (pd). At this time, a frequency estimate f and a phase estimate p have been determined. If the signal can be safely sampled, none of them need to be cancelled and enter the tracking state (T). If the signal cannot be safely sampled, none is asserted and enters the no-select state (SN). When in state SN, if there is no phase detection (eg, a timeout occurs), the two clocks are rationally correlated (f=N/D) (or nearly rationally related) to a phase offset, so the D It is possible to hit around the phase circle and away from the detection area. In this example, the M state is entered because the phase first is guaranteed to be slow enough that it will be detected before an error occurs. When in the state SN, if there is a phase detection, none is canceled and the state T is entered.

在該等狀態T與SN中,順向同步器1910在每一個循環更新該相位估計,並在當順向同步器1910檢測到該相位估計係在一不讓入內區域中時採取適當的動作。自從在狀態SN中計數最後一次相位檢測的循環數目且當此數目超過一預定值時,訊號to被設定(asserted),且該相位估計不再可靠,且順向同步器1910進入該近同步(M)狀態。該等循環的數目可被回報給一軟體驅動器。 In the states T and SN, the forward synchronizer 1910 updates the phase estimate every cycle and takes appropriate action when the forward synchronizer 1910 detects that the phase estimate is in an inbound zone. . Since the number of cycles of the last phase detection is counted in the state SN and when the number exceeds a predetermined value, the signal to is asserted, and the phase estimation is no longer reliable, and the forward synchronizer 1910 enters the near synchronization ( M) status. The number of such cycles can be reported back to a software driver.

在該T狀態中的作業根據為固定或近乎固定的頻率。為了安全(例如針對頻率可於短期間中改變的狀況,例如當在電力狀態之間改變時),該頻率測量電路可連續地運作,並將其測量與該目前估計做比較。如果在一時脈頻率中的改變大於一臨界值,順向同步器1910可以降回到蠻力模態,並進入該蠻力狀態(B)。 The job in this T state is based on a fixed or near fixed frequency. For security (eg, for conditions where the frequency can change over a short period of time, such as when changing between power states), the frequency measurement circuit can operate continuously and compare its measurements to the current estimate. If the change in one clock frequency is greater than a threshold, the forward synchronizer 1910 can fall back to the brute force mode and enter the brute force state (B).

順向同步器1910可視需要僅用於該等時脈為周期性處或當明確地發信與周期性行為偏離處(例如一「非周期性」訊號在該等時脈開始無法預期地變化之前觸發蠻力模態)。依此方式,即可避免對於太慢變化之頻率的檢測,藉此在檢測一變化之前能夠完成該等時脈域之間數個不安全採樣。 The forward synchronizer 1910 can be used only for the clocks to be periodic or when the explicit signaling is deviated from the periodic behavior (eg, an "non-periodic" signal is triggered before the clock starts unpredictably changing) Brute force mode). In this way, detection of frequencies that are too slow to change can be avoided, whereby several unsafe samples between the clock domains can be completed before detecting a change.

當多種具體實施例已在上述說明之後,應可瞭解到它們僅係藉由示例來呈現,而非具有限制性。因此,一較佳具體實施例之廣度及範圍並不限於任何上述的範例性具體實施例,但必須僅根據下列申請專利範圍及其同等者來定義。 While various specific embodiments have been described in the foregoing, it is understood that Therefore, the breadth and scope of the preferred embodiments are not limited to any of the exemplary embodiments described above, but are to be defined only by the scope of the following claims.

Claims (20)

一種方法,該方法包含:基於一第二時脈域與一第一時脈域之間一相對頻率估計來計算該第一時脈域的一相位估計;基於該相位估計,決定一第一時間,以在該第二時脈域中產生一第一採樣訊號,其中在該第一時間期間,該第一時脈域的一訊號並未改變,使得該訊號能夠由該第二時脈域安全地採樣;於該第一時間期間,在該第二時脈域中產生一第一採樣訊號;計算一更新的相位估計;基於該更新的相位估計,決定一第二時間,其中在該第二時間期間,來自該第一時脈域的該訊號正在改變使得該訊號不能夠由該第二時脈域安全地採樣;及於該第二時間期間,在該第二時脈域中維持該第一採樣訊號。 A method comprising: calculating a phase estimate of the first clock domain based on a relative frequency estimate between a second clock domain and a first clock domain; determining a first time based on the phase estimate a first sampling signal is generated in the second clock domain, wherein during the first time, a signal of the first clock domain is not changed, so that the signal can be secured by the second clock domain. Ground sampling; generating a first sampling signal in the second time domain during the first time period; calculating an updated phase estimate; determining a second time based on the updated phase estimate, wherein the second time During the time, the signal from the first clock domain is changing such that the signal cannot be safely sampled by the second clock domain; and during the second time period, the first time is maintained in the second time domain A sample signal. 如申請專利範圍第1項之方法,其中該相位估計為包括一上限與一下限的一區間。 The method of claim 1, wherein the phase is estimated to include an interval of an upper limit and a lower limit. 如申請專利範圍第2項之方法,其中該決定該第二時間之步驟包括判斷出該上限與該下限之間的一差異超過一臨界值。 The method of claim 2, wherein the determining the second time comprises determining that a difference between the upper limit and the lower limit exceeds a threshold. 如申請專利範圍第1項之方法,其中該相位估計於該第二時脈域的複數循環中每一者期間增加。 The method of claim 1, wherein the phase estimate is increased during each of the plurality of cycles of the second clock domain. 如申請專利範圍第1項之方法,其中該相位估計編碼在該第一時脈域的偶數循環與奇數循環內的一相位。 The method of claim 1, wherein the phase estimate encodes a phase within an even cycle and an odd cycle of the first clock domain. 如申請專利範圍第1項之方法,另包含於該第二時脈域的一循環期間 無法檢測到在該第一時脈域中一時脈邊緣,且其中該更新的相位估計之計算包含將該相位估計增加該相對頻率估計。 The method of claim 1, further comprising a cycle of the second clock domain A clock edge in the first clock domain cannot be detected, and wherein the calculation of the updated phase estimate includes increasing the phase estimate by the relative frequency estimate. 如申請專利範圍第1項之方法,另包含於該第二時脈域的一循環期間檢測到在該第一時脈域中一時脈邊緣,且其中該更新的相位估計之計算包含設定該更新的相位估計等於一檢測區間。 The method of claim 1, further comprising detecting a clock edge in the first clock domain during a cycle of the second clock domain, and wherein calculating the updated phase estimate comprises setting the update The phase estimate is equal to a detection interval. 如申請專利範圍第1項之方法,另包含增加該訊號不能夠被安全地採樣之循環的一計數。 The method of claim 1, further comprising a count that increases the cycle in which the signal cannot be safely sampled. 如申請專利範圍第8項之方法,另包含:判斷出該等循環的計數超過一預定值;及在一近同步模態下運作。 The method of claim 8, further comprising: determining that the count of the loops exceeds a predetermined value; and operating in a near synchronous mode. 如申請專利範圍第1項之方法,其中該更新的相位估計指示出在該第一時脈域中一時脈邊緣係為在一不讓入內範圍內,在其中該訊號不能夠由該第二時脈域安全地採樣。 The method of claim 1, wherein the updated phase estimate indicates that a clock edge is in a non-input range in the first clock domain, wherein the signal cannot be used by the second The clock domain is safely sampled. 如申請專利範圍第1項之方法,其中計算該相位估計另包含藉由施加一上限在關聯於該相位估計的一檢測區間上來補償同步器延遲。 The method of claim 1, wherein calculating the phase estimate further comprises compensating for a synchronizer delay by applying an upper limit on a detection interval associated with the phase estimate. 如申請專利範圍第1項之方法,其中該相位估計使用區間算術來計算,藉以維持在關聯於該相位估計的一相位上一準確的誤差界限。 The method of claim 1, wherein the phase estimate is calculated using interval arithmetic to maintain an accurate margin of error associated with a phase associated with the phase estimate. 如申請專利範圍第1項之方法,其中該第一時脈域在連續的循環上連續地寫入到複數暫存器,且其中該第二時脈域使用該相位估計來選擇 該等複數暫存器中可安全地在該第二時脈域中採樣的一最新被寫入的暫存器。 The method of claim 1, wherein the first clock domain is continuously written to the plurality of registers on a continuous cycle, and wherein the second clock domain uses the phase estimate to select A newly written register that can be safely sampled in the second clock domain in the plurality of registers. 如申請專利範圍第13項之方法,其中該等複數暫存器僅包含兩個暫存器。 The method of claim 13, wherein the plurality of registers comprises only two registers. 如申請專利範圍第13項之方法,其中該等交替的循環包括一偶數循環與一奇數循環,使得該等複數暫存器中一第一者於該偶數循環期間被寫入,而該等複數暫存器中一第二者於該奇數循環期間被寫入。 The method of claim 13, wherein the alternating cycles comprise an even cycle and an odd cycle such that a first one of the plurality of registers is written during the even cycle, and the plurality of cycles A second one of the registers is written during the odd loop. 如申請專利範圍第1項之方法,其中一FIFO同步器藉由使用複數偶數/奇數同步器來將一尾端指標傳送到一輸出時脈域中及將一頭端指標傳送到一輸入時脈域中來實現。 The method of claim 1, wherein a FIFO synchronizer transmits a tail end indicator to an output time domain by using a complex even/odd synchronizer and transmits a head end indicator to an input time domain In the middle to achieve. 如申請專利範圍第16項之方法,其中一偶數尾端指標、一奇數尾端指要、一偶數頭端指標與一奇數頭端指標之利用係藉由:在一輸入時脈的偶數時脈循環上計算該偶數尾端指標,及在該輸入時脈的奇數時脈循環上計算該奇數尾端指標;及在該輸入時脈的該等偶數時脈循環上儲存該計算出的偶數尾端指標在一偶數尾端暫存器中,且在該輸入時脈的該等奇數時脈循環上儲存該計算出的奇數尾端指標在一奇數尾端暫存器中。 For example, in the method of claim 16, wherein an even end end index, an odd end end point, an even head end index, and an odd end end index are utilized by: an even clock at an input clock. Calculating the even end end index on the loop, and calculating the odd end end index on the odd clock cycle of the input clock; and storing the calculated even end end on the even clock cycles of the input clock The indicator is in an even-numbered tail-end register, and the calculated odd-end index is stored in an odd-end register on the odd-numbered clock cycles of the input clock. 一種系統,該系統包含:一相位估計器,其設置成:基於一第二時脈域與該第一時脈域之間一相對頻率估計來計算該第一時脈域的一相位估計,及 針對在該第二時脈域中每一循環計算一更新的相位估計;及一同步器,其耦接於該相位估計器,並設置成:基於該相位估計,決定一第一時間,其中在該第一時間期間,該第一時脈域的一訊號並未改變,使得該訊號能夠由該第二時脈域安全地採樣,於該第一時間期間在該第二時脈域中產生一第一採樣訊號,基於該更新的相位估計,決定一第二時間,其中在該第二時間期間,來自該第一時脈域的該訊號正在改變使得該訊號不能夠由該第二時脈域安全地採樣,及於該第二時間期間,在該第二時脈域中維持該第一採樣訊號。 A system comprising: a phase estimator configured to calculate a phase estimate of the first clock domain based on a relative frequency estimate between a second clock domain and the first clock domain, and Calculating an updated phase estimate for each cycle in the second clock domain; and a synchronizer coupled to the phase estimator and configured to: determine a first time based on the phase estimate, wherein During the first time period, a signal of the first clock domain is not changed, so that the signal can be safely sampled by the second clock domain, and a second time domain is generated during the first time period. The first sampled signal determines a second time based on the updated phase estimate, wherein during the second time, the signal from the first clock domain is changing such that the signal cannot be used by the second clock domain The sampled signal is safely sampled, and during the second time period, the first sampled signal is maintained in the second clock domain. 如申請專利範圍第18項之系統,其中該相位估計為包括一上限與一下限的一區間。 The system of claim 18, wherein the phase is estimated to include an interval of an upper limit and a lower limit. 如申請專利範圍第18項之系統,其中該相位估計於該第二時脈域的複數循環中每一者期間增加。 A system of claim 18, wherein the phase estimate is increased during each of the plurality of cycles of the second clock domain.
TW102139651A 2012-11-12 2013-10-31 System and method for determining a time for safely sampling a signal of a clock domain TWI516896B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/674,864 US8964919B2 (en) 2009-11-30 2012-11-12 System and method for determining a time for safely sampling a signal of a clock domain

Publications (2)

Publication Number Publication Date
TW201439714A true TW201439714A (en) 2014-10-16
TWI516896B TWI516896B (en) 2016-01-11

Family

ID=50556037

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102139651A TWI516896B (en) 2012-11-12 2013-10-31 System and method for determining a time for safely sampling a signal of a clock domain

Country Status (3)

Country Link
CN (1) CN103812590A (en)
DE (1) DE102013221678A1 (en)
TW (1) TWI516896B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9793903B1 (en) 2016-04-25 2017-10-17 Global Unichip Corporation Device and method for recovering clock and data
US10164758B2 (en) 2016-11-30 2018-12-25 Taiwan Semicondcutor Manufacturing Co., Ltd. Read-write data translation technique of asynchronous clock domains
TWI826133B (en) * 2022-11-21 2023-12-11 瑞昱半導體股份有限公司 Data transmission apparatus and method of cross-domain data transmission

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10168731B2 (en) * 2016-07-13 2019-01-01 Advanced Micro Devices, Inc. Managing frequency changes of clock signals across different clock domains
CN107734386B (en) * 2017-09-13 2019-12-17 东莞市爱协生智能科技有限公司 MIPI (Mobile industry processor interface) protocol-based video image reduction method and system
CN114003530B (en) * 2021-10-29 2023-04-11 上海大学 FPGA-based serial differential communication data acquisition system and method
CN114422063B (en) * 2021-12-13 2023-08-29 深圳市紫光同创电子有限公司 Time stamp pulse synchronization method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100929824B1 (en) * 2008-05-06 2009-12-07 주식회사 하이닉스반도체 Semiconductor device
CN101923440B (en) * 2009-06-15 2011-12-14 杭州中科微电子有限公司 High-speed asynchronous data acquisition system
CN201917844U (en) * 2010-11-25 2011-08-03 上海宇芯微电子有限公司 Double-clock switching device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9793903B1 (en) 2016-04-25 2017-10-17 Global Unichip Corporation Device and method for recovering clock and data
US10164758B2 (en) 2016-11-30 2018-12-25 Taiwan Semicondcutor Manufacturing Co., Ltd. Read-write data translation technique of asynchronous clock domains
TWI676383B (en) * 2016-11-30 2019-11-01 台灣積體電路製造股份有限公司 Transmitting circuitry, receiving circuitry and method for transmitting digital signal in asynchronous clock domains
US10644865B2 (en) 2016-11-30 2020-05-05 Taiwan Semiconductor Manufacturing Co., Ltd. Read-write data translation technique of asynchronous clock domains
TWI826133B (en) * 2022-11-21 2023-12-11 瑞昱半導體股份有限公司 Data transmission apparatus and method of cross-domain data transmission

Also Published As

Publication number Publication date
DE102013221678A1 (en) 2014-05-15
CN103812590A (en) 2014-05-21
TWI516896B (en) 2016-01-11

Similar Documents

Publication Publication Date Title
TWI516896B (en) System and method for determining a time for safely sampling a signal of a clock domain
US8879681B2 (en) System and method for determining a time for safely sampling a signal of a clock domain
US9594396B2 (en) Synchronizing data transfer between a first clock domain and second clock domain
TWI821549B (en) Phase predictor and associated method of use
US11061432B2 (en) Data handoff between two clock domains sharing a fundamental beat
US7287105B1 (en) Asynchronous-mode sync FIFO having automatic lookahead and deterministic tester operation
TWI494737B (en) A variation-tolerant periodic synchronizer
US9722767B2 (en) Clock domain bridge static timing analysis
US10038450B1 (en) Circuits for and methods of transmitting data in an integrated circuit
US8453043B2 (en) Built-in bit error rate test circuit
TW201347495A (en) A clock recovery circuit and a parallel output circuit
CN109254941B (en) FPGA-based serial signal clock synchronization method, serial-to-parallel conversion method and device
TW201342804A (en) Scheme for balancing skew between lanes of high-speed serial digital interface
US20150015314A1 (en) Mesochronous synchronizer with delay-line phase detector
US9250859B2 (en) Deterministic FIFO buffer
US7876873B2 (en) Asynchronous ping-pong counter and thereof method
US8964919B2 (en) System and method for determining a time for safely sampling a signal of a clock domain
TWI507694B (en) Method and integrated circuit for clock phase detection
JP4917901B2 (en) Receiver
US10033523B1 (en) Circuit for and method of measuring latency in an integrated circuit
TWI229983B (en) Method and related device for reliably receiving a digital signal
TWI475353B (en) Clock regeneration method, reference-less receiver, and crystal-less system
US7321647B2 (en) Clock extracting circuit and clock extracting method
Polzer et al. Refined metastability characterization using a time-to-digital converter
US20080240320A1 (en) Transmit clock generator