今天來聊一聊時鐘樹。首先我先講一下我所理解的時鐘樹是什么,然后介紹兩種時鐘樹結(jié)構(gòu)。
時序器件傳遞信號的時候需要依賴時鐘,而STA一項關(guān)鍵的檢查就是不能有setup/hold violation。如果對于同一時鐘域的兩個時序器件,如果他們接收到的時鐘之間有相位差,有可能會使setup/hold更難滿足,如果產(chǎn)生violation,芯片就會發(fā)生邏輯錯誤。
而時鐘從時鐘源到sink是需要一定的傳播時間的,距離時鐘源越遠(yuǎn)的器件傳播時間越長。
有的時候data的傳播方向和clock的傳播方向相同,如果不做任何時鐘樹處理,這種情況對setup有好處;有的時候data傳播方向與clock傳播方向相反,這就對hold有好處;而如果電路中存在反饋回路,那data傳播方向就不確定。
所以為了能使上述所有情況都有一個較好的時鐘性能,我們會希望時鐘到達(dá)每個時序器件的時間一樣,也就是傳播時間的差(skew)越接近0越好。時鐘樹的目的正是如此。因為時鐘樹實在太過重要,現(xiàn)在也是很多人研究的課題。
我想說的第一種結(jié)構(gòu)就是H-tree。它的結(jié)構(gòu)確實很形象的像一棵樹,是應(yīng)用最廣的結(jié)構(gòu)了。
對于一個四四方方完全對稱的芯片來說,H-tree會先從root長到整個芯片的中心,再分出兩個trunk到芯片左右兩側(cè),分出的trunk與root相互垂直,每個trunk再分兩個垂直枝干出來……不斷這樣分下去,得到一個簡單的分形結(jié)構(gòu),最終的leaf連接到相應(yīng)的clock pin上。
這樣在物理上就可以保證每一個cell到root的走線長度一致,相應(yīng)的net上的delay就會一樣,再加上整個tree上的buffer也都相同,就能保證傳播時間完全一致,從而實現(xiàn)skew為0. 當(dāng)然實際的芯片不會這么理想化,長出來的H-tree也不一定像一個個H,但它的邏輯結(jié)構(gòu)是一樣的。
并且另外一種升級版的H-tree就不保證走線長度一樣了,只要保證RC信息一致即可,好像可以稱為RC-tree(或者一般也就叫H-tree了)。
第二種結(jié)構(gòu)是網(wǎng)格狀的(mesh)。就是把時鐘樹的每一級做成一個網(wǎng)格,級與級之間用多個buffer相連,最終把最后一級mesh接到clock pin上。
可是這樣不就等于把多個driver的output接在一起了嗎?這在我們ERC檢查的時候是違反的呀?但是,制定output不能短接的依據(jù)是擔(dān)心一個output輸出1一個output輸出0,這樣會造成電源地之間的短路。
但是對于clock mesh來說,它的buffer全部都是同時變化,永遠(yuǎn)是一樣的狀態(tài),這也就使mesh成為可能。
但是,畢竟每個buffer到達(dá)的時間還是會有一丟丟的差別,還是會存在很短的瞬間電源和地在mesh上發(fā)生短路,再加上mesh本身就需要更多繞線,它的功耗是非常大的。另一個缺點(diǎn)就是會占用很多繞線資源。
但是mesh的skew容易做的更小,畢竟每一級它們的輸出都接在了一起,只有最后一級接在不同pin上。可以說mesh是犧牲了功耗換取更小的skew。
現(xiàn)在大多數(shù)的design還是在利用傳統(tǒng)的H-tree,只不過它的變式很多。mesh結(jié)構(gòu)更復(fù)雜,EDA tool也不能很好地自動化完成,設(shè)計上相對更加困難。
-
STA
+關(guān)注
關(guān)注
0文章
52瀏覽量
19309 -
時鐘樹
+關(guān)注
關(guān)注
0文章
56瀏覽量
11048 -
時鐘源
+關(guān)注
關(guān)注
0文章
98瀏覽量
16330 -
電源地
+關(guān)注
關(guān)注
0文章
36瀏覽量
9980
發(fā)布評論請先 登錄
貼片晶振中兩種常見封裝介紹

ntp時鐘同步服務(wù)器是什么?ntp時鐘同步服務(wù)器介紹

時鐘電路的組成與設(shè)計要點(diǎn)介紹
時鐘電路與晶振電路兩者的區(qū)別有哪些
白話理解RCC時鐘樹(可下載)
一千余字解讀stm32時鐘樹

AMC1204有兩種封裝,SOIC-8和SOIC-16,功能一樣嗎?為什么要推出兩種封裝?
快速學(xué)習(xí)全志T113-S3 開發(fā)板時鐘操作

時序約束一主時鐘與生成時鐘

視頻時鐘合成芯片怎么用
總線時鐘周期與CPU時鐘周期的區(qū)別
AT32講堂088 | 雅特力AT32F402/F405時鐘配置

評論