System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于集成電路,具體地涉及一種用于集成電路設計中的宏單元布局方法。
技術介紹
1、隨著集成電路技術的不斷發展,其復雜程度不斷提高,為了提高集成電路設計的效率,縮短設計周期,提升功能的可靠性,現代大規模集成電路設計中往往采用大量的宏單元。宏單元布局處于集成電路設計的早期,其布局質量好壞為直接影響后續的標準單元布局,并對集成電路的性能、功耗和面積產生很大影響。在實際的集成電路設計過程中,通常先完成宏單元布局,然后在宏單元位置固定的條件下在進行標準單元布局。
2、在現在的宏單元布局方法中,主要是依靠于人工進行,十分依賴工程師的經驗。在宏單元布局過程中,需要考慮許多設計約束,如宏單元應該盡量靠近模塊邊界放置,設計層次較近的宏單元應該放置在較近的位置,宏單元之間應該留有一定的距離等。依靠于人工的宏單元布局方法需要多次嘗試,耗時較久,因此設計一種高效可靠的自動宏單元布局方法就十分重要。
技術實現思路
1、本申請的主要目的在于提供一種宏單元布局方法,旨在解決人工宏單元布局效果較差,耗時較長的技術難題。
2、為了實現上述目的,本申請提供了一種宏單元布局方法,所述宏單元布局方法包括以下步驟:
3、s1、獲取待布局的電路網表信息和宏單元結構特征;
4、s2、基于dbscan聚類算法,根據電路網表信息對所有宏單元進行聚類,得到多個簇;
5、s3、基于遺傳算法對多個簇進行更新;
6、s4、在多個簇中根據宏單元結構特征創建多個宏
7、s5、在各個簇中分別對宏單元陣列進行布局;
8、s6、對各個簇分別進行布局,得到初步布局結果;
9、s7、在模擬退火算法的目標函數中使用面積評估模型和線長評估模型對初步布局結果進行更新,得到更新后的布局結果;
10、s8、使用貪心算法對所述的更新后的布局結果再次進行更新,以解決擁塞問題;
11、s9、在全局上對宏單元的重疊部分進行更新,得到最終的布局結果。
12、在一實施例中,在s1中,所述電路網表信息和宏單元結構特征包括:
13、電路中所有的設計層次信息,不同設計層次中的標準單元數量信息,所有宏單元所在的設計層次信息,所有宏單元的尺寸、引腳位置信息。
14、在一實施例中,所述s2包括以下步驟:
15、s21、計算兩個宏單元之間的距離度量為:
16、
17、其中,p表示兩個宏單元mi和mj之間的公共設計層次中的標準單元的數量,n表示電路網表中的所有標準單元的數量,areak表示標準單元的面積;
18、s22、使用自適應的dbscan聚類算法參數,生成所有從0到1且步長為0.01的eps參數列表,生成從1到n的minpts參數列表,其中,n表示所有宏單元的數量;
19、s23、對所有eps和minpts的參數列表,兩兩結合生成參數對列表,根據每一組參數對列表生成一組dbscan聚類結果,只保留擁有4個簇的結果;
20、s24、將未被分配至簇中的宏單元分配至平均距離度量最近的一個簇中;
21、s25、計算各個dbscan聚類結果的輪廓系數,并根據輪廓系數從高至低進行排序,輪廓系數定義為:
22、
23、其中,a(i)是第i個宏單元到同簇中其它宏單元的平均距離度量,b(i)是第i個宏單元到其它各個簇中所有宏單元平均距離度量的最小值。
24、在一實施例中,所述s3包括以下步驟:
25、s31、對所述的dbscan聚類結果進行基因編碼,生成染色體;
26、s32、每個染色體作為一個個體,多個個體構成種群;
27、s33、對種群進行個體數量擴充;
28、s34、使用適應度函數對種群進行評價,適應度函數定義為:
29、
30、
31、其中,vσ表示標準差系數,σ表示面積之間的標準差,表示面積的平均值,s表示種群的輪廓系數,表示所有簇內部的宏單元面積的標準差系數的平均值,vσb表示所有簇之間的面積的標準差系數,α,β,γ和λ為系數,w表示懲罰項,areacluster表示一個簇內所有宏單元的面積之和,n為宏單元的數量;
32、s35、使用輪盤賭算法在每一代種群中選擇出若干適應度函數值高的個體,每個個體被選擇的概率與其適應度函數值成正比,概率定義為:
33、
34、其中,n表示種群的規模;
35、s36、使用交叉和變異的方法對所述被選擇的適應度函數值高的個體進行基因更新;
36、s37、在達到最大迭代次數時,終止遺傳算法,并在最后一代種群中,選擇適應度函數值最高的個體,作為最終的宏單元聚類結果。
37、在一實施例中,在s33中,擴充數量為100,擴充方式包括交叉和變異。
38、在一實施例中,所述s36包括以下步驟:
39、s361、在被選擇的親代個體中隨機選擇它們染色體中的基因片段;
40、s362、交換兩個親代個體的被隨機選擇的基因片段,得到更新后的染色體;
41、s363、對更新后的染色體進行沖突檢測,對重復的基因進行更新,得到二次更新后的染色體;
42、s364、在二次更新后的染色體中,隨機選擇一個宏單元對應的基因,并將其移動至另一個簇中,得到三次更新后的染色體;
43、s365、在所述三次更新后的染色體中,隨機在兩個簇中各自選擇一個宏單元對應的基因,然后交換它們的位置。
44、在一實施例中,s7中,所述模擬退火算法的目標函數定義如下:
45、
46、其中,areadead表示無效區域的面積,wl表示總線長,α和β表示權重系數,max()表示多次迭代過程中出現的最大值;
47、在一實施例中,s7中,所述面積評估模型定義如下:
48、
49、其中,areatotal表示總共的面積,表示宏單元的面積,areastd表示可用于標準單元布局的矩形面積,areapena表示懲罰區域的面積。
50、在一實施例中,s7中,所述線長評估模型計算步驟如下:
51、計算所有宏單元的等效引腳信息,包括位置和位寬;
52、創建一個用于標準單元布局的多邊形;
53、計算所有宏單元等效引腳到所述多邊形的曼哈頓距離;
54、計算所有曼哈頓距離之和。
55、在一實施例中,所述s8包括以下步驟:
56、s81、在更新后的布局結果中對所有宏單元進行遍歷;
57、s82、判斷所述被遍歷的宏單元與其它宏單元的等效引腳距離是否小于閾值;
58、s83、判斷宏單元之間是否屬于同一組連接關系;
59、s84、若宏單元等效引腳距離小于閾值且不屬于同一組連接本文檔來自技高網...
【技術保護點】
1.一種用于集成電路設計中的宏單元布局方法,其特征在于,包括:
2.如權利要求1中所述的方法,其特征在于,在S1中,所述電路網表信息和宏單元結構特征包括:
3.如權利要求1中所述的方法,其特征在于,所述S2包括以下步驟:
4.如權利要求1中所述的方法,其特征在于,所述S3包括以下步驟:
5.如權利要求3中所述的方法,其特征在于,所述S36包括以下步驟:
6.如權利要求1中所述的方法,其特征在于,S7中,所述模擬退火算法的目標函數定義如下:
7.如權利要求6中所述的方法,其特征在于,S7中,所述面積評估模型定義如下:
8.如權利要求6中所述的方法,其特征在于,S7中,所述線長評估模型計算步驟如下:
9.如權利要求1中所述的方法,其特征在于,所述S8包括以下步驟:
10.如權利要求1中所述的方法,其特征在于,所述S9包括:在模擬退火算法的目標函數中引入一個懲罰項,首先記錄出現的重疊區域,重疊的宏單元以及它們所在簇,然后定義懲罰項如下:
【技術特征摘要】
1.一種用于集成電路設計中的宏單元布局方法,其特征在于,包括:
2.如權利要求1中所述的方法,其特征在于,在s1中,所述電路網表信息和宏單元結構特征包括:
3.如權利要求1中所述的方法,其特征在于,所述s2包括以下步驟:
4.如權利要求1中所述的方法,其特征在于,所述s3包括以下步驟:
5.如權利要求3中所述的方法,其特征在于,所述s36包括以下步驟:
6.如權利要求1中所述的方法,其特征在于,s7中,所述模擬退...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。