亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于模塊變形的集成電路宏模塊布圖規(guī)劃和布局方法

文檔序號:6910040閱讀:351來源:國知局
專利名稱:基于模塊變形的集成電路宏模塊布圖規(guī)劃和布局方法
技術(shù)領(lǐng)域
基于模塊變形的集成電路宏模塊布圖規(guī)劃和布局方法屬于集成電路計算機輔助設(shè)計領(lǐng)域,尤其涉及BBL(Building Block Layout)領(lǐng)域。
背景技術(shù)
在集成電路的布局中,層次式布圖設(shè)計,模塊重用技術(shù),知識產(chǎn)權(quán)模塊的大量應(yīng)用,片上系統(tǒng)尤其是數(shù)模混合片上系統(tǒng)的設(shè)計,以及模擬電路器件級布圖問題等,這些問題都可以歸結(jié)為集成電路宏模塊的布圖規(guī)劃和布局問題,即Building Block LayoutBBL模式的布圖問題,它已成為當(dāng)前的研究熱點。上述模塊級的布局問題可以轉(zhuǎn)化成一個大規(guī)模組合優(yōu)化問題。該模塊級的布局(BBL)可簡單描述為設(shè)有一個n個矩形模塊的集合,模塊的高和寬均為給定的實數(shù),并且模塊具有一定的方向,n個模塊的一個布局就是在模塊互不重疊的情況下,將模塊放置在平面上,平面上包含這n個模塊的最小矩形區(qū)域被稱為芯片。模塊級布局就是尋找一個最優(yōu)布局或近似最優(yōu)布局,使得由芯片面積或者其它優(yōu)化目標(biāo)組成的目標(biāo)函數(shù)值達到最優(yōu)。
迄今為止有很多方法被應(yīng)用于BBL布圖模式,例如最小割方法、構(gòu)造法、力向量法、分級設(shè)計方法、2D邊界搜索方法、分支限界法、解析型算法、模擬退火算法和遺傳算法、機器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)算法等等。其中一些方法是由原先的標(biāo)準(zhǔn)單元布局方法借用而來。這些方法要么處理問題的規(guī)模非常有限,要么方法的穩(wěn)定性很差。從得到的結(jié)果來看,與實際應(yīng)用還有非常大的差距。

