基于分裂塊的無網(wǎng)格模擬電路的布線方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種無網(wǎng)格模擬電路的布線模型,具體地指一種基于分裂塊的無網(wǎng)格 模擬電路的布線方法。
【背景技術(shù)】
[0002] 自二十世紀(jì)五十年代第一個晶體管問世以來,集成電路制造工藝飛速發(fā)展。半導(dǎo) 體加工工藝已經(jīng)進(jìn)入了納米時代,集成規(guī)模到達(dá)了甚大規(guī)模,功能也越來越多樣化,使片上 系統(tǒng)(System-on-Chip,SoC)成為可能,數(shù)字電路和模擬電路能夠集成在一塊芯片上。數(shù)字 電路及其自動設(shè)計技術(shù)已日漸成熟,可以實現(xiàn)大規(guī)模、復(fù)雜度很高的版圖自動化設(shè)計。然 而,集成電路功能的多樣化需求使得模擬電路和數(shù)字電路的混合電路在片上系統(tǒng)中占的比 例日趨增多。由于模擬電路與數(shù)字電路差異很大,所以無法套用數(shù)字電路的自動設(shè)計方式。 而模擬電路自動化程度相對滯后,使模擬集成電路設(shè)計的發(fā)展速度減慢下來。目前模擬電 路的設(shè)計仍主要以手工設(shè)計為主,其周期長、成本高等因素使模擬電路的設(shè)計備受學(xué)術(shù)界 和工業(yè)界的關(guān)注。
[0003] 模擬電路設(shè)計自動化有布局和布線兩個重要的方向,布局、布線相互制約、相互依 存。在模擬集成電路布線算法中,布線模型有著至關(guān)重要的作用。根據(jù)布線區(qū)域的表示方 法不同,可以把布線模型分為兩類:有網(wǎng)格的布線模型和無網(wǎng)格布線模型。有網(wǎng)格的布線模 型將布線區(qū)域劃分為大小統(tǒng)一的網(wǎng)格來進(jìn)行布線的,它的數(shù)據(jù)結(jié)構(gòu)和搜索的算法相對簡單 直觀。但是由于有網(wǎng)格布線中網(wǎng)格大小是均勻的,因此一般只適用于模擬電路中線寬統(tǒng)一 的情況。而無網(wǎng)格布線模型對于變線寬的處理更加靈活和方便,因此模擬電路的布線過程 大多采用無網(wǎng)格布線模型。
[0004] 在無網(wǎng)格布線模型中,根據(jù)布線區(qū)域模塊表示方法的不同,可以分為兩種類型: 基于隱式連接圖和基于網(wǎng)塊(tile)的布線模型。
[0005] 基于隱式連接圖的模型,是將障礙物以線間距加上一般的線寬膨脹,將膨脹后的 縱橫邊界延長至布線區(qū)域的邊界,同時將源點和目標(biāo)點的縱橫邊界也延長至布線區(qū)域的邊 界,這些縱橫線形成了不均勻的網(wǎng)格,隱式連接圖可把布線區(qū)域分成不均勻網(wǎng)格的形式?;?于網(wǎng)塊的布線模型,根據(jù)障礙和空白區(qū)域?qū)⒄麄€布線區(qū)域劃分為一個個矩形區(qū)域即網(wǎng)塊。 網(wǎng)塊若不是障礙物就是布線的區(qū)域,布線的區(qū)域成為空白網(wǎng)塊,布線的搜索過程即是要尋 找一個由空白網(wǎng)塊連接起點和終點的路徑,而在空白網(wǎng)塊中的具體位置是通過在回找過程 中確定的。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明目的在于克服上述現(xiàn)有技術(shù)的不足而提供一種基于分裂塊的無網(wǎng)格模擬 電路的布線方法,該布線方法能高效地查找鄰域模塊并正確布線,且具有較好的布線結(jié)果。
[0007] 實現(xiàn)本發(fā)明目的采用的技術(shù)方案是:一種基于分裂塊的無網(wǎng)格模擬電路的布線方 法,該方法包括
[0008] 設(shè)置單層及多層網(wǎng)塊走線的方向以及走線規(guī)則;
[0009] 根據(jù)走線的方向以及走線規(guī)則確定網(wǎng)塊搜索的方向和代價;
[0010] 根據(jù)所述確定網(wǎng)塊搜索的方向和代價,分裂模塊獲得分裂后的網(wǎng)塊每個具體方向 的點的代價,拓展模塊選擇拓展方向,搜索鄰域模塊選擇最優(yōu)搜索路徑。
[0011] 在上述技術(shù)方案中,所述單層網(wǎng)塊走線的方向以及走線規(guī)則為:
[0012] 在平面上,把一個網(wǎng)快分為四個大方向,12個走線方向的方式,所述四個大方向為 東、南、西、北,所述12個走線方向是四個大方向每個方向有三個走線方向方式。
[0013] 在上述技術(shù)方案中,所述多層走線的方向以及走線規(guī)則為:
[0014] 多層布線中,在平面布線的基礎(chǔ)上,加上向上和向下兩個方向的走向。
[0015] 在上述技術(shù)方案中,分裂模塊在分裂的網(wǎng)塊中優(yōu)先搜索朝著目標(biāo)方向的網(wǎng)塊,依 照障礙物膨脹、源點和目標(biāo)點的橫縱線拓展相交得到的空白網(wǎng)塊中,屬性相同的網(wǎng)快合并 起來。
[0016] 在上述技術(shù)方案中,拓展模塊中,若源點是從某個方向搜索過來的,那么對應(yīng)的這 個方向的反方向是不能被搜索,若果反方向的代價不為〇表示有另外方向搜索過來的,此 時比較得到其中的路線花費代價較小的網(wǎng)塊,舍棄較大代價走線的方式,選擇最小代價走 線方式。拓展模塊中搜索到鄰域模塊,以朝著目標(biāo)點最近的網(wǎng)塊進(jìn)行優(yōu)先搜索。
[0017] 在上述技術(shù)方案中,搜索鄰域模塊在路徑搜索時采用改進(jìn)的A*算法,即源點到當(dāng) 前點的實際代價用于實際更新鄰域模塊的信息,估計當(dāng)前點到目標(biāo)點的代價作為路徑搜索 的啟發(fā)因子,估計值還需先判斷方向的可拓展性。在更新網(wǎng)塊信息時,更新網(wǎng)塊走向點和邊 的信息規(guī)則如下:
[0018] 1)邊的信息只能由上一個網(wǎng)塊邊的信息或者面來更新;
[0019] 2)點的信息可以由上一個網(wǎng)塊對應(yīng)點的信息或者邊的信息來更新;
[0020] 3)拐點的點信息由上一個網(wǎng)塊離拐彎點最近可更新點的信息來更新;
[0021] 4)更新的點上的代價值是最小的;
[0022] 5)向上和向下方向只由對應(yīng)擴展方向更新;
[0023] 6) Up和Down方向的邊更新時用鄰近的邊更新;
[0024] 7)多層布線中,分為變層更新變層和變層更新同層
[0025] 在平面上,更新非拐點的花費代價中,鄰域可拓展方向的花費代價為Cost,搜索網(wǎng) 塊對應(yīng)拓展方向的花費代價cost,拓展方向的點和領(lǐng)域可拓展方向的點Manhattan距離為 d,二者的關(guān)系是:
[0026] Cost = cost+d ;
[0027] 若是更新拐點,則還需加上拐點的費用,若是更新不同層的花費代價,則需加上通 孔的費用。
[0028] 本發(fā)明具有以下優(yōu)點:
[0029] 1)建立搜索模型,在無網(wǎng)格布線搜索過程中,把搜索塊的平面的東、南、西、北中的 每一個面都分為三個部分,高點(High Point)、低點(Low Point)、整邊(Edge)。在多層布 線中加入左右上下四個邊和四個點以及上下面,多層布線中6個方向總共30個點和邊信 息。
[0030] 2)在分裂塊模塊中,分裂后的網(wǎng)塊的6個方向中,每個具體方向點的布線來的方 向與原模塊的方向一致,分裂后的網(wǎng)塊每個具體方向的點的代價根據(jù)原網(wǎng)塊代價加上或者 減去到分裂網(wǎng)塊點的距離得到。
[0031] 3)在拓展模塊中,判斷拓展模塊是否可進(jìn)行拓展,不能拓展的方向舍棄,就可以不 用更新這個方向的任何信息。在可拓展方向中選出離目標(biāo)網(wǎng)塊最接近的拓展方向,記錄這 些方向,在下一次拓展的時候可以優(yōu)先拓展這些方向的網(wǎng)塊。
[0032] 4)在搜索過程的更新網(wǎng)塊信息中,拓展方向的信息比較詳細(xì),路徑搜索的精確度 增加,減少路徑搜索網(wǎng)塊的查找的數(shù)目,減少了整個布線的時間。路徑搜索用改進(jìn)的A*算 法進(jìn)行搜索,網(wǎng)塊的更新有被更新網(wǎng)塊的花費代價的更新、被更新網(wǎng)塊拓展方向更新、以及 被更新網(wǎng)塊會記錄更新它是由哪一個網(wǎng)塊塊更新的。
【附圖說明】
[0033] 圖1為本發(fā)明基于分裂塊的無網(wǎng)格模擬電路的布線方法流程圖。
[0034] 圖2a為單層網(wǎng)塊方向設(shè)置示意圖,圖2b為多層網(wǎng)塊方向設(shè)置示意圖。
[0035] 圖3a為分裂前模塊,圖3b為分裂后模塊。
[0036] 圖4a為單層網(wǎng)塊走線示意圖,圖4b為多層網(wǎng)塊走線示意圖。
[0037] 圖5a和圖5b分別為兩個單層布線實例圖。
[0038] 圖6a和圖6b