今天來聊一聊時鐘樹。首先我先講一下我所理解的時鐘樹是什么,然后介紹兩種時鐘樹結(jié)構(gòu)。
時序器件傳遞信號的時候需要依賴時鐘,而STA一項關鍵的檢查就是不能有setup/hold violation。如果對于同一時鐘域的兩個時序器件,如果他們接收到的時鐘之間有相位差,有可能會使setup/hold更難滿足,如果產(chǎn)生violation,芯片就會發(fā)生邏輯錯誤。
而時鐘從時鐘源到sink是需要一定的傳播時間的,距離時鐘源越遠的器件傳播時間越長。
有的時候data的傳播方向和clock的傳播方向相同,如果不做任何時鐘樹處理,這種情況對setup有好處;有的時候data傳播方向與clock傳播方向相反,這就對hold有好處;而如果電路中存在反饋回路,那data傳播方向就不確定。
所以為了能使上述所有情況都有一個較好的時鐘性能,我們會希望時鐘到達每個時序器件的時間一樣,也就是傳播時間的差(skew)越接近0越好。時鐘樹的目的正是如此。因為時鐘樹實在太過重要,現(xiàn)在也是很多人研究的課題。
我想說的第一種結(jié)構(gòu)就是H-tree。它的結(jié)構(gòu)確實很形象的像一棵樹,是應用最廣的結(jié)構(gòu)了。
對于一個四四方方完全對稱的芯片來說,H-tree會先從root長到整個芯片的中心,再分出兩個trunk到芯片左右兩側(cè),分出的trunk與root相互垂直,每個trunk再分兩個垂直枝干出來……不斷這樣分下去,得到一個簡單的分形結(jié)構(gòu),最終的leaf連接到相應的clock pin上。
這樣在物理上就可以保證每一個cell到root的走線長度一致,相應的net上的delay就會一樣,再加上整個tree上的buffer也都相同,就能保證傳播時間完全一致,從而實現(xiàn)skew為0. 當然實際的芯片不會這么理想化,長出來的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ù)是擔心一個output輸出1一個output輸出0,這樣會造成電源地之間的短路。
但是對于clock mesh來說,它的buffer全部都是同時變化,永遠是一樣的狀態(tài),這也就使mesh成為可能。
但是,畢竟每個buffer到達的時間還是會有一丟丟的差別,還是會存在很短的瞬間電源和地在mesh上發(fā)生短路,再加上mesh本身就需要更多繞線,它的功耗是非常大的。另一個缺點就是會占用很多繞線資源。
但是mesh的skew容易做的更小,畢竟每一級它們的輸出都接在了一起,只有最后一級接在不同pin上。可以說mesh是犧牲了功耗換取更小的skew。
現(xiàn)在大多數(shù)的design還是在利用傳統(tǒng)的H-tree,只不過它的變式很多。mesh結(jié)構(gòu)更復雜,EDA tool也不能很好地自動化完成,設計上相對更加困難。
-
STA
+關注
關注
0文章
52瀏覽量
19570 -
時鐘樹
+關注
關注
0文章
58瀏覽量
11253 -
時鐘源
+關注
關注
0文章
110瀏覽量
16753 -
電源地
+關注
關注
0文章
36瀏覽量
10115
發(fā)布評論請先 登錄
LMH2190:一款高性能四通道時鐘樹驅(qū)動器的深度剖析
探索LMH2191:52 MHz時鐘樹驅(qū)動的卓越之選
門控時鐘(Clock-gating)介紹
外部高速時鐘支持兩種工作模式
時鐘樹解析
E203工程源碼時鐘樹解析
時鐘設計優(yōu)化實戰(zhàn)
?LMH2190 四通道27MHz時鐘樹驅(qū)動器技術文檔總結(jié)
?LMH2191 雙通道52MHz時鐘樹驅(qū)動器技術文檔總結(jié)
ntp時鐘同步服務器是什么?ntp時鐘同步服務器介紹
時鐘樹是什么?介紹兩種時鐘樹結(jié)構(gòu)
評論