ASIC后端設計中的時鐘樹綜合
2.1 布局階段對時序的優(yōu)化考慮
布局的好壞直接影響到時序的好壞。本設計采用時序驅動布局,時序驅動布局是基于連續(xù)收斂引擎而設計的,工具自動的尋找一些最關鍵路徑,將關鍵路徑上的單元放得很近,以減小連線長度來減小關鍵路徑時延,平衡其setup時間約束,預先為這些關鍵路徑留出足夠的布線空間,提高關鍵信號線的可布通性。同時,為了減少擁塞度,對布局時的最大密度設置為70%,限制布局密度。時序驅動布局采用setPlace-
Mode-timingDriven命令設置布局模式,plaeeDesign命令執(zhí)行布局。
如果只是依賴工具的時序驅動布局是不夠的,為了盡量減小時鐘偏移(Skew),采取的策略是,在時序驅動布局的基礎上,進行手動的布局調整,根據(jù)時鐘的不同,將各時鐘控制的寄存器擺在靠近時鐘源(Clock-source)差不多遠的位置。這樣,同一時鐘到達各寄存器的時間差就不會太大,有利于減少插入buffer的數(shù)量,也有利于Skew的減小。
2.2 時鐘樹綜合時的特殊處理
在時鐘樹綜合之前,需要通過時鐘樹約束文件來設置綜合需要用到的buffer類型、時鐘偏移的目標值MaxSkew、最大時延MaxDelay、最小時延MinDelay、最大扇出MaxFanout、時鐘樹布線規(guī)則等。本設計選用驅動能力為中間值的buffer類型來做時鐘樹綜合,因為驅動能力大的buffer,面積也大,如果插入這種buffer太多,會對芯片的功耗和面積產生影響,而且這種buffer對于上一級也意味著更大的負載;驅動能力太小的buffer雖然面積小點,但是會增加時鐘級數(shù),產生的延時卻是很大的,所以buffer的選擇一定要適當,本設計在選用buffer時,將驅動能力最大的BUFHD20X和驅動能力最小的BUFHDLX去掉不選用。
對于Skew要求比較嚴格的設計,可以將時鐘偏移目標值MaxSkew設置盡量小,工具在綜合時會盡量的將Skew優(yōu)化到接近到該目標值。但一般設計中,只要Skew能滿足要求,就不要過分的將該值設小,因為工具為了接近該目標值會插入大量的buffer,從而占用太多的面積和太多功耗。因此,本設計選用MaxSkew的適當值為100ps。
時鐘樹布線規(guī)則是可以通過手動設置的,為了讓時序路徑的布線降低功耗,減小線路的延時,一般將時序路徑的布線寬度和間距都設置的比默認值大,本設計采取一般信號線的兩倍寬度和間距來布時鐘信號線。而且在布線的時候,采取時鐘樹優(yōu)先布線的策略,充分保證時鐘樹路徑的布通。經過encounter工具自動CTS后的時鐘樹分布圖如圖3所示。本文引用地址:http://m.butianyuan.cn/article/187514.htm
2.3 時鐘樹的手動優(yōu)化
工具自動的時鐘樹綜合總是會有一些skew沒有滿足設計要求,工具自動插入的一些buffer也不一定都合理,一般情況下,encounter自動綜合產生的時鐘樹是不滿足要求的,在經過了時序分析后要進行必要的修復優(yōu)化??偟脑瓌t就是想辦法平衡各線路的延時,一般的優(yōu)化途徑有以下一些:
(1)在時鐘信號源(Clock Source)處手動添加驅動能力很大的drive cell,因為時鐘樹一般扇出很大,負載很大,所以在時鐘源點處需要驅動能力大的門單元,更大驅動能力的門單元可以明顯減少延時。
(2)替換(Re_sizing)驅動能力不一樣的單元,尤其是buffer單元。時鐘樹綜合完成后,經過仔細的時序分析后,根據(jù)時序分析結果報告,分析Skew違規(guī)原因,找出導致Skew違規(guī)的路徑,根據(jù)延時情況來替換一些驅動能力不同的單元,如buffer等,使其延時情況與其他時鐘信號線相平衡,從而達到減小Skew的目的。
評論