TWI559684B - 矩陣相位檢測器 - Google Patents

矩陣相位檢測器 Download PDF

Info

Publication number
TWI559684B
TWI559684B TW102137453A TW102137453A TWI559684B TW I559684 B TWI559684 B TW I559684B TW 102137453 A TW102137453 A TW 102137453A TW 102137453 A TW102137453 A TW 102137453A TW I559684 B TWI559684 B TW I559684B
Authority
TW
Taiwan
Prior art keywords
phase
clock
clk
clock signal
period
Prior art date
Application number
TW102137453A
Other languages
English (en)
Other versions
TW201433090A (zh
Inventor
威廉J 達立
Original Assignee
輝達公司
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/681,929 external-priority patent/US8760204B2/en
Application filed by 輝達公司 filed Critical 輝達公司
Publication of TW201433090A publication Critical patent/TW201433090A/zh
Application granted granted Critical
Publication of TWI559684B publication Critical patent/TWI559684B/zh

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/10Distribution of clock signals, e.g. skew
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/00078Fixed delay
    • H03K2005/00097Avoiding variations of delay using feedback, e.g. controlled by a PLL
    • H03K2005/00104Avoiding variations of delay using feedback, e.g. controlled by a PLL using a reference signal, e.g. a reference clock
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/0015Layout of the delay element
    • H03K2005/00234Layout of the delay element using circuits having two logic levels
    • H03K2005/00241Layout of the delay element using circuits having two logic levels using shift registers

Landscapes

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

Description

矩陣相位檢測器
本發明係關於電路,更特定而言係關於時脈相位檢測。
許多的數位系統具有多重時脈領域(clock domain)。因此,當信號由一時脈領域移動到另一者時,它們必須被同步化以避免亞穩態與同步的失效。如果兩個時脈具有固定頻率,該等兩個時脈之間的相位於該等兩個時脈的拍頻(beat frequency)之下有周期性。利用此周期性相位關係的好處,一周期性同步器相較於一種必須處理交錯時脈領域的同步器(其中該等時脈中至少一者係一可變頻率運作)可以比較簡單、具有較低的潛時、以及較低的失效機率。
當該等時脈中至少一者以一可變頻率運作時,該同步器的設計更為複雜。基本上,於時脈領域之間傳送的信號使用非同步先進先出(FIFO,“first-in-first outs”)而與一周期性時脈同步。針對該FIFO記憶體會引致顯著的面積負擔(area overhead)。當該FIFO的格雷編碼(Gray-coded)輸入與輸出指標必須透過多個正反器進行同步化以可靠地橫跨時脈領域來傳送該等信號,該等FIFO亦加上了數個循環的延遲。
因此有需要處理關聯於先前技術的這些及/或其它問題。
本發明提供一種用於時脈相位檢測的方法與系統。一第一時脈信號的第一組延遲的版本被產生,且一第二時脈的第二組延遲的版本被產生。該第二時脈信號的該第二組延遲的版本使用該第一時脈信號的該第一組延遲的版本進行取樣,藉此在對應於該第一時脈信號的一領域中產生一時脈樣本的陣列。至少一邊緣指示(edge indication)位在該等時脈樣本的陣列內。
100‧‧‧方法
105,110,115,120,125‧‧‧步驟
130‧‧‧方法
200‧‧‧高解析度相位檢測器
201,202‧‧‧時脈
203‧‧‧相位
204‧‧‧周期
210‧‧‧時脈延遲單元
211‧‧‧延遲元件
215‧‧‧相位比較器
220‧‧‧時脈樣本單元
222‧‧‧正反器
224‧‧‧同步器
225‧‧‧樣本序列
230‧‧‧邊緣檢測單元
231‧‧‧及閘
232‧‧‧邊緣檢測單元
233‧‧‧轉換信號
234‧‧‧編碼器
240‧‧‧相位單元
242‧‧‧增量器
244‧‧‧相位暫存器
245‧‧‧增量的相位
250‧‧‧周期單元
252‧‧‧減法器
254‧‧‧周期暫存器
246,256,258‧‧‧多工器
261,262‧‧‧周期
271,272‧‧‧周期
265,273,274,275‧‧‧邊緣
280‧‧‧方法
282,284,285,286,288,290,295,298‧‧‧步驟
300‧‧‧高解析度相位檢測器
303‧‧‧相位
304‧‧‧周期
310‧‧‧時脈延遲單元
311‧‧‧延遲元件
320‧‧‧時脈樣本單元
322‧‧‧正反器
330‧‧‧周期運算單元
331‧‧‧及閘
332‧‧‧邊緣檢測單元
333‧‧‧轉換信號
334‧‧‧編碼器
340‧‧‧相位單元
342‧‧‧加法器
343‧‧‧前除法器相位
344‧‧‧相位暫存器
345‧‧‧增量的相位
346‧‧‧多工器
348‧‧‧相位除法器
350‧‧‧周期單元
352‧‧‧除法器
354‧‧‧周期暫存器
356‧‧‧多工器
357‧‧‧減法器
358‧‧‧多工器
360‧‧‧方法
365,370,372,374,375,380,385,390,395,396,398‧‧‧步驟
400‧‧‧高解析度相位檢測器
401‧‧‧方法
402,405,406,407,408,409‧‧‧步驟
403‧‧‧相位
404‧‧‧周期
412‧‧‧時脈樣本陣列產生單元
414‧‧‧時脈樣本陣列
415‧‧‧方法
421‧‧‧轉換信號陣列
422‧‧‧斜率
423‧‧‧展開轉換信號陣列
424‧‧‧展開單元
425‧‧‧更新
426‧‧‧邊緣辨識單元
428‧‧‧截距
430‧‧‧邊緣檢測單元
440‧‧‧相位單元
442‧‧‧增量器
444‧‧‧相位暫存器
445‧‧‧增量的相位
446‧‧‧多工器
450‧‧‧周期單元
454‧‧‧周期暫存器
458‧‧‧多工器
460‧‧‧方法
455,462,465,466,468,475,480‧‧‧步驟
500‧‧‧高解析度相位檢測器
501,502,505,506,507,509,508,510,562,565,566,568,572,575,580‧‧‧步驟
503‧‧‧相位
504‧‧‧周期
521‧‧‧轉換信號陣列
522‧‧‧斜率
523‧‧‧展開轉換信號陣列
524‧‧‧展開單元
525‧‧‧更新
526‧‧‧周期遮罩單元;邊緣辨識單元
527‧‧‧遮罩轉換信號陣列
528‧‧‧截距
530‧‧‧邊緣檢測單元
536‧‧‧時脈遮罩
540‧‧‧相位單元
542‧‧‧加法器
543‧‧‧前除法器相位
544‧‧‧相位暫存器
545‧‧‧增量的相位
546‧‧‧多工器
548‧‧‧相位除法器
550‧‧‧周期單元
552‧‧‧除法器
554‧‧‧周期暫存器
558‧‧‧多工器
560‧‧‧方法
600‧‧‧方法
605,610,615‧‧‧步驟
650‧‧‧積體電路元件
655‧‧‧邏輯單元
660‧‧‧同步器
665‧‧‧邏輯單元
700‧‧‧變異容忍同步器
701‧‧‧輸入信號
702‧‧‧偶數暫存器
703‧‧‧奇數暫存器
705‧‧‧相位系列外插單元
708‧‧‧暫存器
710‧‧‧記錄信號單元
711‧‧‧輸出信號
715‧‧‧選擇單元
717‧‧‧選擇
718‧‧‧致能
750‧‧‧方法
755,760,765,770,775,780,785,790,792,794‧‧‧步驟
800‧‧‧方法
801,805,806,808,811,812,816,818,819,820,822‧‧‧步驟
820‧‧‧方法
850‧‧‧推測式周期性同步器
851‧‧‧輸入信號
855‧‧‧相位系列外插單元
860‧‧‧推測式記錄信號單元
861‧‧‧推測式輸出信號
865‧‧‧推測式選擇單元
866‧‧‧撤銷
868‧‧‧驗證
900‧‧‧推測式周期性同步器
901‧‧‧輸入信號
904‧‧‧安全記錄信號單元
905‧‧‧推測式記錄信號單元
908‧‧‧相位系列外插單元
910‧‧‧推測式選擇單元
911‧‧‧推測式輸出信號
916‧‧‧撤銷
918‧‧‧驗證
920‧‧‧方法
921‧‧‧安全輸出信號
922,923,925,926,927,928,929,930,931,932,933,934,936‧‧‧步驟
950‧‧‧推測式周期性同步器
951‧‧‧輸入信號
952‧‧‧系統資訊
955‧‧‧相位系列外插單元
960‧‧‧推測式記錄信號單元
961‧‧‧推測式輸出信號
965‧‧‧推測式選擇單元
966‧‧‧撤銷
968‧‧‧驗證
970‧‧‧方法
971,972,975,976,978,980,984,985,986,988,989‧‧‧步驟
1000‧‧‧系統
1001‧‧‧中央處理器
1002‧‧‧匯流排
1004‧‧‧主記憶體
1006‧‧‧圖形處理器
1008‧‧‧顯示器
1010‧‧‧次級儲存器
1012‧‧‧輸入裝置
圖1A例示根據一具體實施例之一種用於定位出一序列的時脈信號樣本內的一邊緣指示之方法的流程圖。
圖1B例示根據一具體實施例之一種用於使用該邊緣指示來檢測一相位的方法之流程圖。
圖2A例示根據一具體實施例的一種高解析度相位檢測器。
圖2B例示根據一具體實施例中圖2A的一時脈延遲單元。
圖2C例示根據一具體實施例中圖2A的一時脈樣本單元。
圖2D例示根據一具體實施例中圖2A的一邊緣檢測單元。
圖2E例示根據一具體實施例中圖2A的一相位單元。
圖2F例示根據一具體實施例中圖2A的一周期單元。
圖2G例示根據一具體實施例中兩個時脈信號的波形。
圖2H例示根據一具體實施例中兩個時脈信號的其它波形。
圖2I例示根據一具體實施例之一種用於決定一相位與一周期的方法之流程圖。
圖3A例示根據一具體實施例的另一種高解析度相位檢測器。
圖3B例示根據一具體實施例中圖3A的一開迴路時脈延遲單元。
圖3C例示根據一具體實施例中圖3A的一時脈樣本單元。
圖3D例示根據一具體實施例中圖3A的一周期運算單元。
圖3E例示根據一具體實施例中圖3A的一相位單元。
圖3F例示根據一具體實施例中圖3A的一周期單元。
圖3G例示根據一具體實施例之一種用於決定一相位與一周期的方法之另一流程圖。
圖4A例示根據一具體實施例之另一種用於定位出一序列的時脈信號樣本內的一邊緣指示之方法的流程圖。
圖4B例示根據一具體實施例之一種用於使用該邊緣指示來檢測一相位與一周期的方法之流程圖。
圖4C例示根據一具體實施例的一種矩陣高解析度相位檢測器。
圖4D例示根據一具體實施例中圖4C的一時脈樣本陣列產生單元。
圖4E例示根據一具體實施例中圖4C的一邊緣檢測單元。
圖4F例示根據一具體實施例中圖4C的一相位單元。
圖4G例示根據一具體實施例中圖4C的一周期單元。
圖4H例示根據一具體實施例之一種用於決定一相位與一周期的方法之另一流程圖。
圖5A例示根據一具體實施例的另一種矩陣相位檢測器。
圖5B例示根據一具體實施例中圖5A的一邊緣檢測單元。
圖5C例示根據一具體實施例中圖5A的一相位單元。
圖5D例示根據一具體實施例中圖5A的一周期單元。
圖5E例示根據一具體實施例之一種用於決定一相位與一周期的方法之另一流程圖。
圖6A例示在其中可以實作多種先前具體實施例之多種架構及/或功能之示例性積體電路。
圖6B例示根據一具體實施例之一種用於同步化信號的方法之流程圖。
圖6C例示根據一具體實施例中兩個時脈信號的波形。
圖6D例示根據一具體實施例中兩個時脈信號的其它波形。
圖7A例示根據一具體實施例之一種變異容忍周期性同步器。
圖7B例示根據一具體實施例中圖7A的該記錄信號單元。
圖7C例示根據一具體實施例之一種用於同步化信號的方法之另一流程圖。
圖8A例示根據一具體實施例中兩個時脈信號的波形與一系 列外插的相位間隔。
圖8B例示根據一具體實施例之一種用於推測式同步化信號的方法之流程圖。
圖8C例示根據一具體實施例中兩個時脈信號的波形與一推測式系列的外插相位間隔。
圖8D例示根據一具體實施例之一種推測式周期性同步器。
圖8E例示根據一具體實施例之一種用於推測式同步化信號的方法之另一流程圖。
圖9A例示根據一具體實施例之另一種推測式周期同步器。
圖9B例示根據一具體實施例之一種用於推測式同步化信號的方法之另一流程圖。
圖9C例示根據一具體實施例之另一種推測式周期同步器。
圖9D例示根據一具體實施例之一種用於推測式同步化信號的方法之另一流程圖。
圖10例示在其中可以實作多種先前具體實施例之多種架構及/或功能之示例性系統。
用於智慧型手機、平板電腦、膝上型電腦與其它行動裝置中的處理器有時候會降低提供給一或多個積體電路元件之供應電壓,藉以降低電力消耗並延長電池重新充電之間的時間。該等積體電路元件亦可基於不同的操作模式而改變提供給該元件內不同電路的該電源供應電壓位準。 電源供應電壓亦可由於一組件所引出的該供應電流中的瞬變(transient)而改變。因為降低了一電源供應電壓位準,根據該特定電源供應電壓位準之任何時脈信號可在一較低頻率下運作。當該電源供應電壓位準增加時,該時脈信號的頻率亦增加。因為該等時脈頻率可做為電源供應電壓位準的函數而變化,依靠不同時脈領域之間一固定關係的習用同步技術無法再被使用以在該等時脈中至少一者具有一可變頻率的時脈領域之間傳送信號。
雖然時脈頻率可以回應於變化的電源供應電壓位準而改變,此處所述之該等技術亦可被應用於該等時脈頻率因為其它原因而改變的場合。例如,時脈頻率可隨溫度變化而改變或可藉由程式化來改變。
關於本說明,一第一時脈領域為任何一種可以取樣一信號之系統的時脈領域。例如,該第一時脈領域可為一中央處理單元(CPU,“Central processing unit”)、一圖形處理單元(GPU,“Graphics processing unit”)、一記憶體控制器及/或具有一時脈領域的任何其它系統之一時脈領域。該第一時脈領域可包括具有一特定頻率或可變化頻率之一第一時脈信號。一第二時脈領域可包括具有一特定頻率或可變化頻率之一第二時脈信號。由該第二領域傳送至該第一領域的信號係被同步化至該第一時脈領域。
相對於使用非同步先進先出(FIFO)在時脈領域之間傳送信號之一種習用同步器,可以設計一種低潛時同步器,其使用該等兩個時脈領域之間的相對相位。假設該第一時脈信號係在一接收時脈領域,而該第二時脈信號係在一傳送時脈領域,該相對相位用於決定在該傳送時脈領域中的信號何時可在該接收時脈領域中被取樣。如後續說明的一種高解析度相位檢測器可追蹤頻率瞬變,並在當一個或兩個時脈信號具有變化頻率時 產生該等兩個時脈領域之間的相對相位與周期。該高解析度相位檢測器使用為該本地或接收時脈(clkr)的該第一時脈信號,並接受來自該傳送時脈領域(clkt)的該第二時脈信號。該高解析度相位檢測器輸出兩個信號,其編碼:一相位值(Phase)與一周期值(Period)。該相位值代表由clkt上的最後轉換到clkr上的最後轉換之時間,其為clkr單位間隔(UI,“Unit interval”)。該周期值代表在clkt上最後兩個轉換之間的時間,以clkr單位間隔表示。
圖1A例示根據一具體實施例之一種用於定位出一序列的時脈信號樣本內的一邊緣指示之方法100的流程圖。在步驟105,產生該第一時脈信號的一組延遲的版本。該第一時脈信號的每一延遲的版本為該第一時脈信號的一不同相位。在步驟110,該第二時脈信號使用該第一時脈信號的該組延遲的版本來取樣,以產生在該第一時脈領域中一序列的樣本。然後在步驟115,至少一邊緣指示係位在該序列的樣本之內。該邊緣指示為該序列的樣本中一樣本之上升或下降轉換(rising or falling transition)。可使用該至少一邊緣指示來計算該等相位與周期值。
圖1B例示根據一具體實施例之一種用於使用該邊緣指示來檢測一相位的方法130之流程圖。完成步驟105、110與115即可提供至少一邊緣指示。在步驟120,處理該最新的邊緣指示來計算出代表該第二時脈信號相對於該第一時脈信號的一相位之一相位值。在步驟125,處理該等最新的兩個邊緣指示來計算出代表該第二時脈信號與該第一時脈信號之間一相對周期的一周期值。
圖2A例示根據一具體實施例的一種高解析度相位檢測器200。高解析度相位檢測器200包括一時脈延遲單元210、一時脈樣本單元 220、一邊緣檢測單元230、一相位單元240與一周期單元250。高解析度相位檢測器200接收一第一時脈信號Clk 201與一第二時脈信號Clk 202,並產生兩個數值,即一相位203與一周期204。相位203與周期204的數值之每一者由多位元的信號進行編碼。相位203的值代表該第二時脈相對於該第一時脈的一相位。周期204的值代表該第二時脈與該第一時脈之間的一相對周期。該第一時脈與該第二時脈中至少一者可隨時間改變。高解析度相位檢測器200設計成在當該第一時脈及/或該第二時脈的頻率改變時可連續地測量該相位與周期。
圖2B例示根據一具體實施例中圖2A的一時脈延遲單元210。一系列N個延遲元件211產生N個等間隔的不同時脈相位,即Clk 201的延遲版本,特定而言為Clk_d0,Clk_d1,Clk_d2,Clk_d3,......Clk_dN。相位比較器215設置該等延遲元件211延遲該等個別輸入信號(Clk 201與Clk 201之延遲的版本)之延遲量,以確保該等時脈相位橫越(span)Clk 201的一個周期,意即因此Clk 201=Clk_d0具有與Clk_dN相同的相位。因為相位比較器215控制了由延遲元件211所引入的該延遲,時脈延遲單元210為一閉迴路延遲電路。高解析度相位檢測器200之解析度可藉由增加由時脈延遲單元210產生的Clk 201之延遲版本的數目而增加。在另一具體實施例中,相位比較器215可被省略,且該時脈延遲線可用一開迴路方式來運作。
圖2C例示根據一具體實施例中圖2A的時脈樣本單元220。時脈樣本單元220包括複數個正反器222,與相對應之複數同步器224。時脈樣本單元220接收由時脈延遲單元210產生的Clk 201之該等延遲的版本,並產生在Clk 201的該領域中該第二時脈信號Clk 202的一序列的樣本。 Clk 201之每一延遲的版本,即Clk_d0,Clk_d1,......Clk_dN,可用於取樣Clk 202,以於正反器222的該等輸出處產生該序列的樣本225。然後該等樣本225被重新計時(以將樣本225對準於Clk 201)及由同步器224進行同步化(因為Clk 202為一非同步信號),以產生Clk 202的該序列之樣本,即Clk_s0,Clk_s1,Clk_s2,Clk_s3,......Clk_sN。同步器224基本上包括一或多個正反器,其數量足以達成較低的同步化失敗之機率。例如,串聯的4或5個正反器可造成低於10-40之失敗機率。
圖2D例示根據一具體實施例中圖2A的邊緣檢測單元230。邊緣檢測單元230包括一AND閘231的陣列、一邊緣辨識單元232、與一複數編碼器234。邊緣檢測單元230接收由時脈樣本單元220產生的該序列之樣本,即Clk_s0,Clk_s1,......Clk_sN。該序列的樣本Clk_s0,Clk_s1,......Clk_sN被輸入到一AND閘231的陣列,以定位出邊緣指示,例如在該序列的樣本內的上升轉換。換言之,該AND閘231的陣列檢測由第一時脈信號Clk 201所取樣之第二時脈信號Clk 202的上升邊緣。在一具體實施例中,邊緣檢測單元230可設置成定位出為下降轉換或同時為下降與上升轉換的邊緣指示。
如果Clk 201的延遲版本之間(Clk_d i-1 與Clk_d i ,其中i的範圍由0到N)發生Clk 202的一上升邊緣,則轉換信號233的一或多個位元t i =Clk_s i & ~Clk_s i-1 即為真。例如當Clk 202的一上升邊緣發生在Clk_d3與Clk_d4之間,Clk 202的一下降邊緣發生在Clk_d7與Clk_d8之間,Clk_s i 信號為000011110,而轉換信號233針對i的範圍在0到N=8時編碼該數值000010000。轉換信號233 t i 被輸入到一邊緣辨識單元232,其 可在該序列的轉換信號233當中尋找為真的該第一位元,及為真的該第二位元(自t N 開始),如果有任何位元為真的話。第一位元為真及該第二位元為真的「one-hot」編碼被輸出在信號first_oh與second_oh上,其依序由編碼器234編碼成m=log2(N)位元的二元化信號first235與second237。轉換信號233及/或該等first_oh與second_oh信號可被視為邊緣指示。信號first 235與second 237數值被編碼成信號,並指明該等邊緣指示的位置,做為離t N的若干位元位置,其中分別發生第一與第二轉換。例如,當轉換信號233編碼數值000100010時,first_oh與second_oh的該等數值分別為000000010與000100000。在此例中,信號first 235與second 237的該等數值分別為1/8與5/8。因為在此示例中有8個位元位置,於位置i處檢測到的一邊緣代表在Clk 201最新的邊緣之前一循環的i/8處的一邊緣。信號編碼亦由編碼器234產生的該等數值first_v 236與second_v 238,以指明是否分別發現到first與second轉換。
圖2E例示根據一具體實施例中圖2A的相位單元240。相位單元240自邊緣檢測單元230接收數值first 235與first_v 236,並產生相位203值。相位單元240包括一相位暫存器244、一增量器242與一多工器246。如果檢測到一轉換,例如first_v 236被主張(為真),及first 235等於該相位值。First 235為自Clk 201的上升邊緣到Clk 202的最新轉換的一個度量(單位為時間)。當first_v 236被主張,多工器246選擇first 235的數值做為該輸出,即下一相位。當未檢測到一轉換時,例如first_v 236未被主張,則多工器246選擇增量的相位245做為下一相位。增量的相位245值由增量器242將相位203遞增ONE來計算。該常數ONE代表Clk 201的一個周 期。在先前示例中相位203值代表一個UI的八分之幾,該常數ONE的二元值為01000,代表8/8。
該next_phase值被輸入到輸出相位203信號之相位暫存器244。接著的Verilog可被轉譯成產生在相位單元240中顯示之該邏輯的至少一部份,特別是提供一輸入(next_phase)到相位暫存器244:assign next_phase=first_v?first:phase+`ONE;圖2F例示根據一具體實施例中圖2A的周期單元250。周期單元250包括一周期暫存器254、一減法器252、與兩個多工器256,258。周期單元250接收來自邊緣檢測單元230的first 235、first_v 236、second 237與second_v 238,以及來自相位單元240的增量相位245,並產生周期204輸出信號。如果未檢測到轉換,例如並無first_v 236或second_v 238被主張,該next_period(與周期204)並未改變。否則,如果檢測到兩個轉換,例如first_v 236與second_v 238皆被主張,該next_period由先前轉換的相位second 237減去first 235來計算。如果僅檢測到一個轉換,例如first_v 236被主張,該next_period由先前轉換的相位(增量的相位245)減去first 235來計算。換言之,目前相位first 235由該最後轉換的相位中減除,即如果在Clk 201相同的周期中檢測到一第二轉換時即為從second 237減除,否則即為從增量的相位245減除。
當檢測到一第二轉換時,亦檢測到一第一轉換。當second_v 238被主張(assert)時,多工器256選擇second 237的值做為給減法器252的輸入。當未檢測到一第二轉換時,多工器256選擇增量的相位245做為給 減法器252的輸入。該減法器自該輸入減去first 235的值來產生一輸出。當檢測到一第一轉換時,多工器258選擇減法器252的輸出做為該下一周期。否則,多工器258選擇周期暫存器254的輸出做為該下一周期,且周期204的值未改變。
接著的Verilog可被轉譯成產生在周期單元250中顯示之該邏輯的至少一部份,特別是提供一輸入(next_period)到周期暫存器254:assign next_period=first_v?(second_v?second:(phase+`ONE))-first):period;該next_period值被輸入到輸出周期204信號之周期暫存器254。
在一具體實施例中,當Clk 201為1GHz,且延遲元件211可橫跨處理-電壓-溫度變化(PVT,“Process-voltage-temperature”)變化被修剪(trimmed)成62.5ns,N=16及m=4,且該常數ONE為010000。當N的數值為2的次方時,由邊緣檢測單元230執行的計算可以簡化。相位203與周期204被表示成固定點記號,在該二元點的右方有m個位元。相位暫存器244與周期暫存器254需要包括足夠的位元來編碼Clk 202之可能最大的周期。例如,如果有可能最慢的Clk 202之周期為Clk 201之周期的五倍長,則在該二元點的左方需要三個位元。
由於重新計時與同步化所需要的延遲,相位203與周期204的該等數值將Clk 201的相位與周期反映成過去之固定數目的Clk 201循環。例如,當同步器224具有由正反器222引進的四個循環的延遲與一個循環的重新計時延遲時,相位203與周期204數值代表Clk 202的狀態為在 過去的五個Clk 201循環。一種快速的同步器設計中使用周期204(即可能為周期204的導數(deriviates))來預測Clk 201之下一循環上的Clk 202的相位,藉以向前預測Clk 201的六個循環。
圖2G例示根據一具體實施例中兩個時脈信號Clk 201與Clk 202的波形。第二時脈Clk 202的頻率會比第一時脈Clk 201的頻率要快。信號係自對應於Clk 202的一第二時脈領域傳送到對應於Clk 201的一第一時脈領域。如所示,Clk 202的周期262會比Clk 201的周期261要短。因此,Clk 202的至少一邊緣指示必須由邊緣偵測單元230在每一時脈周期261內被檢測到。如所示,Clk 202的兩個邊緣在周期261之內發生。在時脈201的最新邊緣265處,對應於周期261內一第一邊緣指示的first 235值由邊緣檢測單元230做計算。在時脈201的最新邊緣265處,對應於周期261內一第二邊緣指示的second 237值亦由邊緣檢測單元230做計算。
在一具體實施例中,邊緣檢測單元230設置成計算對應於一第三邊緣指示的一第三數值。該第三數值可用於當Clk 201與Clk 202中至少一者在平滑地改變時計算該相對周期的斜率。該斜率可由一同步化單元用來預測該未來相位與未來周期之更為準確的數值。預測一或多個時脈之前的相位203與周期204的該等數值將會有用,因為由於高頻相位檢測器200的潛時,目前的相位203與周期204對於過去之Clk 201的數個時脈循環皆有效。
圖2H例示根據一具體實施例中兩個時脈信號Clk 201與Clk 202的波形之另一示例。該傳送時脈Clk 202的頻率會比該接收時脈Clk 201的頻率要慢。如所示,Clk 202的周期272會比Clk 201的周期271要長。 因此,於Clk 201的某些周期期間,Clk 202的一邊緣指示可能不會被邊緣檢測單元230檢測到。
在一最舊的邊緣273處,對應於周期272的開始處一第一邊緣指示之first 235值由邊緣檢測單元230定位,且first 235-B數值由邊緣檢測單元230做計算。在此示例中假設first 235-B值等於7個單位的延遲211。因此,該下一相位由相位單元240設定為7,且該下一周期當作加總了N=16之相位203與first 235之間的差值來計算。相位203與周期204於時脈邊緣274處被更新。在一下一邊緣274處,並無邊緣指示可由邊緣檢測單元230所定位,且該下一相位由相位單元240更新,而相位203增加了N=16,所以相位203被更新為7+16=23。周期204未改變。
在一最新邊緣275處,對應於周期272結束處另一第一邊緣指示的first 235-A數值由邊緣檢測單元230所定位,且first 235-A數值由邊緣檢測單元230做計算。在此示例中假設此額外的第一235-A數值等於延遲211的6個單位。因此,該下一相位由相位單元240設定為6,且該下一周期被當作加總有N=16的相位203與first 235-A之間的差值來計算,即23+16-6=33。相位203與周期204於時脈邊緣275處被更新。
圖2I例示根據一具體實施例之一種用於決定相位203與周期204的方法280之流程圖。在步驟282,Clk 201的一組延遲的版本由時脈延遲單元210產生。在步驟284,Clk 202由時脈樣本單元220使用Clk 201的該組延遲的版本進行取樣,以產生在Clk 201的該領域中該序列的樣本225。然後在步驟285,邊緣檢測單元230定位出該序列的樣本225內任何的邊緣,例如上升、下降或上升與下降。
在步驟286,相位單元240決定一第一邊緣指示是否被邊緣檢測單元230檢測到,如果沒有,在步驟288,相位203被更新成相位203增加Clk 201的一個周期,例如相位+ONE。當邊緣檢測單元230未檢測到第一邊緣指示時,周期204不會改變。否則,當檢測到一第一邊緣指示時,在步驟290,相位單元240設定相位203等於由邊緣檢測單元230產生的first 235信號。在步驟295,周期單元250決定邊緣檢測單元230是否檢測到一第二邊緣指示,如果有,則在步驟295,周期單元250設定周期204等於second 237信號與first 235信號之間的差值。若否,則在步驟298,周期單元250將周期204更新為相位203與Clk 201的一個周期之總和與first 235信號之間的差值。
圖3A例示根據一具體實施例的一種高解析度相位檢測器300。高解析度相位檢測器300包括一開迴路延遲單元310、時脈樣本單元220、一時脈樣本單元320、邊緣檢測單元230、一周期運算單元330、一相位單元340與一周期單元350。高解析度相位檢測器300接收一第一時脈Clk 201與一第二時脈Clk 202,並產生兩個數值,一相位303與一周期304。
圖3B例示根據一具體實施例中圖3A的開迴路時脈延遲單元310。開迴路時脈延遲單元310相較於高解析度相位檢測器200取代了高解析度相位檢測器300中的時脈延遲單元210。一系列的N個延遲元件311產生N個時脈相位,例如Clk 201的延遲版本,特定而言為Clk_d0,Clk_d1,Clk_d2,Clk_d3,......Clk_dN。不像是時脈延遲單元210,該等N個時脈相位並不需要準確地橫越一個時脈循環,因為開迴路時脈延遲單元320並未包括一相位比較器215來控制每一延遲元件311延遲Clk 201的量來產生 Clk 201的該等延遲版本。延遲元件311的數目必須足夠高,而可取樣Clk 201的至少一周期。
圖3C例示根據一具體實施例中圖3A的時脈樣本單元320。時脈樣本單元320包括複數正反器322。時脈樣本單元320接收由時脈延遲單元210產生之Clk 201的該等延遲版本,並產生第一時脈信號Clk 201的一序列之樣本。取樣該第一時脈信號被執行來計算由一延遲元件311所引進的該延遲的單位之Clk 201的該周期。每一時脈相位Clk_d0,Clk_d1,......Clk_dN用於取樣Clk 201,於正反器322的該等輸出處產生該序列的第一時脈樣本,例如Clk_p1,Clk_p2,Clk_p3,......Clk_pN。
圖3D例示根據一具體實施例中圖3A的周期運算單元330。周期運算單元330包括一AND閘331的陣列、一邊緣辨識單元332與一編碼器334。周期運算單元330接收由時脈樣本單元320產生的該序列的第一時脈樣本Clk_p1,Clk_p2,......Clk_pN。該序列的第一時脈樣本Clk_p1,Clk_p2,......Clk_pN被輸入到AND閘331的該陣列來定位出該序列的第一時脈樣本內的上升轉換(rising transitions),例如邊緣。換言之,AND閘331檢測由第一時脈信號201的延遲版本所取樣的第一時脈信號201的上升邊緣。AND閘331產生轉換信號333,其可用於計算Clk 201的周期。接收Clk_p1與Clk_p2中至少一者的AND閘331可由邊緣辨識單元332忽略,以確保亞穩態(metastable)的信號不被取樣。在一具體實施例中,周期運算單元330可設置成定位出下降轉換或同時定位出下降與上升轉換。
如果Clk 201的一上升邊緣於Clk 201的延遲版本Clk_d i-1 and Clk_d i (其中i的範圍由0到N)之間發生,轉換信號333中一或多個位元 t i =Clk_p i & ~Clk_p i-1 為真。轉換信號333 t i 被輸入到邊緣辨識單元332,其在轉換信號333的該序列中尋找第一個一(其中一係為真的一個位元)。該第一邊緣被檢測到的該位置之二元化編碼為rperiod 335,Clk 301的該周期以一延遲311之延遲為單位。
圖3E例示根據一具體實施例中圖3A的相位單元340。相位單元340包括一相位暫存器344、一加法器342、一多工器346、與一相位除法器348。相位單元340自邊緣檢測單元230接收first 235與first_v 236,並自周期運算單元330接收rperiod 335,且產生相位303輸出信號。數值rperiod 335用於相位單元340中以取代相位單元240中的常數ONE。同時,由相位單元340產生的相位之數值被除以rperiod 335來由一快速周期性同步器使用。
First 235為自Clk 201的該上升邊緣到Clk 202的最新轉換的一個度量(單位為時間)。如果檢測到一轉換,例如first_v 236被主張,first 235提供該相位值。當first_v 236被主張時,多工器346選擇first 235值做為該輸出,即下一相位。當未檢測到一轉換時,例如first_v 236未被主張,則多工器346選擇增量的相位345做為下一相位。增量的相位345值由加法器342計算做為加上rperiod 335的前除法器相位343。
該next_phase值被輸入到輸出前除法器相位343數值的相位暫存器344。接著的Verilog可被轉譯成產生在相位單元340中顯示之該邏輯的至少一部份,特別是提供一輸入(next_phase)到相位暫存器344:assign next_phase=first_v?first:predivider_phase+rperiod; 相位暫存器344的輸出,例如前除法器相位343,除以相位除法器348內的rperiod 335來產生相位303值。
圖3F例示根據一具體實施例中圖3A的周期單元350。周期單元350包括一周期暫存器354、一減法器357、多工器356、多工器358與一除法器358。周期單元350接收來自邊緣檢測單元230的first 235、first_v 236、second 237與second_v 238,來自周期運算單元330的rperiod 335、以及來自相位單元340的增量相位345,並產生周期304輸出信號。
如果未檢測到轉換,例如並無first_v 236或second_v 238被主張,該next_period(與周期304)並未改變。否則,如果檢測到兩個轉換,例如first_v 236與second_v 238皆被主張,該next_period由先前轉換的相位second 237減去first 235來計算。如果僅檢測到一個轉換,例如first_v 236被主張,該next_period由先前轉換的相位(增量的相位545)減去first 235來計算。換言之,目前相位235由該最後轉換的相位減除,即如果在Clk 201相同的周期中檢測到一第二轉換時即為second 237,否則即為增量的相位345。除法器348與352的位元數目由rperiod 335中的位元數目決定,例如如果N=16即4個位元。請注意N可為任何整數值,且N不需要為2的次方。
當檢測到一第二轉換時,亦檢測到一第一轉換。當second_v 238被主張時,多工器356選擇second 237的值做為給減法器357的輸入。當未檢測到一第二轉換時,多工器356選擇增量的相位245做為給減法器357的輸入。該減法器自該輸入減去first 235的值來產生一輸出。當檢測到一第一轉換時,多工器358選擇減法器252的輸出做為該下一周期。否則, 多工器358選擇周期暫存器354的輸出做為該下一周期,且周期204的值未改變。
接著的Verilog可被轉譯成產生在周期單元350中顯示之該邏輯的至少一部份,特別是提供一輸入(next_period)到周期暫存器354:assign next_period=first_v?((secondv?second:(pre-divider phase+rperiod))-first):period;該next_period值被輸入到周期暫存器354。周期暫存器354的輸出,例如前除法器周期,除以周期除法器352內的rperiod 335來產生周期304值。
圖3G例示根據一具體實施例中一種用於使用開迴路高解析度相位檢測器300決定相位503與周期504的方法360之另一流程圖。在步驟365,Clk 201的一組延遲的版本由開迴路時脈延遲單元510產生。在步驟370,Clk 202由時脈樣本單元220使用Clk 201的該組延遲的版本進行取樣,以產生在Clk 201的該領域中該序列的樣本225。然後在步驟375,邊緣檢測單元230定位出樣本的225的該序列內任何的邊緣,例如上升、下降或上升與下降。
在步驟372,Clk 201由時脈樣本單元320使用Clk 201的該組延遲的版本進行取樣,以產生在Clk 201的該領域中第一時脈樣本325的該序列。然後在步驟374,周期運算單元330定位出在第一時脈樣本325的該序列內一邊緣,例如上升、下降或上升與下降,並決定rperiod 335,例如Clk 201的該周期。步驟372與374中一或多者可平行於步驟370與375之 一或多者來執行。
在步驟380,相位單元340決定一第一邊緣指示是否被邊緣檢測單元230檢測到,如果沒有,在步驟385,該下一相位被計算成前除法器相位343加上Clk 201的一周期(rperiod 335)之和。然後該下一相位除以Clk 201的一個周期來產生相位203值,例如(pre-divider_phase+rperiod)/rperiod。當邊緣檢測單元230未檢測到第一邊緣指示時,周期304不會改變。否則,當檢測到一第一邊緣指示,在步驟390,相位單元340將該下一相位設定等於由邊緣檢測單元230產生的first 235信號。然後該下一相位除以rperiod 335來產生相位303值。在步驟395,周期單元350決定邊緣檢測單元230是否檢測到一第二邊緣指示,如果是,則在步驟398,周期單元350設定周期304等於second 237值與除以rperiod 335的first 235值之差值。否則,在步驟398,周期單元550將周期304更新為前除法器相位303與Clk 201的一個周期(增量的相位342)之總和與除以Clk 201的一個周期之first 235信號(即rperiod 335)之間的差值。
矩陣相位檢測器
高解析度相位檢測器200與300使用Clk 201的次相位(即延遲的版本)來補捉Clk 202的每一轉換上的Clk 202的相對相位。一周期性同步器的該追蹤能力可被設置成使用高解析度相位檢測器200或300,當Clk 202為一低頻時脈時,對於周期204與相位203的更新被延遲,並降低了該追蹤效能。一矩陣相位檢測器測量Clk 202的均勻分佈的次相位,以改善當Clk 202的頻率為低時的該追蹤效能。一正反器的矩陣被用於測量Clk 202相對於Clk 201的該相位。為了由該矩陣中一列正反器產生一樣本陣列的每 一列,Clk 202的一序列的延遲版本被輸入到正反器的該等不同列,且正反器的每一列由Clk 201的一不同次相位所計時(clocked)。該等正反器的該等輸出被同步化、重新計時,然後用於計算該傳送時脈相對於該接收時脈的該周期與相位。
圖4A例示根據一具體實施例之一種用於定位出一陣列的時脈信號樣本內至少兩個邊緣指示之方法401的流程圖。在步驟402,產生該第一時脈信號的第一組延遲的版本。該第一時脈信號的每一延遲的版本為該第一時脈信號的一不同相位。在步驟405,產生該第二時脈信號的第二組延遲的版本。該第二時脈信號的每一延遲的版本為該第二時脈信號的一不同相位。在步驟406,該第二時脈信號的該第二組延遲的版本使用該第一時脈信號的該第一組延遲的版本進行取樣,以產生在該第一時脈領域中一樣本的陣列。然後在步驟407,至少兩個邊緣指示係位在該樣本陣列之內。該至少兩個邊緣指示每一者為該樣本陣列中一樣本的一上升或下降轉換。該等至少兩個邊緣指示可用於計算該等相位與周期值。
圖4B例示根據一具體實施例之一種用於使用至少兩個邊緣指示來檢測一相位與一周期的方法415之流程圖。完成步驟402、405、406與407即可提供至少兩個邊緣指示。在步驟408,處理該等至少兩個邊緣指示來計算出代表該第二時脈信號相對於該第一時脈信號的一相位之一相位值。在步驟409,處理該等至少兩個邊緣指示來計算出代表該第二時脈信號與該第一時脈信號之間一相對周期的一周期值。
圖4C例示根據一具體實施例的一種矩陣高解析度相位檢測器400。高解析度相位檢測器400包括兩個時脈延遲單元210、一時脈樣本 陣列產生單元412、一邊緣檢測單元430、一相位單元440與一周期單元450。高解析度相位檢測器400接收一第一時脈信號Clk 201與一第二時脈信號Clk 202,並產生兩個數值,即一相位403與一周期404。相位403與周期404的數值之每一者由多位元的信號進行編碼。相位403的值代表該第二時脈信號(Clk 202)相對於該第一時脈信號(Clk 201)的一相位。周期404的值代表第二時脈信號202與該第一時脈信號(Clk 201)之間的一相對周期。該第一時脈信號(Clk 201)與該第二時脈信號(Clk 202)中至少一者可隨時間改變。高解析度相位檢測器400設計成在當該第一時脈信號(Clk 201)及/或該第二時脈信號(Clk 202)的頻率改變時可連續地測量該相位與周期。
一第一時脈延遲單元210為一閉迴路延遲迴路電路,其可產生該第一時脈信號(Clk 201)的N個均勻間隔之不同時脈相位(即Clk 201的延遲版本),特定而言為Clk_rd0,Clk_rd1,Clk_rd2,Clk_rd3,......Clk_rdN,其橫跨Clk 201的一個周期;即,所以Clk 201=Clk_rd0,其與Clk_rdN具有相同的相位。一第二時脈延遲單元210產生該第二時脈信號(Clk 202)的N個均勻間隔之不同時脈相位(即Clk 202的延遲版本),特定而言為Clk_td0,Clk_td1,Clk_td2,Clk_td3,......Clk_tdN,其橫跨Clk 202的一個周期;即,所以Clk 202=Clk_td0,其與Clk_tdN具有相同的相位。Clk 201之該等延遲的版本與Clk 202之該等延遲的版本由時脈樣本陣列產生單元412接收。
在一具體實施例中,第一時脈延遲單元210設計成追蹤Clk 201的該周期中由於電壓、溫度與其它影響造成的變異,而第二時脈延遲單元210設計成追蹤Clk 202的該周期中由於電壓、溫度與其它影響造成的變異。利用這種方式,每一時脈的該等延遲版本並非該最後時脈邊緣的簡單 外插,而是在該時脈的下一邊緣可以使用之前在頻率與相位中的信號變異。一種方式為由產生該時脈本身的該振盪器產生每一時脈的該等次相位。
圖4D例示根據一具體實施例中圖4C的一時脈樣本陣列產生單元412。時脈樣本陣列產生單元412包括複數時脈樣本單元220(例如時脈樣本單元220-0,220-1,......220-N)。如前所述,每一時脈樣本單元220包括正反器222與相對應之複數同步器224,並產生在Clk 201的領域中該第二時脈信號Clk 202之一不同延遲的版本之一序列的樣本。Clk 201的每一延遲的版本Clk_rd0,Clk_rd1,......Clk_rdM被輸入到一不同的時脈樣本單元220以產生該等時脈樣本414的陣列Clk_s(i,j),其中i的範圍由0到M,j的範圍由0到N。
圖4E例示根據一具體實施例中圖2A的邊緣檢測單元430。邊緣檢測單元430包括一AND閘231的陣列,一展開單元424、與一邊緣辨識單元426。邊緣檢測單元430接收由時脈樣本陣列產生單元412產生的該等時脈樣本414的陣列。該等時脈樣本414的陣列被輸入到一AND閘231的陣列來定位出該等時脈樣本陣列內的邊緣指示,例如上升轉換。換言之,該AND閘231的陣列檢測由第一時脈信號Clk 201所取樣之時脈信號Clk 202的每一次相位的上升邊緣。在一具體實施例中,邊緣檢測單元230可設置成定位出為下降轉換或同時為下降與上升轉換的邊緣指示。為了檢測上升邊緣,在該等時脈樣本414的陣列之一行中的時脈樣本,即垂直鄰接的時脈樣本,即做比較來計算一轉換信號陣列421,m(i,j)=~Clk_s(i,j) & Clk_s(i+1,j)。
轉換信號陣列421包含Clk 202之每一次相位的一邊緣指示 (例如one或TRUE值),其中於Clk 201的一最新循環期間檢測到的一上升邊緣。一邊緣指示發生在對應於Clk 202的該次相位之該行(j)中,以及對應於Clk 201的該次相位之該列(i)中,其間Clk 202的該次相位具有一轉換。由連接轉換信號陣列421中至少兩個邊緣指示所形成的該線同時指明Clk 202與Clk 201信號之相對周期與相位。該線的斜率指示出相對周期404,且該線與一垂直軸的截距指示出相對相位403。
當Clk 202信號比Clk 201信號要慢時,Clk 202信號之所有該等次相位針對Clk 201信號之每一循環將不會被檢測到。同時,Clk 201的次相位針對Clk 201的部份次相位將不會檢測到轉換。因此,連接兩個邊緣轉換之一條線的斜率可能大於1。下表1例示轉換信號陣列421當中,當Clk 202信號的一周期為Clk 201信號之一周期的7/3,即周期404為7/3,而Clk 202信號相對於Clk 201信號之相位403為-7/8UI。基於周期404與相位403,Clk 202信號之主相位之未來轉換可被預測發生在(-7/8+7N/3),N為整數。如表1所示,表1中該垂直軸相較於一習用的笛卡兒座標系統為反向(inverted)的,即i在數值上沿著該垂直軸向下移動時為增加,由i=0到i=7,而j沿著該水平軸自左移動到右時數值增加。
如表2所示,當Clk 202信號比Clk 201信號要快時,由至少兩個邊緣指示(皆為一)所形成的一條線之斜率小於1。因此,Clk 202信號之數個次相位可被Clk 201信號之相同的次相位檢測到。同時,Clk 201的部份次相位可被Clk 201信號之多個次相位檢測到。
表2例示轉換信號陣列421中該相對周期,即周期404,為7/11,而相位403為1/4與7/8UI的狀況(即連接邊緣指示的兩條不同的線於Clk 202信號次相位相對於Clk 201信號次相位的1/4與7/8處的截距。基於表2中所示的周期404與相位403,Clk 202信號之主相位的未來轉換可被預測發生在(7/8+7N/11),N為整數值。
為了由表1與表2中所示之轉換信號陣列421計算周期404與相位403,轉換信號陣列421首先被展開,所以每行最多有一單一邊緣指示(一),所以無邊緣指示在一列之上及一行之右方具有另一個邊緣指示。展開可藉由針對第i列來保持一繞計數w(i),例如列r(i)。該繞計數(wrap count)為在列r(i)之上的列當中行7中的邊緣指示數目例如,對於表2,i=0到7 之該等繞計數w(i)為0,0,1,1,1,1,1,2。在計算該繞計數之後,在轉換信號陣列421中每一列向右位移(N+1)w(i)行,例如列0到7被位移0,0,8,8,8,8,8,16行。換言之,針對N=7,及轉換信號陣列421的m(i,j)項木,展開轉換信號陣列423的每一項目u(i,j)可依下式計算:u(i,j)=m(i,j(mod 8)) & (w(i)==(j>>3)).
總而言之,該繞計數用於將每一列解多工到一個別的展開位置。請注意當在轉換信號陣列421的該等行中無一者包括一個以上的邊緣指示時,轉換信號陣列421等於展開轉換信號陣列423。表2的展開版本示於表3。
展開單元424設置成由轉換信號陣列421產生展開轉換信號陣列423。一旦轉換信號陣列421被展開,周期404與相位403可基於由邊緣檢測單元430輸出的斜率422、截距428與更新425信號做計算。邊緣辨識單元426可以計算由展開轉換信號陣列423中至少兩個邊緣指示所指定的一條線之斜率422與垂直截距428(i軸的截距)。邊緣辨識單元426設置成基於展開轉換信號陣列423計算斜率422與截距428。當在轉換信號陣列421中出現少於兩個邊緣指示時,邊緣辨識單元426使一更新425信號無 效。當更新425信號被主張時,斜率422與截距428數值用於更新相位403與周期404數值。
可以使用數種技術來決定一線性公式,藉此計算斜率422與垂直截距428。在一具體實施例中,在展開轉換信號陣列423中每一邊緣指示的位置被輸入到一線性回歸。在另一具體實施例中,定位出兩個邊緣指示,例如最上方邊緣指示與最下方邊緣指示之任何組合,並繪製一條線通過該等兩個邊緣指示。來自Clk 201及/或Clk 202之先前循環的資訊可被加入到斜率與截距的計算中來改善經計算的截距428與斜率422之準確度。
例如,被定位來決定表1中的一條線之該等兩個邊緣指示為u(0,3)與u(7,6)處的邊緣指示。斜率422被計算成Δi/Δj,得到周期404為7/3。使用線性公式i=7/3(j)+b,其中b為截距428,其係計算為-7,對應於相位403的-7/8UI。在另一示例中,定位來決定表3中的一條線之該等兩個邊緣指示為u(0,6)與u(7,17)處的該等邊緣指示。斜率422被計算成Δi/Δj,得到周期404為7/11。使用線性公式i=7/11(j)+b,截距428 (b)被計算成-42/11,其對應於-21/44UI。由於該包繞(wrapping),該截距亦為1/4與7/8。該截距可直接由在一行中出現一邊緣指示來檢測,其為N+1的倍數(即等於零mod (N+1))。當使用來自表3的u(0,5)與u(7,17)處的該等邊緣指示時,斜率422被計算成Δi/Δj,得到周期404為7/12。使用線性公式i=7/11(j)+b,截距428 (b)被計算成-42/12,其對應於-7/16UI。
圖4F例示根據一具體實施例中圖4C的一相位單元440。相位單元440自邊緣檢測單元430接收截距235與更新425的數值,並產生相位403值。相位單元440包括一相位暫存器444、一增量器442.與一多工 器446。如果檢測到至少兩個邊緣指示(例如更新425被主張),則多工器446選擇截距428值做為該輸出,即下一相位。當未檢測到至少兩個邊緣指示時(例如更新425未被主張),則多工器446選擇增量的相位445做為該下一相位。增量的相位445值由增量器442將相位403遞增ONE來計算。該常數ONE代表Clk 201的一個周期。在先前示例中相位403值代表一個UI的八分之幾,該常數ONE的二元值為01000,代表8/8。
該next_phase值被輸入到輸出相位403信號之相位暫存器444。接著的Verilog可被轉譯成產生在相位單元440中顯示之該邏輯的至少一部份,特別是提供一輸入(next_phase)到相位暫存器444:assign next_phase=update?intercept:phase+`ONE;圖4G例示根據一具體實施例中圖4C的一周期單元450。該周期單元450包括一周期暫存器454與一多工器458。周期單元450自邊緣檢測單元430接收斜率422與更新425,並產生周期404輸出信號。如果未檢測到兩個或更多的邊緣指示(例如更新425未被主張),則該next_period(與周期404)不會改變。否則,如果檢測到至少兩個邊緣指示(例如更新425被主張),則該next_period被設定為斜率422。多工器458當更新425被主張時選擇斜率422。否則,多工器458選擇周期暫存器454的輸出(即該前除法器周期)做為該下一周期。該next_period值被輸入到周期暫存器454。
圖4H例示根據一具體實施例之一種用於決定一相位403與一周期404的方法之另一流程圖。步驟402,405與406由高解析度相位檢 測器400完成來產生轉換信號陣列421。在步驟455,邊緣檢測單元430定位出轉換信號陣列421內任何的邊緣指示。在步驟462,邊緣檢測單元430決定沒有任何邊緣指示被定位,且如果是,則更新425信號被使其無效(negated),所以相位403使用一先前相位來前向外插,且周期404未被更新。
否則,如果定位出至少一邊緣指示,則在步驟466,邊緣檢測單元430決定轉換信號陣列421是否必須被展開(unwrapped),如果是,則在步驟468,邊緣檢測單元430展開轉換信號陣列421來產生展開的轉換信號陣列423。當不需要展開時,展開轉換信號陣列423等於轉換信號陣列421。在步驟475,至少兩個邊緣指示由邊緣檢測單元430處理來計算等於相位403的截距428。在步驟480,該等至少兩個邊緣指示由邊緣檢測單元430處理來計算等於周期404的斜率422。當在目前的展開轉換信號陣列423中僅檢測到一個邊緣指示,針對一最新的展開轉換信號陣列423所檢測的該最新邊緣指示被做為該第二邊緣指示來計算斜率422與截距428。只有當Clk 202信號非常慢時(即Clk 202信號的周期為Clk 201信號之周期長度的N倍長),才發生少於兩個的邊緣指示,。
圖5A例示根據一具體實施例的另一種矩陣相位檢測器,即高解析度相位檢測器500。高解析度相位檢測器500包括兩個開迴路時脈延遲單元310、兩個時脈樣本單元320、兩個周期運算單元330、一時脈樣本陣列產生單元412、一邊緣檢測單元530、一相位單元540與一周期單元550。高解析度相位檢測器500接收一第一時脈信號Clk 201與一第二時脈信號Clk 202,並產生兩個數值,即一相位503與一周期504。相位503與周期504的數值之每一者由多位元的信號進行編碼。相位503的值代表該 第二時脈信號(Clk 202)相對於該第一時脈信號(Clk 201)的一相位。周期504的值代表第二時脈信號(Clk 202)與該第一時脈信號(Clk 201)之間的一相對周期。該第一時脈信號(Clk 201)與該第二時脈信號(Clk 202)中至少一者可隨時間改變。高解析度相位檢測器500設計成在當該第一時脈及/或該第二時脈的頻率改變時可連續地測量該相位與周期。
開迴路時脈延遲單元310相較於高解析度相位檢測器400取代高解析度相位檢測器500中的時脈延遲單元210。如先前配合圖3B之說明,不像是時脈延遲單元210。由開迴路時脈延遲單元310產生的該等N個時脈相位並不需要實際上橫跨一個時脈循環,因為開迴路延遲單元320並不包括一相位比較器215來控制每一延遲元件311延遲Clk 201的量來產生Clk 201的該等延遲的版本。延遲元件311的數目必須足夠多,所以可取樣Clk 201的至少一個周期。
在一較佳具體實施例中,因為使用時脈延遲單元210的該閉迴路設計,關聯於Clk 201信號之時脈延遲單元310必須具有一延遲來追蹤Clk 201信號的周期中由於電壓、溫度或其它變化造成的變異,且關聯於Clk 202信號的時脈延遲單元310必須具有一延遲來追蹤Clk 202信號的周期中由於電壓、溫度與其它變化造成的變異。
每一時脈樣本單元320包括複數正反器322。一第一時脈樣本單元320接收由第一時脈延遲單元310產生的Clk 201之該等延遲的版本,並產生該第一時脈信號Clk 201之第一序列的樣本。執行取樣該第一時脈信號(Clk 201)來計算Clk 201的該周期,其單位為由一延遲元件311引入的該延遲。第一周期運算單元330接收該第一序列的樣本,並計算Clk 201 的一周期rperiod,如先前配合圖3D所述。該rperiod由第一周期運算單元330輸出至相位單元540。周期運算單元330亦產生一第一時脈遮罩,用以指明該轉換信號陣列中那些列被包括在Clk 201的一單一周期內。
一第二時脈樣本單元320接收由第二時脈延遲單元310產生的Clk 202之該等延遲版本,並產生該第二時脈信號Clk 202之一第二序列的樣本。執行取樣該第二時脈信號來計算Clk 202的該周期,其單位為由一延遲元件311引入的該延遲。第二周期運算單元330接收該第二序列的樣本,並產生一第二時脈遮罩來指明該轉換信號陣列中那些行被包括在Clk 202的一單一周期內。該第一時脈遮罩與該第二時脈遮罩由邊緣檢測單元530應用到該轉換信號陣列,以確保可檢測到Clk 201與202之該等周期內的轉換。
圖5B例示根據一具體實施例中圖5A的一邊緣檢測單元530。邊緣檢測單元530包括一AND閘231的陣列,一展開單元524、一周期遮罩單元526與一邊緣辨識單元526。邊緣檢測單元530接收由時脈樣本陣列產生單元412產生的該等時脈樣本414的陣列。該等時脈樣本414的陣列被輸入到一AND閘231的陣列來定位出該等時脈樣本陣列內的邊緣指示,例如上升轉換。換言之,該AND閘231的陣列檢測由第一時脈信號Clk 201的該等次相位所取樣之該時脈信號Clk 202的每一次相位的上升邊緣。在一具體實施例中,邊緣檢測單元530可設置成定位出為下降轉換(例如藉由切換AND閘231的該等輸入)或同時為下降與上升轉換(例如藉由切換該等AND閘為XOR閘)的邊緣指示。為了檢測上升邊緣,在該等時脈樣本414的陣列之一行中的時脈樣本,即垂直鄰接的時脈樣本,即做比較來 計算一轉換信號陣列521,m(i,j)=~Clk_s(i,j) & Clk_s(i+1,j)。
轉換信號陣列521由展開單元524接收,並產生展開的轉換信號陣列523。轉換信號陣列521與展開的轉換信號陣列523包含Clk 202的每一次相位之一邊緣指示(例如一或TRUE值),其為於Clk 201的至少一循環期間檢測到的一上升邊緣。周期遮罩單元526接收展開的轉換信號陣列523與時脈遮罩536,並產生遮罩的轉換信號陣列527。因為開迴路時脈延遲單元310並不需要實際上橫跨一時脈循環,所以提供一列時脈遮罩與一行時脈遮罩做為對於邊緣檢測單元530之輸入的時脈遮罩536。在位在Clk 201與Clk 202的單一周期之外的展開轉換信號陣列523內的邊緣指示被時脈遮罩536全部歸零,以產生經遮罩的轉換信號陣列527。
對應於Clk 202的該次相位之該行(j)中以及在對應於Clk 201的該次相位之該列(j)中的一邊緣指示發生在Clk 202的該次相位具有一轉換的期間。由經遮罩的轉換信號陣列527中至少兩個邊緣指示所形成的該線同時指示出Clk 202與Clk 201信號之相對周期與相位。該線的斜率指示出相對周期504,而該線與一垂直軸的該截距指示出相對相位503。如先前配合圖4E所述,基於經遮罩的轉換信號陣列527,邊緣辨識單元526產生斜率522、截距528與更新525信號。
如圖5A與5B所示,開迴路時脈延遲單元310用於產生Clk 201與Clk 202的該等次相位。在另一具體實施例中,開迴路時脈延遲單元310可用於產生Clk 201或Clk 202的該等次相位,而閉迴路時脈延遲單元310可用於產生另一時脈信號的該等次相位。
圖5C例示根據一具體實施例中圖5A的一相位單元540。 相位單元540自邊緣檢測單元530接收截距528與更新525的數值,並產生相位503值。相位單元540包括一相位暫存器544、一增量器542、一多工器546與一相位除法器548。如果檢測到至少兩個邊緣指示(例如更新525被主張),則多工器546選擇截距528值做為該輸出,即下一相位。當未檢測到至少兩個邊緣指示時(例如更新425未被主張),則多工器546選擇增量的相位545做為該下一相位。增量的相位545值由加法器542計算做為加上rperiod 535的前除法器相位543。
該next_phase值被輸入到輸出前除法器相位543數值的相位暫存器544。相位暫存器544的輸出,例如前除法器相位543,除以相位除法器548內的rperiod 535來產生相位503值。接著的Verilog可被轉譯成產生在相位單元540中顯示之該邏輯的至少一部份,特別是提供一輸入(next_phase)到相位暫存器544:assign next_phase=update?intercept:predivider_phase+rperiod;圖5D例示根據一具體實施例中圖5A的一周期單元550。周期單元550包括一周期暫存器554、一多工器558與一除法器552。周期單元550接收來自邊緣檢測單元530的斜率522與更新525與來自第一周期運算單元330的rperiod 535,並產生周期504的輸出信號。如果未檢測到兩個或更多的邊緣指示(例如更新525未被主張),則該next_period(與周期504)不會改變。否則,如果檢測到至少兩個邊緣指示(例如更新525被主張),則該next_period被設定為斜率522。換言之,當更新525被主張時多工器 558選擇斜率522。否則,多工器558選擇周期暫存器554的輸出(即該前除法器周期)做為該下一周期。該next_period值被輸入到周期暫存器554。周期暫存器554的輸出(即前除法器周期)除以周期除法器552內的rperiod 535來產生周期504值。
圖5E例示根據一具體實施例之一種用於決定一相位503與一周期504的方法506之另一流程圖。在步驟502,一第一時脈延遲單元210產生該第一時脈信號Clk 201的第一組延遲的版本。在步驟505,一第二時脈延遲單元210產生該第二時脈信號Clk 202的第一組延遲的版本。在步驟506,時脈樣本陣列產生單元412使用該第一時脈的該第一組延遲的版本來取樣該第二時脈的該第二組延遲的版本,以產生在該第一時脈領域中對應於Clk 201的一時脈樣本陣列。
在步驟501,第一時脈樣本單元220使用該第一時脈信號的該第一組延遲的版本來取樣該第一時脈信號。在步驟508,第一周期運算單元230計算該第一時脈的周期rperiod 535,並產生對應於該第一時脈的一單一周期之一第一時脈遮罩。在步驟509,時脈樣本單元220使用該第二時脈信號的該第二組延遲的版本來取樣該第二時脈信號。在步驟510,第二周期運算單元230計算該第二時脈的周期,並產生對應於該第二時脈的一單一周期之一第二時脈遮罩。
在步驟566,邊緣檢測單元430決定轉換信號陣列521是否必須被展開,如果是,則在步驟568,邊緣檢測單元530展開轉換信號陣列521來產生經展開的轉換信號陣列523。當不需要展開時,經展開的轉換信號陣列523等於轉換信號陣列521。在步驟527,該等第一與第二時脈遮罩 被應用到展開轉換信號陣列523來產生經遮罩的轉換信號陣列527。在步驟507,邊緣檢測單元530定位出經遮罩的轉換信號陣列527內的任何邊緣指示,在步驟562,邊緣檢測單元530決定是否並無邊緣指示被定位,如果是,在步驟565,更新525信號被無效,所以相位503使用一先前的相位來前向外插,且周期504未被更新。
否則,如果定位出至少兩個邊緣指示,則在步驟575,在遮罩轉換信號陣列527中被定位的至少兩個邊緣指示由邊緣檢測單元530處理來計算等於相位503的截距528。在步驟580,在遮罩轉換信號陣列527中被定位的該等至少兩個邊緣指示由邊緣檢測單元530處理來計算等於周期504的斜率522。當在目前的遮罩轉換信號陣列527中僅檢測到一個邊緣指示,針對一最新的遮罩轉換信號陣列527所檢測的該最新邊緣指示被做為該第二邊緣指示來計算斜率522與截距528。當Clk 202信號非常慢時,必須僅發生少於兩個的邊緣指示,即Clk 202信號的周期為Clk 201信號之周期長度的N倍長。
圖6A例示在其中可以實作多種先前具體實施例之多種架構及/或功能之示例性積體電路元件650。積體電路元件650包括一邏輯單元655、一同步器660與一邏輯單元665。邏輯單元655接收時脈202,並產生與時脈202同步的輸出。該等輸出由同步器660接收,並由時脈202的該時脈領域傳送到時脈201的該時脈領域,其係使用由高解析度相位檢測器200,300,400或500所計算的該等相位與周期值,即相位203,303,403與503,及周期204,304,404與504。被同步於時脈201的該時脈領域的該等傳送的輸出由邏輯單元665接收。
變異容忍周期性同步器
一旦獲得周期203與周期204值時,一變異容忍同步器可同步自對應於該第一時脈信號Clk 202的一第二時脈領域傳送,並在對應於該第二時脈信號Clk 201的一第一時脈領域中接收的信號。該變異容忍同步器可以容忍在該等第一及/或第二時脈信號之時脈周期中的快速變異,承受在該第一時脈信號中相對於該第二時脈信號之每個循環之相位中的最大變異。因此,該變異容忍同步器可用於利用電壓追蹤時脈產生器的積體電路元件中。該變異容忍同步器亦可同步化當該等第一及/或第二時脈信號能夠改變頻率時於電力狀態轉換期間具有低潛時的信號。
如前所述,高解析度相位檢測器200,300,400或500可測量Clk 202的下一相位與下一周期,並於Clk 201的每一循環結束時更新相位203與周期204的數值,例如在Clk 201的該上升邊緣處。該相位指示出由Clk 202的最後轉換到Clk 201的最後轉換的時間。該周期為Clk 202的兩個轉換之間的時間。
為了執行具有低潛時的同步化,該變異容忍同步器在Clk 202的多個轉換處取樣要被同步的該等信號。在一具體實施例中,使用兩個暫存器來獨立地取樣「偶數」與「奇數」轉換。換言之,在Clk 202的每一個相隔的循環處一「偶數」暫存器取樣與儲存要被同步的該等信號。一「奇數」暫存器取樣與儲存在Clk 202的非偶數循環(奇數循環)上要被同步的該等信號。每一相位203值係關聯於該經測量的相位係對應於Clk 202的一偶數邊緣還是一奇數邊緣的指示,當兩個以上的暫存器取樣並儲存要被同步的該等信號時,該指示確定出Clk 202的該個別周期性轉換,即第一邊緣、 第二邊緣、第三邊緣等。
因為重新計時與同步化延遲,相位203與周期204值反映了在過去的Clk 201的D個循環之Clk 202的狀態。為了選擇取樣被同步的該等信號之適當暫存器的一輸出(偶數/奇數或第一/第二/第三邊緣等),在Clk 201的該等未來循環中相位203的一或多個數值被外插。更特定而言,在未來的S=D+1個循環之相位203由相位203與周期204的該等目前數值進行外插。當D大於0時,相位203的中介未來數值亦被外插。包括相位203的該等外插值的一系列的相位值被搜尋來辨識為用於取樣要被同步之該等信號的該最新被寫入之暫存器,其可安全地選擇來產生在對應於Clk 201的該第一時脈領域中經同步的信號。
為了降低由經由該變異容忍同步器傳送的該等信號所引致的該潛時,基於該等系列的相位值,辨識出在Clk 201的下一邊緣之前發生的Clk 202的該邊緣。被辨識出的該邊緣需要具有足夠的時序餘裕,藉此該等取樣的信號為穩定。關聯於該經辨識的邊緣(偶數/奇數或第一/第二/第三邊緣)之暫存器被選擇來由該變異容忍同步器輸出,以產生該等同步的信號。
圖6B例示根據一具體實施例之一種用於同步化信號的方法600之流程圖。在步驟605,代表一第二時脈信號相對於一第一時脈信號的一相位之一相位值由該變異容忍同步器接收。在步驟610,代表該第二時脈信號與該第一時脈信號之間的一相對周期一周期值由該變異容忍同步器接收。在步驟615,基於該相位值與該周期值,對應於該第一時脈信號的下一轉換計算出該第二時脈信號相對於該第一時脈信號的一外插的相位值。
現在將提供關於一變異容忍同步器之多種選擇性架構與特 徵之更多例示性資訊。必須特別注意到以下的資訊係為了例示性目的而提出,且不應以任何方式視其為限制。任何以下的特徵可以視需要加入或不排除所述的其它特徵。
提供相位203(phase)值與周期204(period)值,外插的相位值可如下計算:p i =phase+S-i*period
其中i=[0,X]及S在UI中。其中X被選擇來確保至少一外插的相位值大於一。大於一代表該外插的相位值發生在Clk 201的該目前邊緣之後,即在未來發生。每一外插的相位值p i 為自Clk 202的轉換i到Clk 201的下一轉換的時間。
圖6C例示根據一具體實施例中兩個時脈信號Clk 201與Clk 202的波形。在圖6C所示的該示例中,Clk 201的頻率為1GHz(1000ps周期),而Clk 202的頻率為621MHz(1610ps周期)。相位203值為8(即該二元點的右方4個位元,相位=0.5)。相位203值係關聯於一偶數邊緣指示。周期204值為26(具有在該二元點右方4個位元的固定點格式之1.61)。相位203與周期204值反映出在過去的Clk 201之D=3個循環之Clk 202的狀態,所以S=4。
如圖6C所示,在時間t=0接收的相位203值對應於在時間t=-4之Clk 201與Clk 202的狀態,其係早於時間t=0之Clk 201的四個循環。在時間t=0,該變異容忍同步器選擇該偶數或奇數暫存器來取樣要被同步的該等信號。如前所述,該變異容忍同步器先計算外插的相位值來基於相位203值與周期204值產生一系列的外插相位。
在時間t=-4,Clk 202的一上升邊緣發生在Clk 201的接收器眼睛的中間處,即Clk 201的兩個上升邊緣之間的一半處。假設高解析度相位檢測器200或500分別包括N=16個延遲元件211或511,周期203值為26,其單位為Clk 201的周期之1/16或1/16UI。單位為1/16UI的S為4*N,所以S=64/16UI。然後該變異容忍同步器計算一系列的外插相位值pi,單位為1/16UI,如下示:p0=8+64=-72(偶數)
p1=8+64-26=-46(奇數)
p2=8+64-2*26=-20(偶數)
p3=8+64-3*26=6(奇數)
p4=8+64-4*26=32(偶數)
該變異容忍同步器搜尋該等系列的外插相位值來尋找於時間t=0跨越Clk 201的轉換之該等兩個外插的相位值。跨越時間t=0的該等兩個外插相位值提供最接近於發生在t=0的Clk 201之下一轉換的Clk 202之該等兩個轉換的時間。Clk 202的該等轉換之一為一偶數邊緣,而另一者為一奇數邊緣。為了確保該最大可能的時序餘裕,該變異容忍同步器可設置成選擇具有較大餘裕的該外插相位值。除了最小化潛時之外,該同步器可設置成選擇提供適當餘裕的該最小負值外插相位值,用於在關聯於Clk 202的該時脈領域中的輸入信號之安全地取樣。該最小負值相位值為最接近於Clk 201的下一轉換之該最新的外插相位值。
如圖6C所示,跨越t=0時Clk 201之邊緣的該等兩個外插相位值為p2=-20(偶數)與p3=6(奇數)。換言之,Clk 202的一偶數邊緣 發生在Clk 201的下一邊緣(於時間t=0)之前一Clk 201循環的20/16處,而Clk 202的一奇數邊緣發生在Clk 201的下一邊緣之後一Clk 201循環的6/16處。該變異容忍同步器設置成辨識該外插相位值p2=-20作為該安全外插的相位值,並選擇對應於該外插的相位值p2的該「偶數」暫存器。選擇該外插的相位值p2提供一Clk 201循環的20/16,即時序餘裕的1375ps。在一具體實施例中,為了降低潛時,該最小時序餘裕被加入到每一外插的相位,且該變異容忍同步器選擇最接近於t=0之該負值外插相位值。
如果Clk 201及/或Clk 202的該周期於一電壓瞬變期間平滑地變化,該等外插的相位值之準確度可藉由將一第二階項目加入到該外插相位值公式中來改善。該第二階項目做為一序列的周期204值之斜率。每當周期204值被更新時,每一連續的周期204值之不同數值dperiod可被計算成:dperiod=new_period-old_period.
使用該第二階項目來計算外插的相位值之公式為:p i =phase+S-i*period-i 2 *dperiod
但是,因為周期204值反映出在過去Clk 201與Clk 202之狀態,該dperiod值亦延滯,且該等外插的相位值亦將延滯,且不會做為Clk 201的D個循環之改變的周期。
圖6D例示根據一具體實施例中兩個時脈信號Clk 201與Clk 202的其它波形。在時間t=-4,Clk 202之一上升邊緣發生在Clk 201的該接收器眼睛(eye)中間,即Clk 201的兩個上升邊緣之間的中間處。假設高解析度相位檢測器200,300,400或500包括16個延遲元件211,周期203值為 26/16,且dperiod被計算為-2/3。然後該變異容忍同步器計算一系列的外插相位值p i ,其單位為Clk 201的該周期之1/16,如下:p0=8+64=-72(偶數)
p1=8+64-26+(2/3)=-47(奇數)
p2=8+64-2*26+4*(2/3)=-222/3(偶數)
p3=8+64-3*26+9*(2/3)=0(奇數)
p4=8+64-4*26+16*(2/3)=211/3(偶數)
該變異容忍同步器搜尋該等系列的外插相位值來尋找於時間t=0跨越Clk 201的轉換之該等兩個外插的相位值。跨越時間t=0的該等兩個外插相位值提供最接近於Clk 201之下一轉換的Clk 202之該等兩個轉換的時間。Clk 202的該等轉換之一為一偶數邊緣,而另一者為一奇數邊緣。為了確保該最大可能的時序餘裕,該變異容忍同步器可設置成選擇具有較大餘裕的該外插相位值。另外,該變異容忍同步器可設置成選擇具有一安全餘裕的該最小負值相位值。
如圖6D所示,跨越t=0時Clk 201之邊緣的該等兩個外插相位值為p2=-222/3(偶數)與p3=6(奇數)。該變異容忍同步器設置成辨識該外插的相位p2=-222/3成為該安全外插相位值,並選擇對應於該外插相位p2的該「偶數」暫存器。因為該時序餘裕為0,該外插的相位p3=0不能被選擇,且Clk 201與Clk 202的該等邊緣可以重合。
對於選擇一安全的外插相位值時最差狀況的時間係發生在當該等偶數與奇數外插相位值與t=0等距離(Clk 201的目前轉換),因為該時序餘裕為Clk 201的該周期之一半Tt/2。該時序餘裕需要容納在該等測量 的相位203與周期204數值中的該等誤差。在相位203值的測量中的誤差包括量化誤差½ LSB(先前示例中Clk 201之周期的1/32)加上高解析度相位檢測器200,300,400或500中任何的系統性誤差。在相位204值的測量中的誤差包括量化(quantization)加上乘以i的系統性誤差。i的最大值為Sft/fr,其中ft與fr分別為Clk 202與Clk 201的該等頻率。該時序餘裕亦需要容納由於i個循環當中累積的電壓瞬變造成的Clk 201及/或Clk 202之該等周期的變異。
例如,假設相位203值與周期204值的測量誤差被限制在Clk 201的該周期之1/32 (31ps),則Clk 202的周期至少為1000ps,即imax=6,且該不讓入內(keepout)區域為50ps寬。該不讓入內區域為在Clk 201的一邊緣之任一側上時間的臨界值,其間一外插的相位值將不被視為安全。該測量誤差共為7*31ps=217ps。當該測量誤差與該不讓入內區域自Clk 202的該周期中扣除時,1000ps-217ps=733ps維持來容許於6個循環上的一周期變異。733ps中經歷6個循環,即平均超過每一循環120ps,或假設為一線性變異,由該間隔開始處的每循環0ps掃到(sweep)該間隔的結束處的每循環240ps。
如果需要,該時序餘裕可藉由在該同步器中使用更多的暫存器來增加。例如,除了將邊緣分成偶數與奇數,可使用三個暫存器來將邊緣標示為第一、第二與第三。使用三個獨立的暫存器可提供Clk 202的一完整循環做為時序餘裕。使用兩個暫存器提供一Clk 202周期的1/2為一時序餘裕。使用三個暫存器提供一Clk 202周期的一時序餘裕,而使用四個暫存器提供兩個Clk 202周期的一時序餘裕。最接近於Clk 201邊緣的該目前邊 緣之外插的相位值為該最新的外插相位值,且當該最新的外插相位值符合該時序餘裕需求時,即考慮為安全的外插相位值。對應於該安全外差相位值的暫存器被選擇來產生該等同步的信號。
圖7A例示根據一具體實施例之一種變異容忍周期性同步器700。變異容忍同步器700包括一記錄的信號單元710、一相位系列外插單元705與一選擇單元715。一高解析度相位檢測器200,300,400或500可耦合於變異容忍同步器700來提供相位203值與周期204值。變異容忍周期性同步器700接收同步於Clk 202、Clk 201、Clk 202、相位203值與周期204值的該等輸入信號701,並產生同步於Clk 201的該等輸出信號711。
經記錄(registered)的信號單元710接收同步於Clk 202的該等輸入信號701,於Clk 202的不同循環處取樣該等輸入信號701(奇數/偶數或第一/第二/第三邊緣等),並儲存針對在個別的暫存器中針對Clk 202之不同循環的該等經取樣的輸入信號。相位系列外插單元705接收相位203與周期204數值,並運算提供給選擇單元715的一系列外插的相位值。選擇單元715辨識出該等系列的外插相位值中最接近於Clk 201的目前轉換之一安全外插相位值,而提供適當的時序餘裕。
如果未發現一安全外插相位值,選擇單元715指示出藉由使一致能信號無效(negate)並針對Clk 201的目前循環的更新被除能的該等輸出信號,並未能發現到安全的外插相位值。當由選擇單元715辨識出一安全外插相位值,選擇單元715設置經記錄的信號單元710來選擇對應於該安全外插相位值的該暫存器以產生該等輸出信號711。當針對該等外插的相位值中至少一者存在有適當的時序餘裕時,該致能信號必須被致能,所以 該等輸入信號701的該等個別記錄的版本中之一者被選擇做為同步化的輸出信號711來輸出。總而言之,變異容忍周期性同步器700選擇對應於該安全外插相位值的該等輸入信號701之一取樣的版本,做為同步於Clk 201的該等輸出信號711。
圖7B例示根據一具體實施例中圖7A的記錄信號單元710。記錄信號單元710接收該等輸入信號710、Clk 201、Clk 202、一選擇717與一致能718。選擇717與致能718由選擇單元715基於該等系列的外插相位值來產生。一偶數暫存器702於Clk 202的「偶數」轉換處取樣該等輸入信號701,而一奇數暫存器703於Clk 202的「奇數」轉換處取樣該等輸入信號701。選擇717選擇偶數暫存器702或奇數暫存器703的該輸出。當致能718被主張時,暫存器702與703中經選擇的輸出於Clk 201的轉換處被取樣,並由一暫存器708輸出做為該等輸出信號711。當致能718被失效時,該等輸出信號711由暫存器708維持,且不會於Clk 201的轉換處被更新。
圖7C例示根據一具體實施例之一種用於同步化信號的方法750之另一流程圖。在步驟755,相對於一第一時脈信號Clk 201之代表一第二時脈信號(例如Clk 202)的一相位之一相位203值由變異容忍同步器700接收。在步驟760,代表該第二時脈信號與該第一時脈信號之間一相對周期的一周期204值由變異容忍同步器700接收。在步驟765,變異容忍同步器700決定周期204值是否正在改變,如果是,則一系列的外插相位值使用相位203值、周期204值與該變化的周期值(即周期204值的斜率)進行計算。
如果在步驟765,變異容忍同步器700決定周期204值未在改變,則在步驟775,基於相位203值與周期204值計算對應於該第一時脈 信號的下一轉換之一系列的外插相位值。請注意步驟775,周期204值的斜率為零,所以在一具體實施例中可結合步驟770與775。在步驟780,變異容忍同步器700基於相位203值與周期204值的測量誤差,以及由於電壓及/或電流瞬變造成之周期204值的變異產生的誤差而決定一時序餘裕。
在步驟785,於該第一時脈的轉換處,變異容忍同步器700基於該時序餘裕在該等系列的外插相位值中辨識出亦為一安全外插值的一最新的外插相位值。當最接近於Clk 201的下一轉換之該外插相位值無法滿足該時序餘裕時,滿足該時序餘裕的下一個最新的外插相位值可被選擇做為該安全外插相位值。在步驟790,變異容忍同步器700決定是否辨識出一安全外插相位值,如果不是,則在步驟794,變異容忍同步器700維持目前的輸出信號711。否則在步驟792,變異容忍同步器700由該暫存器輸出之對應於該安全外插相位值的該等信號來產生該等輸出信號711。
推測式周期性同步器
當應用該時序餘裕時,每一外插的相位值成為一外插的相位值間隔或範圍,例如[pi-,pi+],而非一單一值pi。當該等時序餘裕增加時,該等外插相位值間隔的大小亦增加,且更為困難地辨識出Clk 201的下一邊緣之一安全外插相位值。該最新外插相位值間隔可包括Clk 201的下一轉換。該下一個最新外插相位值間隔亦可包括Clk 201的下一轉換。如果可辨識出一安全外插相位值,關聯於該經辨識的安全外插相位值間隔的該潛時可比關聯於該最新外插相位值間隔的該潛時要大數個循環。
圖8A例示根據一具體實施例中兩個時脈信號Clk 201與Clk 202的波形與一系列外插的相位間隔[pi-,pi+]。當i增加時,該時序餘裕亦 增加,所以每一連續的外插相位值間隔之範圍由p0增加到p4。如圖8A所示,該對外插的相位值p3與p4跨越t=0之Clk 201的下一轉換,且該外插的相位值p3為該最新的外插相位值。但是,p3的該外插相位值間隔[p3-,p3+]包括t=0。因此,對應於該外插相位值p3的該記錄的信號並非一安全的外插相位值,因為並未提供適當的時序餘裕。如果t=0未包括在該外插相位值間隔[p3-,p3+]內,該外插相位值p3將為一安全的外插相位值。針對圖8A所示的該示例,該外插的相位值p2為安全的外插相位值。當選擇對應於該外插相位值p2的該「較舊」的記錄信號而非對應於該外插相位值p3的最新的記錄信號時,一變異容忍同步器的潛時即增加。
如前所述,該時序餘裕可藉由增加用於取樣Clk 202的不同轉換之該等輸入信號的暫存器數目來降低。當該等外插相位值間隔的範圍非常大時,取樣該等輸入信號的暫存器數目會需要增加來尋找安全的一外插相位值。降低該時序餘裕與該等外插相位值間隔的範圍即降低該變異容忍同步器的潛時。例如,一第三暫存器可被包括在如圖7B所示的記錄信號單元710,所以該等輸入信號701在Clk 202的每一第一、第二與第三循環處進行取樣,而不是在Clk 202的偶數與奇數循環上取樣。可用來執行低潛時同步化的另一種技術為使用一降低的時序餘裕,並使用降低的外插相位值間隔來推測式地同步化該等輸入信號。
當推測式地操作時,一推測式周期性同步器使用降低的時序餘裕來操作,其適用於處理部份但非全部的Clk 201及/或Clk 202的時脈周期之變異。例如,該等降低的時序餘裕可適當地處理於正常作業期間的時序變異,但無法充份地處理極端的電源供應變異的極少數狀況,其會在Clk 201及/或Clk 202的該等時脈周期中產生極端的變異。相較於使用未降低時序餘裕的一周期性同步器,該等降低的時序餘裕造成該推測式周期性同步器要選擇具有較低潛時的經取樣之輸入信號。但是,由於該等降低的時序餘裕為推測式,當該測量的相位值已知更為精確時,該推測式周期性同步器可在Clk 202的S個循環之後檢查每一個同步化。當該測量的相位值不同於該外插的相位值使得該實際的相位值並不滿足該時序餘裕時,即並不安全,由該外插相位值得到的該同步化被撤銷或取消。在一具體實施例中,亦撤銷任何中介的同步化。在另一具體實施例中,僅撤銷不安全的同步化。因此,該推測式周期性同步器的使用被限制在當由該推測式同步化所產生的該等輸出信號可在該等輸出信號被產生之後數個循環即被撤銷的狀況。例如,當推測式同步化的結果啟始記憶體讀取作業時,該等作業可被取消,或該讀取結果被簡單地忽略,且並無修改持續的狀態。但是,一推測式同步化的結果並不能用於啟始一記憶體寫入作業,其會不可逆地修改持續狀態。
圖8B例示根據一具體實施例之一種用於推測式同步化信號的方法800之流程圖。在步驟801,一第二時脈信號相對於一第一時脈信號的一相位被收到,其係在該第二時脈信號的至少一循環之前被測量。在步驟801,該第二時脈信號相對於該第一時脈信號的一周期被收到,其亦係在該第二時脈信號的至少一循環之前被測量。在步驟805,基於該相位與該周期決定了降低的時序餘裕。在步驟808,基於該降低的時序餘裕產生一推測式同步的輸出信號。在一具體實施例中,基於該降低的時序餘裕選擇一記錄的輸入信號來產生該推測式同步化的輸出信號。
現在將提供關於一推測式周期性同步器之多種選擇性架構與特徵之更多例示性資訊。必須特別注意到以下的資訊係為了例示性目的而提出,且不應以任何方式視其為限制。任何以下的特徵可以視需要加入或不排除所述的其它特徵。
該等相位與周期值係針對Clk 202的每一轉換進行測量,並於Clk 201的每一循環處進行更新。於高解析度相位檢測器200,300,400及/或500內的重新計時與同步化會對於由高解析度相位檢測器200(300,400或500)的該經測量的相位203(303,403及/或503)與周期204(304,404及/或504)數值的可使用性造成了一S個循環的延遲。該等相位203與周期204數值的該等延遲的測量(自從過去的S個循環)產生該等系列的外插相位值,其為Clk 202相對於Clk 201的下一轉換之預測的相位。在一具體實施例中,經測量的周期204數值的一導數(derivative)亦可用於產生該等系列的外插相位值。
當應用時序餘裕到該等系列的外插相位值時,每一個pi由一外插相位間隔下限pi-與一外插相位間隔上限pi+做為界限: 其中θ為相位203值,而T為周期204值。該等時序餘裕係造成了在周期204值中的測量不確定性與變異。Δθ變異為該測量的相位值中的不確定性。該ΔT變異具有兩個獨立的成分,即系統性成分ΔT S 與測量成分ΔT M ,使得ΔT=ΔT S +ΔT M ΔT S 為在該周期中由於Clk 201及/或Clk 202的周期中的變異所造成的變異,而ΔT M 為該測量的周期值之不確定性。
當使用兩個暫存器來取樣該等輸入信號時(奇數/偶數),搜尋 該等系列的外插相位值間隔來尋找由在t=0橫跨的兩者所區隔的該對外插的相位值間隔。換言之,搜尋該等系列的外插相位值間隔來尋找可滿足以下限制的最大i:pi+<0<pi+2-.
滿足該限制的最大i對應於一偶數或奇數時脈循環,且該對應的偶數或奇數暫存器被選擇來產生該同步化的輸出信號。當使用三個暫存器來取樣該等輸入信號(例如第一/第二/第三)時,搜尋該等系列的外插相位值間隔來尋找由在t=0橫跨的三者所區隔的該對外插的相位值間隔。當取樣該等輸入信號的暫存器數目增加時,正被搜尋的該等外插相位值間隔之間的該跨距即增加(例如將三個暫存器i配對於i+3),且更有可能地辨識出滿足該限制的一對外插的相位值間隔。
如前所述,當由ΔT及/或Δθ產生的該等外插的相位值間隔中一或多者包括Clk 201於t=0的轉換,其不太可能辨識出可滿足該限制的一對外插的相位值間隔。當未辨識出滿足該限制的一對外插的相位值間隔時,該同步化的輸出信號未被更新,且由同步化引致的該潛時可有效地增加。推測式同步化可用於在大多數該等時脈循環期間藉由使用降低的時序餘裕來降低同步化所引致的該潛時。針對該等時脈循環,當無法可靠地使用推測式同步化時,即當該經取樣的輸入信號可能為亞穩態時,該等推測式同步化的信號可被撤銷(或取消),然後基於未降低的時序餘裕被同步化,如此處進一步的說明。
在先前的分析中,周期T中的變異之特徵為斜率ΔT。在由當該周期被測量到當該周期用於計算該等系列的外插相位值之間的S個循 環的期間當中,該周期可改變共SΔT。一絕對界限δT可被應用做為T的變異,其允許整個δT的變異發生在一單一循環中。在此例中,該外插相位間格下限p i -與該外插相位間格上限p i +的公式成為:
一較小的ΔTδT數值可用於計算一降低的時序餘裕,其可被應用到該等系列的外插相位值間隔來產生該等推測式系列的外插相位值間隔。辨識出最新的安全推測式外插相位值間隔來產生一推測式同步化的輸出信號,且被推測式同步化的輸出信號被標示為speculative。接收該等推測式同步化的輸出信號之下游邏輯必須避免執行依據該推測式同步化的輸出信號之不可逆之作業。在該等推測式同步化的輸出信號被決定為安全(且將不會被撤銷)之後,可以執行使用該等推測式同步化的輸出信號之不可逆的作業。
S個循環之後被接收做為相位值203的該實際(經測量的)相位值相較於該稍早的經辨識的推測式外插相位值間隔,以決定該稍早的經辨識的推測式外插相位值間隔是否為安全。如果在循環k中執行該同步化,則在循環k+S上,高解析度相位檢測器200,300,400或500輸出該等經測量的相位做為相位203值,k循環中的θ k 。在一個循環之後,在循環k+S+1上,高解析度相位檢測器200,300,400或500輸出θ k+1 。在循環k中的該同步化為安全。
θ k >Δθ+t m and θ k+1 >1 or θ k+1 <1-Δθ-t m .
其中t m 為該時序餘裕。
如果在進行測量θ k θ k+1 之後,發現該同步化為安全,即傳 送一有效信號來將該等推測式同步化的輸出信號標示為非推測式。另一方面,如果發現該同步化為不安全,即傳送一撤銷信號來撤銷該等推測式同步化的輸出信號。根據該推測式周期性同步器的結構,基於一系列的外插相位值間隔所產生的非推測式同步化的輸出信號即可產生為具有較大的潛時。
在另一具體實施例中,該同步器不需要等待直到循環k+S來驗證該推測式同步化。在該原始同步化之後的每一循環中可進行一新的相位測量時,關聯於該同步化的完整餘裕相位間隔被窄化。圖8C例示根據一具體實施例中兩個時脈信號201與202的波形與一推測式系列的外插相位間隔。該等推測式系列的外插相位間隔係使用圖8A所示的該等系列的外插相位間隔與降低的時序餘裕來產生。如圖8A所示,該相位值p2為具有並不包括於t=0時Clk 202的該轉換之一外插的相位值間隔的該最新的外插相位值。因此,該外插相位值p2將被選擇做為該安全相位值。如圖8C所示,應用一降低的時序餘裕,且圖8A所示的該外插的相位值間隔[p3-,p3+]被降低來產生如圖8C所示的該推測式外插相位值間隔[p3-,p3+]。如圖8C所示,Clk 202於t=0時的轉換發生在該推測式外插相位值間隔之後,且不包括在其內。因此,該外插的相位值p3被選擇用於該推測式同步化。
在Clk 201的一個循環之後(於k+1),該測量的相位值p1尚不知道,因為Clk 202的該上升邊緣發生在t=-4之後。在Clk 201的另一個循環之後(於k+2),已經知道該測量的相位值p1,且該對應的間隔[p1-,p1+]被窄化,使得p1-=p1-Δθ與p1+=p1+Δθ,其等於p1的該(非推測式)外插相位值間隔。如果已經辨識出該原始同步化,該相位p1做為用於該推測式 同步化的該相位值與該窄化的間隔[p1-,p1+]發生在t=0之前,且不包括t=0(現在t=-2),則該同步化可被標示為非推測式。但是,p3被辨識為該推測式同步化的該相位值,且該測量的相位值p3尚未可知。
當p1的該推測式外插相位值間隔被窄化成等於p1的該外插相位值間隔,在該等系列的外插相位值間隔中其它的間隔亦可被更新與窄化。特定而言,在Clk 201的兩個循環於t=2處已經知道之後,p3的該外插相位值間隔使用i=2而非i=3來計算,如同於t=0處使用。如果該更新的間隔[p3-,p3+]發生在t=0(現在t=-2)之前,且不包括t=0,則該推測式同步化可被標示為非推測式。
在Clk 201的四個循環於t=4處(k+4)已經知道之後,p3的該外插相位值間隔使用i=1而非i=3來計算。如果該更新的間隔[p3-,p3+]發生在t=0(現在t=-4)之前,如圖8C所示,則該推測式同步化可被標示為非推測式。如果該推測式同步化於k+4處不能夠被標示為非推測式,則在Clk 201的五個循環之後,於t=0採取的該測量的相位值p3為已知,且該外插的相位值間隔[p3-,p3+]被更新為[p3-Δθ,p3+Δθ]。如果該更新的間隔發生在t=0(現在t=-5)之前且的確包括t=0,則該推測式同步化將被撤銷。在當循環k+1時一推測式同步化即被標示為非推測式。一推測式同步化直到k=S都不會被撤銷。
圖8D例示根據一具體實施例之一種推測式周期性同步器850。推測式周期性同步器850耦合於產生相位203值與周期204值的一高解析度相位檢測器200,300,400或500。推測式周期性同步器850包括一相位系列外插單元855、一推測式記錄信號單元860、與一推測式選擇單元 865。相位系列外插單元855接收在該相位與周期被測量之後S個循環的相位203值與周期204值,並產生一系列的外插相位值。推測式選擇單元865接收相位203值與該等系列的外插相位值,並應用一降低的時序餘裕來計算一推測式系列的外插相位值間隔,由此可辨識出不包括t=0時Clk 201轉換的一最新的推測式外插相位值間隔。推測式選擇單元865選擇對應於該經辨識的最新推測式外插相位值間隔的該等經記錄之輸入信號851來產生該等推測式同步化的輸出信號,即推測式輸出信號861。當推測式選擇單元865無法辨識出一推測式外插相位值間隔時,該等推測式輸出信號861並未更新。該推測式選擇單元亦產生一指示來指明所產生的該輸出信號是否為推測式,例如為一驗證(validate)信號868。
推測式選擇單元865追蹤被輸出的推測式輸出信號861,並視需要產生一撤銷信號866或一驗證信號868。撤銷信號866用於撤銷基於在S個循環之後由推測式選擇單元865接收的相對應測量相位203值而在先前被輸出的推測式輸出信號861。撤銷的推測式輸出信號861由該接收邏輯丟棄。驗證信號868用於指示出一先前推測式輸出信號已經被決定為非推測式,因此可被安全地用於一不可逆作業中。驗證信號868可在最晚推測式輸出信號861被產生之後的S個循環才被主張。推測式記錄信號單元860可包括兩個或更多的暫存器,其中每一暫存器設置成在Clk 202的不同轉換上取樣該等輸入信號851。
圖8E例示根據一具體實施例之一種用於推測式同步化信號的方法820之另一流程圖。在步驟801,相位系列外插單元855基於由高解析度相位檢測器200,300,400或500提供的相位203值與周期204值來計 算一系列的外插相位值。在步驟805,推測式選擇單元865應用一降低的時序餘裕,例如ΔT或δT的降低變異,到該等系列的外插相位值來產生一推測式系列的外插相位值間隔。在步驟806,推測式選擇單元865辨識出不包括於t=0時Clk 201的一轉換的一最新的推測式外插相位值間隔。在步驟811,推測式選擇單元865設置推測式記錄信號單元860來選擇對應於該最新的外插相位值間隔的一經記錄的輸入信號來產生推測式輸出信號861。如果推測式輸出信號861並非推測式,即一外插相位值間隔為安全而不需要該降低的時序餘裕,則驗證信號868被主張。
如果在步驟812推測式選擇單元865決定該最新的推測式外插相位值間隔為安全,則在步驟822,驗證868信號被主張,且該等輸入信號851的同步化即繼續。否則在步驟816,推測式選擇單元865決定自從產生推測式輸出信號861之後是否已經發生Clk 201的S個循環,如果是,在步驟820,推測式選擇單元865撤銷在S個循環之前所產生的推測式輸出信號861。
否則,在步驟818,推測式選擇單元865等待Clk 201的另一個循環而可能得到對應於一外插的相位值之一相位203值。在Clk 201的下一循環處,該等系列的外插相位值間隔在當知道一新的相位203值時被更新。如先前配合圖8C所述,當收到一新相位203時更新該等系列的外插相位值間隔即窄化該等相位值間隔。在步驟812,該等窄化的外插相位值間隔被檢查來決定該推測式同步化是否可被標示為非推測式。請注意推測式選擇單元865可設定成產生該等推測式輸出信號861,而同時執行步驟812,816,818,822與820中一或多者。
在一具體實施例中,推測式周期性同步器850可設置成同時執行一積極性同步化與一安全的同步化。該安全同步化相較於該積極性同步化具有一較高的潛時,所以積極性同步化的信號在該等信號被安全地同步化之前一或多個循環即出現。但是,當需要一撤銷時所引致的該潛時被降低,因為該安全同步化的信號可以在少數的時脈循環內取代該經撤銷的積極性同步化的信號。被積極性同步化的輸出信號被標示為推測式,且使用該等推測式輸出信號時不能夠執行不可逆作業,直到該等輸出信號被標示為非推測式(已驗證)為止。當一安全同步化的輸出信號可對應於一先前的輸出推測式輸出信號來使用時,該安全同步化的輸出信號與該先前輸出的推測式輸出信號做比較。如果該等信號匹配時,該推測式輸出信號被標示為非推測式,且該安全同步化的輸出信號被丟棄。如果該等信號並不匹配,則先前輸出的推測式輸出信號被撤銷,並由該安全同步化的輸出信號所取代。
取代一經撤銷的推測式輸出信號811可能需要重新進行可逆的工作,其係由自推測式周期性同步化850收到推測式輸出信號811的時間直到該安全同步化的輸出信號自推測式周期性同步器850收到為止的時間內完成。例如,在一接收推測式輸出信號811的管線式電路中,可能需要數個管線級被清空,且開始為該安全同步化的輸出信號之該序列的輸入可能需要被重新進行。
圖9A例示根據一具體實施例之一種推測式周期性同步器900。推測式周期性同步器900耦合於產生相位203值與周期204值的一高解析度相位檢測器200,300,400或500。推測式周期性同步器900包括一相 位系列外插單元908、一安全記錄信號單元904、一推測式記錄信號單元905、與一推測式選擇單元910。相位系列外插單元908接收在該相位與周期被測量之後S個循環的相位203值與周期204值,並產生一系列的外插相位值。推測式選擇單元910接收相位203值與該等系列的外插相位值,並應用一降低的時序餘裕來計算一推測式序列的外插相位值間隔,由此可辨識出並不包括於t=0時Clk 201的一轉換之一最新的推測式外插相位值間隔。推測式選擇單元910設置推測式記錄信號單元905來選擇對應於該經辨識的最新推測式外插相位值間隔的該等經記錄的輸入信號901,以產生該等推測式輸出信號911。當推測式選擇單元910並未辨識出一安全推測式外插相位值間隔時,該等推測式輸出信號911並未更新,且驗證信號928被主張。
推測式選擇單元910亦應用一未降低的時序餘裕到該等系列的外插相位值,以計算一安全系列的外插相位值間隔,由此可辨識出一最新的安全外插相位值間隔。推測式選擇單元910設置安全記錄信號單元904來選擇對應於該最新的外插相位值間隔的該等經記錄的輸入信號901來產生該等安全輸出信號921。當推測式選擇單元910並未辨識出一外插相位值間隔時,該等安全輸出信號921未被更新。
推測式選擇單元910追蹤被輸出的該等推測式輸出信號911,並視需要產生一撤銷信號906,以當該等先前輸出的推測式輸出信號911並不匹配於在一或多個循環之後由推測式選擇單元910收到的該等相對應安全輸出信號921時,即撤消該等先前輸出的推測式輸出信號911。經撤銷的推測式輸出信號911由該接收邏輯被該等相對應的安全輸出信號921 所取代。驗證信號928可在最晚於推測式輸出信號911被產生之後的S個循環才被主張。安全記錄信號單元904與推測式記錄信號單元905可以包括兩個或更多的暫存器,其中每一暫存器設置成取樣在Clk 202的一不同轉換上的該等輸入信號901。在一具體實施例中,該等兩個或更多暫存器中至少一部份於安全記錄信號單元904與推測式記錄信號單元905之間共享。
圖9B例示根據一具體實施例之另一種用於推測式同步化信號的方法之流程圖920。在步驟922,相位系列外插單元908基於由高解析度相位檢測器200,300,400或500提供的相位203值與周期204值來計算一系列的外插相位值。在步驟925,推測式選擇單元910應用一降低的時序餘裕,例如ΔT或δT的降低變異,到該等系列的外插相位值來產生一推測式系列的外插相位值間隔。在步驟926,推測式選擇單元910辨識出一最新的推測式外插相位值間隔。在步驟928,推測式選擇單元910設置推測式記錄信號單元905來選擇對應於該經辨識的最新推測式外插相位值間隔的一經記錄的輸入信號,以產生推測式輸出信號911。
在步驟923,推測式選擇單元910應用一未降低的時序餘裕至該等系列的外插相位值,以產生一(安全)系列的外插相位值間隔。在步驟927,推測式選擇單元910辨識出一最新的安全外插相位值間隔。在步驟929,推測式選擇單元910設置安全記錄信號單元904來選擇對應於該最新的安全外插相位值間隔的一經記錄的輸入信號以產生安全輸出信號921。步驟923,927與929中一或多者可與步驟925,926與928平行或依序地執行。
在步驟930,推測式選擇單元910決定該等安全輸出信號921是否匹配於相對應的先前輸出之推測式輸出信號911。如果在步驟930,推 測式選擇單元910決定該等安全輸出信號921匹配於該等相對應先前輸出的推測式輸出信號911,則該等先前輸出的推測式輸出信號911為安全,且在步驟934,驗證信號918被主張,且該等輸入信號851之同步化將繼續。換言之,該等先前輸出的推測式輸出信號911被標示為非推測式。否則,如果該等安全輸出信號921並不匹配於該等相對應先前輸出的推測式輸出信號911時,於步驟931,推測式選擇單元910決定自從產生該等推測式輸出信號911之後是否已經發生Clk 201的S個循環,如果是,則在步驟936,推測式選擇單元910撤銷對應於該等安全輸出信號921的該等推測式輸出信號911,且該等推測式輸出信號911由該等安全輸出信號921所取代。
否則,在步驟932,推測式選擇單元900等待Clk 201的另一個循環而可能得到對應於一外插的相位值之一相位203值。在Clk 201的下一循環處,該等系列的外插相位值間隔在當知道一新的相位203值時被更新。如先前配合圖8C所述,當收到一新相位203時更新該等系列的外插相位值間隔即窄化該等相位值間隔。在步驟930,該等窄化的外插相位值間隔與該等相對應先前輸出的推測式輸出信號911做比較,以確定該推測式同步化是否可被標示為非推測式。請注意推測式選擇單元910可設定成輸出推測式輸出信號911,而同時執行步驟930,931,932,934與936中一或多者。
在一般使用案例中,推測式周期性同步器950可用於在關聯於Clk 201與Clk 202的該等時脈領域之間傳送先進先出(FIFO)緩衝器標頭與尾端指標。相反於習用的同步器,該等標頭與尾端指標在當使用推測式周期性同步器950時不需要被格雷編碼。必須使用非推測式或安全同步化 的指標值來檢查該FIFO充滿條件,以避免覆寫。可使用推測式同步化的指標值來檢查FIFO未佔用條件,以降低潛時。當該FIFO由該未佔用進入到該非未佔用狀態時,推測式同步化的標頭與尾端指標係由推測式周期性同步器950以低潛時方式產生。安全同步化的標頭與尾端指標值由推測式周期性同步器950在該相同循環中或一或多個循環之後產生。請注意推測式周期性同步器950同時提供該等推測式同步化的標頭與尾端指標值及該安全同步化的標頭與尾端指標值,例如推測式輸出信號911與安全輸出信號921。
相較於一習用的FIFO,該FIFO同步器除了推測式周期性同步器950之外的一些複製的電路,以同步化該等標頭與尾端指標值。特別是,該等指標暫存器與指標比較邏輯為複製的。重要地是,在該FIFO內的該等儲存元件並未被複製,其為該FIFO同步器之成本的一大部份。
在一些狀況下,該等時脈信號Clk 201與Clk 202為穩定期間的時間可被檢測到,而該周期值T可能由於Clk 201及/或Clk 202中的變異造成而改變的時間可被檢測到。例如,在使用動態電壓與頻率比例化(DVFS)的系統中,該周期值可為維持穩定一段長時間,然後對於一短時段平滑地改變。在另一狀況下,Clk 201及/或Clk 202信號頻率改變,以追蹤在供應電壓中的變異,及在該周期值T中的變異可利用一電壓感測器或透過與一已知的邏輯事件而造成電壓變異的關聯性來預測。
在一穩定周期值與一可變周期值之間的改變可被檢測或預測的任何狀況下,可使用不同的數值做為周期變異ΔT或δT的該等界限,以改善同步化效能。當周期204值為穩定時,ΔT或δT的一低數值可用於降低 同步化期間所引致的該潛時。當周期204值為不穩定時,ΔT或δT的一較高數值可用於達到較高潛時但安全的同步化。如果在周期204值中不同程度的變異及/或Clk 201或Clk 202之頻率可被檢測到(藉由一電壓感測器或藉由關聯性)時,不同數值的ΔT或δT可根據所檢測到的變異量來選擇。更特定而言,不同數值的ΔT或δT可由推測式周期性同步化單元850及/或900來選擇,並用於計算該等降低的時序餘裕。
圖9C例示根據一具體實施例之一種推測式周期性同步器950。推測式周期性同步器950耦合於產生相位203值與周期204值的一高解析度相位檢測器200,300,400或500。推測式周期性同步器950包括一相位系列外插單元955、一推測式記錄信號單元960、與一推測式選擇單元965。相位系列外插單元955接收在該相位與周期被測量之後S個循環的相位203值與周期204值,並產生一系列的外插相位值。
推測式選擇單元965接收系統資訊952,其指明Clk 201及/或Clk 202的頻率是否為穩定或變化。在一具體實施例中,系統資訊952指示出Clk 201及/或Clk 202之頻率可能改變的量。推測式選擇單元965可以使用系統資訊952來計算該降低的時序餘裕。在一具體實施例中,當系統資訊952指明在Clk 201及/或Clk 202中的高度變異時,推測性選擇單元965可使用一未降低的時序餘裕。請注意推測式周期性同步器900亦可被調整來接收系統資訊952,並基於系統資訊952計算該經降低的時序餘裕。
推測式選擇單元965接收相位203值與該等系列的外插相位值,並應用該經計算的時序餘裕來計算一推測式序列的外插相位值間隔,由此可辨識出並不包括於t=0時Clk 201的一轉換之一最新的推測式外插相 位值間隔。推測式選擇單元965設置推測式記錄信號單元960來選擇對應於該經辨識的最新推測式外插相位值間隔的該等經記錄的輸入信號951,以產生推測式輸出信號961。當推測式選擇單元965並未辨識出一推測式外插相位值間隔時,推測式輸出信號961未被更新,及驗證信號928。
推測式選擇單元965追蹤被輸出的推測式輸出信號961,並視需要產生一撤銷信號966,以撤銷基於由推測式選擇單元965在該相位值被測量之後S個循環所收到的相對應相位203值而在先前被輸出的推測式輸出信號961。撤銷的推測式輸出信號961由該接收邏輯丟棄。驗證信號968可在最晚於推測式輸出信號961被產生之後的S個循環才被主張。推測式記錄信號單元960可包括兩個或更多的暫存器,其中每一暫存器設置成在Clk 202的不同轉換上取樣該等輸入信號951。
圖9D例示根據一具體實施例之一種用於推測性同步化信號的方法970之另一流程圖。在步驟971,相位系列外插單元955基於由高解析度相位檢測器200,300,400或500提供的相位203值與周期204值來計算一系列的外插相位值。在步驟972,推測式選擇單元965基於系統資訊952調整一時序餘裕成分,例如ΔTS或δT,並計算一經降低的時序餘裕。
在步驟975,推測式選擇單元965應用該經計算降低的時序餘裕至該等系列的外插相位值,以產生一推測性系列的外插相位值間隔。在步驟976,推測式選擇單元965可辨識出並不包括於t=0時Clk 201的一轉換之一最新的推測式外插相位值間隔。在步驟978,推測式選擇單元965設置推測式記錄信號單元960來選擇對應於該最新的推測式外插相位值間隔的一經記錄的輸入信號,以產生該等推測式輸出信號961。
在步驟980,推測式選擇單元965辨識出該經辨識的最新推測式外插相位值間隔是否為安全。如果在步驟980推測式選擇單元965決定該經辨識的最新推測式外插相位值間隔為安全,則在步驟984,驗證信號968被主張,且該等輸入信號951的同步化即繼續。否則在步驟985,推測式選擇單元965決定自從產生推測式輸出信號961之後是否已經發生Clk 201的S個循環,如果是,在步驟986,推測式選擇單元965撤銷在S個循環之前所產生的推測式輸出信號961。
如果在步驟985,自從產生該等推測式輸出信號961之後並未發生Clk 201的S個循環,則在步驟988,推測式選擇單元965等待Clk 201的另一個循環,以可能得到對應於一外插相位值的一相位203值。在Clk 201的下一循環處,該等系列的外插相位值間隔在當知道一新的相位203值時被更新。如先前配合圖8C所述,當收到一新相位203時,更新該等系列的外插相位值間隔即窄化該等相位值間隔。在步驟989,該等窄化的外插相位值間隔被檢查來決定該推測式同步化是否可被標示為非推測式。請注意推測式選擇單元965可設置成產生該等推測式輸出信號961,而同時執行步驟980,984,985,986與988中一或多者。
圖10例示一種示例性系統1000,其中可實作推測式周期性同步器850、推測式周期性同步器900或推測式周期性同步器950之多種先前具體實施例的多種架構及/或功能。如所示,系統1000被提供成包括至少一連接至一通訊匯流排1001的中央處理器1002。通訊匯流排1002可使用任何適當的協定來實作,例如PCI(Peripheral Component Interconnect)、PCI-Express、AGP(加速繪圖埠,“Accelerated Graphics Port”)、 HyperTransport、或任何其它匯流排或點對點通訊協定。系統1000亦包括一主記憶體1004。控制邏輯(軟體)與資料被芻存在主記憶體1004中,其型式可為隨機存取記憶體(RAM)。
系統1000亦包括輸入裝置1012、一圖形處理器1006與一顯示器1008,即一習用的CRT(陰極射線管)、LCD(液晶顯示器)、LED(發光二極體)、電漿顯示器等。使用者輸入可自輸入裝置1012接收,例如鍵盤、滑鼠、觸控板、麥克風等。在一具體實施例中,圖形處理器1006可包括複數個著色器模組,一掃描場化模組等。每個前述模組甚至可位在一單一半導體平台上來形成一圖形處理單元(GPU)。
在本說明中,一單一半導體平台可代表一專用單一半導體為主的積體電路或晶片。必須注意到該用語「單一半導體平台」亦可代表多晶片模組,其具有可模擬晶片上作業之增加的連接器,並在利用一習用中央處理單元(CPU)及匯流排實施當中進行實質的改善。當然,多種模組亦可獨立放置或根據使用者的需要而置於多種半導體平台的組合中。圖10所示的該等積體電路中一或多者可包括推測式周期性同步器850、推測式周期性同步器900或推測式周期性同步器950,用於在不同時脈領域之間傳送信號。
系統1000亦可包括一次級儲存器1010。次級儲存器1010包括例如一硬碟機及/或一可移除儲存器,其可代表一軟碟機、一磁帶機、一光碟機、數位多功能碟(DVD)機、記錄裝置、通用序列匯流排(USB)快閃記憶體。可移除式儲存器以一熟知的方式讀取及/或寫入一可移除式儲存單元。
電腦程式或電腦控制邏輯演算法可以儲存在主記憶體1004 及/或次級儲存器1010中。這些電腦程式在當被執行時可致能系統1000來執行多種功能。記憶體1004,儲存器1010及/或任何其它儲存器皆為電腦可讀取媒體之可能示例。
在一具體實施例中,多種先前圖面之架構及/或功能可實作成中央處理器1001、圖形處理器1006、能夠同時具有中央處理器1001及圖形處理器1006之能力中至少一部份的積體電路(未示出),一晶片組(即設計成用於執行相關功能之一個單元來工作及銷售的一積體電路群組),及/或為了該目的之任何其它積體電路的內容當中。
再者,多種先前圖面之架構及/或功能可實作成一通用電腦系統、電路板系統、專屬於娛樂目的之遊戲主機系統,特定應用系統及/或任何其它想要系統之內容中。例如,系統1000可採用的型式有桌上型電腦、膝上型電腦、伺服器、工作站、遊戲主機、嵌入式系統及/或任何其它類型的邏輯。另外,系統1000可採取多種其它裝置的型式,其包括但不限於個人數位助理(PDA)裝置、行動電話裝置、電視等。
另外,雖然未示出,系統1000為了通訊的目的可耦合於一網路(例如電信網路、區域網路(LAN)、無線網路、廣域網路(WAN),像是網際網路、點對點網路、纜線網路等)。
當多種具體實施例已在上述說明之後,應可瞭解到它們係藉由示例來呈現,而非具有限制性。因此,一較佳具體實施例之廣度及範圍並不限於任何上述的範例性具體實施例,但必須僅根據下列申請專利範圍及其等同者來定義。

Claims (19)

  1. 一種用於時脈相位檢測的方法,該方法包含:產生一第一時脈信號的一第一組延遲的版本;使用該第一時脈信號的該第一組延遲的版本來取樣該第一時脈信號,以在對應於該第一時脈信號的一領域中產生一序列的第一時脈樣本;定位出該序列的第一時脈樣本內一第一邊緣指示;產生一第二時脈信號的一第二組延遲的版本;使用該第一組延遲的版本來取樣該第二組延遲的版本,以在對應於該第一時脈信號的該領域中產生一時脈樣本的陣列;及定位出在該等時脈樣本的陣列內至少一邊緣指示。
  2. 如申請專利範圍第1項之方法,其中該第一時脈信號的該第一組延遲的版本之一間距追蹤該第一時脈信號的一周期。
  3. 如申請專利範圍第1項之方法,其中該第二時脈信號的該第二組延遲的版本之一間距追蹤該第二時脈信號的一周期。
  4. 如申請專利範圍第1項之方法,另包含:基於該序列的第一時脈樣本內該第一邊緣指示而產生一遮罩;及應用該遮罩於該等時脈樣本的陣列。
  5. 如申請專利範圍第1項之方法,另包含:決定出該至少一邊緣指示的兩個邊緣指示係位在該等時脈樣本的陣列之一單一行中;及展開該等時脈樣本的陣列。
  6. 如申請專利範圍第1項之方法,其中該第一時脈信號的該第一組延遲的版本係使用一閉迴路延遲電路來產生。
  7. 如申請專利範圍第1項之方法,另包含處理在該等時脈樣本的陣列內至少一邊緣指示中之一第一邊緣指示與一第二邊緣指示,以計算代表該第二時脈信號與該第一時脈信號之間一相對周期的一周期值。
  8. 如申請專利範圍第1項之方法,另包括處理在該等時脈樣本的陣列內至少一邊緣指示中之一第一邊緣指示與一第二邊緣指示,以計算代表該第二時脈信號相對於該第一時脈信號的一相位之一相位值。
  9. 如申請專利範圍第1項之方法,其中該第一時脈信號的一頻率可隨時間改變。
  10. 如申請專利範圍第1項之方法,其中該第一時脈信號的該頻率回應於在一電源供應電壓中的變異而改變。
  11. 如申請專利範圍第1項之方法,其中該第二時脈信號的一頻率可隨時間改變。
  12. 一種用於時脈相位檢測的方法,該方法包含:產生一第一時脈信號的一第一組延遲的版本;產生一第二時脈信號的一第二組延遲的版本;使用該第一組延遲的版本來取樣該第二組延遲的版本,以在對應於該第一時脈信號的一領域中產生一時脈樣本的陣列;定位出在該等時脈樣本的陣列內定位一第一邊緣指示與定位一第二邊緣指示;計算由該第一邊緣指示與該第二邊緣指示所形成的一條線之一斜率;及計算該條線與一軸的一截距。
  13. 如申請專利範圍第12項之方法,其中該斜率代表基於該第二時脈信號與該第一時脈信號的一相對周期值。
  14. 如申請專利範圍第12項之方法,其中該截距代表基於該第二時脈信號與該第一時脈信號的一相對相位值。
  15. 一種用於時脈相位檢測的積體電路,其包含: 第一電路,其在對應於一第一時脈信號的一第一時脈領域中運作;第二電路,其在對應於一第二時脈信號的一第二時脈領域中運作;及一相位檢測器,其設置成:產生該第一時脈信號的一第一組延遲的版本;使用該第一時脈信號的該第一組延遲的版本來取樣該第一時脈信號,以在該第一時脈信號的領域中產生一序列的第一時脈樣本;定位出該序列的第一時脈樣本內一第一邊緣指示;產生該第二時脈信號的一第二組延遲的版本;使用該第一組延遲的版本來取樣該第二組延遲的版本,以在該第一時脈信號的該領域中產生一時脈樣本的陣列;及定位出在該等時脈樣本的陣列內至少一邊緣指示。
  16. 如申請專利範圍第15項之積體電路,其中該相位檢測器包含一開迴路延遲電路,產生該第一時脈信號的該第一組延遲的版本。
  17. 如申請專利範圍第15項之積體電路,其中該相位檢測器更處理該至少一邊緣指示來計算代表該第二時脈信號相對於該第一時脈信號的一相位之一相位值。
  18. 如申請專利範圍第15項之積體電路,其中該相位檢測器更處理該至少一邊緣指示來計算代表該第二時脈信號與該第一時脈信號之間一相對 周期的一周期值。
  19. 如申請專利範圍第15項之積體電路,其中該相位檢測器包含一閉迴路延遲電路,其設置成產生該第一時脈信號的該第一組延遲的版本。
TW102137453A 2012-11-20 2013-10-17 矩陣相位檢測器 TWI559684B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/681,929 US8760204B2 (en) 2012-11-20 2012-11-20 Variation-tolerant periodic synchronizer
US13/688,175 US8866511B2 (en) 2012-11-20 2012-11-28 Matrix phase detector

Publications (2)

Publication Number Publication Date
TW201433090A TW201433090A (zh) 2014-08-16
TWI559684B true TWI559684B (zh) 2016-11-21

Family

ID=50625778

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102137453A TWI559684B (zh) 2012-11-20 2013-10-17 矩陣相位檢測器

Country Status (4)

Country Link
US (1) US8866511B2 (zh)
CN (1) CN103840802A (zh)
DE (1) DE102013222369B4 (zh)
TW (1) TWI559684B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9164134B2 (en) 2012-11-13 2015-10-20 Nvidia Corporation High-resolution phase detector
US9471091B2 (en) * 2012-11-28 2016-10-18 Nvidia Corporation Periodic synchronizer using a reduced timing margin to generate a speculative synchronized output signal that is either validated or recalled
GB2519181B (en) 2014-03-31 2015-09-09 Imagination Tech Ltd Clock verification
US9467150B2 (en) * 2015-03-02 2016-10-11 Sandisk Technologies Llc Dynamic clock rate control for power reduction
US9753522B2 (en) 2015-03-02 2017-09-05 Sandisk Technologies Llc Dynamic clock rate control for power reduction
US11417370B2 (en) 2020-08-12 2022-08-16 Taiwan Semiconductor Manufacturing Company, Ltd. Memory device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6947493B2 (en) * 2003-10-10 2005-09-20 Atmel Corporation Dual phase pulse modulation decoder circuit
TWI266493B (en) * 2004-01-23 2006-11-11 Sunrise Telecom Inc Method and apparatus for measuring jitter
US7599457B2 (en) * 2005-08-08 2009-10-06 Lattice Semiconductor Corporation Clock-and-data-recovery system having a multi-phase clock generator for one or more channel circuits
JP2010021686A (ja) * 2008-07-09 2010-01-28 Toshiba Corp デジタル位相検出器及びデジタル位相同期回路
US7816960B2 (en) * 2007-08-09 2010-10-19 Qualcomm Incorporated Circuit device and method of measuring clock jitter
TWI332322B (en) * 2006-12-12 2010-10-21 Realtek Semiconductor Corp Sample circuit and sample method thereof
US20120069884A1 (en) * 2010-09-21 2012-03-22 Kabushiki Kaisha Toshiba Digital phase detector and digital phase-locked loop

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511100A (en) 1993-12-13 1996-04-23 Motorola, Inc. Method and apparatus for performing frequency detection
US5694377A (en) * 1996-04-16 1997-12-02 Ltx Corporation Differential time interpolator
US6194938B1 (en) 1998-09-28 2001-02-27 Texas Instruments Incorporated Synchronous integrated clock circuit
US6294940B1 (en) * 2000-06-21 2001-09-25 Infineon Technologies North America Corp. Symmetric clock receiver for differential input signals
US7126396B1 (en) * 2003-07-16 2006-10-24 National Semiconductor Corporation System for clock duty cycle stabilization
JP4850473B2 (ja) * 2005-10-13 2012-01-11 富士通セミコンダクター株式会社 デジタル位相検出器
US7804344B2 (en) 2007-04-20 2010-09-28 Micron Technology, Inc. Periodic signal synchronization apparatus, systems, and methods
US7667549B2 (en) * 2007-04-26 2010-02-23 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and driving method thereof
KR101082415B1 (ko) * 2007-07-24 2011-11-11 고려대학교 산학협력단 계층구조 위상 디지털 변환기
JP5321864B2 (ja) * 2009-03-10 2013-10-23 日本電気株式会社 デジタル位相比較器
US8098085B2 (en) * 2009-03-30 2012-01-17 Qualcomm Incorporated Time-to-digital converter (TDC) with improved resolution
KR101100906B1 (ko) * 2009-06-22 2012-01-02 가부시키가이샤 어드밴티스트 위상 검출 장치, 시험 장치 및 조정 방법
US9164134B2 (en) 2012-11-13 2015-10-20 Nvidia Corporation High-resolution phase detector
US8760204B2 (en) 2012-11-20 2014-06-24 Nvidia Corporation Variation-tolerant periodic synchronizer
US9471091B2 (en) 2012-11-28 2016-10-18 Nvidia Corporation Periodic synchronizer using a reduced timing margin to generate a speculative synchronized output signal that is either validated or recalled

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6947493B2 (en) * 2003-10-10 2005-09-20 Atmel Corporation Dual phase pulse modulation decoder circuit
TWI266493B (en) * 2004-01-23 2006-11-11 Sunrise Telecom Inc Method and apparatus for measuring jitter
US7599457B2 (en) * 2005-08-08 2009-10-06 Lattice Semiconductor Corporation Clock-and-data-recovery system having a multi-phase clock generator for one or more channel circuits
TWI332322B (en) * 2006-12-12 2010-10-21 Realtek Semiconductor Corp Sample circuit and sample method thereof
US7816960B2 (en) * 2007-08-09 2010-10-19 Qualcomm Incorporated Circuit device and method of measuring clock jitter
JP2010021686A (ja) * 2008-07-09 2010-01-28 Toshiba Corp デジタル位相検出器及びデジタル位相同期回路
US20120069884A1 (en) * 2010-09-21 2012-03-22 Kabushiki Kaisha Toshiba Digital phase detector and digital phase-locked loop

Also Published As

Publication number Publication date
DE102013222369B4 (de) 2019-01-24
TW201433090A (zh) 2014-08-16
CN103840802A (zh) 2014-06-04
DE102013222369A1 (de) 2014-05-22
DE102013222369A9 (de) 2014-07-24
US20140139276A1 (en) 2014-05-22
US8866511B2 (en) 2014-10-21

Similar Documents

Publication Publication Date Title
TWI512426B (zh) 用於推測性周期性同步器的方法及積體電路
TWI494737B (zh) 變異容忍周期性同步器
TWI559684B (zh) 矩陣相位檢測器
Ginosar Metastability and synchronizers: A tutorial
US8405413B2 (en) Critical path monitor having selectable operating modes and single edge detection
US7500044B2 (en) Digital phase relationship lock loop
US20150067384A1 (en) Crossing Pipelined Data between Circuitry in Different Clock Domains
TWI507694B (zh) 用於時脈相位偵測的方法及積體電路
US8964919B2 (en) System and method for determining a time for safely sampling a signal of a clock domain
TWI566071B (zh) 可暫停雙同步fifo之系統及方法
US9143315B2 (en) Predictive periodic synchronization using phase-locked loop digital ratio updates
Su et al. A general method to make multi-clock system deterministic
JP7360472B2 (ja) マルチビットデータのクロスクロックドメインの処理方法と装置
Lin et al. A Metastability Risk Prediction and Mitigation Technique for Clock-Domain Crossing With Single-Stage Synchronizer in Near-Threshold-Voltage Multivoltage/Frequency-Domain Network-on-Chip
WO2007029051A1 (en) Method and a computer readable medium for analyzing a design of an integrated circuit
Abasaheb et al. Design of Mesochronous Dual Clock Fifo Buffer with Modified Synchronizer Circuit
US8499188B2 (en) Processing device for determining whether to output a first data using a first clock signal or a second data using delay from the first clock signal according to a control signal
Lee et al. A novel design methodology for error-resilient circuits in near-threshold computing
Reyserhove et al. Error Detection and Correction
US20150095535A1 (en) Multi-cycle delay for communication buses
CN112737571A (zh) 时钟电路和时钟电路生成方法、装置、设备和介质
Song et al. Low Latency Synchronization Scheme Using Prediction and Avoidance of Synchronization Failure in Heterochronous Clock Domains
Giridhar Circuit Techniques for Adaptive and Reliable High Performance Computing