專利名稱:芯片布局方法
技術(shù)領(lǐng)域:
本發(fā)明有關(guān)于集成電路設(shè)計(jì),尤其是有關(guān)于系統(tǒng)芯片中元件布局的方法。
背景技術(shù):
在一顆系統(tǒng)芯片(soc)中,通常會(huì)包含數(shù)以萬計(jì)的基本元件,例如邏輯操作數(shù)件集柵(AND gate)、或門(ORgate)、緩存器等。因此在設(shè)計(jì)系統(tǒng)芯片
(SOC)時(shí),會(huì)使用電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation; EDA)軟件進(jìn)行自動(dòng)規(guī)劃。首先迸行芯片內(nèi)的基層規(guī)劃(FLOORPLAN),將模擬模塊112或存儲(chǔ)器模塊114規(guī)劃在某些特定的位置,再將所有元件配置在基底上適當(dāng)?shù)奈恢?PLACEMENT),接著再規(guī)劃繞線的布局(ROUTING)。圖la為現(xiàn)有系統(tǒng)芯片100的布局情形。該系統(tǒng)芯片100的長為H,寬為W,其中特定區(qū)域己配置給針腳116,模擬模塊112和存儲(chǔ)器模塊114。元件的擺置方法有三種類型。第一種稱為直接配置法。EDA軟件可依據(jù)元件的工作頻率以及聯(lián)機(jī)關(guān)系,直接將元件擺置在芯片內(nèi)元件擺置區(qū)域,例如系統(tǒng)芯片100中的R1區(qū)域所示(R1區(qū)域系指芯片100中除了存儲(chǔ)器模塊114及模擬模塊112以外的其他區(qū)域)。第二種稱為特定預(yù)留法,由用戶依據(jù)邏輯上的需要,劃分一特定區(qū)域以預(yù)留給一特定的模塊。例如系統(tǒng)芯片100中的R2區(qū)域。第三種稱為不特定預(yù)留法。由用戶指定某一特定區(qū)域面積使用率,但不指定特定的模塊。例如系統(tǒng)芯片100中的R3區(qū)域。在元件擺置完成后,接著進(jìn)行繞線及時(shí)序分析。分析時(shí)會(huì)將繞線過于擁擠或是時(shí)序無法滿足工作頻率的區(qū)域標(biāo)記為輕微熱點(diǎn)104或嚴(yán)重?zé)狳c(diǎn)106。相對(duì)的,在空隙的區(qū)域會(huì)留下許多剩余空間102。熱點(diǎn)依照成因可分為兩種。第一種稱為繞線熱點(diǎn),代表局部區(qū)域過于擁擠,致使提供繞線的空間不足以配置信號(hào)線。第二種稱為時(shí)序熱點(diǎn),意指該 區(qū)元件間需要更多的擺置空間以滿足工作頻率的需求。
熱點(diǎn)的產(chǎn)生在所難免,而傳統(tǒng)的解決方法是遞歸地調(diào)整芯片面積,直到 芯片繞線及工作頻率的檢查結(jié)果完全符合要求。圖lb為現(xiàn)有的芯片布局方法
流程圖。在步驟101中,啟動(dòng)現(xiàn)有的芯片布局方法。在步驟103中,對(duì)長為H, 寬為W的系統(tǒng)芯片100進(jìn)行基層規(guī)劃(Floor Plan)。在步驟105中,利用EDA 軟件,依照基層規(guī)劃的結(jié)果,將各種標(biāo)準(zhǔn)元件以R1、 R2或R3等各種方式擺 置在系統(tǒng)芯片100中。在步驟107中,由EDA軟件對(duì)系統(tǒng)芯片100的元件擺 置結(jié)果進(jìn)行繞線程序。在步驟109中,檢查繞線程序的結(jié)果,是否同時(shí)解決 了繞線熱點(diǎn)以及時(shí)序熱點(diǎn)的問題。如果繞線熱點(diǎn)或時(shí)序熱點(diǎn)還沒解決,則跳 至步驟lll,將系統(tǒng)芯片100的長H與寬W放大,然后回到步驟103,重新 進(jìn)行新的基層規(guī)劃。如果繞線熱點(diǎn)及時(shí)序熱點(diǎn)皆被解決,則跳至步驟113,結(jié)
束本芯片布局方法o
在現(xiàn)實(shí)中,芯片面積是一項(xiàng)有限的資源,以放大方式來解決熱點(diǎn)相當(dāng)消 耗成本。另一方面來說,增加芯片面積雖然能解決局部的熱點(diǎn)問題,卻降低 了其他區(qū)域的面積使用率。這種方法不但增加了制作成本,也降低了芯片的 競爭力。有鑒于此, 一種改良的芯片布局方法是有待開發(fā)的。
發(fā)明內(nèi)容
本發(fā)明提出一種芯片布局方法,可提高一芯片空間資源的使用率。首先 對(duì)該芯片進(jìn)行一基層規(guī)劃。接著進(jìn)行一全區(qū)預(yù)留程序,目的在于定義多個(gè)預(yù) 留單元,將其均勻分配于該芯片上。接著進(jìn)行元件的擺置,元件的分布可依
照操作的頻率歸類為至少一高頻區(qū)域以及一低頻區(qū)域。接著進(jìn)行一頻率導(dǎo)向 預(yù)留程序,將分布在該低頻區(qū)域的預(yù)留單元移動(dòng)一部份至該高頻區(qū)域。接著 進(jìn)行一局部區(qū)域元件重新擺置,并完成繞線及時(shí)序分析程序, 析元件擺置 的結(jié)果是否產(chǎn)生熱點(diǎn)。如果產(chǎn)生熱點(diǎn),則于熱點(diǎn)所在區(qū)域重新調(diào)整預(yù)留單元的分布方式,并重新進(jìn)行周部區(qū)域元件重新擺置,以及繞線及時(shí)序分析程序。 在進(jìn)行全區(qū)預(yù)留程序時(shí),首先將元件的總面積乘上一預(yù)留比率,得到一 預(yù)留總面積。接著提供具有一固定列高的多個(gè)預(yù)留單元,使所有預(yù)留單元的 總面積等于該預(yù)留總面積,其中該固定列高與元件列高相等。最后均勻擺置 所述的預(yù)留單元于該芯片上,并使預(yù)留單元的列髙與擺置元件列高切齊。在
一較佳實(shí)施例中,該預(yù)留比率可以是在2°/。到4%之間,例如3%。
在另一實(shí)施例中,該低頻區(qū)域的定義是,在工作頻率范圍的一百分比例 分布中,工作頻率最低的前P!T。的元件所涵蓋的區(qū)域。同樣地,該高頻區(qū)域
是工作頻率最的高前PHn/。的元件所涵蓋的區(qū)域。在進(jìn)行頻率導(dǎo)向預(yù)留程序時(shí), 首先計(jì)算該低頻區(qū)域中的預(yù)留單元總面積,以及該高頻區(qū)域中的預(yù)留單元總 面積。接著依據(jù)下列不等式,將分布在該低頻區(qū)域的預(yù)留單元移動(dòng)一部份至 該高頻區(qū)域<formula>formula see original document page 7</formula>
其中L^為該低頻區(qū)域中的預(yù)留單元總面積,H^為該高頻區(qū)域中的預(yù)留 單元總面積,Hs為高頻區(qū)域中除了 Has之外的剩余空間資源面積,r為一自 定義參數(shù)。
另一方面,該繞線及時(shí)序分析程序包含分析繞線的資源是否足夠使用。 繞線資源不足的區(qū)域即判定為一繞線熱點(diǎn)。在繞線熱點(diǎn)所在區(qū)域重新調(diào)整預(yù) 留單元的分布方式時(shí),則從繞線資源足夠的區(qū)域挪用一或多個(gè)預(yù)留單元至該 繞線熱點(diǎn)。
進(jìn)一步地說,從繞線資源足夠的區(qū)域挪用一或多個(gè)預(yù)留單元至該繞線熱 點(diǎn)的歩驟是根據(jù)下式-<formula>formula see original document page 7</formula>
其中BBOX是指包圍該繞線熱點(diǎn)的最小矩形,Pin(BBOX)是指該矩形內(nèi) 所包圍的針腳總個(gè)數(shù),Area(BBOX)是指該矩形的面積,ARSi是指該繞線熱點(diǎn)中預(yù)留單元的總面積,q為挪用比例,而R皿taWe是可繞線的最大針腳密度。
在繞線及時(shí)序分析程序中,分析每一數(shù)據(jù)傳輸路徑其所須的時(shí)間是否符 合操作頻率或設(shè)計(jì)規(guī)則的要求。不符合的區(qū)域即判定為一時(shí)序熱點(diǎn)。在時(shí)序
熱點(diǎn)所在區(qū)域重新調(diào)整預(yù)留單元的分布方式時(shí),則將該吋序熱點(diǎn)中的預(yù)留單 元釋放出來成為可供元件擺置的空間資源,接著從低頻區(qū)域中挪用一或多個(gè) 預(yù)留單元至該時(shí)序熱點(diǎn)。
于熱點(diǎn)所在區(qū)域重新調(diào)整預(yù)留單元的分布方式之后,進(jìn)一步重新擺置熱 點(diǎn)所在區(qū)域?qū)?yīng)的元件,才接著再重新進(jìn)行該繞線及時(shí)序分析程序。
在另一實(shí)施例中,在熱點(diǎn)所在區(qū)域重新調(diào)整預(yù)留單元的分布方式之后, 可將一或多個(gè)預(yù)留單元釋放出來成為可用空間,用以擺置穩(wěn)壓元件。
圖la為現(xiàn)有芯片100的布局情形;
圖lb為現(xiàn)有的芯片布局方法流程圖2為本發(fā)明的芯片布局方法流程圖3a為本發(fā)明實(shí)施例的一系統(tǒng)芯片300;
圖3b為第3a圖中的區(qū)域310的實(shí)施例;
圖4a為頻率導(dǎo)向的空間預(yù)留實(shí)施例;
圖4b及圖4c為工作頻率百分等級(jí)的分布圖5為圖2中步驟219的進(jìn)一步實(shí)施例;
圖6a為解除繞線熱點(diǎn)的實(shí)施例;以及
圖6b為解除時(shí)序熱點(diǎn)的實(shí)施例。
附圖標(biāo)號(hào)
100系統(tǒng)芯片 102剩余空間 104輕微熱點(diǎn) 106嚴(yán)重?zé)狳c(diǎn) 110低頻區(qū)域 120高頻區(qū)域
8112模擬模塊 U4存儲(chǔ)器模塊
116針腳 300系統(tǒng)芯片
202 預(yù)留單元 302交角區(qū)域
310 區(qū)域 402預(yù)留單元
404 預(yù)留單元
612包含繞線熱點(diǎn)的最小矩形
613時(shí)序熱點(diǎn)所在的頻率區(qū)域
610 繞線熱點(diǎn) 611時(shí)序熱點(diǎn)
620繞線資源足夠的區(qū)域
602、 604預(yù)留單元 606閑置空間
630低頻區(qū)域
具體實(shí)施例方式
下列實(shí)施例具體的說明如何以較佳的方式實(shí)現(xiàn)本發(fā)明。實(shí)施例僅供說明 一般應(yīng)用的方式,而非用以限縮本發(fā)明的范圍。實(shí)際范圍以權(quán)利要求所列為 準(zhǔn)。
圖2為本發(fā)明的芯片布局方法流程圖。相對(duì)于現(xiàn)有的做法,本發(fā)明提出 一種預(yù)留空間的概念。具體做法是將預(yù)留空間包裝成許多類似標(biāo)準(zhǔn)元件的多 個(gè)預(yù)留單元,并根據(jù)局部的工作頻率調(diào)整這些預(yù)留單元的分布方式,使后續(xù) 的繞線安排更有效率,并提高芯片使用率。在步驟201中,啟動(dòng)本實(shí)施例的 芯片布局程序。在步驟203中,對(duì)一系統(tǒng)芯片的基底進(jìn)行基層規(guī)劃(Floor Plan),將基本布局方式定義好?;鶎右?guī)劃是由EDA軟件提供的一現(xiàn)有技術(shù), 因此詳細(xì)內(nèi)容不在此介紹。接著在步驟205中,對(duì)整個(gè)系統(tǒng)芯片迸行一全區(qū) 預(yù)留程序。這個(gè)程序?qū)⒂?jì)劃預(yù)留的空間包裝成與標(biāo)準(zhǔn)元件規(guī)格相似的多個(gè)預(yù) 留單元。接著再以均勻分布的方式將這些預(yù)留單元散布在系統(tǒng)芯片的基底上。 在步驟207中,對(duì)于已經(jīng)配置好預(yù)留單元的系統(tǒng)芯片基底,進(jìn)行一般現(xiàn)有的元件擺置步驟。擺置的方式如背景介紹所述,可能有Rl、 R2和R3三種類型。 通常每個(gè)元件的操作頻率都不同,而在擺置完成后,即會(huì)在芯片上依照操作 頻率歸類為多個(gè)不同區(qū)域,例如高頻區(qū)域及低頻區(qū)域。舉例來說,將工作頻 率范圍視為一百分比例分布圖,而工作頻率最低的前PiT。的元件所涵蓋的區(qū) 域,即定義為一低頻區(qū)域。同樣地,工作頻率最高的前Ph。/。的元件所涵蓋的 區(qū)域,定義為高頻區(qū)域。在本發(fā)明中,Pir。以及PH。/。的較佳范圍在15%~25% 之間。.在步驟209中,接著進(jìn)行一頻率導(dǎo)向預(yù)留程序,將分布在該低頻區(qū)域 的預(yù)留單元移動(dòng)一部份至該高頻區(qū)域。 一般來說,低頻區(qū)域的空間利用率并 不高,而高頻區(qū)域的空間利用率卻經(jīng)常過高。所以通過頻率導(dǎo)向預(yù)留程序, 可使各區(qū)域的空間充份被利用。接著在步驟2U中,進(jìn)行局部元件重新擺置, 藉以減低可能產(chǎn)生的熱點(diǎn)。在步驟213中,根據(jù)擺置結(jié)果進(jìn)行繞線及時(shí)序分 析程序。在步驟215中,檢查繞線結(jié)果。如果繞線熱點(diǎn)和時(shí)序熱點(diǎn)皆被解決, 則跳至步驟223,結(jié)束本程序。如果尚有熱點(diǎn)存在,則跳至步驟217。在步驟 217中,判斷逐次局部重新擺置的次數(shù)是否超過一限定值。該限定值是用以決 定局部重新規(guī)劃的最大次數(shù)?;诔杀炯皶r(shí)間考慮,可將該限定值定為10以 下。但若成本及時(shí)間不在使用者的考慮范圍內(nèi),則不限定僅為IO次以下限定 值的范圍。如果次數(shù)未超過該限定值,則跳至步驟219,針對(duì)熱點(diǎn)所在區(qū)域進(jìn) 行局部重新規(guī)劃,之后再回到步驟211,再次進(jìn)行局部重新擺置。如果在步驟 217中判定逐次局部重新擺置的次數(shù)大于限定值,則跳至步驟221,增大芯片 面積,之后回到步驟203,重新執(zhí)行基層規(guī)劃。通過本發(fā)明預(yù)留空間的概念, 可使得遞歸解除熱點(diǎn)的返覆次數(shù)以及加大芯片面積的機(jī)會(huì)大大減少。
圖3a為本發(fā)明實(shí)施例的一系統(tǒng)芯片300。該系統(tǒng)芯片300的總面積由既 定的長H和寬W決定。在基層規(guī)劃時(shí),會(huì)決定模擬模塊112,存儲(chǔ)器模塊114 和針腳116等基本布局。接著全區(qū)預(yù)留程序會(huì)在系統(tǒng)芯片300上散布許多的 預(yù)留單元202。散布的方式原則上是均勻地?cái)[置,但是也可以在一些容易產(chǎn)生 熱點(diǎn)的地方如交角區(qū)域302中增加預(yù)留單元202的數(shù)量。在擺置元件(PLACEMENT)時(shí),這些預(yù)留單元202會(huì)被EDA軟件視為實(shí)體上已被占用 的空間,因此標(biāo)準(zhǔn)元件不會(huì)被擺置在預(yù)留單元202所占用的位置上。藉此, 這些預(yù)留單元202有利于后續(xù)程序彈性地調(diào)度空間。
在本實(shí)施例中,假設(shè)標(biāo)準(zhǔn)元件總面積為Astd,取其中的p。/。作為預(yù)留空間, 則預(yù)留單元的總面積A^可表示為下式
p值可以是由現(xiàn)有EDA軟件對(duì)系統(tǒng)芯片300進(jìn)行遞歸增大面積的經(jīng)驗(yàn)結(jié) 果來決定,通常在2到4之間,例如3。另一方面,p值也可以由設(shè)計(jì)者憑自 身的設(shè)計(jì)經(jīng)驗(yàn)來決定。
圖3b為圖3a中的區(qū)域310的放大圖。 一般來說,標(biāo)準(zhǔn)元件具有事先定 義好的規(guī)格,例如固定的列高。系統(tǒng)芯片300會(huì)被劃分為許多列,而擺置標(biāo) 準(zhǔn)元件的時(shí)候,列高是切齊的。而預(yù)留單元202的設(shè)計(jì)與擺置方式與標(biāo)準(zhǔn)元 件相似,舉例來說,在區(qū)域310中,預(yù)留單元202具有一致的列高HR。不同 的預(yù)留單元202可以是具有一致的寬度,也可視情況賦予不同的寬度(Wl、 W2、 W3和W4)。同時(shí),擺置的方式也遵照列高切齊的原則。所有預(yù)留單元 202的總面積即等于第(l)式所示的ARS。
圖4a為關(guān)于步驟209的實(shí)施例。在步驟207的元件擺置完成后,系統(tǒng)芯 片300上的各種標(biāo)準(zhǔn)元件會(huì)依據(jù)工作頻率形成一或多個(gè)低頻區(qū)域110和高頻 區(qū)域120。如前所述, 一般低頻區(qū)域110中的空間利用率并不會(huì)很高,而高頻 區(qū)域120中的空間利用率卻經(jīng)常過高。另外,高頻區(qū)域120中通常需要較多 穩(wěn)壓元件,以增加其內(nèi)的電源供應(yīng)穩(wěn)定度。所以本發(fā)明在步驟209中,將分 布在該低頻區(qū)域110中的預(yù)留單元202移動(dòng)一部份至該高頻區(qū)域120中。換 個(gè)角度說,這個(gè)步驟是將低頻區(qū)域110中的若干預(yù)留單元402刪除,并在高 頻區(qū)域120中增加對(duì)應(yīng)數(shù)量的預(yù)留單元404。
圖4b為芯片內(nèi)工作頻率的百分等級(jí)分布圖。橫軸代表工作頻率的百分等級(jí),由0%到100%??v軸代表每一等級(jí)的工作頻率所對(duì)應(yīng)的元件總面積。由
圖4b可知,低頻區(qū)域可以定義為工作頻率最低的前P!T。的元件所涵蓋的面積,
表示為LA。同樣地,高頻區(qū)域可以定義為工作頻率最高的前PHQ/。的元件所涵
蓋的面積,表示為ha。
Pl與PH的設(shè)定可依照單一芯片內(nèi)高低頻率的分布面
積而做不同的改變。以圖4b的分布情形為例,PH值將會(huì)大于Pt值,使La和 Ha大致相等,使得后續(xù)執(zhí)行頻率導(dǎo)向預(yù)留程序時(shí),移動(dòng)預(yù)留單元的數(shù)量更為 合理化。
同理,圖4c為工作頻率百分等級(jí)分布圖的另一實(shí)施例。其中高頻元件的
數(shù)量較多,因此PL值的設(shè)定將大于PH值,使La和Ha大致相等。
在進(jìn)行頻率導(dǎo)向預(yù)留程序時(shí),依據(jù)下列不等式,決定要移動(dòng)的預(yù)留單元
202的數(shù)量-
min(LRs,HRs) x r% < Hs
其中Us即為該低頻區(qū)域110中的預(yù)留單元202總面積,H^即為該高頻 區(qū)域120中的預(yù)留單元202總面積,Hs是高頻區(qū)域120中除了 H^之外的剩 余空間資源,而r為一自定義參數(shù)。藉此,高低頻區(qū)域的空間皆可恰當(dāng)?shù)乇?利用,盡量減少?zèng)]有被利用到的剩余空間。
圖5為圖2中步驟219的進(jìn)一步實(shí)施例。步驟219的目的在于針對(duì)局部 進(jìn)行元件的重新規(guī)劃,以修正熱點(diǎn)問題。在步驟501中,啟動(dòng)步驟219所述 的局部重新規(guī)劃程序。在步驟503中,統(tǒng)計(jì)每一熱點(diǎn)中所涵蓋的預(yù)留單元總 面積,并以A^表示第i個(gè)熱點(diǎn)中的預(yù)留單元總面積。接著在步驟505中, 依照每個(gè)熱點(diǎn)的成因及類型啟動(dòng)不同的解決步驟。若為空間資源不足以完成 繞線,這些空間資源不足的區(qū)域即為繞線熱點(diǎn),需要步驟507來消除該繞線 熱點(diǎn)(圖5中的箭頭R)。相對(duì)的,對(duì)于一時(shí)序路徑而言,其時(shí)序如果不符合 操作頻率或設(shè)計(jì)規(guī)則的要求,則判定所述的時(shí)序路徑外圍的區(qū)域?yàn)橐粫r(shí)序熱 點(diǎn),需以步驟509來消除該時(shí)序熱點(diǎn)(圖5中的箭頭T)。
在步驟507中,解除繞線熱點(diǎn)的方式是,從其他繞線資源足夠的區(qū)域挪
12用一或多個(gè)預(yù)留單元至該繞線熱點(diǎn)。進(jìn)一步地說,挪用的原則可以表示為下 式
其中BBOX是指包圍該繞線熱點(diǎn)的最小矩形,Pin(BBOX)是指該矩形內(nèi) 所包圍的針腳總個(gè)數(shù),Area(BBOX)是指該矩形的面積,ARSi是指該繞線熱點(diǎn)
中預(yù)留單元的總面積,q為挪用比例,而Rr。utawe為可繞線的最大針腳密度。
由第(2)式可知,分母中增加了 qM的預(yù)留面積,可使針腳密度保持在不大于 Rr。utaWe的狀態(tài),繞線熱點(diǎn)就會(huì)消失。這些預(yù)留單元202在挪用之后就不再移 動(dòng)。
解除時(shí)序熱點(diǎn)的步驟是在步驟509中進(jìn)行,主要包含原有預(yù)留單元的釋 放,以及額外預(yù)留單元的補(bǔ)充。首先,將該時(shí)序熱點(diǎn)中原有的預(yù)留單元釋放 出來成為閑置空間資源,使EDA軟件能利用這些閑置空間資源進(jìn)行局部修復(fù) 程序。但是在修復(fù)后可能會(huì)使該時(shí)序熱點(diǎn)中預(yù)留給穩(wěn)壓元件的空間減少,降 低了電源供應(yīng)的可靠度。為了不使穩(wěn)壓元件的擺置數(shù)量不因消除時(shí)序熱點(diǎn)而 減少,需再從低頻區(qū)域110中額外挪用一或多個(gè)額外預(yù)留單元202至該時(shí)序 熱點(diǎn)中。步驟507或509結(jié)束后,跳至步驟511,結(jié)束局部重新規(guī)劃。接著由 圖2所述的步驟211根據(jù)局部重新規(guī)劃的結(jié)果進(jìn)行局部重新擺置。
圖6a為步驟507的解除繞線熱點(diǎn)的實(shí)施例。其中包括一繞線熱點(diǎn)610, 包含此繞線熱點(diǎn)的最小矩形612,以及若干預(yù)留單元202。為了解除繞線熱點(diǎn) 610,需從繞線資源足夠的區(qū)域620中挪用多個(gè)預(yù)留單元202。更具體的說, 是將繞線資源足夠的區(qū)域620中的多個(gè)預(yù)留單元602消除,而在矩形612中 新增對(duì)應(yīng)數(shù)量的預(yù)留單元604。
圖6b為步驟509的解除時(shí)序熱點(diǎn)的實(shí)施例。包括一時(shí)序熱點(diǎn)611、該時(shí) 序熱點(diǎn)所在的頻率區(qū)域613,以及若干預(yù)留單元202。其中部份預(yù)留單元202 被釋放而成為閑置空間606,以供EDA軟件運(yùn)用。然而為了維持穩(wěn)壓元件的數(shù)量,需再從低頻區(qū)域630中挪用相當(dāng)數(shù)量的預(yù)留單元202過來。換句話說, 即從低頻區(qū)域630中消除部份預(yù)留單元602,并在時(shí)序熱點(diǎn)所在的頻率區(qū)域 613中新增對(duì)應(yīng)數(shù)量的預(yù)留單元604。
在本實(shí)施例中,預(yù)留單元202的列高固定,但是寬度可彈性改變,因此 可以精確的控制芯片面積的預(yù)留率。預(yù)留單元202的數(shù)量也可以隨之彈性調(diào) 整,增加空間規(guī)劃的靈活度。另外,預(yù)留單元202的分布除了可均勻擺置于 全局空間之外,也可在特定局部增加用量,例如狹長信道空間,交角區(qū)域或 是時(shí)序上復(fù)雜的區(qū)域,使解除熱點(diǎn)的步驟更為容易進(jìn)行。本發(fā)明提出的預(yù)留 單元202技術(shù)可以跨平臺(tái)搭配各種芯片布局工具軟件進(jìn)行,不限定實(shí)施的平 臺(tái)。在進(jìn)行如步驟211的局部元件重新擺置時(shí),可能會(huì)需要對(duì)已經(jīng)存在的標(biāo) 準(zhǔn)元件做推力增加(size-up)或額外安插其他元件(如緩沖元件),而這些步 驟皆需要額外的空間。本發(fā)明的預(yù)留單元202恰好可以滿足這種需求,大幅 降低重新搬移標(biāo)準(zhǔn)元件的機(jī)會(huì),使得遞歸修復(fù)的收斂速度倍增。整體來說, 在芯片面積相同的狀況下,本發(fā)明提出的方法相對(duì)于現(xiàn)有的方法,可以提升 5%的芯片面積使用率。最后,在芯片布周程序結(jié)束后,可進(jìn)一步將剩余的預(yù) 留單元202指派為穩(wěn)壓元件的安置空間,使高頻區(qū)域120的電源可靠度提高。
雖然本發(fā)明以較佳實(shí)施例說明如上,但可以理解的是本發(fā)明的范圍未必 如此限定。相對(duì)的,任何基于相同精神或?qū)ΜF(xiàn)有技術(shù)者為顯而易見的改良皆 在本發(fā)明涵蓋范圍內(nèi)。因此權(quán)利要求范圍必須以最廣義的方式解讀。
1權(quán)利要求
1.一種芯片布局方法,用以在一芯片上擺置元件,所述的方法包含設(shè)定一芯片面積以進(jìn)行一基層規(guī)劃;進(jìn)行一全區(qū)預(yù)留程序,以定義多個(gè)預(yù)留單元,均勻分配于所述的芯片上;根據(jù)所述的基層規(guī)劃的結(jié)果進(jìn)行元件的擺置,藉此元件的分布依照操作的頻率歸類為至少一高頻區(qū)域以及一低頻區(qū)域;進(jìn)行一頻率導(dǎo)向預(yù)留程序,將分布在所述的低頻區(qū)域的預(yù)留單元移動(dòng)一部份至所述的高頻區(qū)域;進(jìn)行一繞線及時(shí)序分析程序,分析元件擺置的結(jié)果是否產(chǎn)生熱點(diǎn);以及如果產(chǎn)生熱點(diǎn),則在熱點(diǎn)所在區(qū)域重新調(diào)整預(yù)留單元的分布方式,并回到局部元件重新擺置與繞線及時(shí)序分析程序。
2. 如權(quán)利要求1所述的芯片布局方法,其特征在于,所述的方法進(jìn)一步 包含統(tǒng)計(jì)遞歸進(jìn)行所述的繞線及時(shí)序分析程序的次數(shù);以及 如果該繞線及時(shí)序分析程序的次數(shù)大于一限定值,則增大所述的芯片面 積并回到所述的基層規(guī)劃的步驟。
3. 如權(quán)利要求1所述的芯片布局方法,其特征在于,所述的全區(qū)預(yù)留程 序包含將元件的總面積乘上一預(yù)留比率,得到一預(yù)留總面積; 提供具有一固定列高的多個(gè)預(yù)留單元,使所有預(yù)留單元的總面積等于所述的預(yù)留總面積,其中所述的固定列高與元件列高相等;以及均勻擺置所述的預(yù)留單元于所述的芯片上,并使預(yù)留單元的列高與元件列高切齊。
4. 如權(quán)利要求3所述的芯片布局方法,其特征在于,所述的預(yù)留比率為 2%到4%之間。
5. 如權(quán)利要求1所述的芯片布局方法,其特征在于,所述的頻率導(dǎo)向預(yù) 留程序包含將所有芯片內(nèi)元件的工作頻率畫分為一百分等級(jí); 定義工作頻率低于一第一等級(jí)的區(qū)域?yàn)樗龅牡皖l區(qū)域;以及 定義工作頻率高于一第二等級(jí)的區(qū)域?yàn)樗龅捏{頻區(qū)域。
6. 如權(quán)利要求5所述的芯片布局方法,其特征在于,所述的頻率導(dǎo)向預(yù) 留程序進(jìn)一步包含-計(jì)算所述的低頻區(qū)域中的預(yù)留單元總面積,以及所述的高頻區(qū)域中的預(yù) 留單元總面積;依據(jù)下列不等式,將分布在所述的低頻區(qū)域的預(yù)留單元移動(dòng)一部份至所 述的高頻區(qū)域min(LRS,HRS) x r0/o < Hs其中L^為所述的低頻區(qū)域中的預(yù)留單元總面積,HRs為所述的高頻區(qū)域 中的預(yù)留單元總面積,Hs為高頻區(qū)域中除了 HRs之外的剩余空間資源,r為 一自定義參數(shù)。
7. 如權(quán)利要求1所述的芯片布局方法,其特征在于,所述的繞線及時(shí)序 分析程序包含分析繞線的資源是否足夠使用,繞線資源不足的區(qū)域即判定為一繞線熱點(diǎn)。
8. 如權(quán)利要求7所述的芯片布局方法,其特征在于,在熱點(diǎn)所在區(qū)域重 新調(diào)整預(yù)留單元的分布方式,包含-如果所述的熱點(diǎn)為一繞線熱點(diǎn),則從繞線資源足夠的區(qū)域挪用一或多個(gè) 預(yù)留單元至所述的繞線熱點(diǎn)。
9. 如權(quán)利要求8所述的芯片布局方法,其特征在于,從繞線資源足夠的 區(qū)域挪用一或多個(gè)預(yù)留單元至所述的繞線熱點(diǎn)的步驟是根據(jù)下式<formula>formula see original document page 4</formula>其中BBOX是指包圍所述的繞線熱點(diǎn)的最小矩形,Pin(BBOX)是指所述 的矩形內(nèi)所包圍的針腳總個(gè)數(shù),Area(BBOX)是指所述的矩形的面積,ARSi是指所述的繞線熱點(diǎn)中預(yù)留單元的總面積,q為挪用比例,而Rr。utab,e為可繞線的最大針腳密度。
10. 如權(quán)利要求1所述的芯片布局方法,其特征在于,所述的繞線及時(shí)序分析程序包含分析每一時(shí)序路徑其時(shí)序是否符合操作頻率或設(shè)計(jì)規(guī)則的要求,不符合 的區(qū)域即判定為一時(shí)序熱點(diǎn)。
11. 如權(quán)利要求9所述的芯片布局方法,其特征在于,在熱點(diǎn)所在區(qū)域重新調(diào)整預(yù)留單元的分布方式,包含-如果所述的熱點(diǎn)為一時(shí)序熱點(diǎn),則將所述的時(shí)序熱點(diǎn)中的預(yù)留單元釋放 出來成為可供元件擺置的空間資源,接著從所述的低頻區(qū)域中挪用一或多個(gè) 預(yù)留單元至所述的時(shí)序熱點(diǎn)。
12. 如權(quán)利要求1所述的芯片布局方法,其特征在于,該方法進(jìn)一步包含在熱點(diǎn)所在區(qū)域重新調(diào)整預(yù)留單元的分布方式之后,重新擺置熱點(diǎn)所在區(qū)域 對(duì)應(yīng)的元件,接著再重新進(jìn)行所述的繞線及時(shí)序分析程序。
13. 如權(quán)利要求1所述的芯片布局方法,其特征在于,該方法進(jìn)一步包含在熱點(diǎn)所在區(qū)域重新調(diào)整預(yù)留單元的分布方式之后,將芯片內(nèi)一或多個(gè)預(yù)留 單元釋放出來成為可用空間,用以擺置穩(wěn)壓元件。
全文摘要
本發(fā)明提出一種芯片布局方法。首先對(duì)該芯片進(jìn)行一基層規(guī)劃。接著進(jìn)行一全區(qū)預(yù)留程序,目的在于定義多個(gè)預(yù)留單元,將其均勻分配于該芯片上。接著進(jìn)行元件的擺置,藉此元件的分布可依照操作的頻率歸類為至少一高頻區(qū)域以及一低頻區(qū)域。接著進(jìn)行一頻率導(dǎo)向預(yù)留程序,將分布在該低頻區(qū)域的預(yù)留單元移動(dòng)一部份至該高頻區(qū)域。最后進(jìn)行一繞線及時(shí)序分析程序,以分析元件擺置的結(jié)果是否產(chǎn)生熱點(diǎn)。如果產(chǎn)生熱點(diǎn),則在熱點(diǎn)所在區(qū)域重新調(diào)整預(yù)留單元的分布方式,并重復(fù)繞線及時(shí)序分析程序。
文檔編號(hào)G06F17/50GK101661517SQ20081021262
公開日2010年3月3日 申請(qǐng)日期2008年8月25日 優(yōu)先權(quán)日2008年8月25日
發(fā)明者張仲喬, 陳建良 申請(qǐng)人:揚(yáng)智科技股份有限公司