本文將通過了解同步電路、時鐘傳輸和時鐘分配網(wǎng)絡(luò),進(jìn)而了解什么是時鐘偏差(clock skew)以及它對現(xiàn)代系統(tǒng)的影響。
現(xiàn)代數(shù)字電子產(chǎn)品設(shè)計的最大挑戰(zhàn)之一是滿足時序約束的能力。保持可預(yù)測和組織良好的操作邏輯流程的方法之一是在數(shù)字電路中擁有控制良好、定義明確的時序。 clock skew是這些電路中的一個設(shè)計考慮因素,如果沒有得到適當(dāng)?shù)目紤],它可能是一個重要的問題來源。
上,在許多情況下,系統(tǒng)的clock skew可能是整個系統(tǒng)速度和時鐘頻率的限制因素。要了解clock skew,我們必須首先討論同步電路。同步電路和時鐘——最小時鐘周期計算 大多數(shù)現(xiàn)代數(shù)字計算機(jī)的一個基本特征是同步電路。
同步電路需要一種計時機(jī)制來保持有序和周期性的時序邏輯流。在數(shù)字電子學(xué)中,這種計時機(jī)制被稱為時鐘,簡單來說,它是一個具有恒定頻率的方波。
如圖 1 所示,這些電路通過將靜態(tài)數(shù)據(jù)存儲在數(shù)據(jù)寄存器中來工作,該數(shù)據(jù)寄存器旨在鎖存數(shù)據(jù),直到寄存器遇到時鐘的上升(或下降)沿。當(dāng)時鐘沿發(fā)生時,數(shù)據(jù)從寄存器中釋放,通過組合邏輯塊發(fā)送,然后存儲在下一個寄存器中。
圖 1. 具有兩個順序寄存器的數(shù)據(jù)路徑同步電路。
這些操作發(fā)生的頻率由時鐘頻率設(shè)置,時鐘頻率由其他幾個參數(shù)設(shè)置。最小時鐘周期的一般公式定義為: Tc=tpcq+tpd+tsetup+tskew 式中:
Tc是時鐘周期
tpcq是數(shù)據(jù)寄存器時鐘到 Q 的時間
tpd是組合邏輯傳播延遲
tsetup是下行寄存器的建立時間
tskew是兩個寄存器之間的時鐘偏差
最大時鐘頻率定義為1/Tc
時鐘傳送和clock skew 由于數(shù)字邏輯往往是同步電路,所有邏輯塊的精確時序?qū)τ谡_的系統(tǒng)行為至關(guān)重要。當(dāng)考慮將圖 1 中的設(shè)置從一個數(shù)據(jù)路徑擴(kuò)展到數(shù)百萬個數(shù)據(jù)路徑(因為它存在于實際芯片設(shè)計中)時,很快就會發(fā)現(xiàn)保持一切同步是一項不小的挑戰(zhàn)。
在實踐中,時鐘信號通常由晶體振蕩器生成,饋入鎖相環(huán) (PLL),并在整個 IC 中分布到系統(tǒng)內(nèi)的每個邏輯塊和晶體管。這種追求中最大的挑戰(zhàn)之一就是clock skew,它可以定義為順序相鄰寄存器的時鐘信號到達(dá)時間之間的差異。 這種情況在數(shù)學(xué)上可以定義為:
發(fā)生clock skew的傳統(tǒng)設(shè)置如圖 2 所示,其中時鐘分配網(wǎng)絡(luò)中的延遲導(dǎo)致數(shù)據(jù)寄存器 B 比寄存器 A 更晚地接收其時鐘信號。
圖 2. 時鐘偏差通過在時鐘傳輸網(wǎng)絡(luò)中插入延遲來證明。
如果接收寄存器晚于發(fā)送寄存器接收時鐘,則偏移可以定義為正,反之則定義為負(fù)。clock skew成為數(shù)字設(shè)計中的一個嚴(yán)重問題,因為它可能違反同步電路所依賴的時序約束。
例如,給定一個恒定的時鐘頻率和負(fù)偏斜,如圖 3 所示,時鐘到達(dá)接收寄存器 B 的時間要比發(fā)送寄存器 A 早得多。
在這種情況下,從發(fā)送寄存器發(fā)出的數(shù)據(jù)將到達(dá)時鐘到達(dá)后接收寄存器。這里,數(shù)據(jù)不滿足接收寄存器的建立和保持要求(即,在時鐘到達(dá)時,接收登記處還沒有現(xiàn)成的數(shù)據(jù))。因此,由于接收寄存器不能安全地鎖存數(shù)據(jù),數(shù)據(jù)將會丟失。這個概念會產(chǎn)生復(fù)合效應(yīng),因為后續(xù)依賴丟失數(shù)據(jù)的邏輯操作也會失敗。
?
圖 3. 負(fù)時鐘偏移導(dǎo)致數(shù)據(jù)在其時鐘之后到達(dá)接收寄存器 B。 正如我們在最大時鐘頻率等式中看到的,clock skew的增加將增加最小時鐘周期并降低系統(tǒng)的最大時鐘頻率。這是因為clock skew有效地增加了排序開銷,減少了組合邏輯中有用工作的可用時間。還值得注意的是,時鐘不需要同時到達(dá),但clock skew通常存在可接受的誤差范圍。
clock skew的原因
雖然造成clock skew的原因有很多,但它們最終都?xì)w結(jié)為時鐘分配網(wǎng)絡(luò)中的延遲差異。
clock skew的一個原因是時鐘分配網(wǎng)絡(luò)中互連之間的長度不同。如果到兩個連續(xù)寄存器的時鐘傳輸路徑中的互連長度變化很大,則可能會發(fā)生clock skew。沿著較短互連行進(jìn)的時鐘將比沿著較長互連行進(jìn)更快地到達(dá)其寄存器。
clock skew的另一個原因可能是時鐘分配網(wǎng)絡(luò)中互連延遲的差異。即使兩條時鐘傳輸路徑的長度相同,它們也會由于諸如電阻、電容或電感耦合等寄生效應(yīng)而經(jīng)歷不同的延遲。
在圖 4 的示例中,RC 寄生效應(yīng)的任何差異都會導(dǎo)致寄存器 A 和 B 的時鐘到達(dá)時間延遲不同。線路上延遲較大的時鐘信號自然會比延遲較小的信號更晚到達(dá)其目的地. 設(shè)計具有相同延遲的互連可能是一項極其困難的任務(wù)。
圖 4. RC 寄生效應(yīng)的變化會導(dǎo)致時鐘偏移。
clock skew也可能是由時鐘信號的邏輯路徑延遲的差異引起的。例如,在包括時鐘門控的設(shè)計中,時鐘的傳輸路徑中可能存在額外的門,每個門都具有自己的負(fù)載電容和傳播延遲。如果不平衡,邏輯路徑的差異會導(dǎo)致時鐘傳遞時間不等。 其他原因可能包括溫度變化、制造變化和材料缺陷。
使用時鐘分配網(wǎng)絡(luò)最大限度地減少時clock skew
隨著時鐘頻率的增加,clock skew可能會成為一個更具挑戰(zhàn)性的問題,因為隨著時鐘頻率的提高,誤差幅度會顯著降低。為了最大限度地減少clock skew,復(fù)雜的同步電路采用類似于圖 5 所示的時鐘分配網(wǎng)絡(luò)。這些通常也稱為時鐘樹。時鐘樹中的每個反相器都會放大時鐘信號以驅(qū)動時鐘樹的下一級。目標(biāo)是讓時鐘信號同時到達(dá)所有寄存器輸入。
圖 5.具有并行時鐘驅(qū)動器的時鐘分配網(wǎng)絡(luò)示例。
對于具有數(shù)百萬甚至數(shù)十億晶體管的超大型 IC,時鐘分配網(wǎng)絡(luò)可能會比圖 4 的簡單示例復(fù)雜得多。這些網(wǎng)絡(luò)的創(chuàng)建通常由EDA軟件自動處理。工程師輸入目標(biāo)頻率、寄存器設(shè)置和保持時間限制以及最大時鐘偏差等關(guān)鍵參數(shù)。然后,軟件生成時鐘分配網(wǎng)絡(luò)以滿足目標(biāo)時序約束。
結(jié)論
clock skew是數(shù)字集成電路設(shè)計中需要考慮的重要課題。如果沒有正確考慮,時鐘偏差會對系統(tǒng)性能造成嚴(yán)重破壞,導(dǎo)致系統(tǒng)操作不當(dāng)、數(shù)據(jù)丟失或成為系統(tǒng)時鐘頻率的限制因素。
審核編輯:劉清
-
數(shù)據(jù)寄存器
+關(guān)注
關(guān)注
0文章
33瀏覽量
7736 -
數(shù)字電路
+關(guān)注
關(guān)注
193文章
1595瀏覽量
80379 -
同步電路
+關(guān)注
關(guān)注
1文章
60瀏覽量
13276
原文標(biāo)題:什么是clock skew?一文了解時鐘分配網(wǎng)絡(luò)中的時鐘偏移
文章出處:【微信號:bdtdsj,微信公眾號:中科院半導(dǎo)體所】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論