《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > EDA與制造 > 設(shè)計應(yīng)用 > ASIC后端設(shè)計中的時鐘樹綜合
ASIC后端設(shè)計中的時鐘樹綜合
摘要: 行業(yè)產(chǎn)品市場行情,,產(chǎn)品價格趨勢分析,,全國各類展會動態(tài),盡在ICBuy電子網(wǎng)行業(yè)資訊頻道,。他是您把握市場行情不可多得的得力助手,!
關(guān)鍵詞: IC設(shè)計軟件 ASIC 時鐘樹
Abstract:
Key words :
 

  0 引言

  在大規(guī)模高性能的ASIC設(shè)計中,,對時鐘偏移(Clock Skew)的要求越來越嚴格,時鐘偏移是限制系統(tǒng)時鐘頻率的主要因素,。而時鐘樹綜合又是減小時鐘偏移的有效途徑,,因此它是ASIC后端設(shè)計中最重要的環(huán)節(jié)之一。本文以基于SOC Encounter,,采用SMIC0.18μm工藝進行的FFT處理器的版圖設(shè)計為例,,提出在設(shè)計過程中如何減小時鐘偏移,結(jié)合手動優(yōu)化幫助工具設(shè)計出更好的時鐘樹,。

  1 時鐘偏移產(chǎn)生的原因分析

  同一時鐘源到達各個同步單元的最大時間差稱作時鐘偏移,。產(chǎn)生時鐘偏移的原因有:時鐘源到各個時鐘端點的路徑長度不同;各個端點負載不同,;在時鐘網(wǎng)中插入的緩沖器不同等,。時鐘偏差過大會引起同步電路功能混亂。

a.jpg

  在圖1中,,假設(shè)CLK到達reg1和reg2的時間差最大,,為dskew,組合邏輯C的延時為dc,寄存器的延時為d,,其建立時間約束為dsetup,,保持時間為dhold,時鐘周期為T,。滿足建立時間的要求是在CLK2跳變前的dsetup時間,,reg2上D端的數(shù)據(jù)應(yīng)該穩(wěn)定,考慮最壞情況reg1比reg2晚dskew,,這時滿足的時間關(guān)系應(yīng)該是:

g.jpg

  滿足保持時間的要求是:在CLK2跳變后的dhold時間內(nèi),,reg2上D端的數(shù)據(jù)必須保持穩(wěn)定,考慮最壞情況reg1比reg2早dskew,,這時滿足的時間關(guān)系應(yīng)該是:

h.jpg

  由此可見,,時鐘偏移對電路速度和時鐘頻率的限制是很大的,而寄存器的保持時間,、建立時間和自身的延時,,都是與器件單元本身的結(jié)構(gòu)和性質(zhì)有關(guān),依賴于工藝的改進來進一步減小,,所以減小skew成為后端設(shè)計重要內(nèi)容,,也是提高電路速度的關(guān)鍵。

  2 SOC Encounter的時鐘樹綜合

  SOC Encounter的時鐘樹綜合在完成布局之后進行,,可以采用手動模式和自動模式,。手動模式能控制時鐘樹的層次、buffer的數(shù)目和每層加入buffer的類型,。自動模式根據(jù)時鐘樹定義文件自動決定時鐘樹的層次和buffer的數(shù)目,。時鐘樹綜合從外部時鐘輸入端口自動遍歷整個時鐘樹,遍歷完成后加入buffer用來平衡時鐘樹,。SOC Encounter的時鐘樹綜合流程如圖2所示,。

b.jpg

  2.1 布局階段對時序的優(yōu)化考慮

  布局的好壞直接影響到時序的好壞。本設(shè)計采用時序驅(qū)動布局,,時序驅(qū)動布局是基于連續(xù)收斂引擎而設(shè)計的,,工具自動的尋找一些最關(guān)鍵路徑,將關(guān)鍵路徑上的單元放得很近,,以減小連線長度來減小關(guān)鍵路徑時延,,平衡其setup時間約束,預先為這些關(guān)鍵路徑留出足夠的布線空間,,提高關(guān)鍵信號線的可布通性,。同時,為了減少擁塞度,,對布局時的最大密度設(shè)置為70%,,限制布局密度,。時序驅(qū)動布局采用setPlace-Mode-timingDriven命令設(shè)置布局模式,plaeeDesign命令執(zhí)行布局,。

  如果只是依賴工具的時序驅(qū)動布局是不夠的,,為了盡量減小時鐘偏移(Skew),采取的策略是,,在時序驅(qū)動布局的基礎(chǔ)上,,進行手動的布局調(diào)整,根據(jù)時鐘的不同,,將各時鐘控制的寄存器擺在靠近時鐘源(Clock-source)差不多遠的位置,。這樣,同一時鐘到達各寄存器的時間差就不會太大,,有利于減少插入buffer的數(shù)量,,也有利于Skew的減小。

  2.2 時鐘樹綜合時的特殊處理

  在時鐘樹綜合之前,,需要通過時鐘樹約束文件來設(shè)置綜合需要用到的buffer類型,、時鐘偏移的目標值MaxSkew、最大時延MaxDelay,、最小時延MinDelay,、最大扇出MaxFanout、時鐘樹布線規(guī)則等,。本設(shè)計選用驅(qū)動能力為中間值的buffer類型來做時鐘樹綜合,因為驅(qū)動能力大的buffer,,面積也大,,如果插入這種buffer太多,會對芯片的功耗和面積產(chǎn)生影響,,而且這種buffer對于上一級也意味著更大的負載,;驅(qū)動能力太小的buffer雖然面積小點,但是會增加時鐘級數(shù),,產(chǎn)生的延時卻是很大的,,所以buffer的選擇一定要適當,本設(shè)計在選用buffer時,,將驅(qū)動能力最大的BUFHD20X和驅(qū)動能力最小的BUFHDLX去掉不選用,。

  對于Skew要求比較嚴格的設(shè)計,可以將時鐘偏移目標值MaxSkew設(shè)置盡量小,,工具在綜合時會盡量的將Skew優(yōu)化到接近到該目標值,。但一般設(shè)計中,只要Skew能滿足要求,,就不要過分的將該值設(shè)小,,因為工具為了接近該目標值會插入大量的buffer,從而占用太多的面積和太多功耗。因此,,本設(shè)計選用MaxSkew的適當值為100ps,。

  時鐘樹布線規(guī)則是可以通過手動設(shè)置的,為了讓時序路徑的布線降低功耗,,減小線路的延時,,一般將時序路徑的布線寬度和間距都設(shè)置的比默認值大,本設(shè)計采取一般信號線的兩倍寬度和間距來布時鐘信號線,。而且在布線的時候,,采取時鐘樹優(yōu)先布線的策略,充分保證時鐘樹路徑的布通,。經(jīng)過encounter工具自動CTS后的時鐘樹分布圖如圖3所示,。

