摘要:設計了互連線RC端角定制流程和方法,定制出了新的RC端角,并評估了定制的RC端角對其他端角的覆蓋情況.測試結果表明,在少量增加違反路徑的情況下定制的RC端角對其他端角的覆蓋率能夠達到99%.最后,采用定制的RC端角,改進了傳統的MMMC時序分析流程.應用實例中的結果表明,改進后的分析流程在以增加緩沖器單元數目和犧牲單元面積為代價的情況下大大減少了時間開銷.在時序收斂的情況下,緩沖單元數增加了22.07%,單元面積增加了21.65%,但是每次時序分析工具運行時間減少了84%.
關鍵詞:RC端角;MMMC;時序分析;集成電路
中圖分類號:TN47 文獻標識碼:A
Customizing and Application of RC Corner
YUE Da-heng, XIA Ting-ting, ZHAO Zhen-yu
(College of Computer, National Univ of Defense Technology, Changsha, Hunan 410073, China)
Abstract: This paper designed the flow and method of custom RC corners, customized a new RC corner, and estimated the coverage of the custom corner. The result shows that the coverage of custom RC corner to the other corners can reach up to 99%. Finally, we improved the traditional MMMC analysis flow with the custom RC corner. The result of application case in engineering shows that the runtime of tools reduced greatly at the cost of buffer count and buffer area. The buffer count increased by 22.07% and the buffer area increased by 21.65%, whereas the runtime of tools decreased by 84% after the timing was closuring.
Key words: RC corner; multi-mode multi-corner; timing analysis; integrated circuit
隨著VLSI(Very Large Scale Integrated Circuits)進入到超深亞微米階段,集成電路規模和復雜度日益增加,互連線延時在總延時中所占比重開始超過門延時[1-3].特別是在采用納米工藝之后,互連線延時大約占總延時的60%~70%[4],從而成為制約系統性能的關鍵因素.可以說,在未來的硅技術發展中,互連線對集成電路的影響會越來越顯著,互連線設計將會成為集成電路設計中的核心因素[5].
在超大規模集成電路制造過程中,通常需要經過光刻、摻雜、增層、熱處理等數百甚至上千個工藝步驟,在這些工藝步驟中各種工藝上的波動是無法避免的,主要來自于溫度、污染以及一些無法預料的因素,使得各種參數值偏離理想值[6].因此,在互連線延時分析過程中必須考慮工藝波動的影響.[7-8]基于工藝角的分析方法是一種重要的分析方法,因為該方法可以直接分析得出工藝波動影響下的電路開關速度,而電路開關速度是集成電路的一個重要參數.工藝廠商提供WC, WCZ, WCL, BC, ML, LT, TC七個器件端角, 以及typical, cbest, rcbest, cworst和rcworst五種互連線工藝角,又稱RC端角,即代工廠根據提供的多種PVT(Process Voltage Temperature)條件和工藝條件產生的多種電阻電容文件.5種RC端角定義如下:
①typical端角代表典型電阻電容數據;
②cbest端角代表最佳電容數據;
③rcbest端角代表最佳電阻電容數據;
④cworst端角代表最差電容數據;
⑤rcworst端角代表最差電阻電容數據.
對于65 nm工藝以下的設計,使用MMMC (Multi-Mode Multi-Corner)分析方法已逐漸變成時序分析的一項基本要求,該分析方法已用于實際芯片產品設計中.在多端角時序分析中,器件端角和RC端角的組合就構成了時序分析端角.7種器件端角和5種RC端角,共有35種組合.在實際工程項目中存在以下兩個問題:一個問題是設計模塊在多端角組合下的時序違反路徑不能相互覆蓋,導致設計模塊完成優化后需要在多個端角下進行時序分析,從而帶來巨大的時間開銷;另一個問題是,由于多端角組合下的時序路徑不能相互覆蓋,從而在設計優化時需要在多個端角間來回切換,而且每次對其中一個端角下的時序進行修正時,也會影響其他端角下的時序,進而增加了實現與時序驗證工具之間的切換次數以及手工ECO的時間,這進一步增加了整個設計的時間開銷.因此,研究可覆蓋所有端角的custom端角就顯得尤為必要.使得custom端角下優化收斂的電路在其他所有signoff端角下都可以時序收斂,就可以大大加速設計的時序收斂速度.
本文RC端角的定制與應用,是在定制一個可以覆蓋其他signoff端角的情況下,采用定制的RC端角改進傳統的MMMC時序分析流程,在少量增加緩沖器單元數目和犧牲單元面積為代價的情況下大大減少了時序分析的時間開銷.
1 定制RC端角
本節主要包括RC端角的定制流程、實現、以及評估.
1.1 定制流程及實現
設計RC端角定制流程如圖1所示.
首先需要創建RC端角下的工藝描述文件ITF(Interconnect Technology File)文件,該文件主要用于描述互連線工藝參數設置以及建立受制造工藝影響的互連線模型.該描述文件并不能直接用于互連線寄生參數的提取,需要將其轉化成寄生參數提取工具能識別的工藝文件,如Star RC-XT可識別的.nxtgrd文件以及QRC可識別的qrcTechFile.如果在轉換工藝描述文件的過程中報出錯誤的信息,需要根據錯誤信息重新修改工藝描述文件.如果沒有錯誤信息,寄生參數提取工具就可以根據生成的工藝文件對設計版圖進行寄生參數的提取,并輸出存儲有該端角下互連線的電阻R和電容C的文件.靜態時序分析工具PT就可以讀取芯片中整個互連網絡的寄生參數R和C并計算出互連線的延時信息,然后結合器件的延時信息進行時序分析.
1.1.1 創建工藝描述文件
先進的IC需要6層或者更多的金屬布線層,每層之間由絕緣介質隔開.工藝描述文件ITF文件主要包括以下內容:
①每層金屬線的最小寬度和最小間距;
②每層金屬線的厚度;
③相鄰兩層金屬間的介質厚度;
④每層金屬的電阻率;
⑤金屬層間絕緣介質的介電常數;
⑥通孔和接觸孔的定義,包括通孔所連接的頂層金屬和底層金屬以及通孔的電阻等;
⑦擴散層的厚度和電阻率.
1.1.2 轉換工藝描述文件
工藝描述文件不能直接用于寄生參數的提取,需要將其轉換成寄生參數提取工具能夠識別的文件,如Star RC-XT工具可識別工藝文件.nxtgrd文件.ITF文件到.nxtgrd文件的轉換,可以直接使用如下命令行.
grdgenxo
如果只是對ITF文件進行更新,可以使用如下命令行對初始的ITF文件進行增量式的更新.
grdgenxo-inc-old_itf
1.1.3 RC端角的實現
在集成電路中,互連線電阻與導線寬度和厚度成反比;互連線電容與導線寬度和厚度成正比,與層間絕緣介質厚度和線間距成反比.因此5種RC端角工藝參數有以下特點:
①cbest端角下的互連線電容最小,cworst端角下的互連線電容最大;
②rcbest端角下的互連線電阻最小,rcworst端角下的互連線電阻最大.
由于層間絕緣介質厚度只影響互連線電容,因此為了使定制的RC端角可以覆蓋這5種RC端角,可以適當地調整層間絕緣介質厚度.所以,依據rcbest端角rcworst端角下互連線工藝參數設置,分別向下或向上調整層間絕緣介質厚度,使得rccustom_max端角在互連線電阻達到最大的同時互連線電容也盡可能的大,rccustom_min端角在互連線電阻達到最小的同時互連線電容也盡可能的小.
采用圖1所示的RC端角定制流程,本文分別在rcbest端角rcworst端角下互連線工藝參數設置的基礎上,向上和向下調整層間絕緣介質厚度20%,定制出rccustom_max和rccustom_min兩個端角.
為了驗證rccustom_max和rccustom_min這兩個定制的RC端角的效果,使用Star RC-XT分別提取20 ~300 μm不等長度的互連線在各個RC端角下的互連線寄生參數值,然后通過工具PT計算出互連線延時,結果分別如圖2,圖3和圖4所示.
從圖中可以看出,rccustom_max端角下的互連線的電阻電容值都是最差的,且互連線延時最大;而rccustom_min端角下的互連線的電阻電容值都是最小的,且互連線延時最小.
1.2 RC端角評估
以實際工程項目中的設計模塊X1為測試用例,來評估定制的兩個RC端角(rccustom_max, rccustom_min)對其他端角的覆蓋情況.其中,X1模塊長850 μm,寬400 μm,寄存器6 063個,總單元數目30 784個,且該設計模塊為route階段優化之后的設計.在時序分析時,時序路徑違反很大程度上受到時鐘偏差和串擾的影響,因此,在測試的過程中需要減小時鐘偏差和串擾的影響,特別是時鐘偏差的影響,故對測試電路,使用理想時鐘進行時序檢查且不考慮串擾的影響.
評估定制RC端角好壞的一個重要的指標就是覆蓋率,而且要求覆蓋端角下的時序要比被覆蓋端角下的時序更差.
假設被檢查模塊在端角1下的違反路徑為集合A,在端角2下的違反路徑為集合B,集合B中的路徑
也在集合A中存在的違反路徑為集合C,集合A中的路徑在集合B中也存在的違反路徑為集合D.則
端角1對端角2的覆蓋率為:
P1v2=count(C)/count(B).(1)
端角2對端角1的覆蓋率為:
P2v1=count(D)/count(A).(2)
在測試電路中使用如表1所示的端角進行多端角時序檢查.每個端角用小括號里面的Ci(i=1,…,16)代替,其中C1~C6以及C8~C15為signoff端角組合,C7和C16為定制端角組合.
首先,分析建立時間檢查時各個端角之間的覆蓋情況,如表2所示.
然后,分析保持時間檢查時各個端角的覆蓋情況.進行保持時間檢查時,設計模塊X1在C1~C6六個端角沒有保持時間違反,故只需分析C8~C16端角下保持時間違反路徑間的相互覆蓋情況,結果如表3所示.
從表2和表3中可看出,在使用signoff端角進行時序檢查時,各個端角下的違反路徑并不能相互覆蓋.而在少量增加違反路徑的情況下,定制的端角組合C7和C16能夠99%以上地覆蓋其他端角.
2 定制RC端角的應用
2.1 改進時序分析流程
在目前先進工藝的集成電路設計流程中,設計完成布局布線以及優化后,需要在多種signoff端角下進行多模式多端角的時序檢查(MMMC時序檢查),如用wc_cworst, wc_rcworst, wcz_cworst, wcz_rcworst, tc_cworst, tc_rcworst 6個signoff端角進行建立時間檢查;用wc_cworst, wc_rcworst, wcz_cworst, wcz_rcworst, tc_cworst, tc_rcworst, bc_cbest, bc_rcbest, bc_cworst, bc_rcworst, ml_cbest, ml_rcbest, ml_cworst, ml_rcworst 14個signoff端角進行保持時間檢查.這就意味著在進行MMMC時序驗證的時候,如果每一種模式下都用20個端角來進行時序檢查,就會產生大量的時間開銷.
我們在第2小節中定制了兩個RC端角——rccustom_max, rccustom_min,分別用于最差電阻電容和最佳電阻電容計算.試驗結果表明這兩個RC端角下互連線延時可以覆蓋工藝廠商提供的5個RC端角,且wc_ rccustom_max組合端角在建立時間檢查時,可以99%地覆蓋用于建立時間檢查的signoff端角,而bc_ rccustom_min組合端角可以99%地覆蓋用于保持時間檢查的signoff端角,故每次時序分析的端角由原來的20個減少為2個,減少工具運行時間達90%.
改進的時序分析流程如圖5所示.
2.2 應用實例及分析
1.2節中對定制的兩個RC端角的評估結果顯示,定制的端角組合C7和C16能夠99%以上地覆蓋其他端角.以設計模塊X1為例,采用圖5所示的改進后的流程,對模塊X1進行設計優化直至時序收斂.然后,分別從時序結果、插入緩沖單元數目以及時間開銷等方面對比分析改進的時序分析流程與傳統的MMMC時序分析流程.結果如表4和表5所示.
從表4中的結果可以看出,在定制端角組合下時序都收斂后,在其他signoff端角下時序也都收斂.從表5中可以看出,X1模塊在signoff階段,相比傳統的MMMC時序分析流程,改進后的分析流程下緩沖單元數增加了22.07%,而面積則增加了21.65%.
在傳統的MMMC時序分析的過程中,需要提取cworst_0c, cworst_125c, rcworst_0c, rcworst_125c, cbest_0c, cbest_125c, rcbest_0c, rcbest_125c八個RC端角下的寄生參數,改進后的流程中需要提取rccustom_max和rccustom_min兩個RC端角下的寄生參數,而單個端角下寄生參數提取大約需要4~5 min.因此,相對傳統的分析流程,改進的分析流程在寄生參數提取這一環節中,每次可以減少大約24~30 min的時間開銷.
在傳統的MMMC時序分析流程中,建立時間檢查需要運行6個端角,保持時間檢查需要運行14個端角.而在改進的分析流程中,只需要運行C7和C16兩個端角.而單次靜態時序分析大約需要2~3 min.因此,相對傳統的分析流程,改進的分析流程在靜態時序分析這一環節,每次可減少約36~54 min的時間開銷.
綜上分析,對于改進后的時序分析流程,雖然緩沖單元會有22.07%的額外開銷,在只有計算工具運行時間的情況下(不包括人為參入的時間),每次時序分析大約可減少60~84 min,即時間開銷大約減少了84%.
3 結 論
在進行傳統的MMMC時序分析時,每次時序分析需要運行近20個端角,導致單次時序分析時間過長.又因為端角間不能相互覆蓋,這就進一步增加了實現與時序驗證工具之間的切換次數以及手工ECO的時間.
本文的主要工作是定制一個可以覆蓋其他端角的RC端角,使得該RC端角下優化收斂的電路在其他所有signoff端角下都可以時序收斂.然后根據定制的RC端角,對傳統的MMMC時序分析流程進行改進,并通過應用實例在時序結果、插入緩沖單元數目以及時間開銷等方面對比分析改進后的分析流程與傳統的MMMC時序分析流程.
以設計模塊X1為例,當芯片在定制的端角下時序收斂后,在signoff端角下也同樣時序收斂,且相對于傳統的MMMC時序分析流程,緩沖單元數增加了22.07%,單元面積增加了21.65%,但是每次靜態時序分析,在不包括人為參入時間的情況下,工具運行時間減少了84%.
參考文獻
[1] SIA. International technology roadmap for semiconductors[R]. Washington, DC: Semiconductor Industry Association 2004.
[2] SILVER A H. Superconductor technology for high-end computing system issues and technology roadmap[C]//Proceedings of the 2005 ACM/IEEE Conference on Supercomputing. Washington, DC: IEEE Computer Society, 2005:64.
[3] MEINDL J D, DAVIS J A, ZARKESH-HA P, et al. Interconnect opportunities for gigascale integration[J]. IBM Journal of Research and Developmen, 2002, 46(2/3): 245-263.
[4] YAMADA K, ODA N. Statistical corner conditions of interconnect delay (corner LPE specifications)[C]//Proceedings of the 2006 Asia and South Pacific Conference on Design Automation. New York: IEEE, 2006: 706-711.
[5] 李建偉.考慮工藝波動的互連線模型研究[D].西安:西安電子科技大學, 2010:2-8, 11-12.
LI Jian-wei. Research on interconnect model considering process variations[D]. Xi’an: Xidian University, 2010:2-8, 11-12.(In Chinese)
[6] 張瑛, 王志功. VLSI中互連線工藝變化的若干問題研究進展[J].電路與系統學報, 2010, 15(3):96-101.
ZHANG Ying, WANG Zhi-gong. Research progress of some problems in interconnects process variations of VLSI [J]. Journal of Circuits and Systems, 2010, 15(3):96-101. (In Chinese)
[7] NASSIF S R. Modeling and analysis of manufacturing variations[C]//Proceedings of IEEE Conference on Custom Integrated Circuits. New York: IEEE, 2001: 223-228.
[8] LIN Z J,SPANOS C, MILER L, et al. Study of circuit sensitivity to interconnect variation[C]//Proceedings of 2nd International Workshop on Statistical Metrology. New York: IEEE, 1997: 28-31.