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