c.jpg

  2.3 時鐘樹的手動優(yōu)化

  工具自動的時鐘樹綜合總是會有一些skew沒有滿足設(shè)計要求,工具自動插入的一些buffer也不一定都合理,,一般情況下,,encounter自動綜合產(chǎn)生的時鐘樹是不滿足要求的,在經(jīng)過了時序分析后要進行必要的修復優(yōu)化,??偟脑瓌t就是想辦法平衡各線路的延時,一般的優(yōu)化途徑有以下一些:

  (1)在時鐘信號源(Clock Source)處手動添加驅(qū)動能力很大的drive cell,,因為時鐘樹一般扇出很大,,負載很大,所以在時鐘源點處需要驅(qū)動能力大的門單元,,更大驅(qū)動能力的門單元可以明顯減少延時,。

  (2)替換(Re_sizing)驅(qū)動能力不一樣的單元,尤其是buffer單元,。時鐘樹綜合完成后,,經(jīng)過仔細的時序分析后,根據(jù)時序分析結(jié)果報告,,分析Skew違規(guī)原因,,找出導致Skew違規(guī)的路徑,根據(jù)延時情況來替換一些驅(qū)動能力不同的單元,,如buffer等,,使其延時情況與其他時鐘信號線相平衡,從而達到減小Skew的目的,。

  (3)添加buffer,。互連線的延時與連線長度的平方成正比,,所以插入buffer可以將長的關(guān)鍵路徑分成較小的連線,,可以有效地減小互連線的延時,。插入的buffer的驅(qū)動能力的大小靠經(jīng)驗估計,插入后做時序分析,,然后再做re_sizing,,直到滿足延時要求。

e.jpg

  經(jīng)過eneounter自動時鐘樹綜合后,,查看其CTS時序報告,,如圖4所示,發(fā)現(xiàn)時鐘elk_pad的最大偏移值達到了152.4 ps,,這樣與目標值還有很大差距,。經(jīng)過timing Debug跟蹤時鐘信號,如圖5所示,,從中找出一些Skew較大的線路,,如從fft4442_inst/CT/M3_R_reg/Q到fft4442 _inst/PEII/pc42_in4_reg_76_/RN的延時太長,達到了27.035 ns,,因為這樣的線路與其他信號線的延時相差比較大,,它們之間的Skew就很容易違規(guī),必須減小它們的延時來減小Skew,。

d.jpg

  再進一步查看該線路,,發(fā)現(xiàn)有些單元,如FFDCRHD1X延時達到13.483 ns,,HAND281HD1X延時達到8.578ns,,INVHDPX也達到了4.209ns,而且該線路還插入了不少BUFHD1X,,由于此類buffer的驅(qū)動能力太小,,從而導致了該線路的延時過大。于是,,采用第二類修復辦法:替換(r-e_sizing)驅(qū)動能力不一樣的buffer。于是調(diào)用Interactive ECO功能,,手動將延時太長的單元FFDCRHD1X,、HAND2B1HD1X等的尺寸替換為更大的,從而加強其驅(qū)動能力,,并將部分BUFHD1X替換成BUFHD4X等,,再做了PostCTS optimization后,再進行時序分析,,這樣經(jīng)過幾輪反復的修復,,降低了一些線路的延時,終于將時鐘CLK的Skew降到了93.3ps,,如圖6所示,,滿足了設(shè)計要求,。從eneounter的CTS報告中可以看出,加上有針對性的手動修復之后,,對Skew的減小有明顯效果,。

f.jpg

  3 結(jié)語

  隨著集成電路設(shè)計尺寸的減小和芯片運行頻率的提高,時鐘偏移已經(jīng)成為影響ASIC芯片性能的關(guān)鍵因素,。本文以對FFT處理器芯片的時鐘樹綜合為例,,分析了時鐘偏移的產(chǎn)生機理及影響,從布局階段就開始關(guān)注時序的優(yōu)化,,進行了一系列的優(yōu)化設(shè)置,。經(jīng)過時序分析證明,采取工具自動綜合和手動修復相結(jié)合的辦法,,容易滿足設(shè)計要求,,不僅可以提高綜合效率,還可以保證優(yōu)化的有效性,。



 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。