麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種布線擁塞優化方法、裝置、設備及介質與流程

文檔序號:41374772發布日期:2025-03-21 15:30閱讀:24來源:國知局
一種布線擁塞優化方法、裝置、設備及介質與流程

本發明涉及集成電路,尤其涉及一種布線擁塞優化方法、裝置、設備及介質。


背景技術:

1、集成電路布局是指確定各單元在芯片中的具體位置,是超大規模集成電路物理設計中的一個關鍵階段。不考慮布線擁塞的布局物理設計,在后續器件布線階段可能導致布線失敗,這將直接影響芯片的設計周期。隨著芯片的集成度不斷增加,物理設計中的布線資源進一步縮小,這對布線擁塞優化算法的時間和效果提出了新的挑戰。

2、目前,在布局階段將布線擁塞分為全局擁塞和局部擁塞,傳統策略在布局階段考慮擁塞消除一般分為以下幾個方向:

3、1、在布局過程中,根據布局布線版圖設計工具反饋的擁塞圖,動態地將空白區域分配給擁塞的地方。然而,擁塞圖在全局布局期間可能是不準確的,因為所有的單元還未被合法化。因此,很難根據不準確的擁塞圖來計算所需的空白空間量。

4、2、在布局過程中動態地調整單元大小用于消除擁塞。這種方法根據使用的布局工具的不同,效果會產生巨大差異,并且該方法僅對局部擁塞有效,很難解決全局擁塞。

5、3、首先基于全卷積網絡模型在布局階段預測布線擁塞,然后將該模型作為懲罰項集成到目標函數中,以顯式優化可布線性。然而,使用機器學習方法預測布線擁塞十分依賴訓練數據的準確性,并且伴有明顯的泛化性不佳問題。


技術實現思路

1、針對上述現有技術的不足,本發明的目的在于提供一種布線擁塞優化方法、裝置、設備及介質,以在布局階段有效地消除全局和局部擁塞。

2、為了實現上述目的,本發明采用以下技術方案:

3、第一方面,本發明提供一種布線擁塞優化方法,包括:

4、基于靜電學模型對待布局的各單元進行全局布局,得到初始布局結果;

5、基于所述初始布局結果進行全局模擬布線,得到所述初始布局結果對應的模擬布線結果和擁塞圖,該擁塞圖包括擁塞網格的擁塞情況;

6、遍歷各所述擁塞網格處的每個單元,以根據所述模擬布線結果和擁塞圖確定相應單元水平方向和豎直方向的目標膨脹量,并根據相應單元水平方向和豎直方向的目標膨脹量對相應單元進行水平膨脹和豎直膨脹,同時再次基于所述靜電學模型進行全局布局,得到中間布局結果;

7、遍歷所述中間布局結果對應的擁塞網格中的每個單元,使該單元按水平和豎直方向分別進行多次預移動,每次預移動一個網格,在每次預移動后計算該單元對應的所有布線路徑的擁塞變化,并分別記錄水平方向和豎直方向擁塞下降最多時對應的預移動方向和擁塞變化,而后基于擁塞下降最多時對應的預移動方向和擁塞變化生成相應的虛擬單元,并計算所述虛擬單元產生的庫侖力,同時基于該庫侖力確定密度梯度的梯度增量,而后根據所述梯度增量對所述靜電學模型的密度梯度進行調整,并基于梯度調整的靜電學模型進行全局布局,得到目標布局結果。

8、進一步地,按如下步驟確定相應單元水平方向的目標膨脹量:

9、計算相應單元的水平方向路徑膨脹量cellpathpaddingh;

10、計算相應單元所占用的擁塞網格的水平方向網格膨脹量cellgridpaddingh;

11、按以下公式計算相應單元水平方向的目標膨脹量cellpaddingh:

12、cellpaddingh=log(max(α*cellpathpaddin.gh+β*cellgridpaddingh+γ,1))

13、其中,α,β,γ為給定參數。

14、進一步地,按以下公式計算相應單元的水平方向路徑膨脹量cellpathpaddingh:

15、cellpathpaddingh=avgp∈pins(pathpaddingph)

16、

17、其中,pins表示該單元的引腳集合,p表示其中一個引腳,pathpaddingph表示引腳p水平方向的路徑膨脹量,path(p)表示經過引腳p的路徑,l表示該路徑中的其中一條子路徑,g表示子路徑l穿過的其中一個網格,表示網格g水平方向的正則化布線擁塞量,useh(g)表示網格g水平方向的路徑占用數量,caph(g)表示網格g水平方向的路徑容量;

18、按以下公式計算相應單元所占用的擁塞網格的水平方向網格膨脹量cellgridpaddingh:

19、

