李仁發(fā) 徐實(shí) 趙振宇 王耀 劉暢 胡逸騉
摘 要:隨著SoC方法學(xué)的使用,集成電路越來(lái)越復(fù)雜,設(shè)計(jì)規(guī)模越來(lái)越大,連線(xiàn)延時(shí)已經(jīng)成為影響時(shí)序收斂的關(guān)健因素之一.本文提出了一種基于物理設(shè)計(jì)的長(zhǎng)線(xiàn)互連優(yōu)化方法,即優(yōu)化關(guān)鍵單元的布局,并選取、增、減repeater來(lái)優(yōu)化時(shí)序.本方法根據(jù)單元間的位置測(cè)定單元間距,指導(dǎo)設(shè)計(jì)中需要插入的repeater位置及數(shù)量.長(zhǎng)互連延遲的優(yōu)化效果與所使用的單元、插入單元的間距、選用的線(xiàn)寬等影響因素有密切關(guān)系.28 nm工藝下,在間距200 μm~250 μm時(shí)插入8倍驅(qū)動(dòng)(×8)規(guī)格的反相器(緩沖器)時(shí)效果最好.其次,將互連線(xiàn)上的緩沖器換成反相器, 互連延遲能降低10%.第三,使用更寬的走線(xiàn)能使長(zhǎng)互連線(xiàn)延時(shí)再降低20~30 ps.
關(guān)鍵詞:物理設(shè)計(jì);預(yù)布局;長(zhǎng)線(xiàn)優(yōu)化;EDA;優(yōu)化時(shí)序
中圖分類(lèi)號(hào):TP302.4 文獻(xiàn)標(biāo)識(shí)碼:A
隨著集成電路工藝的進(jìn)步,高性能處理器的設(shè)計(jì)規(guī)模已超過(guò)10億晶體管,更多的物理資源,更高的器件密度導(dǎo)致后端物理設(shè)計(jì)變得越來(lái)越復(fù)雜,時(shí)序收斂成為高性能處理器實(shí)現(xiàn)的關(guān)鍵節(jié)點(diǎn)[1].在深亞微米工藝中,互連線(xiàn)延時(shí)與單元延時(shí)在整個(gè)電路延時(shí)中嚴(yán)重影響著時(shí)序的收斂,如何優(yōu)化長(zhǎng)線(xiàn)時(shí)序是當(dāng)前的研究熱點(diǎn).
當(dāng)前,互連線(xiàn)延遲優(yōu)化方法的研究工作主要面向自動(dòng)化工具建模.文獻(xiàn)[2]提出了一種在EDA工具中使用基于預(yù)布局的時(shí)序優(yōu)化方法,但是這種方法純粹依賴(lài)EDA工具進(jìn)行時(shí)序優(yōu)化很難達(dá)到預(yù)期的效果,經(jīng)常需要對(duì)關(guān)鍵路徑進(jìn)行手動(dòng)修改.文獻(xiàn)[3]從3D IC設(shè)計(jì)角度,以全新的眼光看待長(zhǎng)線(xiàn)延遲帶來(lái)的不便,從三維層面的角度對(duì)走線(xiàn)優(yōu)化問(wèn)題提出了看法,具有很強(qiáng)的啟發(fā)性.
本文提出了一種基于長(zhǎng)線(xiàn)互連延遲的優(yōu)化方法.該優(yōu)化方法針對(duì)飛騰微處理器中,長(zhǎng)線(xiàn)互連所占比重很高,并且集中在1 800~2 200 μm,商業(yè)工具無(wú)法將時(shí)序優(yōu)化收斂的情況下,通過(guò)對(duì)關(guān)鍵路徑上的標(biāo)準(zhǔn)單元進(jìn)行提前布局,即在布圖規(guī)劃階段,硬核模塊擺放完成之后,將關(guān)鍵路徑上的標(biāo)準(zhǔn)單元類(lèi)似于硬核模塊進(jìn)行手動(dòng)布局,并在預(yù)布局階段對(duì)存在的長(zhǎng)路徑進(jìn)行時(shí)序優(yōu)化.
在實(shí)際芯片模塊物理實(shí)現(xiàn)的過(guò)程中,我們發(fā)現(xiàn)EDA工具反復(fù)迭代并且難以?xún)?yōu)化的路徑絕大部分都是在長(zhǎng)線(xiàn)互連的情況下產(chǎn)生的[4].這是因?yàn)橐坏┞窂街谐霈F(xiàn)了較長(zhǎng)的互連線(xiàn)會(huì)直接導(dǎo)致改路徑上的Slew變長(zhǎng),進(jìn)而導(dǎo)致當(dāng)前路徑的延遲顯著增大.
為了避免這種現(xiàn)象,我們對(duì)設(shè)計(jì)當(dāng)中出現(xiàn)的長(zhǎng)線(xiàn)互聯(lián)路徑對(duì)其使用的單元,驅(qū)動(dòng)路徑的長(zhǎng)度均進(jìn)行了專(zhuān)門(mén)優(yōu)化,使得EDA工具在運(yùn)行時(shí)間上大大縮減.同時(shí)由于整個(gè)模塊中時(shí)序較差的路徑絕大部分也屬于長(zhǎng)線(xiàn)互聯(lián),進(jìn)過(guò)專(zhuān)門(mén)優(yōu)化后,也使得整個(gè)設(shè)計(jì)模塊的違例大大減少,數(shù)據(jù)端的數(shù)據(jù)也能到得更快.
本文結(jié)構(gòu)組織如下:首先,引入互聯(lián)線(xiàn)的分析模型和長(zhǎng)線(xiàn)延時(shí)的計(jì)算方法,研究插入優(yōu)化緩沖器尺寸、位置和數(shù)量對(duì)延時(shí)的影響.然后,對(duì)一段長(zhǎng)線(xiàn)延時(shí)理論上的最佳優(yōu)化方法進(jìn)行深入分析.對(duì)不同情況下的長(zhǎng)線(xiàn)延時(shí)給出最優(yōu)化方案.最后,使用所提出的算法對(duì)長(zhǎng)互聯(lián)線(xiàn)進(jìn)行優(yōu)化,并與優(yōu)化前的延時(shí)進(jìn)行比較,結(jié)果證明所提出的方法可有效減小互聯(lián)線(xiàn)的延時(shí).
1 長(zhǎng)線(xiàn)優(yōu)化方案
1.1 基本的長(zhǎng)線(xiàn)延遲模型
導(dǎo)線(xiàn)的寄生(電容、電阻)參數(shù)是沿它的長(zhǎng)度方向分布的,而不是集中在一點(diǎn),需要建立分析模型來(lái)分析其延遲[5].本文的目標(biāo)設(shè)計(jì)中,長(zhǎng)線(xiàn)發(fā)生的場(chǎng)景一般在頂層全局互連上,這部分互連的特點(diǎn)是距離長(zhǎng),但互連數(shù)量不多,考慮到全局布局的空間資源,一般不容易出現(xiàn)緊密相鄰的長(zhǎng)互連線(xiàn),串?dāng)_問(wèn)題可通過(guò)增加線(xiàn)間距和換層來(lái)解決,因此可以不考慮串?dāng)_以及其它噪聲對(duì)時(shí)序的影響.對(duì)于一段較長(zhǎng)的導(dǎo)線(xiàn),可以把它表示成一個(gè)n段RC的結(jié)構(gòu),總電阻和電容分別表示成:
Rwire=nRw, Cwire=nCw.
Rwire為長(zhǎng)線(xiàn)的等效電阻,Cw為長(zhǎng)線(xiàn)的等效電容.
線(xiàn)延遲分析模型復(fù)雜,而且計(jì)算速度慢,因此人們開(kāi)發(fā)了多種簡(jiǎn)化RC模型,艾蒙延時(shí)計(jì)算模型是其中之一.艾蒙延時(shí)計(jì)算模型中,節(jié)點(diǎn)i處的延時(shí)可以由下式給出:
T=∑Nk=1CkRik.(1)
因此,對(duì)于一個(gè)分成三節(jié)的長(zhǎng)線(xiàn)來(lái)說(shuō),計(jì)算艾蒙延時(shí)為:
T=R1C1+(R1+R2)C2+(R1+R2+R3)C3.(2)
對(duì)于一條總長(zhǎng)L的導(dǎo)線(xiàn),如果把它平均分成n份,每段長(zhǎng)為l,l=L/n,設(shè)Rl為路徑單位長(zhǎng)度的電阻,Cl為導(dǎo)線(xiàn)單位長(zhǎng)度的電容,則導(dǎo)線(xiàn)總的艾蒙延時(shí)為
Tl=(lRl)·(lCl)+2(lRl)·(lCl)+3(lRl)·
(lCl)+…+n(lRl)·(lCl)=
L2·RlCl/2=RwireCwire/2.(3)
于是,長(zhǎng)線(xiàn)延遲最優(yōu)問(wèn)題轉(zhuǎn)換成求Rwire和Cwire的最優(yōu)解問(wèn)題.
1.2 緩沖器插入算法
由式(3)可知,長(zhǎng)線(xiàn)延時(shí)和導(dǎo)線(xiàn)的總長(zhǎng)度L成平方關(guān)系.通常在長(zhǎng)線(xiàn)中選擇合適的位置插入中繼單元,把長(zhǎng)線(xiàn)分成若干段,這樣長(zhǎng)線(xiàn)的總延時(shí)與總長(zhǎng)L的關(guān)系線(xiàn)性化,從而達(dá)到減少總延時(shí)的目的.
一個(gè)比1X大M倍驅(qū)動(dòng)能力的緩沖器的等效電阻R,輸入電容Cin和輸出電容Cout分別為:(比1X大M倍不準(zhǔn)確,意味著M+1倍)
Reff=Reqn/M;
Cout=CeffWn(1+β)=CJ(1+β);
Cin=CgWn(1+β)=CG(1+β);
其中,M為使用緩沖器的倍數(shù),Ceff為單位寬度的有效電容,β為PMOS與NMOS器件的尺寸比,Wn是1X緩沖器NMOS器件的尺寸.由此可知,每一段的埃蒙延遲為:
τ=ReqnM[Cin+CinL2N]+
[ReqnM+RinLN][CinL2N+Cout].
因此,優(yōu)化后的長(zhǎng)線(xiàn)總埃蒙延遲為:
τall=N×τ=N(CG+CJ)Reqn(1+β)+
[CG(1+β)RinM+CinReqnM]L+[CinRin2N]L2.(4)
要使
CG(1+β)RinM+CinReqnM≥
2CG(1+β)RinM×CinReqnM
成立,則:
CG(1+β)RinM=CinReqnM(5)
即,當(dāng)M=CinReqnCG(1+β)Rin,
N=L2CinRin2(CG+CJ)Reqn(1+β)時(shí)可以得到優(yōu)化該長(zhǎng)線(xiàn)的最佳值.
可見(jiàn),隨著插入單元間距的增大,延時(shí)趨勢(shì)先降后增.這是因?yàn)楫?dāng)所分的段數(shù)過(guò)多,緩沖器器件本身的延時(shí)將超過(guò)它所優(yōu)化掉的長(zhǎng)線(xiàn)延時(shí).使用以上方法可以得到理論上最優(yōu)的S和k值,從而實(shí)現(xiàn)最小長(zhǎng)線(xiàn)延時(shí).
例如,28 mCMOS工藝中,M5層金屬走線(xiàn)特性如下:
Rin=3.27 Ω/μm,Cin=0.1 fF/μm,L=2 000 μm,Reqn=12.5 kΩ, CG=2 fF/μm,Ceff=1 fF/μm,W=0.2 μm,β=2.
通過(guò)計(jì)算可以得到,×16倍驅(qū)動(dòng)器驅(qū)動(dòng)2 000 μm長(zhǎng)線(xiàn)的延遲為0.780 ns.使用式(4)計(jì)算后推薦值使用驅(qū)動(dòng)能力為×8的buffer,2 000 μm距離平均插入5個(gè)buffer延遲,則延遲降低為0.440 ns,下降36%.
2 長(zhǎng)線(xiàn)優(yōu)化方法
一般地,在基于標(biāo)準(zhǔn)單元的芯片設(shè)計(jì)中,在布局階段對(duì)長(zhǎng)線(xiàn)進(jìn)行干預(yù),能對(duì)時(shí)序收斂產(chǎn)生特別明顯的效果[6].布圖規(guī)劃階段,先要解決芯片內(nèi)部結(jié)構(gòu)在物理上的排布,主要確定芯片大小,完成芯片輸入輸出(I/O)單元、模塊以及大量硬核(IP核、模塊)的規(guī)劃等.在規(guī)劃的過(guò)程中,需要根據(jù)模塊間的相關(guān)關(guān)系、數(shù)據(jù)流向以及模塊規(guī)模,來(lái)確定這些硬模塊之間的相對(duì)位置(面積、形狀、端口),規(guī)劃的好壞直接影響芯片的整體性能.合理的布局,能極大縮短模塊間距離,減少長(zhǎng)路徑的數(shù)量.
2.1 長(zhǎng)線(xiàn)優(yōu)化實(shí)現(xiàn)流程
圖1是物理設(shè)計(jì)階段長(zhǎng)線(xiàn)優(yōu)化的具體實(shí)現(xiàn)流程[7].
1)將完成布局規(guī)劃之后的設(shè)計(jì)導(dǎo)入EDA(Electronics Design Automation,電子設(shè)計(jì)自動(dòng)化)工具.
2)讓EDA工具進(jìn)行標(biāo)準(zhǔn)單元的布局,然后做時(shí)序分析,分析關(guān)鍵路徑.
3)依據(jù)邏輯單元間的互連關(guān)系,將需要進(jìn)行預(yù)布局的邏輯單元固定在特定的位置處,保證其位置不會(huì)因EDA工具優(yōu)化而改變.
4)完成邏輯單元位置固定,通過(guò)工具將布圖規(guī)劃的結(jié)果保存下來(lái),在下一次重新導(dǎo)入設(shè)計(jì)的時(shí)候,就可以直接將帶有預(yù)布局的布圖規(guī)劃導(dǎo)入設(shè)計(jì),即完成標(biāo)準(zhǔn)單元的布局.
需要注意到的是圖中優(yōu)化設(shè)計(jì)(Optimization Design)的過(guò)程,即設(shè)計(jì)工具與手工加入干預(yù)設(shè)計(jì)的過(guò)程,需要反復(fù)迭代.
本方法根據(jù)已得到的延遲信息在Place階段完成之后的對(duì)具有較長(zhǎng)互連的數(shù)據(jù)路徑進(jìn)行更換單元類(lèi)型、調(diào)整單元間距等方式分別優(yōu)化.將路徑上需要互聯(lián)的單元提前進(jìn)行布局并輸入命令保證已布局的單元不會(huì)因EDA工具優(yōu)化而產(chǎn)生位置的變化,這樣就可以在確保大路徑方向不變的情況下對(duì)特定路徑進(jìn)行優(yōu)化.具體流程如圖2所示.
圖2 長(zhǎng)線(xiàn)延遲優(yōu)化方法的引入
Fig.2 Interconnect delay optimization flow
具體的實(shí)現(xiàn)步驟如下:
1)設(shè)計(jì)文件輸入以及布局首先要有一個(gè)已經(jīng)確定的布局來(lái)避免迭代,將輸入信息讀入EDA工具.
2)長(zhǎng)線(xiàn)路徑優(yōu)化計(jì)算,由時(shí)序分析中違例路徑找出違例的長(zhǎng)互連路徑,從第一條路徑開(kāi)始計(jì)算,根據(jù)當(dāng)前路徑的兩級(jí)非成對(duì)反相器、非緩沖器的距離,通過(guò)公式預(yù)估出當(dāng)前路徑上平均插入單元的個(gè)數(shù)與間距,確定坐標(biāo)位置,并將其信息輸出成tcl腳本形式,以便在下一步中應(yīng)用.在這之后即可繼續(xù)進(jìn)行下一條路徑的優(yōu)化預(yù)估.
3)在指導(dǎo)意見(jiàn)的前提下,對(duì)長(zhǎng)互連路徑上的單元進(jìn)行優(yōu)化擺放,使得初始寄存器位置固定.
4)設(shè)置約束,對(duì)于已優(yōu)化路徑上的單元進(jìn)行約束,防止EDA工具錯(cuò)誤優(yōu)化,將已布局的長(zhǎng)線(xiàn)路徑重新優(yōu)化.
5)照正常步驟運(yùn)行流程,直到布線(xiàn)階段抽取寄生參數(shù),進(jìn)行時(shí)序分析得到優(yōu)化過(guò)的關(guān)鍵路徑的時(shí)序,確認(rèn)優(yōu)化成功與否.
6)根據(jù)最終得到的結(jié)果對(duì)優(yōu)化不成功的長(zhǎng)線(xiàn)路徑進(jìn)行小范圍的重新優(yōu)化.
從圖中可以看出,首先在一個(gè)已經(jīng)確定的布局結(jié)果的基礎(chǔ)上由靜態(tài)時(shí)序分析得到違例路徑報(bào)告,從中選取出由長(zhǎng)線(xiàn)互聯(lián)導(dǎo)致違例的路徑進(jìn)行逐一分析優(yōu)化.由于在基于EDA工具的設(shè)計(jì)流程中肯定會(huì)進(jìn)行某種程度的優(yōu)化來(lái)保證時(shí)序的正常,這些靜態(tài)時(shí)序分析報(bào)告中的違例路徑一般就是工具反復(fù)多次優(yōu)化所不能解決的路徑;在此基礎(chǔ)之上重新運(yùn)行一遍流程,在當(dāng)次流程中Place階段對(duì)上一遍流程中優(yōu)化過(guò)的路徑上的單元按照已優(yōu)化的結(jié)果進(jìn)行擺放并繼續(xù)運(yùn)行EDA流程.
通過(guò)以上這種流程上的調(diào)整,使得在工具運(yùn)行過(guò)程中無(wú)法得到優(yōu)化的路徑通過(guò)人為的、經(jīng)驗(yàn)化的手段達(dá)到了減少違例路徑的目的,通過(guò)這一方式也減少了工具的迭代,節(jié)約了設(shè)計(jì)資源.如果經(jīng)過(guò)優(yōu)化的路徑或設(shè)計(jì)仍然不能滿(mǎn)足設(shè)計(jì)者的要求,那么就需要在第二輪設(shè)計(jì)中對(duì)從place階段開(kāi)始的每個(gè)階段進(jìn)行詳細(xì)分析,找出工具在運(yùn)行過(guò)程中導(dǎo)致時(shí)序變差的誤操作并人工對(duì)其進(jìn)行修改,這些修改可以是對(duì)EDA工具流程的優(yōu)化也可能是對(duì)當(dāng)前設(shè)計(jì)不合理處的改動(dòng).
在運(yùn)行的過(guò)程中還需要注意的是,對(duì)于已修改的路徑可能會(huì)對(duì)其他布線(xiàn)好的路徑造成更大的延遲和違例,需要仔細(xì)檢查.這是因?yàn)樵趦?yōu)化當(dāng)前路徑的前提下,可能正好占用了其他路徑上的布局布線(xiàn)資源,使得本來(lái)已經(jīng)布局布線(xiàn)無(wú)錯(cuò)誤的路徑因?yàn)閱卧恢玫母膭?dòng)導(dǎo)致走線(xiàn)的復(fù)雜化[8].
選取在place階段對(duì)特定路徑進(jìn)行調(diào)整的原因在于該階段僅對(duì)單元進(jìn)行了擺放沒(méi)有真實(shí)走線(xiàn),盡量早期就對(duì)設(shè)計(jì)進(jìn)行干預(yù),可以盡量減少優(yōu)化長(zhǎng)線(xiàn)互連路徑所消耗的時(shí)間.
由于芯片設(shè)計(jì)的特殊性,后端物理流程一般居于整個(gè)芯片設(shè)計(jì)的最后,工程量大,時(shí)間緊,對(duì)于完成設(shè)計(jì)時(shí)間的要求尤為突出.長(zhǎng)線(xiàn)優(yōu)化方法不僅降低了長(zhǎng)線(xiàn)互連的延遲,還大大減少了工具反復(fù)優(yōu)化長(zhǎng)線(xiàn)路徑的迭代時(shí)間.
本文在常規(guī)物理設(shè)計(jì)流程的基礎(chǔ)上對(duì)長(zhǎng)線(xiàn)優(yōu)化方法進(jìn)行改進(jìn),在物理設(shè)計(jì)早期對(duì)長(zhǎng)線(xiàn)進(jìn)行優(yōu)化干預(yù),使得設(shè)計(jì)者在物理流程的運(yùn)行過(guò)程中不再是被動(dòng)的等待結(jié)果、運(yùn)行機(jī)器流程,而得以提前對(duì)關(guān)鍵路徑進(jìn)行人為的干預(yù)大大減少運(yùn)行時(shí)間、優(yōu)化時(shí)間.
如圖3,實(shí)際運(yùn)行中設(shè)計(jì)113萬(wàn)單元的模塊(其中主要單元為SRAM),在相同腳本設(shè)置的前提下,對(duì)其中的200條關(guān)鍵路徑均進(jìn)行手工路徑優(yōu)化之后運(yùn)行同樣步驟所需時(shí)間由原來(lái)的29 h縮減至23 h.大大減少了設(shè)計(jì)中的運(yùn)行時(shí)間和迭代.這在漫長(zhǎng)的后端物理設(shè)計(jì)優(yōu)化迭代的過(guò)程中,是難能可貴的.
使用長(zhǎng)線(xiàn)互連優(yōu)化方法優(yōu)化前后的時(shí)間對(duì)比如圖4~5所示.可以看到整個(gè)設(shè)計(jì)流程的運(yùn)行時(shí)間由原來(lái)的29 h減少到了23 h,得到了較好的效果.
經(jīng)過(guò)長(zhǎng)線(xiàn)互連優(yōu)化的模塊不僅能夠大大降低運(yùn)行時(shí)間,而且由于在一個(gè)設(shè)計(jì)模塊中的長(zhǎng)線(xiàn)路徑一般都是時(shí)序違例較大或者延遲較高的路徑,經(jīng)過(guò)特定優(yōu)化手段后其時(shí)序也能得到大幅優(yōu)化.大幅降低了整個(gè)模塊的違例路徑數(shù)量,而且降低了模塊設(shè)計(jì)的難度.
2.2 驗(yàn)證實(shí)驗(yàn)原理
根據(jù)插入緩沖器的技術(shù)參數(shù),利用公式進(jìn)行計(jì)算,可以指導(dǎo)插入單元驅(qū)動(dòng)能力和單元數(shù)的選擇.下面以飛騰高性能微處理設(shè)計(jì)中,使用本優(yōu)化的緩沖器插入方法優(yōu)化長(zhǎng)互連線(xiàn)時(shí)序?yàn)槔?,說(shuō)明實(shí)驗(yàn)的基本原理,驗(yàn)證插入緩沖器方法的正確性與實(shí)用性.
圖6(a)是EDA自動(dòng)優(yōu)化后的結(jié)果,圖6(b)是利用本優(yōu)化方法后的結(jié)果.對(duì)比圖6(a)和6(b)可以看出,互連線(xiàn)延時(shí)由原來(lái)的809 ps降低到600 ps,延遲優(yōu)化25.8%.
3 長(zhǎng)線(xiàn)優(yōu)化實(shí)驗(yàn)
本實(shí)驗(yàn)從插入不同緩沖器、更改走線(xiàn)層次和合理控制單元距離3個(gè)方面進(jìn)行優(yōu)化.優(yōu)化時(shí),還需要綜合考慮噪聲、功耗等多種情況.影響優(yōu)化的考量主要有以下幾個(gè)方面:1)走線(xiàn)寬度;2)所用單元自身的延遲;3)所用單元間的距離;4)所用單元的類(lèi)型.
(a)EDA優(yōu)化后的時(shí)序路徑
(b)插入緩沖器優(yōu)化后的時(shí)序路徑
圖6 緩沖器優(yōu)化前后的延遲情況
Fig.6 Timinganalyse about optimize
本設(shè)計(jì)的工藝中,不同走線(xiàn)層次的走線(xiàn)寬度不同,分別為0.05 μm,0.10 μm和0.20 μm 3種規(guī)格,單位距離的線(xiàn)延遲差異很大,計(jì)算和分析結(jié)果的時(shí)候需要特別考慮.為了使實(shí)驗(yàn)具有說(shuō)服力,我們選取比較具有代表性的4倍驅(qū)動(dòng)(×4),6倍驅(qū)動(dòng)(×6),9倍驅(qū)動(dòng)(×9),11倍驅(qū)動(dòng)(×11),13倍驅(qū)動(dòng)(×13),16倍驅(qū)動(dòng)(×16) 6種規(guī)格的中繼單元,即buffer和inverter,分別在2 000 μm長(zhǎng)度下均勻間隔插入2~12個(gè)中繼單元.這個(gè)實(shí)驗(yàn)可以得出:1)不同規(guī)格的單元在什么情況(插入間距)下能達(dá)到最佳;2)橫向比較獲得,長(zhǎng)線(xiàn)下的最佳中繼單元.實(shí)驗(yàn)參數(shù)如表1所示.
值得注意的是,單元的驅(qū)動(dòng)能力越強(qiáng),工作電流越大,尤其是反轉(zhuǎn)時(shí)的短路電流,容易出現(xiàn)IRdrop和EM問(wèn)題.因此,在經(jīng)驗(yàn)中不把大驅(qū)動(dòng)單元作為研究對(duì)象,但這種單元往往會(huì)在時(shí)序收斂的最后階段采用.
3.1 長(zhǎng)線(xiàn)延遲影響因素分析
插入中繼單元的互連線(xiàn)是非常有效互連線(xiàn)時(shí)序優(yōu)化方法[9].插入緩沖器優(yōu)化技術(shù)能否達(dá)到最優(yōu)的優(yōu)化效果主要取決于所選用單元驅(qū)動(dòng)的大小、數(shù)目和單元間的間距以及走線(xiàn)的寬度是否合適.
下面的實(shí)驗(yàn)是針對(duì)不同間距插入不同緩沖器,進(jìn)而得到插入緩沖器驅(qū)動(dòng)的大小、單元間距、走線(xiàn)的寬度和數(shù)目的具體參數(shù).
從圖7中可得出:在同一條長(zhǎng)線(xiàn)上插入不同驅(qū)動(dòng)緩沖器,BUF16在表1所列的緩沖器中對(duì)互連線(xiàn)延時(shí)優(yōu)化效果最好;隨著插入BUFER單元間距的減小,所有實(shí)驗(yàn)組延時(shí)呈現(xiàn)先減小后緩慢增加的趨勢(shì),并且大約在400~333 μm這段距離內(nèi)取得整體延時(shí)的最小值.值得注意的是,使用0.2 μm線(xiàn)寬的情況時(shí),應(yīng)選取規(guī)格大于×9的buffer,延遲可縮短30~35 ps,而采用其余驅(qū)動(dòng)能力的中繼單元并試圖通過(guò)改變走線(xiàn)寬度來(lái)達(dá)到大幅減少延遲的目的是不現(xiàn)實(shí)的.從圖7可看出,單元間距在200~400 μm之間時(shí),所有的INV單元驅(qū)動(dòng)0.2 μm線(xiàn)寬的長(zhǎng)線(xiàn)延遲比其它兩種規(guī)格的線(xiàn)寬更低;當(dāng)間距增大到285~181 μm時(shí),一部分較小的INV單元驅(qū)動(dòng)0.1 μm甚至0.05 μm線(xiàn)寬的長(zhǎng)線(xiàn)延遲可能比0.2 μm線(xiàn)寬更低.因此,結(jié)論如下:在單元間間距較遠(yuǎn)的情況(200~400 μm)下,無(wú)論使用何種類(lèi)型的INV單元均推薦使用0.2 μm寬的走線(xiàn),但近距離(285~18 μm)連接單元時(shí),則需要使用0.1或0.05 μm線(xiàn).使用驅(qū)動(dòng)能力大于×9的單元時(shí),使用0.2 μm線(xiàn)是最優(yōu)的.增大線(xiàn)寬對(duì)減小線(xiàn)延遲有正收益,但設(shè)計(jì)師在使用這一技術(shù)時(shí)需要注意負(fù)面開(kāi)銷(xiāo)(如打孔換層),要綜合這些負(fù)面開(kāi)銷(xiāo),來(lái)決定是否采用變更走線(xiàn)層次.并且圖7還表明,隨著插入不同多級(jí)緩沖器時(shí),長(zhǎng)互連線(xiàn)的總延時(shí)總是先減小后增大,這是因?yàn)椴迦刖彌_器時(shí)會(huì)增加緩沖器的器件延時(shí),當(dāng)增加的器件延時(shí)大于優(yōu)化互連線(xiàn)延時(shí)所得到的收益時(shí)就會(huì)使整體延時(shí)反而變大,所以插入緩沖器優(yōu)化技術(shù)也不是插得數(shù)目越多越好,要插入適合的數(shù)目才會(huì)有優(yōu)化效果.
在此基礎(chǔ)上我們又進(jìn)行了詳細(xì)的實(shí)驗(yàn)對(duì)比,從中可以得出:INV、BUFER單元間距離為2 000 μm到666 μm時(shí),使用0.2 μm線(xiàn)寬的連線(xiàn)能獲得較好的延時(shí)收益,其它距離則與所選取的線(xiàn)寬關(guān)系不大,在不同線(xiàn)上插入多個(gè)緩沖器時(shí),當(dāng)互連線(xiàn)延時(shí)降低25 ps左右后,再插入緩沖器,會(huì)使得長(zhǎng)線(xiàn)延時(shí)反而增大:盡管互連線(xiàn)自身延時(shí)出現(xiàn)呈下降趨勢(shì),但插入的器件延時(shí)呈上升趨勢(shì),總延時(shí)隨器件數(shù)量增多先減小后增大.根據(jù)以上實(shí)驗(yàn)結(jié)果,我們將25 ps作為判斷長(zhǎng)線(xiàn)的標(biāo)準(zhǔn),作為可以進(jìn)行插入緩沖器的一個(gè)最小互連線(xiàn)延時(shí)值.
從這些圖中還可以看出,相同規(guī)格下使用INV單元的路徑的總延遲總是小于使用相同類(lèi)型BUFFER路徑的總延遲.
3.2 實(shí)驗(yàn)結(jié)果總結(jié)
根據(jù)第2節(jié)和第3節(jié)中的插人緩沖器的估算以及具體路徑中應(yīng)用的效果,在優(yōu)先考慮性能的前提下,得到了與公式相近的結(jié)果,表明公式可以在一定程度上對(duì)于長(zhǎng)線(xiàn)互連延遲優(yōu)化的工作起到指導(dǎo)作用.對(duì)于長(zhǎng)互連線(xiàn)延時(shí)的優(yōu)化,如果采用緩沖BUFER優(yōu)化延時(shí),每隔285 μm~400 μm間插人一個(gè)大小為×16的BUFER時(shí)可以使得長(zhǎng)互連線(xiàn)延時(shí)達(dá)到最小;如果采用反相器優(yōu)化延時(shí),每隔200 μm~250 μm間插人一個(gè)大小為×16的反相器可使得總的互連線(xiàn)延時(shí)達(dá)到最優(yōu).
4 結(jié) 論
本文分析了深亞微米工藝下大規(guī)模物理設(shè)計(jì)中互連線(xiàn)延時(shí)的影響因素及其優(yōu)化方法,實(shí)驗(yàn)研究了不同因素對(duì)互連線(xiàn)延時(shí)的影響.首先,可以根據(jù)單元之間位置測(cè)定單元間距并按照設(shè)計(jì)中的需要指導(dǎo)插入緩沖器的數(shù)量.其次,將互連線(xiàn)上的偶數(shù)數(shù)量的緩沖器換成相同數(shù)量的反相器,能大大降低互連線(xiàn)間的延遲,且增加布線(xiàn)空間.第三,使用高層金屬能使長(zhǎng)互連線(xiàn)延時(shí)降低20~30 ps左右,但會(huì)增加布線(xiàn)資源的需求.這些方法能對(duì)互連線(xiàn)的延時(shí)及布線(xiàn)起到一定優(yōu)化,可以使我們的設(shè)計(jì)更快收斂.本文只是對(duì)互連線(xiàn)延時(shí)優(yōu)化作了初步研究,針對(duì)未來(lái)更高工藝水平的設(shè)計(jì)要求,仍需對(duì)互連線(xiàn)的延時(shí)優(yōu)化作更深層次的研究.
隨著集成電路規(guī)模的不斷增大,時(shí)鐘頻率也在不斷地攀升,如何使得時(shí)序收斂成為芯片設(shè)計(jì)者最關(guān)心的問(wèn)題.本文從標(biāo)準(zhǔn)單元的布局著手,對(duì)一些特殊的標(biāo)準(zhǔn)單元,特別是關(guān)鍵路徑上的標(biāo)準(zhǔn)單元進(jìn)行預(yù)布局,并對(duì)存在的長(zhǎng)路徑采用插入中間緩沖器來(lái)優(yōu)化延時(shí).本文從模型推導(dǎo)出插入單元的方法,并通過(guò)實(shí)驗(yàn)驗(yàn)證了這個(gè)方法,長(zhǎng)互連線(xiàn)延時(shí)優(yōu)化被應(yīng)用于飛騰微處理器設(shè)計(jì)中,已經(jīng)取得了明顯的效果.目前本方法還需要大量手工干預(yù)和人工分析,而且也沒(méi)有考慮打孔等其他因素,僅適合在設(shè)計(jì)有少量長(zhǎng)路徑違反的前提下使用,或者是在設(shè)計(jì)過(guò)程中EDA進(jìn)行多次優(yōu)化迭代后對(duì)其無(wú)法優(yōu)化的少數(shù)路徑再進(jìn)行優(yōu)化,自動(dòng)化是下一步研究?jī)?nèi)容.
參考文獻(xiàn)
[1] ELMORE W C. The transient response of damped linear networks[J]. Journal of Applied Physics, 1948, 19: 55-63.
[2] 蘇琦, 黃金明. 快速 buffer 添加算法[J]. 中國(guó)集成電路, 2008, 1(10): 32-36.
SU Qi, HUANG Jinming. Quick add buffer algorithm [J]. Chinese Integrated Circuit, 2008, 1(10): 32-36. (In Chinese)
[3] RUEHLI A E. Circuit analysis, simulation and design[M]. NorthHolland, the Netherlands: Elsevier Science, 1987: 116-119.
[4] SAXENA P, MENEZES N, COCCHINI P, et al. Repeater scaling and its impact on CAD[J]. IEEE Transactions on Computeraided Design, 2004, 23(4): 451-463.
[5] OSLER P J. Placement driven synthesis case studies on two sets of two chips: hierarchical and flat[C]//International Symposium on Physical Design. San Diego, California, 2004: 190-197.
[6] LIN Yenhung, CHANG Shuhsin, LI Yihlang. Criticaltrunkbased obstacleavoiding rectilinear Steiner tree routings and buffer insertion for delay and slack optimization[J]. Transactions on ComputerAided Design of Integrated Circuits and Systems, 2011, 30(9): 1335-1348.
[7] 朱樟明, 錢(qián)利波, 楊銀堂, 等. 一種基于目標(biāo)延遲約束緩沖器插入的互連優(yōu)化模型[J]. 半導(dǎo)體學(xué)報(bào), 2008, 29(9): 1847-1850.
ZHU Zhangming, QIAN Libo, YANG Yintang, et al. An interconnection constrained optimization model based on buffer insertion target delay [J]. Chinese Journal of Semiconductors, 2008, 29(9): 1847-1850. (In Chinese)
[8] DHAR S, FRANKLIN M A. Franklin optimum buffer circuits for driving long uniform lines[J]. IEEE J SolidState Circuits, 1991, 26(1): 32-40.
[9] 白寧, 林爭(zhēng)輝. 深亞微米集成電路中的連線(xiàn)分割和緩沖器插入[J]. 上海交通大學(xué)學(xué)報(bào), 2002, 36(3): 323-327.
BAI Ning, LING Zhenghui. Line segmentation and buffer in deep sub micron integrated circuit insertion [J]. Journal of Shanghai Jiaotong University, 2002,36(3):323-327. (In Chinese)