數字IC后端布局階段對Tie-high和Tie-low Net的處理


本文轉自:自己的微信公眾號《集成電路設計及EDA教程》

里面主要講解數字IC前端、后端、DFT、低功耗設計以及驗證等相關知識,並且講解了其中用到的各種EDA工具的教程。

考慮到微信公眾平台上面發布的很多推文百度搜索不到,所以以后的推文也會在這里進行轉載。

 

《數字IC后端布局階段對Tie-high和Tie-low Net的處理》

 布局階段ICC對於時鍾網絡和恆0/1網絡(Constant Net)的行為:

在布局階段,在默認情況下,對於時鍾網絡和恆0/1網絡(也就是Tie-high和Tie-low的net),ICC是不會做邏輯DRC(Design RuleConstraint)的檢查與修復的。這也意味着在執行place_opt時,ICC不會在這些net上插入Buffer。在布局階段我們也不想在時鍾網絡上插入Buffer,但是對於Tie-high和Tie-low的Net,如果軟件不在上面插入Buffer,可能會產生一些問題。在默認設置下工具在place_opt時對tie-high和tie-low的net的行為:會用tie-high和tie-low的Cell去驅動盡量多的Cell。

 

邏輯DRC(Design Rule Constraint)

即max_transition, max_capacitance, max_fanout。這些規則決定布局布線引擎是否需要在這些Net上插入Buffer。

 

Constant Net上面不插入Buffer的缺點:

其信號容易受到串擾的影響,如下圖所示:

在離Tie-high的Net比較近的地方,如果有個高速時鍾信號(兩條線並行走了很長的距離),那么它的恆定電平會受到串擾的影響而產生毛刺。

而對於加了Buffer的Tie-high網絡,它不容易受到串擾的影響,原因如下:

1、由於互連線長度縮短了,因此耦合電容大幅降低,串擾會大大降低;

2、由於Buffer有非常好的電平保持和恢復能力,與Tie-high Cell相比,抗串擾能力更好。

 

Constant Net上面插入Buffer的缺點:

以面積為代價,Tie-high/low的net扇出越大(也就是說設計中固定0/1輸入比較多),加的Buffer越多。

 

如何使能Constant Net Buffering呢?

ICC命令:set_auto_disable_drc_nets -constant false

set_app_varphysopt_new_fix_constants true

set_attribute[...] max_fanout 12

set_attribute[...] max_capacitance 0.2 -type float

 

設置完成后工具的行為:

用tie-high和tie-low盡量驅動更多的單元,同時滿足指定的最大扇出和最大電容約束。

set_auto_disable_drc_nets命令可以在常量網絡上啟用DRC修復。

physopt_new_fix_constants變量設置為true會使得工具在優化期間注意最大電容約束。最大電容約束由max_capacitance屬性確定,該屬性使用set_max_capacitance或set_attribute命令設置。 set_attribute命令用於明確指定設計中對象的最大扇出和最大電容約束。

  


 

##  為了方便大家交流討論  ##

##  建了一個QQ群  ##

## 集成電路設計及EDA教程  ##

## 加群請備注:EDA  ##

##  群二維碼如下  ##


免責聲明!

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



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