20、其中,cell-gcells表示相應單元所占用的擁塞網格集合,g表示相應單元所占用的其中一個擁塞網格,表示網格g水平方向的正則化布線擁塞量,useh(g)表示網格g水平方向的路徑占用數量,caph(g)表示網格g水平方向的路徑容量。

21、進一步地,按如下步驟確定相應單元豎直方向的目標膨脹量:

22、計算相應單元的豎直方向路徑膨脹量cellpathpaddingv;

23、計算相應單元所占用的擁塞網格的豎直方向網格膨脹量cellgridpaddingv;

24、按以下公式計算相應單元豎直方向的目標膨脹量cellpaddingv:

25、cellpaddingv=log(max(α*cellpathpaddingv+β*cellgridpaddingv+γ,1))

26、其中,α,β,γ為給定參數。

27、進一步地,按以下公式計算相應單元的豎直方向路徑膨脹量cellpathpaddingv:

28、cellpathpaddingv=avgp∈pins(pathpaddingpv)

29、

30、其中,pins表示該單元的引腳集合,p表示其中一個引腳,pathpaddingpv表示引腳p豎直方向的路徑膨脹量,path(p)表示經過引腳p的路徑,l表示該路徑中的其中一條子路徑,g表示子路徑l穿過的其中一個網格,表示網格g豎直方向的正則化布線擁塞量,usev(g)表示網格g豎直方向的路徑占用數量,capv(g)表示網格g豎直方向的路徑容量;

31、按以下公式計算相應單元所占用的擁塞網格的豎直方向網格膨脹量cellgridpaddingv:

32、

33、其中,cell-gcells表示相應單元所占用的擁塞網格集合,g表示相應單元所占用的其中一個擁塞網格,表示網格g豎直方向的正則化布線擁塞量,usev(g)表示網格g豎直方向的路徑占用數量,capv(g)表示網格g豎直方向的路徑容量。

34、進一步地,當相應單元在水平方向預移動后,計算該單元對應的所有布線路徑的擁塞變化的過程如下:

35、

36、netsposh=max(netsposlefth,netsposrighth)

37、

38、其中,表示相應單元向左移動一個網格時該單元的一條路徑的擁塞變化量,表示單元向右移動一個網格時該單元的一條路徑的擁塞變化量,netsposlefth表示相應單元向左移動時其所有路徑的路徑擁塞下降總和,netsneglefth表示相應單元向左移動時其所有路徑的路徑擁塞增加總和;netsposrighth表示相應單元向右移動時其所有路徑的路徑擁塞下降總和,netsnegrighth表示相應單元向右移動時其所有路徑的路徑擁塞增加總和;netsposh表示相應單元左右移動時擁塞下降總和最多的值,direction表示左右移動時擁塞下降最多的方向,netsnegh表示相應單元左右移動時擁塞增加總和最多的值。

39、進一步地,當相應單元左右預移動后,計算該單元對應的各路徑的擁塞變化量的過程如下:

40、

41、其中,pinpathovv表示預移動前該單元的一條路徑path(p)豎直穿過的所有網格的豎直方向正則化布線擁塞總量,表示網格g豎直方向的正則化布線擁塞量,usev(g)表示網格g豎直方向的路徑占用數量,capv(g)表示網格g豎直方向的路徑容量;pinpathovv_left表示該單元的路徑path(p)向左平移一個網格單位得到新的路徑path(p)left后,新路徑path(p)left豎直穿過的所有網格的豎直方向正則化布線擁塞總量;pinpathovv_right表示該單元的路徑path(p)向右平移一個網格單位得到新的路徑path(p)right后,新路徑path(p)right豎直穿過的所有網格的豎直方向正則化布線擁塞總量;表示單元向左移動一個網格時,路徑path(p)的擁塞變化量,表示單元向右移動一個網格時,路徑path(p)的擁塞變化量。

42、進一步地,當相應單元在豎直方向預移動后,計算該單元對應的所有布線路徑的擁塞變化的過程如下:

43、

44、

45、netsposv=max(netsposupv,netsposdownv)

46、

47、其中,表示相應單元向上移動一個網格時該單元的一條路徑的擁塞變化量,表示單元向下移動一個網格時該單元的一條路徑的擁塞變化量,netsposupv表示相應單元向上移動時其所有路徑的路徑擁塞下降總和,netsnegupv表示相應單元向上移動時其所有路徑的路徑擁塞增加總和;netsposdownv表示相應單元向下移動時其所有路徑的路徑擁塞下降總和,netsnegdownv表示相應單元向下移動時其所有路徑的的路徑擁塞增加總和;netsposv表示相應單元下下移動時擁塞下降總和最多的值,direction表示上下移動時擁塞下降最多的方向,netsnegh表示相應單元左右移動時擁塞增加總和最多的值。

