System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及芯片實例放置的合法化,特別涉及一種基于強化學習的芯片實例放置的合法化方法。
技術介紹
1、芯片設計中的合法化放置是確保芯片布局中的所有單元都不重疊且符合制造規范的過程。傳統的放置算法如abacus和tetris雖然在一些場景中表現良好,但隨著集成電路設計復雜度的增加,這些算法開始顯露出一些局限性。
2、以abacus為例,該算法主要設計用于處理單行高的標準單元,而對于現代芯片設計中常見的多行高和不同尺寸的單元,其效果并不理想;此外,作為一個預定義的確定性算法,abacus對于輸入的響應是固定的,這在集成電路設計快速迭代和技術持續進步的環境中顯得尤為不足。為了提高其處理新的復雜場景的能力,可能需要對算法進行重大修改甚至重新設計。這不僅涉及到高成本,還需要深入的算法知識和實驗來確保修改后的算法的有效性。因此,更新和維護這些算法以適應新的設計要求是具有挑戰性且耗時的。
技術實現思路
1、本專利技術目的是:提供一種基于強化學習的芯片實例放置的合法化方法,更為高效、靈活且能夠自我優化,以滿足現代集成電路設計日益增長的復雜性和多樣性需求。
2、本專利技術的技術方案是:
3、一種基于強化學習的芯片實例放置的合法化方法,包括步驟:
4、s1、數據預處理;具體包括:
5、s1-1、選擇合法化方向:合法化在橫向和豎向兩個方向上獨立完成,或在兩個方向交替迭代完成;
6、s1-2、數據獲取:獲取每個實例的數據,包括左下角
7、s1-3、截取合法化處理區域:對于每個待合法化實例,截取其附近的一個區域,作為該實例的合法化處理區域;
8、s1-4、實例排序:在每個合法化處理區域內按照實例左下角的縱坐標或橫坐標大小對實例排序;
9、s1-5、構建實例有向無環圖dag:基于排序后的實例,檢查實例之間的重疊關系,并構建dag圖,其中節點代表線段,邊表示父子關系;
10、s1-6、尋找連通分支:在dag圖中從待處理的實例出發尋找其所在連通分支;該實例的移動只受連通分支內部實例的制約,不考慮連通分支以外的實例,以減小計算量;
11、s1-7、建立拓撲排序:對連通分支內部的實例進行拓撲排序,以確定實例移動的順序,確保任何實例僅在其所有父節點處理完畢后才進行移動;
12、s2、基于強化學習的合法化求解;具體包括:
13、s2-1、定義狀態空間:定義強化學習模型的狀態空間,描述每個實例的特征,包括與其他線段的距離關系、以及父子關系的拓撲結構;
14、s2-2、定義離散動作空間:選定方向的移動選擇{-k,...,-1,0,1,...,k}作為離散動作空間,這里設置移動的單位距離和k所代表的最大距離;
15、s2-3、設計獎勵函數:對違反最小距離要求或破壞拓撲順序的行為施加懲罰;
16、s2-4、模型優化:采用maskableppo策略優化算法,利用動作掩碼確保在每個步驟中,模型僅考慮符合約束條件的合法動作,從而加速收斂并避免不必要的探索;
17、s2-5、執行強化學習訓練:在一個完整的布局周期內,通過一系列動作,對所有實例進行調整,使得布局達到一個合法的狀態,即所有實例均未重疊并滿足最小距離限制。
18、優選的,步驟s1-1的選擇合法化方向中,橫向指實例只能沿x軸移動,豎向指實例只能沿y軸移動;以下選取豎向做說明,橫向的原理是相同的;
19、步驟s1-2的數據獲取中在芯片版圖上建立坐標系,以最小間距為寬度鋪設與x軸平行的網格線;將實例的左下角移動到最近的網格線上;最后導出所有不滿足間距要求的實例編號;
20、步驟s1-3的截取合法化處理區域中,對于每個待合法化實例,在y軸方向截取其附近的一個區域,作為該實例的合法化處理區域。
21、優選的,步驟s1-5的構建實例有向無環圖dag中,使用矩陣?a?記錄圖中的連接關系,避免重復添加邊;
22、具體地,在構建實例有向無環圖dag時,決定兩個節點之間是否直接連邊的判斷依據是:兩個實例向x軸投影有重疊且這兩個實例之間通過已有路徑不能到達;另外在構建實例有向無環圖dag時,引入表示連接關系的矩陣a,該矩陣用來記錄已經添加的邊和節點之間的連接關系,避免重復添加邊;矩陣a中的元素首先初始化為0,對于節點j,按照i=j-1,...,0的順序檢查節點i和j之間是否已有a[i,j]=1,若否,則檢查是否重疊,若重疊,則添加邊i->j,并將矩陣a中對應位置設為1,即a[i,?j]=1,同時為了記錄與之前結點的連接關系,將a中的第i行元素對應加到第j行。
23、優選的,步驟s2-1的定義狀態空間中,具體有:
24、(1)實例的編號,采用one-hot?嵌入構成特征向量;
25、(2)與最近的父節點的距離,以及與最近的子節點的距離,標準化后成為2維特征;
26、(3)將上述特征向量拼接后,作為策略網絡的輸入。
27、優選的,步驟s2-3的設計獎勵函數中,獎勵函數會懲罰:
28、(1)從初始位置的過度移動,以鼓勵模型盡量減少調整并保持原始布局;
29、(2)移動后導致父節點實例與自身的距離低于最小閾值,或者甚至不滿足位置關系要求,從而使子節點的動作空間內所有的動作都不可行的情況;如出現該情況,模型將會選擇盡可能離父節點最遠的移動方式,同時獎勵函數會施加高額的懲罰。
30、優選的,步驟s2-4的模型優化中,具體包括:
31、ppo采用actor-critic架構,由策略和價值函數網絡組成;策略網絡輸入每個實例的特征,輸出每個動作的概率,由動作掩碼調整以將無效動作或橫坐標歸零;價值網絡輸入當前狀態,輸出對當前狀態的預期回報的估計;
32、在使用maskableppo的強化學習設置中,rollout?buffer存儲每個episode期間收集的經驗;經驗包括狀態、動作、獎勵、下一個狀態和是否達到終止狀態;隨后ppo將rolloutbuffer分成更小的批次,并且使用數據的不同子集多次更新策略;收集數據后,ppo的策略網絡采用廣義優勢估計更新策略,估計緩沖區中每個狀態-動作對的優勢;優勢函數根據預期獎勵衡量采取特定行動與給定狀態下所有可能行動的平均值相比有多好,以此選出當前狀態下最有利的動作。
33、優選的,步驟s2-4的模型優化中,ppo的策略損失函數還包括裁剪替代目標,防止可能破壞學習穩定性的大型策略更新;策略網絡的損失函數具體可表示為:
34、;
35、其中,優勢估計??由gae得出,表示采用新舊策略的概率比,限制概率比在??之間,是模型裁剪參數;最后通過對此損失執行梯度上升來更新策略網絡。
36、優選的,步驟s2-4的模型優化中,價值函數網絡估計每個狀態的預期回報;此價值函數有助于計算未本文檔來自技高網...
【技術保護點】
1.一種基于強化學習的芯片實例放置的合法化方法,其特征在于,包括步驟:
2.根據權利要求1所述的基于強化學習的芯片實例放置的合法化方法,其特征在于,步驟S1-1的選擇合法化方向中,橫向指實例只能沿x軸移動,豎向指實例只能沿y軸移動;以下選取豎向做說明,橫向的原理是相同的;
3.根據權利要求2所述的基于強化學習的芯片實例放置的合法化方法,其特征在于,步驟S1-5的構建實例有向無環圖DAG中,使用矩陣?A?記錄圖中的連接關系,避免重復添加邊;
4.根據權利要求3所述的基于強化學習的芯片實例放置的合法化方法,其特征在于,步驟S2-1的定義狀態空間中,具體有:
5.根據權利要求4所述的基于強化學習的芯片實例放置的合法化方法,其特征在于,步驟S2-3的設計獎勵函數中,獎勵函數會懲罰:
6.根據權利要求5所述的基于強化學習的芯片實例放置的合法化方法,其特征在于,步驟S2-4的模型優化中,具體包括:
7.根據權利要求6所述的基于強化學習的芯片實例放置的合法化方法,其特征在于,步驟S2-4的模型優化中,PPO的策略損失函數還
8.根據權利要求7所述的基于強化學習的芯片實例放置的合法化方法,其特征在于,步驟S2-4的模型優化中,價值函數網絡估計每個狀態的預期回報;此價值函數有助于計算未來迭代中的優勢估計;價值函數網絡的損失函數表示為:
9.根據權利要求8所述的基于強化學習的芯片實例放置的合法化方法,其特征在于,步驟S2-5的執行強化學習訓練中,模型在完整的布局周期內,通過多次迭代訓練,學習如何通過一系列合法的移動調整所有實例的位置,達到無重疊且符合最小距離限制的合法配置。
...【技術特征摘要】
1.一種基于強化學習的芯片實例放置的合法化方法,其特征在于,包括步驟:
2.根據權利要求1所述的基于強化學習的芯片實例放置的合法化方法,其特征在于,步驟s1-1的選擇合法化方向中,橫向指實例只能沿x軸移動,豎向指實例只能沿y軸移動;以下選取豎向做說明,橫向的原理是相同的;
3.根據權利要求2所述的基于強化學習的芯片實例放置的合法化方法,其特征在于,步驟s1-5的構建實例有向無環圖dag中,使用矩陣?a?記錄圖中的連接關系,避免重復添加邊;
4.根據權利要求3所述的基于強化學習的芯片實例放置的合法化方法,其特征在于,步驟s2-1的定義狀態空間中,具體有:
5.根據權利要求4所述的基于強化學習的芯片實例放置的合法化方法,其特征在于,步驟s2-3的設計獎勵函數中,獎勵函數會懲罰:
6.根據權利要求5所述的基于強化學習...
【專利技術屬性】
技術研發人員:喻志楨,孫業旺,吳歈,
申請(專利權)人:蘇州芯聯成軟件有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。