發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種較迄今為止該領(lǐng)域的其它算法更為穩(wěn)定、高效,且取得了目前最好的結(jié)果的基于模塊變形的集成電路宏模塊布圖規(guī)劃與布局方法來作為解決宏模塊布圖問題的工業(yè)工具。
本發(fā)明的特征在于它以原問題為基礎(chǔ),通過改變模塊大小和相應(yīng)引線端位置即模塊變形來生成一系列逐步逼近原問題的簡單的布局問題,再逐步求解這一系列逼近原問題的簡單布局問題獲取原問題的解。在逐步逼近過程中,用近似因子α控制模塊變形的程度,按照近似問題的近似程度遞增的順序即近似因子α遞減的順序,從最簡單的近似問題開始,并把當(dāng)前近似問題的解的結(jié)構(gòu)即模塊間位置關(guān)系作為下一個近似問題的初始解的結(jié)構(gòu),逐步求解這一系列近似問題,直到近似因子α為1時,各模塊大小等于原始各模塊大小,近似問題即為原問題。其中的步驟依次如下1)初始化設(shè)置(1)近似因子的初始值,也就是α的最大值;(2)求解近似問題時局部搜索次數(shù)NOIMPUP;(3)設(shè)置最終布局的目標(biāo)寬長比及其權(quán)重;(4)設(shè)置目標(biāo)函數(shù)中總線長的權(quán)重。
2)從模塊描述文件讀入模塊及線網(wǎng)信息(1)讀入模塊四角坐標(biāo),并根據(jù)模塊四角坐標(biāo)計算模塊的寬、高;(2)讀入模塊上引線端坐標(biāo),并將其轉(zhuǎn)化為相對模塊左下角的坐標(biāo);(3)按讀入順序給模塊編號,并計算總模塊數(shù)、各模塊面積之和;(4)按下列公式計算讀入的所有模塊(設(shè)為n個)的寬、高平均值;w‾=1nΣiwi]]>h‾=1nΣiwi]]>其中wi第i個模塊的寬,hi第i個模塊的高;3)構(gòu)造初始布局的拓?fù)浣Y(jié)構(gòu)即模塊間的位置關(guān)系,并記為A;4)計算布局問題的最優(yōu)或近似最優(yōu)解(1)根據(jù)近似因子α的值按下列公式之一計算模塊在近似問題中的實際尺寸。 其中wi、hi分別為模塊i的寬、高;wi(α)、hi(α)分別為模塊i在近似因子α下的實際的寬、高;pw,ph為歸一化參數(shù),其取值滿足max(wi)i∈{1,...,n}/10pw∈(0,1],max(hi)i∈{1,...,n}/10ph∈(0,];]]> (2)根據(jù)模塊間拓?fù)潢P(guān)系A(chǔ),建立對應(yīng)于拓?fù)浣Y(jié)構(gòu)A的布局Q;(3)用下列公式根據(jù)當(dāng)前各模塊大小計算相應(yīng)引線端相對該模塊左下角頂點的坐標(biāo)(pin_xji(α),pin_yji(α));]]> 其中pin_xji,pin_yji]]>是原問題中屬于第i個模塊的第j個引線端相對模塊i左下角頂點的坐標(biāo);wi、hi原問題中模塊i的寬和高;再用下述公式根據(jù)模塊右上角坐標(biāo)計算引線端在布局中的位置(p_xji(α),p_yij(α));]]> 其中xi, yi,為本布局中模塊i的右上角坐標(biāo)。
(4)根據(jù)下述公式計算各線網(wǎng)線長估計值,及總線長估計值,單個線網(wǎng)的線長根據(jù)線網(wǎng)中的引線端位置用半周長模型進行估計設(shè)某線網(wǎng)E有k個引線端p1(p_x1,p_y1),…,pk(p_xk,p_yk)括號內(nèi)坐標(biāo)為引線端在布局中的坐標(biāo);則該線網(wǎng)的線長WireLength(E)用下述公式估計,WireLength(E)=(maxi∈{1,...,k}(p_xi)-mini∈{1,...,k}(p_xi))+(maxi∈{1,...,k}(p_yi)-mini∈{1,...,k}(p_yi))]]>總線長估計值為TotalWireLength=Σk=1LWireLength(E),]]>L為線網(wǎng)的個數(shù)(5)下列公式評價Q,得到目標(biāo)函數(shù)值Cost;CostQ=Area+λ×TotalWireLength+ω×Rs2其中Area為芯片面積Area=max{xi}i∈[1...n]×max{yi}i∈[1...n]]]>TotalWireLength(總線長)為各線網(wǎng)估算長度之和;λ為總線長的權(quán)重,ω為寬長比的權(quán)重;設(shè)R為期望的芯片寬長比,ration為芯片實際寬長比,則Rs=| R-max(ration,1/ration)|;(6)運用局部搜索的方法,求取當(dāng)前近似問題實例的局部最優(yōu)解。
5)輸出當(dāng)前布局Q。
6)用下述公式計算下一個近似問題的近似因子αd; 如果αd>=1,則以當(dāng)前的拓?fù)浣Y(jié)構(gòu)A作為初始布局的拓?fù)浣Y(jié)構(gòu),求解下一個近似問題;7)如果αd<1,則輸出的當(dāng)前布局即為最終布局,即原問題實例的最終解。
步驟3)所述的構(gòu)造初始布局的拓?fù)浣Y(jié)構(gòu)是指按照模塊編號由小到大的順序,從設(shè)定的起始位置沿網(wǎng)格由下向上,然后由左向右的順序,依次安置模塊到矩形網(wǎng)格的方法構(gòu)造初始布局的拓?fù)浣Y(jié)構(gòu)。
所述的步驟4)中的(2),即根據(jù)模塊間的拓?fù)潢P(guān)系A(chǔ),建立對應(yīng)拓?fù)浣Y(jié)構(gòu)A的布局Q是指從左下角坐標(biāo)頂點所在的網(wǎng)格開始,從右下角向左上角作一條對角線(135°對角線),依次從x方向右移一個網(wǎng)格,再從右下角向左上角作一條對角線,如此重復(fù),一直做到右上角的網(wǎng)格為止;再從第一條對角線開始,依次兩兩連接對角線的左上角,且每條對角線只被連接一次;從第二條對角線開始依次兩兩連接對角線的右下角,且每條對角線只被連接一次。然后從左下角坐標(biāo)頂點所在網(wǎng)格開始,沿連接對角線所形成的連線順序依次計算各模塊的右上角坐標(biāo),建立相應(yīng)的布局,在計算過程中,各模塊左面和下面的模塊的坐標(biāo)都已經(jīng)先期計算過;并計算芯片的寬長比。
所述步驟4)中的(6),即運用局部搜索算法求取當(dāng)前近似問題實例的局部最優(yōu)解,它包含有以下步驟從循環(huán)變量R=0開始,當(dāng)R<NOIMPUP時,重復(fù)如下步驟1).用下列方法之一從當(dāng)前布局產(chǎn)生新的布局,把新的拓?fù)浣Y(jié)構(gòu)記為A1要改變布局的拓?fù)浣Y(jié)構(gòu),用下列方法(1).交換兩個模塊的位置;(2).把一個模塊移動到另外一個位置;要改變模塊方向以有利于優(yōu)化線長時,用下列方法(3).隨機選擇一個模塊進行旋轉(zhuǎn),旋轉(zhuǎn)角度通過隨機函數(shù)選取為90°,或180°,或270°;(4).隨機選擇一個模塊進行翻轉(zhuǎn),翻轉(zhuǎn)軸通過隨機函數(shù)選取為水平軸,或垂直軸或模塊對角線;2).建立對應(yīng)于拓?fù)浣Y(jié)構(gòu)A1的布局Q1,即計算各模塊的右上角坐標(biāo),并計算芯片的寬長比;3).根據(jù)當(dāng)前各模塊大小用上面已述的公式計算相應(yīng)引線端相對相應(yīng)模塊左下角的坐標(biāo);并根據(jù)模塊右上角坐標(biāo)用上面已述公式計算引線端在新布局Q1中的位置。
4).根據(jù)上面已述公式計算各線網(wǎng)線長估計值,及總線長估計值;5).用上面已述的目標(biāo)函數(shù)公式計算Q1目標(biāo)函數(shù)值CostQ1;6).如果CostQ1<=CostQ則接受A1,令A(yù)=A1,Q=Q1,R=0,CostQ=CostQ1;如果CostQ1>CostQ,則R=R+1。使用證明它達到了預(yù)期的目的。


