TWI494737B - 變異容忍周期性同步器 - Google Patents
變異容忍周期性同步器 Download PDFInfo
- Publication number
- TWI494737B TWI494737B TW102137452A TW102137452A TWI494737B TW I494737 B TWI494737 B TW I494737B TW 102137452 A TW102137452 A TW 102137452A TW 102137452 A TW102137452 A TW 102137452A TW I494737 B TWI494737 B TW I494737B
- Authority
- TW
- Taiwan
- Prior art keywords
- phase
- clk
- clock signal
- value
- clock
- Prior art date
Links
- 230000000737 periodic effect Effects 0.000 title claims description 20
- 230000007704 transition Effects 0.000 claims description 52
- 238000000034 method Methods 0.000 claims description 38
- 238000006243 chemical reaction Methods 0.000 claims description 28
- 230000001360 synchronised effect Effects 0.000 claims description 27
- 230000003111 delayed effect Effects 0.000 claims description 24
- 238000005259 measurement Methods 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 5
- 230000001052 transient effect Effects 0.000 claims description 2
- 238000003708 edge detection Methods 0.000 description 29
- 230000000630 rising effect Effects 0.000 description 20
- 230000035772 mutation Effects 0.000 description 15
- 230000008859 change Effects 0.000 description 12
- 238000013213 extrapolation Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 230000035559 beat frequency Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000007373 indentation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/13—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
- H03K5/135—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of time reference signals, e.g. clock signals
Landscapes
- Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Manipulation Of Pulses (AREA)
Description
本發明係關於電路,更特定而言係關於同步電路。
許多的數位系統具有多重時脈領域(clock domain)。因此,當信號由一時脈領域移動到另一者時,它們必須被同步化以避免亞穩態與同步的失效。如果兩個時脈具有固定頻率,該等兩個時脈之間的相位於該等兩個時脈的拍頻(beat frequency)之下有周期性。利用此周期性相位關係的好處,一周期性同步器相較於一種必須處理交錯時脈領域的同步器(其中該等時脈中至少一者係一可變頻率運作)可以比較簡單、具有較低的潛時、以及較低的失效機率。
當該等時脈中至少一者以一可變頻率運作時,該同步器的設計更為複雜。基本上,於時脈領域之間傳送的信號使用非同步先進先出(FIFO,“first-in-first outs”)而與一周期性時脈同步。針對該FIFO記憶體會引致顯著的面積負擔(area overhead)。當該FIFO的格雷編碼(Gray-coded)輸入與輸出指標必須透過多個正反器進行同步化以可靠地橫跨時脈領域來傳送該等信號,該等FIFO亦加上了數個循環的延遲。
因此有需要處理關聯於先前技術的這些及/或其它問題。
一種用於變異容忍同步化的方法與系統。其接收代表一第二時脈信號相對於一第一時脈信號的一相位之一相位值,及代表該第二時脈信號與該第一時脈信號之間一相對周期的一周期值。該第二時脈信號相對於該第一時脈信號而對應於該第一時脈信號的下一轉換的一外插的相位值係基於該相位值與該周期值做計算。
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‧‧‧多工器
301,302‧‧‧周期
311,312‧‧‧周期
305,323,324,325‧‧‧邊緣
400‧‧‧方法
405,410,415,420,425,430,435,445‧‧‧步驟
500‧‧‧高解析度相位檢測器
503‧‧‧相位
504‧‧‧周期
510‧‧‧時脈延遲單元
511‧‧‧延遲元件
520‧‧‧時脈樣本單元
522‧‧‧正反器
530‧‧‧周期運算單元
531‧‧‧及閘
532‧‧‧邊緣檢測單元
533‧‧‧轉換信號
534‧‧‧編碼器
540‧‧‧相位單元
542‧‧‧加法器
543‧‧‧前除法器相位
544‧‧‧相位暫存器
545‧‧‧增量的相位
546‧‧‧多工器
548‧‧‧相位除法器
550‧‧‧周期單元
552‧‧‧除法器
554‧‧‧周期暫存器
556‧‧‧多工器
557‧‧‧減法器
558‧‧‧多工器
560‧‧‧方法
565,570,572,574,575,580,585,590,595,596,598‧‧‧步驟
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‧‧‧中央處理器
802‧‧‧匯流排
804‧‧‧主記憶體
806‧‧‧圖形處理器
808‧‧‧顯示器
810‧‧‧次級儲存器
812‧‧‧輸入裝置
圖1A例示根據一具體實施例之一種用於定位出一序列的時脈信號樣本內的一邊緣指示之方法的流程圖。
圖1B例示根據一具體實施例之一種用於使用該邊緣指示來檢測一相位的方法之流程圖。
圖2A例示根據一具體實施例的一種高解析度相位檢測器。
圖2B例示根據一具體實施例中圖2A的一時脈延遲單元。
圖2C例示根據一具體實施例中圖2A的一時脈樣本單元。
圖2D例示根據一具體實施例中圖2A的一邊緣檢測單元。
圖2E例示根據一具體實施例中圖2A的一相位單元。
圖2F例示根據一具體實施例中圖2A的一周期單元。
圖3A例示根據一具體實施例中兩個時脈信號的波形。
圖3B例示根據一具體實施例中兩個時脈信號的其它波形。
圖4例示根據一具體實施例之一種用於決定一相位與一周期的方法之流程圖。
圖5A例示根據一具體實施例的另一種高解析度相位檢測器。
圖5B例示根據一具體實施例中圖5A的一開迴路時脈延遲單元。
圖5C例示根據一具體實施例中圖5A的一時脈樣本單元。
圖5D例示根據一具體實施例中圖5A的一周期運算單元。
圖5E例示根據一具體實施例中圖5A的一相位單元。
圖5F例示根據一具體實施例中圖5A的一周期單元。
圖5G例示根據一具體實施例之一種用於決定一相位與一周期的方法之另一流程圖。
圖6A例示在其中可以實作多種先前具體實施例之多種架構及/或功能之示例性積體電路。
圖6B例示根據一具體實施例之一種用於同步化信號的方法之流程圖。
圖6C例示根據一具體實施例中兩個時脈信號的波形。
圖6D例示根據一具體實施例中兩個時脈信號的其它波形。
圖7A例示根據一具體實施例之一種變異容忍周期性同步器。
圖7B例示根據一具體實施例中圖7A的該記錄信號單元。
圖7C例示根據一具體實施例之一種用於同步化信號的方法
之另一流程圖。
圖8例示在其中可以實作多種先前具體實施例之多種架構及/或功能之示例性系統。
用於智慧型手機、平板電腦、膝上型電腦與其它行動裝置中的處理器有時候會降低提供給一或多個積體電路元件之供應電壓,藉以降低電力消耗並延長電池重新充電之間的時間。該等積體電路元件亦可基於不同的操作模式而改變提供給該元件內不同電路的該電源供應電壓位準。電源供應電壓亦可由於一組件所引出的該供應電流中的瞬變(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
-l
與Clk_d i
,其中i的範圍由0到N)發生Clk 202的一上升邊緣,則轉換信號233的一或多個位元t i
=Clk_s i
&~
Clk_s i-l
即為真。例如當Clk 202的一上升邊緣發生在Clk_d3與Cll_d4之間,Clk 202的一下降邊緣發生在Clk_d7與Clk_d8之間,Clk_s i
信號為000011110,而轉換信號233針對i的範圍在0到N=8時編碼該數值000010000。轉換信號233t 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的六個循環。
圖3A例示根據一具體實施例中兩個時脈信號Clk 201與Clk 202的波形。第二時脈Clk 202的頻率會比第一時脈Clk 201的頻率要快。信號係自對應於Clk 202的一第二時脈領域傳送到對應於Clk 201的一第一時脈領域。如所示,Clk 202的周期302會比Clk 201的周期301要短。因此,Clk 202的至少一邊緣指示必須由邊緣偵測單元230在每一時脈周期301內被檢測到。如所示,Clk 202的兩個邊緣在周期301之內發生。在時脈201的最新邊緣305處,對應於周期301內一第一邊緣指示的first 310值由邊緣檢測單元230做計算。在時脈201的最新邊緣305處,對應於周期301內一第二邊緣指示的second 237值亦由邊緣檢測單元230做計算。
在一具體實施例中,邊緣檢測單元230設置成計算對應於一
第三邊緣指示的一第三數值。該第三數值可用於當Clk 201與Clk 202中至少一者在平滑地改變時計算該相對周期的斜率。該斜率可由一同步化單元用來預測該未來相位與未來周期之更為準確的數值。預測一或多個時脈之前的相位203與周期204的該等數值將會有用,因為由於高頻相位檢測器200的潛時,目前的相位203與周期204對於過去之Clk 201的數個時脈循環皆有效。
圖3B例示根據一具體實施例中兩個時脈信號Clk 201與Clk 202的波形之另一示例。該傳送時脈Clk 202的頻率會比該接收時脈Clk 201的頻率要慢。如所示,Clk 202的周期312會比Clk 201的周期311要長。因此,於Clk 201的某些周期期間,Clk 202的一邊緣指示可能不會被邊緣檢測單元230檢測到。
在一最舊的邊緣323處,對應於周期312的開始處一第一邊緣指示之first 310值由邊緣檢測單元230定位,且first 235-B數值由邊緣檢測單元230做計算。在此示例中假設first 235-B值等於7個單位的延遲211。因此,該下一相位由相位單元240設定為7,且該下一周期當作加總了N=16之相位203與first 310之間的差值來計算。相位203與周期204於時脈邊緣324處被更新。在一下一邊緣324處,並無邊緣指示可由邊緣檢測單元230所定位,且該下一相位由相位單元240更新,而相位203增加了N=16,所以相位203被更新為7+16=23。周期204未改變。
在一最新邊緣325處,對應於周期312結束處另一第一邊緣指示的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於時脈邊緣325處被更新。
圖4例示根據一具體實施例之一種用於決定相位203與周期204的方法400之流程圖。在步驟405,Clk 201的一組延遲的版本由時脈延遲單元210產生。在步驟410,Clk 202由時脈樣本單元220使用Clk 201的該組延遲的版本進行取樣,以產生在Clk 201的該領域中該序列的樣本225。然後在步驟415,邊緣檢測單元230定位出該序列的樣本225內任何的邊緣,例如上升、下降或上升與下降。
在步驟420,相位單元240決定一第一邊緣指示是否被邊緣檢測單元230檢測到,如果沒有,在步驟425,相位203被更新成相位203增加Clk 201的一個周期,例如相位+ONE。當邊緣檢測單元230未檢測到第一邊緣指示時,周期204不會改變。否則,當檢測到一第一邊緣指示時,在步驟430,相位單元240設定相位203等於由邊緣檢測單元230產生的first 235信號。在步驟435,周期單元250決定邊緣檢測單元230是否檢測到一第二邊緣指示,如果有,則在步驟440,周期單元250設定周期204等於second 237信號與first 310信號之間的差值。若否,則在步驟445,周期單元250將周期204更新為相位203與Clk 201的一個周期之總和與first 235信號之間的差值。
圖5A例示根據一具體實施例的一種高解析度相位檢測器500。高解析度相位檢測器500包括一開迴路延遲單元510、時脈樣本單元220、一時脈樣本單元520、邊緣檢測單元230、一周期運算單元530、一相
位單元540與一周期單元550。高解析度相位檢測器500接收一第一時脈Clk 201與一第二時脈Clk 202,並產生兩個數值,一相位503與一周期504。
圖5B例示根據一具體實施例中圖5A的開迴路時脈延遲單元510。開迴路時脈延遲單元510相較於高解析度相位檢測器200取代了高解析度相位檢測器500中的時脈延遲單元210。一系列的N個延遲元件511產生N個時脈相位,例如Clk 201的延遲版本,特定而言為Clk_d0,Clk_d1,Clk_d2,Clk_d3,......Clk_dN。不像是時脈延遲單元210,該等N個時脈相位並不需要準確地橫越一個時脈循環,因為開迴路時脈延遲單元520並未包括一相位比較器215來控制每一延遲元件511延遲Clk 201的量來產生Clk 201的該等延遲版本。延遲元件511的數目必須足夠高,而可取樣Clk 201的至少一周期。
圖5C例示根據一具體實施例中圖5A的時脈樣本單元520。時脈樣本單元520包括複數正反器522。時脈樣本單元520接收由時脈延遲單元210產生之Clk 201的該等延遲版本,並產生第一時脈信號Clk 201的一序列之樣本。取樣該第一時脈信號被執行來計算由一延遲元件511所引進的該延遲的單位之Clk 201的該周期。每一時脈相位Clk_d0,Clk_d1,......Clk_dN用於取樣Clk 201,於正反器522的該等輸出處產生該序列的第一時脈樣本,例如Clk_p1,Clk_p2,Clk_p3,......Clk_pN。
圖5D例示根據一具體實施例中圖5A的周期運算單元530。周期運算單元530包括一AND閘531的陣列、一邊緣辨識單元532與一編碼器534。周期運算單元530接收由時脈樣本單元520產生的該序列的第一時脈樣本Clk_p1,Clk_p2,......Clk_pN。該序列的第一時脈樣本Clk_p1,
Clk_p2,......Clk_pN被輸入到AND閘531的該陣列來定位出該序列的第一時脈樣本內的上升轉換(rising transitions),例如邊緣。換言之,AND閘531檢測由第一時脈信號201的延遲版本所取樣的第一時脈信號201的上升邊緣。AND閘531產生轉換信號533,其可用於計算Clk 201的周期。接收Clk_p1與Clk_p2中至少一者的AND閘531可由邊緣辨識單元532忽略,以確保亞穩態(metastable)的信號不被取樣。在一具體實施例中,周期運算單元530可設置成定位出下降轉換或同時定位出下降與上升轉換。
如果Clk 201的一上升邊緣於Clk 201的延遲版本Clk_d i-l
and Clk_d i
(其中i的範圍由0到N)之間發生,轉換信號533中一或多個位元t i
=Clk_p i
&~Clk_p i-l
為真。轉換信號533t i
被輸入到邊緣辨識單元532,其在轉換信號533的該序列中尋找第一個一(其中一係為真的一個位元)。該第一邊緣被檢測到的該位置之二元化編碼為rperiod 535,Clk 301的該周期以一延遲511之延遲為單位。
圖5E例示根據一具體實施例中圖5A的相位單元540。相位單元540包括一相位暫存器544、一加法器542、一多工器546、與一相位除法器548。相位單元540自邊緣檢測單元230接收first 235與first_v 236,並自周期運算單元530接收rperiod 535,且產生相位503輸出信號。數值rperiod 535用於相位單元540中以取代相位單元240中的常數ONE。同時,由相位單元540產生的相位之數值被除以rperiod 535來由一快速周期性同步器使用。
First 235為自Clk 201的該上升邊緣到Clk 202的最新轉換的一個度量(單位為時間)。如果檢測到一轉換,例如first_v 236被主張,first
235提供該相位值。當first_v 236被主張時,多工器546選擇first 510值做為該輸出,即下一相位。當未檢測到一轉換時,例如first_v 236未被主張,則多工器546選擇增量的相位545做為下一相位。增量的相位545值由加法器542計算做為加上rperiod 535的前除法器相位543。
該next_phase值被輸入到輸出前除法器相位543數值的相位暫存器544。接著的Verilog可被轉譯成產生在相位單元540中顯示之該邏輯的至少一部份,特別是提供一輸入(next_phase)到相位暫存器544:assign next_phase=first_v?first:predivider_phase+rperiod;相位暫存器544的輸出,例如前除法器相位543,除以相位除法器548內的rperiod 535來產生相位503值。
圖5F例示根據一具體實施例中圖5A的周期單元550。周期單元550包括一周期暫存器554、一減法器557、多工器556、多工器558與一除法器552。周期單元550接收來自邊緣檢測單元230的first 235、first_v 236、second 237與second_v 238,來自周期運算單元530的rperiod 535、以及來自相位單元540的增量相位545,並產生周期504輸出信號。
如果未檢測到轉換,例如並無first_v 236或second_v 238被主張,該next_period(與周期504)並未改變。否則,如果檢測到兩個轉換,例如first_v 236與second_v 238皆被主張,該next_period由先前轉換的相位second 237減去first 235來計算。如果僅檢測到一個轉換,例如first_v 236被主張,該next_period由先前轉換的相位(增量的相位545)減去first 510來計算。換言之,目前相位510由該最後轉換的相位減除,即如果在Clk 201
相同的周期中檢測到一第二轉換時即為second 237,否則即為增量的相位545。除法器548與552的位元數目由rperiod 535中的位元數目決定,例如如果N=16即4個位元。請注意N可為任何整數值,且N不需要為2的次方。
當檢測到一第二轉換時,亦檢測到一第一轉換。當second_v 238被主張時,多工器556選擇second 237的值做為給減法器557的輸入。當未檢測到一第二轉換時,多工器556選擇增量的相位245做為給減法器557的輸入。該減法器自該輸入減去first 235的值來產生一輸出。當檢測到一第一轉換時,多工器558選擇減法器252的輸出做為該下一周期。否則,多工器558選擇周期暫存器554的輸出做為該下一周期,且周期504的值未改變。
接著的Verilog可被轉譯成產生在周期單元550中顯示之該邏輯的至少一部份,特別是提供一輸入(next_period)到周期暫存器554:assign next_period=first_v?
((second_v?second:(pre-divider phase+rperiod))-first):period;該next_period值被輸入到周期暫存器554。周期暫存器554的輸出,例如前除法器周期,除以周期除法器552內的rperiod 535來產生周期504值。
圖5G例示根據一具體實施例中一種用於使用開迴路高解析度相位檢測器500決定相位503與周期504的方法560之另一流程圖。在步驟365,Clk 201的一組延遲的版本由開迴路時脈延遲單元510產生。在
步驟570,Clk 202由時脈樣本單元220使用Clk 201的該組延遲的版本進行取樣,以產生在Clk 201的該領域中該序列的樣本225。然後在步驟575,邊緣檢測單元230定位出樣本的225的該序列內任何的邊緣,例如上升、下降或上升與下降。
在步驟572,Clk 201由時脈樣本單元520使用Clk 201的該組延遲的版本進行取樣,以產生在Clk 201的該領域中第一時脈樣本525的該序列。然後在步驟574,周期運算單元530定位出在第一時脈樣本525的該序列內一邊緣,例如上升、下降或上升與下降,並決定rperiod 535,例如Clk 201的該周期。步驟572與574中一或多者可平行於步驟570與575之一或多者來執行。
在步驟580,相位單元540決定一第一邊緣指示是否被邊緣檢測單元230檢測到,如果沒有,在步驟585,該下一相位被計算成前除法器相位5543加上Clk 201的一周期(rperiod 535)之和。然後該下一相位除以Clk 201的一個周期來產生相位203值,例如(pre-divider_phase+rperiod)/rperiod。當邊緣檢測單元230未檢測到第一邊緣指示時,周期504不會改變。否則,當檢測到一第一邊緣指示,在步驟590,相位單元540將該下一相位設定等於由邊緣檢測單元230產生的first 510信號。然後該下一相位除以rperiod 535來產生相位503值。在步驟595,周期單元550決定邊緣檢測單元230是否檢測到一第二邊緣指示,如果是,則在步驟598,周期單元550設定周期504等於second 237值與除以rperiod 535的first 235值之差值。否則,在步驟598,周期單元550將周期504更新為前除法器相位503與Clk 201的一個周期(增量的相位542)之總和與除以Clk 201的一個周
期之first 510信號(即rperiod 535)之間的差值。
圖6A例示在其中可以實作多種先前具體實施例之多種架構及/或功能之示例性積體電路元件650。積體電路元件650包括一邏輯單元655、一同步器660與一邏輯單元665。邏輯單元655接收時脈202,並產生與時脈202同步的輸出。該等輸出由同步器660接收,並由時脈202的該時脈領域傳送到時脈201的該時脈領域,其係使用由高解析度相位檢測器200或500所計算的該等相位與周期值,即相位203周期204。被同步於時脈201的該時脈領域的該等傳送的輸出由邏輯單元665接收。
變異容忍周期性同步器
一旦獲得周期203與周期204值時,一變異容忍同步器可同步自對應於該第一時脈信號Clk 202的一第二時脈領域傳送,並在對應於該第二時脈信號Clk 201的一第一時脈領域中接收的信號。該變異容忍同步器可以容忍在該等第一及/或第二時脈信號之時脈周期中的快速變異,承受在該第一時脈信號中相對於該第二時脈信號之每個循環之相位中的最大變異。因此,該變異容忍同步器可用於利用電壓追蹤時脈產生器的積體電路元件中。該變異容忍同步器亦可同步化當該等第一及/或第二時脈信號能夠改變頻率時於電力狀態轉換期間具有低潛時的信號。
如前所述,高解析度相位檢測器200或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/16 UI。單位為1/16 UI的S為4*N,所以S=64/16 UI。然後該變異容忍同步器計算一系列的外插相位值pi,單位為1/16 UI,如下示: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或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)=-22 2/3(偶數)
p3
=8+64-3*26+9*(2/3)=0(奇數)
p4
=8+64-4*26+16*(2/3)=21 1/3(偶數)
該變異容忍同步器搜尋該等系列的外插相位值來尋找於時間t=0跨越Clk 201的轉換之該等兩個外插的相位值。跨越時間t=0的該等兩個外插相位值提供最接近於Clk 201之下一轉換的Clk 202之該等兩個轉換的時間。Clk 202的該等轉換之一為一偶數邊緣,而另一者為一奇數邊緣。為了確保該最大可能的時序餘裕,該變異容忍同步器可設置成選擇具有較大餘裕的該外插相位值。另外,該變異容忍同步器可設置成選擇具有一安
全餘裕的該最小負值相位值。
如圖6D所示,跨越t=0時Clk 201之邊緣的該等兩個外插相位值為p2=-22 2/3(偶數)與p3=6(奇數)。該變異容忍同步器設置成辨識該外插的相位p2=-22 2/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或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或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。
圖8例示一種示例性系統800,其中可實作變異容忍同步器
700之多種先前具體實施例的多種架構及/或功能。如所示,系統800被提供成包括至少一連接至一通訊匯流排801的中央處理器801。通訊匯流排802可使用任何適當的協定來實作,例如PCI(Peripheral Component Interconnect)、PCI-Express、AGP(加速繪圖埠,“Accelerated Graphics Port”)、HyperTransport、或任何其它匯流排或點對點通訊協定。系統800亦包括一主記憶體804。控制邏輯(軟體)與資料被芻存在主記憶體804中,其型式可為隨機存取記憶體(RAM)。
系統800亦包括輸入裝置812、一圖形處理器806與一顯示器808,即一習用的CRT(陰極射線管)、LCD(液晶顯示器)、LED(發光二極體)、電漿顯示器等。使用者輸入可自輸入裝置1012接收,例如鍵盤、滑鼠、觸控板、麥克風等。在一具體實施例中,圖形處理器806可包括複數個著色器模組,一掃描場化模組等。每個前述模組甚至可位在一單一半導體平台上來形成一圖形處理單元(GPU)。
在本說明中,一單一半導體平台可代表一專用單一半導體為主的積體電路或晶片。必須注意到該用語「單一半導體平台」亦可代表多晶片模組,其具有可模擬晶片上作業之增加的連接器,並在利用一習用中央處理單元(CPU)及匯流排實施當中進行實質的改善。當然,多種模組亦可獨立放置或根據使用者的需要而置於多種半導體平台的組合中。圖8所示的該等積體電路中一或多者可包括變異容忍同步器700用於在不同時脈領域之間傳送信號。
系統800亦可包括一次級儲存器810。次級儲存器810包括例如一硬碟機及/或一可移除儲存器,其可代表一軟碟機、一磁帶機、一光
碟機、數位多功能碟(DVD)機、記錄裝置、通用序列匯流排(USB)快閃記憶體。可移除式儲存器以一熟知的方式讀取及/或寫入一可移除式儲存單元。
電腦程式或電腦控制邏輯演算法可以儲存在主記憶體804及/或次級儲存器810中。這些電腦程式在當被執行時可致能系統800來執行多種功能。記憶體804,儲存器810及/或任何其它儲存器皆為電腦可讀取媒體之可能示例。
在一具體實施例中,多種先前圖面之架構及/或功能可實作成中央處理器801、圖形處理器806、能夠同時具有中央處理器801及圖形處理器806之能力中至少一部份的積體電路(未示出),一晶片組(即設計成用於執行相關功能之一個單元來工作及銷售的一積體電路群組),及/或為了該目的之任何其它積體電路的內容當中。
再者,多種先前圖面之架構及/或功能可實作成一通用電腦系統、電路板系統、專屬於娛樂目的之遊戲主機系統,特定應用系統及/或任何其它想要系統之內容中。例如,系統800可採用的型式有桌上型電腦、膝上型電腦、伺服器、工作站、遊戲主機、嵌入式系統及/或任何其它類型的邏輯。另外,系統800可採取多種其它裝置的型式,其包括但不限於個人數位助理(PDA)裝置、行動電話裝置、電視等。
另外,雖然未示出,系統800為了通訊的目的可耦合於一網路(例如電信網路、區域網路(LAN)、無線網路、廣域網路(WAN),像是網際網路、點對點網路、纜線網路等)。
當多種具體實施例已在上述說明之後,應可瞭解到它們係藉由示例來呈現,而非具有限制性。因此,一較佳具體實施例之廣度及範圍
並不限於任何上述的範例性具體實施例,但必須僅根據下列申請專利範圍及其等同者來定義。
Claims (21)
- 一種方法,該方法包含:接收代表一第二時脈信號相對於一第一時脈信號的一相位之一相位值,其中該第一時脈信號與該第二時脈信號中至少其中之一者之一頻率係隨時間改變;接收對應於該第二時脈信號與該第一時脈信號之間一相對周期的一周期值;及基於該相位值與該周期值,計算該第二時脈信號相對於該第一時脈信號而對應於該第一時脈信號的下一轉換的一外插的相位值。
- 如申請專利範圍第1項之方法,另包含基於該相位值與該周期值,計算對應於該第一時脈信號的後續轉換之一或多個額外的外插相位值,以產生包括該外插的相位值與該等額外的外插相位值之一系列的外插相位值。
- 如申請專利範圍第2項之方法,其中在該等系列的外插相位值中每一外插相位值係關聯於設定該第二時脈信號的一周期性轉換之一邊緣指示。
- 如申請專利範圍第3項之方法,其中該邊緣指示設定一組暫存器中一暫存器,其中在該組暫存器中每一暫存器設置成於該第二時脈的一不同轉換處取樣一輸入信號。
- 如申請專利範圍第4項之方法,其中該組暫存器僅包括兩個暫存器,且其中一第一暫存器設置成針對該第二時脈的偶數循環取樣該輸入信號,及一第二暫存器設置成針對該第二時脈的奇數循環取樣該輸入信號。
- 如申請專利範圍第4項之方法,其中該組暫存器包括三個或更多的暫存器,且其中一第一暫存器設置成在該第二時脈的每一個第一循環上取樣該輸入信號,一第二暫存器設置成在該第二時脈的每一個第二循環上取樣該輸入信號,及一第三暫存器設置成在該第二時脈的每一個第三循環上取樣該輸入信號。
- 如申請專利範圍第1項之方法,另包含計算不同時間該周期值的一斜率。
- 如申請專利範圍第7項之方法,其中該第二時脈信號的該外插相位值係基於該周期值的該斜率進行計算。
- 如申請專利範圍第2項之方法,在該等系列的外插相位值中辨識出最接近於該第一時脈信號的下一轉換之一外插相位值做為一最新的外插相位值。
- 如申請專利範圍第9項之方法,另包含:計算一時序餘裕需求;及決定出該最新的外插相位值可滿足該時序餘裕需求,且為一安全的外插相位值。
- 如申請專利範圍第10項之方法,其中該時序餘裕的一成分為關聯於該相位值與該周期值中至少一者的一測量誤差。
- 如申請專利範圍第10項之方法,其中該時序餘裕需求的一成分為由於電壓或電流瞬變造成之該第一時脈信號與該第二時脈信號中至少一者之一變異。
- 如申請專利範圍第9項之方法,另包含:計算一時序餘裕需求;決定出該最新的外插相位值並不滿足該時序餘裕需求;在該等系列的外插相位值中辨識出可滿足該時序餘裕需求 的一不同的外插相位值做為一安全外插相位值。
- 如申請專利範圍第9項之方法,另包含選擇對應於該最新的外插相位值的一輸入信號之一經取樣的版本做為被同步於一第一時脈信號的一輸出信號。
- 如申請專利範圍第1項之方法,其中該第一時脈信號的一頻率可隨時間改變。
- 如申請專利範圍第1項之方法,其中該第二時脈信號的一頻率可隨時間改變。
- 一種積體電路,其包含:第一電路,其在對應於一第一時脈信號的一第一時脈領域中運作;第二電路,其在對應於一第二時脈信號的一第二時脈領域中運作,其中該第一時脈信號與該第二時脈信號中至少其中之一者之一頻率係隨時間改變;及一同步化單元,其設置成:接收代表該第二時脈信號相對於該第一時脈信號的一相位 之一相位值;接收代表該第二時脈信號與該第一時脈信號之間一相對周期的一周期值;及基於該相位值與該周期值計算該第二時脈信號相對於該第一時脈信號而對應於該第一時脈信號的下一轉換的一外插的相位值。
- 如申請專利範圍第17項之積體電路,另包含產生該相位值的一相位檢測器。
- 如申請專利範圍第18項之積體電路,其中該相位檢測器包含一開迴路延遲電路,產生該第一時脈信號的一組延遲的版本。
- 如申請專利範圍第18項之積體電路,其中該相位檢測器包含一閉迴路延遲電路,產生該第一時脈信號的一組延遲的版本。
- 如申請專利範圍第17項之積體電路,其中該同步化單元另基於該相位值與該周期值計算對應於該第一時脈信號的後續轉換之一或多個額外的外插相位值,以產生包括該外插的相位值與該等額外的外插相位值之一系列的外插相位值。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/681,929 US8760204B2 (en) | 2012-11-20 | 2012-11-20 | Variation-tolerant periodic synchronizer |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201439713A TW201439713A (zh) | 2014-10-16 |
TWI494737B true TWI494737B (zh) | 2015-08-01 |
Family
ID=50727382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102137452A TWI494737B (zh) | 2012-11-20 | 2013-10-17 | 變異容忍周期性同步器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8760204B2 (zh) |
CN (1) | CN103838296A (zh) |
DE (1) | DE102013222669B4 (zh) |
TW (1) | TWI494737B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI743791B (zh) * | 2020-05-18 | 2021-10-21 | 瑞昱半導體股份有限公司 | 多晶片系統、晶片與時脈同步方法 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9164134B2 (en) | 2012-11-13 | 2015-10-20 | Nvidia Corporation | High-resolution phase detector |
US8866511B2 (en) | 2012-11-20 | 2014-10-21 | Nvidia Corporation | Matrix 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 |
US11128742B2 (en) | 2019-03-08 | 2021-09-21 | Microsemi Storage Solutions, Inc. | Method for adapting a constant bit rate client signal into the path layer of a telecom signal |
US10972084B1 (en) * | 2019-12-12 | 2021-04-06 | Microchip Technology Inc. | Circuit and methods for transferring a phase value between circuits clocked by non-synchronous clock signals |
US11323123B2 (en) | 2019-12-20 | 2022-05-03 | Microchip Technology Inc. | Circuit to correct phase interpolator rollover integral non-linearity errors |
US10917097B1 (en) | 2019-12-24 | 2021-02-09 | Microsemi Semiconductor Ulc | Circuits and methods for transferring two differentially encoded client clock domains over a third carrier clock domain between integrated circuits |
US11239933B2 (en) | 2020-01-28 | 2022-02-01 | Microsemi Semiconductor Ulc | Systems and methods for transporting constant bit rate client signals over a packet transport network |
US11424902B2 (en) | 2020-07-22 | 2022-08-23 | Microchip Technology Inc. | System and method for synchronizing nodes in a network device |
US11838111B2 (en) | 2021-06-30 | 2023-12-05 | Microchip Technology Inc. | System and method for performing rate adaptation of constant bit rate (CBR) client data with a variable number of idle blocks for transmission over a metro transport network (MTN) |
US11916662B2 (en) | 2021-06-30 | 2024-02-27 | Microchip Technology Inc. | System and method for performing rate adaptation of constant bit rate (CBR) client data with a fixed number of idle blocks for transmission over a metro transport network (MTN) |
US11736065B2 (en) | 2021-10-07 | 2023-08-22 | Microchip Technology Inc. | Method and apparatus for conveying clock-related information from a timing device |
US12192079B2 (en) | 2021-11-23 | 2025-01-07 | Microchip Technology Inc. | Method and apparatus for carrying constant bit rate (CBR) client signals using CBR carrier streams comprising frames |
US11799626B2 (en) | 2021-11-23 | 2023-10-24 | Microchip Technology Inc. | Method and apparatus for carrying constant bit rate (CBR) client signals |
Citations (3)
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 |
US6194938B1 (en) * | 1998-09-28 | 2001-02-27 | Texas Instruments Incorporated | Synchronous integrated clock circuit |
US7804344B2 (en) * | 2007-04-20 | 2010-09-28 | Micron Technology, Inc. | Periodic signal synchronization apparatus, systems, and methods |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69811262T2 (de) * | 1997-10-10 | 2003-11-27 | Rambus Inc., Los Altos | Verfahren und vorrichtung zur ausfallsicheren resynchronisation mit minimaler latenzzeit |
US6980042B2 (en) * | 2004-04-05 | 2005-12-27 | Micron Technology, Inc. | Delay line synchronizer apparatus and method |
WO2007092997A1 (en) * | 2006-02-15 | 2007-08-23 | Fiberbyte Pty Ltd | Distributed synchronization and timing system |
US8826062B2 (en) | 2011-05-23 | 2014-09-02 | Intel Mobile Communications GmbH | Apparatus for synchronizing a data handover between a first clock domain and a second clock domain through phase synchronization |
-
2012
- 2012-11-20 US US13/681,929 patent/US8760204B2/en active Active
-
2013
- 2013-10-17 TW TW102137452A patent/TWI494737B/zh active
- 2013-11-07 DE DE102013222669.1A patent/DE102013222669B4/de active Active
- 2013-11-19 CN CN201310581732.XA patent/CN103838296A/zh active Pending
Patent Citations (3)
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 |
US6194938B1 (en) * | 1998-09-28 | 2001-02-27 | Texas Instruments Incorporated | Synchronous integrated clock circuit |
US7804344B2 (en) * | 2007-04-20 | 2010-09-28 | Micron Technology, Inc. | Periodic signal synchronization apparatus, systems, and methods |
Non-Patent Citations (1)
Title |
---|
William J. Dally, Stephen G. Tell;"The Even/Odd Synchronizer: A Fast, All-Digital Periodic Synchronizer";IEEE Symposium on Asynchronous Circuits and Systems, IEEE Computer Society, pp75-84, 2010. * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI743791B (zh) * | 2020-05-18 | 2021-10-21 | 瑞昱半導體股份有限公司 | 多晶片系統、晶片與時脈同步方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201439713A (zh) | 2014-10-16 |
DE102013222669B4 (de) | 2019-03-21 |
US8760204B2 (en) | 2014-06-24 |
CN103838296A (zh) | 2014-06-04 |
US20140139275A1 (en) | 2014-05-22 |
DE102013222669A1 (de) | 2014-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI494737B (zh) | 變異容忍周期性同步器 | |
TWI512426B (zh) | 用於推測性周期性同步器的方法及積體電路 | |
US8405413B2 (en) | Critical path monitor having selectable operating modes and single edge detection | |
EP2026469B1 (en) | Circuit device and method of measuring clock jitter | |
TWI559684B (zh) | 矩陣相位檢測器 | |
US6263410B1 (en) | Apparatus and method for asynchronous dual port FIFO | |
US8078772B2 (en) | Digital phase relationship lock loop | |
TWI507694B (zh) | 用於時脈相位偵測的方法及積體電路 | |
US8879681B2 (en) | System and method for determining a time for safely sampling a signal of a clock domain | |
US9106235B2 (en) | Mesochronous synchronizer with delay-line phase detector | |
US8964919B2 (en) | System and method for determining a time for safely sampling a signal of a clock domain | |
TWI516896B (zh) | 判斷安全地採樣時脈域之訊號的時間的系統與方法 | |
US8631265B2 (en) | Synchronization circuit that facilitates multiple parallel reads and writes | |
US5680644A (en) | Low delay means of communicating between systems on different clocks | |
Abasaheb et al. | Design of mesochronous dual clock fifo buffer with modified synchronizer circuit | |
Su et al. | A general method to make multi-clock system deterministic | |
CN112737571A (zh) | 时钟电路和时钟电路生成方法、装置、设备和介质 | |
CN117971756A (zh) | 一种时钟相位的确定方法、装置、电子设备及存储介质 | |
Tarawneh et al. | Adaptive Synchronization for DVFS Applications |