加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

淺談CTS之縮略概述

09/20 14:51
2.9萬
閱讀需 7 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

HFNS

HFNS即(Hign fanout net syntheis),在開始cts之前需要做這個步驟(這一步包含在placement之中)。

為什么要做這一步, tool做tree也會盡可能讓timing 收斂;在route之前tool使用early global route的方式去評估繞線對timing的影響;fanout會影響繞線的RC以及輸入Cap,這對timing有較大影響,如果不提前做HFNS,可能導致cts看的timing不準,后續(xù)修復難度大。

optimize directive

長樹cell策略:使用BUF(包括普通BUF和CKBUF)還是INV(包括普通INV和CKINV);還是INV和BUF混合使用。

Don’t use:禁用某些lib cell,例如驅(qū)動過大過小的cell,或者某些容易引起IR drop(或者某些物理DRC)的cell。

Size only:一般繼承自前端,針對某些提前例化的cell。

CTS routing rule

時鐘樹從root到leaf可以分為三部分,可以分別設置不同的NDR rule。另外,同一個design中不同的clock也可使用不同的NDR rule。

 

NDR rule可以使時鐘樹對EM更不敏感、對cross talk更不敏感、可以減少insertion delay(net delay大幅減小)。

Clock tree synthesis

CTS幾乎是PnR中最重要的一個step,這直接關乎整個design的timing質(zhì)量和power情況。因為時鐘樹是以一個較長的cell鏈的形式存在,那么相對于reg2reg路徑本身不那么長,而且比較容易被gating住;所以時鐘樹上的power消耗比較大,一般約占整個design power的30%-40%。一般可以通過cloc gating和clock結構調(diào)整等方法優(yōu)化時鐘樹質(zhì)量。

CTS的輸入件

庫文件:tech file(或tech lef)、Netlist & Placement def(或者placement database)、SDC、libarary files(.lib & .lef )、TLU+ file(或cap table 或qrc tech file)。

Clock spec file:insertion delay、target skew、clock transition、clock cell、NDR rule、CTS tree type、CTS exception(例如stop pin等);等。

CTS目標

CTS Latency &  Dealy

CTS主要關注的指標

Skew:分為global skew和local skew,體現(xiàn)時鐘是否做平。

Power:時鐘樹power決定了design的能效情況。

Noise:時鐘樹對noise敏感,因為時鐘樹如果電平不穩(wěn),可能導致大量reg的狀態(tài)不確定。

Delay:滿足spec和timing情況下,clock不宜太長。

Clock uncertain

包括clock skew和clock jitter。

Clock tree Exception

Non-Stop pin、Exclude pin、Float pin、Stop pin、Don’t touch sub-tree 、Don’t buffer net、don’t size net。

CTS策略

CTS輸出件

Timing 報告、Congestion 報告、skew report、Insertion delay report、latecny report、CTS def file等。

CTS核心命令

以Innovus為例。

create_clock_tree_spec:根據(jù)user設置的各種configuration settings生成design的clock network。

 

ccopt_design:在前述步驟的基礎上進行時鐘網(wǎng)絡優(yōu)化。

為什么有時要帶多corner做tree

因為不同corner的delay計算是不一樣的,在某個corner下做平的tree換成另一個corner可能就不平了;如果critical corner不止一個,那么顯然用單corner做tree是有風險的。

部分參考文獻

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

https://chipedge.com/what-is-clock-tree-synthesis/

相關推薦

電子產(chǎn)業(yè)圖譜

前華為海思工程師;與非網(wǎng)2022年度影響力創(chuàng)作者;IC技術圈成員。

微信公眾號