圖1實施例1提出的4個模塊的布局問題。
圖2構(gòu)造圖1所述實施例1的初始布局的拓?fù)浣Y(jié)構(gòu)的方法。
圖3圖1所示的實施例1的4個模塊的初始布局拓?fù)浣Y(jié)構(gòu)。
圖4計算得到的圖1所示的實施例1的初始布局在近似問題中的實際尺寸。
圖5根據(jù)模塊間拓?fù)潢P(guān)系A(chǔ),建立對應(yīng)于拓?fù)浣Y(jié)構(gòu)A的布局Q的順序示意圖。
圖6根據(jù)實施例1當(dāng)前拓?fù)浣Y(jié)構(gòu)A中各模塊大小計算出的引線端在最終布局中的位置。
圖7通過把一個模塊移動到另外一個位置的方法把圖3所示的拓?fù)潢P(guān)系進行改變后得到的新的拓?fù)潢P(guān)系。
圖8本發(fā)明用到的局部搜索方法的程序流程圖。
圖9求解實施例2提出的ami33.yal(國際標(biāo)準(zhǔn)測試用例)問題實例的主程序流程圖。
圖10圖10.0為構(gòu)造的初始布局圖;在實施過程中,當(dāng)α從α=6遞減至α=1,獲得近似最優(yōu)解過程中相應(yīng)于不同的α值而得到的一系列近似問題的布局結(jié)果圖。從圖10.1-圖10.16時,α值分別為6.0、5.0、4.0、3.0、2.0、1.8、1.6、1.4、1.3、1.2、1.1、1.08、1.06、1.04、1.02、1.0。在圖10.16中,保持圖10.15的拓?fù)洳蛔儯謴?fù)原始模塊大小,計算相應(yīng)的布局作為初始布局,求得原始問題的解。
表1初始布局對應(yīng)的模塊大小及坐標(biāo),其中原始模塊大小可參照表3。
表2近似因子α=6的近似問題的最終布局中的模塊寬度、高度和坐標(biāo)。
表3原始模塊大小及原問題的最終布局坐標(biāo)。
表4對應(yīng)于圖10.1中α=6時部分模塊的引線端坐標(biāo)表5對應(yīng)于圖10.16中α=1時部分模塊的引線端坐標(biāo)。
具體實施例方式
實施實例1用以說明如何根據(jù)原問題構(gòu)造初始拓?fù)浣Y(jié)構(gòu)及相應(yīng)的布局,并計算出線長估計值。
設(shè)n個模塊的布局問題模塊集合M={Mi(wi,hi)/i∈[1..n]},(wi,hi)為模塊Mi的寬和高;設(shè)共有m個引線端(位于模塊邊界),所有引線端集合PIN={pji(pin_xji,pin_yji)/]]>j∈[1...m],i∈[1…n]},其中j為引線端標(biāo)號,i為該引線端所屬的模塊編號, 為 相對于其所在模塊i左下角的坐標(biāo);NET={(pi…,pk,…,(pj…,pl)},位于同一個括號內(nèi)的引線端屬于同一個線網(wǎng),也就是說同一括號內(nèi)的引線端之間存在連接關(guān)系。在實施例1中,M={M1(6,3),M2(2,5),M3(4,5),M4(2,8)},PIN={p11(1,3),p21(2,0),p32(0,3),p42(2,1),p53(2,0),p63(4,3),p74(0,1),p84(2,4),p94(1,8)},其中p11,p21表示引線端p1、p2都屬于模塊1,后面括號內(nèi)的數(shù)據(jù)是它們對模塊1左下角頂點的坐標(biāo),其余類推;NET={(p1,p3,p9),(p2,p4,p8),(p5,p6,p7)}。接著用上面所述方法,按照模塊編號由小到大的順序,從模塊M1開始,沿著網(wǎng)格由下向上,然后由左向右的順序依次安置模塊到矩形網(wǎng)格的方法構(gòu)造初始布局的拓?fù)浣Y(jié)構(gòu),如圖2所示,并記為A。接著,求取當(dāng)前近似問題最優(yōu)解或近似最優(yōu)解。首先根據(jù)給定的近似因子α的值和歸一化參數(shù)pw,ph,即α=2,pw=10,ph=10,用公式w‾=14Σiwi]]>h‾=14Σiwi]]>計算各模塊寬、高的平均值w、h,再用計算wi(α)、hi(α)的第一種可供選擇的公式計算模塊在近似問題中的實際尺寸,如圖4所示。接著再按圖5所示的順序,計算模塊右上角坐標(biāo),建立相應(yīng)于拓?fù)潢P(guān)系A(chǔ)的布局Q并計算芯片的寬長比,其結(jié)果見圖6。在計算每一個模塊的右上角坐標(biāo)時,該模塊左面和下面的模塊的坐標(biāo)都是已被計算過的。各模塊右上角坐標(biāo)分別為M1′(4.13,4.74),M2′(3.28,9.98),M3′(7.65,5.24),M4′(7.41,11.25),相應(yīng)的布局如圖6所示。接著,再用上面所述的公式根據(jù)當(dāng)前模塊的大小計算相應(yīng)引線端相對于該模塊左下角頂點的坐標(biāo),并根據(jù)模塊右上角坐標(biāo)計算引線端在該α值時在最終布局中的位置,請見圖6。然后,再根據(jù)上面所述公式計算各線網(wǎng)線長估計值及總線長估計值,在圖6所示的布局實例中,三個線網(wǎng)的估計值分別為L(p1,p3,p9)=(5.77-0)+(11.25-4.74)=12.28;L(p2,p4,p8)=(7.41-1.38)+(8.24-0)=14.27;L(p5,p6,p7)=(7.65-4.13)+(5.99-0)=9.51;總線長估計值為L=L(p1,p3,p9)+L(p2,p4,p8)+L(p5,p6,p7)=36.06實施例2用國際基準(zhǔn)測試電路實例MCNC ami33.yal做實例結(jié)合圖9用本發(fā)明的方法進行模塊布局。圖10中給出了求解過程中,所有近似問題的解。其初試布局見圖10.0,對應(yīng)的模塊大小及坐標(biāo)見表1。近似因子α=6的近似問題的最終布局中的模塊坐標(biāo)見表2。原始模塊尺寸大小及最終布局坐標(biāo)見表3。α=6的布局中部分模塊的引線端坐標(biāo)見表4。α=1時,部分模塊的引線端坐標(biāo)見表5。在本實施例中,計算了α=6的近似問題中模塊的尺寸以及該近似問題的解中模塊坐標(biāo)及部分引線端坐標(biāo),當(dāng)求解α=5的近似問題時,將保持圖10.1的拓?fù)浣Y(jié)構(gòu)不變,計算相應(yīng)的布局作為初始布局,再往下的求解過程從略,最終結(jié)果用表1,表5表示,它依次有以下步驟1.初始化設(shè)置(1).近似因子的初始值,也就是α的最大值;(2).求解近似問題時局部搜索次數(shù)NOIMPUP;(3).設(shè)置最終布局的目標(biāo)寬長比及其權(quán)重;(4).設(shè)置目標(biāo)函數(shù)中總線長的權(quán)重。
2.以下步驟按圖8、圖9所示的流程圖進行,具體結(jié)果見圖10及表1-表5。本發(fā)明提出的方法已如上所述,它有如下優(yōu)點(1)用一系列近似問題逐漸逼近原問題,使得在求解原問題時可以獲得一個較好的初始解;(2)所采用的模塊變形策略和近似因子控制策略在不降低效率的條件下能夠產(chǎn)生相對其它隨機優(yōu)化方法更為穩(wěn)定的解;(3)調(diào)整模塊變形策略和問題的近似策略,可以進一步改進原問題的解的質(zhì)量。
(4)具有工業(yè)應(yīng)用價值,可以用于集成電路設(shè)計過程中包含知識產(chǎn)權(quán)模塊的模塊布局;分級設(shè)計中的模塊布局。表格1初始布局(α=6)對應(yīng)的模塊大小及坐標(biāo)(原始模塊大小可參照表格3)

