時鍾樹綜合(1)


時鍾樹綜合 學習

背景

 

 

 

 

 

時鍾信號是數據傳輸的基准,他對於同步數字系統的功能、性能、穩定性起決定性作用。時鍾信號通常是整個芯片中有最大扇出、通過最長距離、以最高速度運行的信號。時鍾信號必須要保證在最差的條件下,關鍵的時序要求能夠滿足,否則對時鍾信號的任何不當的控制都可能導致紊亂情況,將錯誤的數據信號索存到寄存器,從而導致系統功能的錯誤。

時鍾信號怎么產生的

時鍾信號源一般是從晶體(石英晶體、陶瓷晶體)產生的。IC設計時通常會使用晶體振盪器來提供時鍾源信號。一般會使用PLL加上晶體振盪器來給芯片內部電路提供倍頻或相位的時鍾信號。

時鍾信號特征

 

 

 

時鍾的周期(頻率)、時鍾延遲、時鍾信號的不確定性是時鍾的三個主要特征要素。

時鍾信號延遲

時鍾信號延遲(latency)又稱為插入延遲(insertion delay), 包括時鍾源插入延遲和時鍾網絡插入延遲。

時鍾源插入延遲是來自系統到當前芯片(當前模塊)時鍾根節點(clock root pin)之間的延遲,時鍾網絡插入延遲是時鍾樹的延遲。

 

 

時鍾信號不確定性

時鍾信號的不確定性主要是有時鍾信號抖動引起的,時鍾抖動是先天存在的,所以在時鍾樹綜合的時候只能考慮起影響,無法消除。時鍾抖動是信號實際時間與理想時間的偏差,抖動中含有確定抖動成分和隨機抖動的成分【抖動】。

 

時鍾信號偏差

時鍾信號偏差是指同一時鍾達到該時鍾域內的不同寄存器之間的時間偏差,也即是

$$
skew = max(|t_i - t_j|)
$$

 

 

 

產生時鍾偏差的原因有多種:時鍾源到各個時鍾端點的路徑長度不同、各個端點負載不同、在時鍾網中插入的緩沖器不同等。

 

在什么時候做時鍾樹綜合:

如下圖所示,通常在物理設計布局完成之后布線之前進行時鍾樹綜合。在此之前所有的寄存器時鍾信號是由同一個時鍾pin驅動的,具有相同的延時的理想時鍾。

  • 已經生成了gatelevel 的netlist

  • 已經有一個初步的版圖規划,每個邏輯門包括時序器件都有一個具體的位置。

  • 已經基於理想時鍾完成了時序優化設計。

 

 

目標

解決什么問題

給定一個源節點和N個目標節點,時鍾樹綜合就是生成一個連接方案,將源節點和這N個目標節點連接起來。通過插入反相器或者buffer平衡時鍾各個路徑分支上的延時,也就是skew足夠的小,同時又要盡量減少延時;另外還要滿足整體的SDC約束例如:maximum transition time. maximum load capacitance. maximum fanout 。工具同時還要考慮時鍾樹綜合方案對於功耗、面積等的影響。

通常增加時鍾路徑延遲,在時鍾樹不同路徑上插入buffer,可以保證各個路徑的延時接近,也就可以降低skew, 但是引入buffer會增加功耗和面積。所以skew和延遲是一個矛盾的約束,需要設計者根據目標來決定。例如在skew要求沒那么嚴格的場景下,可以極少延時來降低功耗和面積;在高速集成設計的場景,時鍾頻率高,對skew敏感,則要首先滿足skew的要求。

 

As all sequential logic is designed to change state in temporal reference to the clock, minimizing the clock delay and clock skew between different points in the chip is crucial for reliable operation

Clock timing skew is both systematic and random, but the former can be mitigated through good design. Different approaches to clock distribution have been developed based on chip requirements such as clock frequency, permissible skew, physical die area and the power budget。

 

對於timing的影響分析

 

 

 

 

 

 

 

現有技術介紹

 

 

 

 

 

時鍾樹根據其在芯片內的分布特征,分為H樹、X樹、平衡樹、以及梳狀或脊柱狀時鍾網(clock tree mesh, comb or spine).

 

 

 

 

H-tree

 

 

在H樹形結構中,時鍾源一般是放在中心。時鍾信號先到達四角的緩沖器,然后又作為下一級H樹的輸入,如此類推。最后一級Htree作為局部區域類寄存器的輸入緩沖器。這種對稱架構保證了從時鍾源到最后一級的緩沖器連線長度是相等的,在理想情況下,從時鍾源到每個寄存器的延遲是相等的,skew也就等於0;但是實際情況下,由於工藝不確定性,還是會有偏差的。

缺點:H樹雖然簡潔優美,但是對布線要求較高,為了減少時鍾延遲,水平和垂直的互連線只能處於相鄰的布線層,靈活性較低。

二叉樹結構

 

 

時鍾源作為整棵樹的根節點,底下每一級buffer作為樹的分支,最后寄存器是整棵樹的葉子節點。

優點:分支的buffer起到了隔絕前后級的作用,同時有利於恢復時鍾信號強度,能夠有效改善transition time, 進而有利於控制skew和整體的時鍾延遲。

缺點:多級buffer,晶體管本身對於PVT/環境參數敏感,實際實現的clock tree效果和預期會有差異。

網格結構

 

 

 

 

grid clock tree由於他有比較多冗余結構,可以有比較強的抗干擾能力和較小的skew. 如上圖所示是一種典型的Htree+grid的時鍾樹結構,另外還有二叉樹加上grid的結構。通常是在樹的葉子節點有一個buffer, 該buffer同時出入網格的交叉點上。

優點:通常會有較小的skew, 並且有較好的抗干擾能力。

缺點:因為有比較多的冗余的互聯,功耗會增加;芯片布局通常會有限制,比如會有電源線和布線障礙區,所以可能會出現無法實現grid的情況。

 

脊柱結構

 

 

Clock spine(脊柱)是一個線上連接多個觸發器,看上去就像一根脊柱一樣,一般設計里面會有多個clock spine, 如右圖所示有兩個spine。

 

優點:通常會有較小的skew, 並且有較好的抗干擾能力。

 

缺點:clock spine 的葉子節點還需要加上連線優化到觸發器才能滿足skew要求。

 

參考

《數字集成電路物理設計》

《Digital vlsi design》 https://www.bilibili.com/video/BV1Dy4y187wL?p=8

 

https://www.physicaldesign4u.com/search/label/what%20is%20floorplanning?&max-results=7

https://zhuanlan.zhihu.com/p/96164213

https://www.vlsi4freshers.com/2020/01/clock-tree-synthesis-cts.html

https://ivlsi.com/clock-tree-synthesis-cts-vlsi-physical-design/

https://vlsi-backend-adventure.com/cts.html

https://core.ac.uk/download/pdf/190335797.pdf

https://www.design-reuse.com/articles/21019/clock-mesh-benefits-analysis.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM