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