表格2近似因子α=6的近似問題的最終布局中模塊坐標(biāo)。

表格3原始模塊大小及最終布局坐標(biāo)

表格4對應(yīng)于圖10.1的布局中部分模塊的引線端坐標(biāo)m模塊編號m_x、m_y引線端相對于所屬模塊左下角的橫坐標(biāo)和縱坐標(biāo)x、y引線端在近似問題的最終布局中的橫坐標(biāo)和縱坐標(biāo)Mm_x m_yxy mm_x m_y xy10162.448588.054 357.3875079.4351 0860.253111.5294 0 599.583 194.9395083.0458 0863.864123.0588 0 611.112 194.939521.7778 194.977 21.7778 975.7951184.47 0 772.524 194.939510.8889 194.977 10.8889 975.7951172.941 0 760.995 194.939554.4444 194.977 54.4444 975.7951161.412 194.938749.465 389.877576.2222 194.977 76.2222 975.7951196 162.448784.053 357.387597.9999 194.977 97.9999 975.7951196 16.2448784.053 211.1845119.778 194.977 119.778 975.7951103.765 194.938691.818 389.8775036.1069 0816.9252115.304 194.939115.304 389.8795039.7175 0820.5352196.017 183.472196.017 378.4125043.3282 0824.14620183.4720378.4125046.9389 0827.7572196.017 172.005196.017 366.9455050.5496 0831.6720172.0050366.9455054.1603 0834.9782196.017 11.467 196.017 206.4065057.771 0838.5892011.467 0206.406698 0490 780.8182196.017 22.934 196.017 217.8736097.4697 392 878.2872022.934 0217.8736196 103.968 588 884.7852034.401 0229.34 6196 110.466 588 891.28327.68696 194.9397.68696 389.8796196 116.964 588 897.7812192.174 194.939192.174 389.8796196 123.462 588 904.27920126.1370321.0776196 129.96 588 910.7772196.017 80.2691196.017 275.2086196 136.458 588 917.2752153.739 0 153.739 194.9396196 142.956 588 923.7732068.80210263.7416196 58.4818 588 839.323.84348 0 3.84348 194.9396196 64.9798 588 845.7983172.941 194.939172.941 584.8186196 71.4778 588 852.2963196 183.472196 573.3516196 77.9758 588 858.79430183.4720573.3516196 84.4737 588 865.2923196 172.005196 561.8846196 90.9717 588 871.78930172.0050561.8846196 97.4697 588 878.2873196 11.467 196 401.346691.4667 194.939 483.467 975.7573022.934 0412.8136104.533 194.939 496.533 975.7573196 22.934 196 412.813658.8 194.939 450.8975.7573011.467 0401.346665.3333 194.939 457.333 975.757323.0588 194.93923.0588 584.818613.0667 194.939 405.067 975.7573196 103.203196 493.082619.6 194.939 411.6975.757311.5294 0 11.5294 389.879626.1333 194.939 418.133 975.757392.2352 0 92.2352 389.879639.2 194.939 431.2975.7573068.80210458.6817196 167.09 392.029 167.093080.26910470.1487180.923 194.939 376.952 194.9394150.769 0 150.769 584.8187180.923 0376.952 04196 11.467 196 596.2857188.462 194.939 384.49 194.9394011.467 0596.2857188.462 0384.49 04196 22.934 196 607.75277.53846 0203.567 04022.934 0607.752715.0769 0211.106 04196 172.005196 756.82370167.09 196.029 167.0940172.0050756.823737.6923 194.939 233.721 194.9394196 183.472196 768.29 7097.4693 196.029 97.469340183.4720768.29 752.7692 194.939 248.798 194.939437.6923 0 37.6923 584.8187143.231 194.939 339.259 194.939422.6154 194.93922.6154 779.7577128.154 194.939 324.183 194.9394196 57.3351196 642.1538196 129.962 1176.06 324.901597.9999 0 97.9999 780.8188123.789 01103.85 194.9395196 90.2671196 871.085820.6316 194.942 1000.69 389.8825061.38170842.199810.3158 194.942 990.372 389.8825064.99230845.81 810.3158 0990.372 194.9395068.603 0849.4218154.737 194.942 1134.79 389.8825072.21370853.0318154.737 01134.79 194.9395075.82440856.6428165.053 01145.11 194.939表格5量終布局(圖10.16)中部分模塊的引線端坐標(biāo)(標(biāo)簽說明同表4)
權(quán)利要求
1.基于模塊變形的集成電路宏模塊布圖規(guī)劃和布局方法,包括模塊變形策略,其特征在于它以原問題為基礎(chǔ),通過改變模塊大小和相應(yīng)引線端位置即模塊變形來生成一系列逐步逼近原問題的簡單的布局問題,再逐步求解這一系列逼近原問題的簡單布局問題獲取原問題的解,在逐步逼近過程中,用近似因子α控制模塊變形的程度,按照近似問題的近似程度遞增的順序即近似因子α遞減的順序,從最簡單的近似問題開始,并把當(dāng)前近似問題的解的結(jié)構(gòu)即模塊間位置關(guān)系作為下一個近似問題的初始解的結(jié)構(gòu),逐步求解這一系列近似問題,直到近似因子α為1時,各模塊大小等于原始各模塊大小,近似問題即為原問題,其中的步驟依次如下1)初始化設(shè)置(1)近似因子的初始值,也就是α的最大值;(2)求解近似問題時局部搜索次數(shù)NOIMPUP;(3)設(shè)置最終布局的目標(biāo)寬長比及其權(quán)重;(4)設(shè)置目標(biāo)函數(shù)中總線長的權(quán)重;2)從模塊描述文件讀入模塊及線網(wǎng)信息(1)讀入模塊四角坐標(biāo),并根據(jù)模塊四角坐標(biāo)計算模塊的寬、高;(2)讀入模塊上引線端坐標(biāo),并將其轉(zhuǎn)化為相對模塊左下角的坐標(biāo);(3)按讀入順序給模塊編號,并計算總模塊數(shù)、各模塊面積之和;(4)按下列公式計算讀入的所有模塊(設(shè)為n個)的寬、高平均值;w‾=1nΣiwi]]>h‾=1nΣiwi]]>其中wi第i個模塊的寬,hi第i個模塊的高;3)構(gòu)造初始布局的拓?fù)浣Y(jié)構(gòu)即模塊間的位置關(guān)系,并記為A;4)計算布局問題的最優(yōu)或近似最優(yōu)解(1)根據(jù)近似因子α的值按下列公式之一計算模塊在近似問題中的實際尺寸, 其中wi、hi分別為模塊i的寬、高;w1(α)、h1(α)分別為模塊i在近似因子α下的實際的寬、高;pw,ph為歸一化參數(shù),其取值滿足max(wi)i∈{1,...,n}/10pw∈(0,1],]]>max(hi)i∈{1,...,n}/10ph∈(0,1];]]> (2)根據(jù)模塊間拓?fù)潢P(guān)系A(chǔ),建立對應(yīng)于拓?fù)浣Y(jié)構(gòu)A的布局Q;(3)用下列公式根據(jù)當(dāng)前各模塊大小計算相應(yīng)引線端相對該模塊左下角頂點的坐標(biāo)(pin_xji(α),pin_yji(α));]]> 其中pin_xji,pin_yji]]>是原問題中屬于第i個模塊的第j個引線端相對模塊i左下角頂點的坐標(biāo);wi、hi原問題中模塊i的寬和高;再用下述公式根據(jù)模塊右上角坐標(biāo)計算引線端在布局中的位置(p_xji(α),p_yij(α));]]> 其中xi,yi,為本布局中模塊i的右上角坐標(biāo);(4)根據(jù)下述公式計算各線網(wǎng)線長估計值,及總線長估計值,單個線網(wǎng)的線長根據(jù)線網(wǎng)中的引線端位置用半周長模型進行估計設(shè)某線網(wǎng)E有k個引線端p1(p_x1,p_y1),…,pk(p_xk,p_yk)括號內(nèi)坐標(biāo)為引線端在布局中的坐標(biāo);則該線網(wǎng)的線長WireLength(E)用下述公式估計,WireLength(E)=(maxi∈{1,...,k}(p_xi)-mini∈{1,...,k}(p_xi))+(maxi∈{1,...,k}(p_yi)-mini∈{1,...,k}(p_yi))]]>總線長估計值為TotalWireLength=Σk=1LWireLength(E),]]>L為線網(wǎng)的個數(shù)(5)用下列公式評價Q,得到目標(biāo)函數(shù)值CostQ;CostQ=Area+λ×TotalWireLength+ω×Rs2其中Area為芯片面積Area=max{xi}i∈[1...n]×max{yi}i∈[1...n]]]>TotalWireLength(總線長)為各線網(wǎng)估算長度之和;λ為總線長的權(quán)重,ω為寬長比的權(quán)重;設(shè)R為期望的芯片寬長比,ration為芯片實際寬長比即max{xi}i∈[1...n]/max{yi}i∈[1...n],]]>則Rs=|R-max(ration,l/ration)|;(6)運用局部搜索的方法,求取當(dāng)前近似問題實例的局部最優(yōu)解;5)輸出當(dāng)前布局Q;6)用下述公式計算下一個近似問題的近似因子αd 如果αd>=1,則以當(dāng)前的拓?fù)浣Y(jié)構(gòu)A作為初始布局的拓?fù)浣Y(jié)構(gòu),求解下一個近似問題;7)如果αd<1,則輸出的當(dāng)前布局即為最終布局,即原問題實例的最終解。
2.根據(jù)權(quán)利要求1所述的基于模塊變形的集成電路宏模塊布圖規(guī)劃和布局方法,其特征在于步驟3)所述的構(gòu)造初始布局的拓?fù)浣Y(jié)構(gòu)是指按照模塊編號由小到大的順序,從設(shè)定的起始位置沿網(wǎng)格由下向上,然后由左向右的順序,依次安置模塊到矩形網(wǎng)格的方法構(gòu)造初始布局的拓?fù)浣Y(jié)構(gòu)。
3.根據(jù)權(quán)利要求1所述的基于模塊變形的集成電路宏模塊布圖規(guī)劃和布局方法,其特征在于所述的步驟4)中的(2),即根據(jù)模塊間的拓?fù)潢P(guān)系A(chǔ),建立對應(yīng)拓?fù)浣Y(jié)構(gòu)A的布局Q是指從左下角坐標(biāo)頂點所在的網(wǎng)格開始,從右下角向左上角作一條對角線(135°對角線),依次從x方向右移一個網(wǎng)格,再從右下角向左上角作一條對角線,如此重復(fù),一直做到右上角的網(wǎng)格為止;再從第一條對角線開始,依次兩兩連接對角線的左上角,且每條對角線只被連接一次;從第二條對角線開始依次兩兩連接對角線的右下角,且每條對角線只被連接一次;然后從左下角坐標(biāo)頂點所在網(wǎng)格開始,沿連接對角線所形成的連線順序依次計算各模塊的右上角坐標(biāo),建立相應(yīng)的布局,在計算過程中,各模塊左面和下面的模塊的坐標(biāo)都已經(jīng)先期計算過;并計算芯片的寬長比。
4.根據(jù)權(quán)利要求1所述的基于模塊變形的集成電路宏模塊布圖規(guī)劃和布局方法,其特征在于所述步驟4)中的(6),即運用局部搜索算法求取當(dāng)前近似問題實例的局部最優(yōu)解,它包含有以下步驟從循環(huán)變量R=O開始,當(dāng)R<NOIMPUP時,重復(fù)如下步驟1).用下列方法之一從當(dāng)前布局產(chǎn)生新的布局,把新的拓?fù)浣Y(jié)構(gòu)記為A1要改變布局的拓?fù)浣Y(jié)構(gòu),用下列方法(1).交換兩個模塊的位置;(2).把一個模塊移動到另外一個位置;要改變模塊方向以有利于優(yōu)化線長時,用下列方法(3).隨機選擇一個模塊進行旋轉(zhuǎn),旋轉(zhuǎn)角度通過隨機函數(shù)選取為90°,或180°,或270°(4).隨機選擇一個模塊進行翻轉(zhuǎn),翻轉(zhuǎn)軸通過隨機函數(shù)選取為水平軸,或垂直軸或模塊對角線;2).建立對應(yīng)于拓?fù)浣Y(jié)構(gòu)A1的布局Q1,即計算各模塊的右上角坐標(biāo),并計算芯片的寬長比;3).根據(jù)當(dāng)前各模塊大小用上面已述的公式計算相應(yīng)引線端相對相應(yīng)模塊左下角的坐標(biāo);并根據(jù)模塊右上角坐標(biāo)用上面已述公式計算引線端在新布局Q1中的位置;4).根據(jù)上面已述公式計算各線網(wǎng)線長估計值,及總線長估計值;5).用上面已述的目標(biāo)函數(shù)公式計算Q1目標(biāo)函數(shù)值CostQ1;6).如果CostQ1<=CostQ則接受A1,令A(yù)=A1,Q=Q1,R=0,CostQ=CostQ1;如果CostQ1>CostQ,則R=R+1。
全文摘要
一種基于模塊變形的集成電路宏模塊布圖規(guī)劃和布局方法屬于模塊級布局的計算機輔助設(shè)計領(lǐng)域,其特征在于它以原問題為基礎(chǔ),通過改變模塊大小和相應(yīng)引線端位置即模塊變形來生成一系列逐步逼近原問題的簡單的布局問題,再逐步求解這一系列逼近原問題的簡單布局問題獲取原問題的解。在逐步逼近過程中,用近似因子α控制模塊變形的程度,按照近似問題的近似程度遞增的順序即近似因子α遞減的順序,從最簡單的近似問題開始,并把當(dāng)前近似問題的解的結(jié)構(gòu)即模塊間位置關(guān)系作為下一個近似問題的初始解的結(jié)構(gòu),逐步求解這一系列近似問題,直到近似因子α為1時,各模塊大小等于原始各模塊大小,近似問題即為原問題。它較迄今為止該領(lǐng)域的其它算法更為穩(wěn)定、高效,且取得了目前最好的結(jié)果,而且具有工業(yè)應(yīng)用價值。
文檔編號H01L21/82GK1449017SQ0210383
公開日2003年10月15日 申請日期2002年3月29日 優(yōu)先權(quán)日2002年3月29日
發(fā)明者董社勤, 洪先龍, 陳松, 周碩 申請人:清華大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1