48、進一步地,當相應單元下預移動后,計算該單元對應的各路徑的擁塞變化量的過程如下:

49、

50、其中,pinpathovh表示預移動前該單元的一條路徑path(p)水平穿過的所有網格的豎直方向正則化布線擁塞總量,表示網格g水平方向的正則化布線擁塞量,useh(g)表示網格g水平方向的路徑占用數量,caph(g)表示網格g豎直方向的路徑容量;pinpathovh_up表示該單元的路徑path(p)向上平移一個網格單位得到新的路徑path(p)up后,新路徑path(p)up水平穿過的所有網格的水平方向正則化布線擁塞總量;pinpathovh-down表示該單元的路徑path(p)向下平移一個網格單位得到新的路徑path(p)down后,新路徑path(p)down水平穿過的所有網格的水平方向正則化布線擁塞總量;表示單元向上移動一個網格時,路徑path(p)的擁塞變化量,表示單元向下移動一個網格時,路徑path(p)的擁塞變化量。

51、進一步地,所述虛擬單元的面積為:

52、

53、其中,ε表示給定的面積放縮系數,ori表示水平或豎方向,表示預移動第i個單元后該單元在ori方向的一條路徑的擁塞正向變化,表示移動第i個單元后該單元在ori方向的一條路徑的擁塞負向變化,ζ表示給定的負向變化影響系數。

54、進一步地,按以下公式計算所述虛擬單元產生的水平和豎直方向的庫侖力cforcehi,cforcevi:

55、

56、其中,μ表示靜電常數參數,directionhi和directionvi表示水平和豎直方向上力的正負方向,d表示相應單元與所述虛擬單元的距離,cellareai表示第i個單元的面積,imareai表示第i個單元對應的所述虛擬單元的面積。

57、第二方面,本發明提供一種布線擁塞優化裝置,包括:

58、布局模塊,配置為基于靜電學模型對待布局的各單元進行全局布局,得到初始布局結果;

59、布線模塊,配置為基于所述初始布局結果進行全局模擬布線,得到所述初始布局結果對應的模擬布線結果和擁塞圖,該擁塞圖包括擁塞網格的擁塞情況;

60、局部擁塞消除模塊,配置為遍歷各所述擁塞網格處的每個單元,以根據所述模擬布線結果和擁塞圖確定相應單元水平方向和豎直方向的目標膨脹量,并根據相應單元水平方向和豎直方向的目標膨脹量對相應單元進行水平膨脹和豎直膨脹,同時再次基于所述靜電學模型進行全局布局,得到中間布局結果;

61、全局擁塞消除模塊,配置為遍歷所述中間布局結果對應的擁塞網格中的每個單元,使該單元按水平和豎直方向分別進行多次預移動,每次預移動一個網格,在每次預移動后計算該單元對應的所有布線路徑的擁塞變化,并分別記錄水平方向和豎直方向擁塞下降最多時對應的預移動方向和擁塞變化,而后基于擁塞下降最多時對應的預移動方向和擁塞變化生成相應的虛擬單元,并計算所述虛擬單元產生的庫侖力,同時基于該庫侖力確定密度梯度的梯度增量,而后根據所述梯度增量對所述靜電學模型的密度梯度進行調整,并基于梯度調整的靜電學模型進行全局布局,得到目標布局結果。

62、第三方面,本發明提供一種電子設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其中,所述處理器執行所述計算機程序時實現如前所述的布線擁塞優化方法的步驟。

63、第四方面,本發明提供一種計算機可讀存儲介質,其上存儲有計算機程序,其中,所述計算機程序被處理器執行時實現如前所述的布線擁塞優化方法的步驟。

64、通過上述技術方案,本發明具有以下有益效果:

65、本發明通過評估當前布局的擁塞情況,對擁塞區域的單元進行路徑考慮的膨脹處理,同時通過預移動確定擁塞下降最多時對應的預移動方向和擁塞變化,并由此生成虛擬單元產生庫侖力,以根據庫侖力進行密度調整,從而促使分布密集的長線網分開,緩解長線網造成的布線擁塞而導致全局布局效果不佳的情況,本發明能夠得到對布線更為友好的布局結果,從而減少布線溢出的概率。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 白河县| 红桥区| 淮北市| 四会市| 兴海县| 玉溪市| 渭源县| 万全县| 广汉市| 河津市| 东莞市| 云霄县| 桃园县| 临颍县| 墨玉县| 望江县| 汝南县| 英吉沙县| 神农架林区| 新营市| 梁山县| 贵南县| 霍州市| 石首市| 尼木县| 二连浩特市| 辰溪县| 景洪市| 库车县| 太白县| 元氏县| 蚌埠市| 长岛县| 甘泉县| 都江堰市| 同德县| 武隆县| 都匀市| 延安市| 姚安县| 墨脱县|