System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本說明書涉及電子設計自動化領域,更具體地說,本申請涉及一種多模塊聚合方法及相關設備。
技術介紹
1、目前在集成電路設計中,工程師們通常面臨著將多個verilog模塊合并為一個頂層模塊的任務。這種合并操作通常涉及大量的手動操作和重復性的代碼編輯,包括但不限于處理模塊端口的匹配、信號命名沖突的解決、模塊連接關系的梳理等工作。這些手動合并步驟耗時且容易出錯,特別是在面對大型系統設計時,復雜度和工作量成倍增加。
2、因此,有必要提出一種多模塊聚合方法和相關設備裝置,以提升多模塊聚合的自動化程度。
技術實現思路
1、在
技術實現思路
部分中引入了一系列簡化形式的概念,這將在具體實施方式部分中進一步詳細說明。本申請的
技術實現思路
部分并不意味著要試圖限定出所要求保護的技術方案的關鍵特征和必要技術特征,更不意味著試圖確定所要求保護的技術方案的保護范圍。
2、第一方面,本申請提出一種多模塊聚合方法,包括:
3、獲取上級文件;
4、基于上述上級文件獲取上級文件的端口信息,并將上述上級文件的端口信息存儲在上級文件端口信息列表;
5、基于上述上級文件確定待合并的例化模塊,其中,上述上級文件包括待合并的例化模塊、無需合并的例化模塊和待合并的例化模塊對應的模塊列表;
6、獲取上述待合并的例化模塊對應的待合并的例化模塊的端口信息,并將上述待合并的例化模塊的端口信息存儲在待合并的例化模塊端口信息列表;
7、基于上述上級文件端口信息列表
8、將上述新的合并文件的例化部分,保存在上述上級文件中。
9、在一種可行的實施方式中,上述上級文件的端口信息是基于第一正則表達式獲取的,上述待合并的例化模塊是基于第二正則表達式獲取的,上述待合并的例化模塊的端口信息是基于第三正則表達式獲取的。
10、在一種可行的實施方式中,
11、上述上級文件的端口信息包括上級文件名稱信息、上級文件端口方向信息、上級文件端口類型信息和上級文件端口位寬信息;
12、上述待合并的例化模塊的端口信息包括例化模塊名稱信息、例化模塊端口方向信息、例化模塊端口類型信息和例化模塊端口位寬信息。
13、在一種可行的實施方式中,上述基于上述上級文件端口信息列表和上述待合并的例化模塊端口信息列表進行信號去重操作、端口分析及信號定義操作和重命名及比較連接操作,以生成新的合并文件,包括:
14、基于上述上級文件端口信息列表和上述待合并的例化模塊端口信息列表進行信號去重操作,以清除待合并的例化模塊端口信息列表中與上述上級文件端口信息列表重合的信號,生成去重后的待合并的例化模塊端口信息列表;
15、對上述的待合并的例化模塊端口信息列表進行端口分析及信號定義操作,以確定合并模塊所需端口信息,并生成上述所需端口信息的定義信息;
16、將上述待合并的例化模塊端口信息列表中的剩余信號端口進行重命名及比較連接操作,以生成新的合并文件,其中,上述待合并的例化模塊端口信息列表中的剩余信號為上述待合并的例化模塊端口信息列表中除上述合并模塊所需端口信息之外的信號端口。
17、在一種可行的實施方式中,上述基于上述上級文件確定待合并的例化模塊,包括:
18、獲取上述上級文件中的特定標識符對應的語句信息;
19、去除上述特定標識符以獲取上述特定標識符對應的語句信息對應的待合并的例化模塊,其中,上述特定標識符是用于區分待合并的例化模塊的字節信息,上述待合并的例化模塊是基于用戶選擇確定的。
20、在一種可行的實施方式中,上述待合并的例化模塊是基于分區策略自動生成的,上述分區策略是基于通信密度、分區相似性、依賴關系和資源約束條件確定的。
21、在一種可行的實施方式中,還包括:
22、基于上述通信密度、上述分區相似性、上述依賴關系確定目標函數;
23、根據上述目標函數和上述資源約束條件基于啟發式算法確定上述分區策略;
24、其中,上述目標函數基于下式確定;
25、
26、上述約束條件包括資源約束條件、分區完整性約束條件和最小分區通信密度閾值條件;
27、上述資源約束條件基于下式確定:
28、
29、分區完整性約束條件基于下式確定:
30、
31、最小分區通信密度閾值條件基于下式確定:
32、
33、式中,為目標函數,為分區集合中的某個分區,為所有分區的集合,和為分區中的兩個模塊,為模塊和之間的通信密度,,為和之間的信號交互數量,為模塊和的端口總數,為模塊和之間的功能相似性,為模塊和之間的依賴關系權重,為第一權重因子,為第二權重因子,為第三權重因子,為模塊的資源消耗量,為每個分區允許的資源總量上限,表示所有分區中的模塊聯合起來覆蓋整個模塊集合,表示不同分區之間的模塊無重疊,為分區內的通信密度的最低要求,為所有模塊的集合。
34、第二方面、本申請提出一種多模塊聚合裝置,包括:
35、第一獲取單元,用于獲取上級文件;
36、第二獲取單元,用于基于上述上級文件獲取上級文件的端口信息,并將上述上級文件的端口信息存儲在上級文件端口信息列表;
37、第一確定單元,用于基于上述上級文件確定待合并的例化模塊,其中,上述上級文件包括待合并的例化模塊、無需合并的例化模塊和待合并的例化模塊對應的模塊列表;
38、第三獲取單元,用于獲取上述待合并的例化模塊對應的待合并的例化模塊的端口信息,并將上述待合并的例化模塊的端口信息存儲在待合并的例化模塊端口信息列表;
39、生成單元,用于基于上述上級文件端口信息列表和上述待合并的例化模塊端口信息列表進行信號去重操作、端口分析及信號定義操作和重命名及比較連接操作,以生成新的合并文件;
40、保存單元,用于將上述新的合并文件的例化部分,保存在上述上級文件中。
41、第三方面,一種電子設備,包括:存儲器、處理器以及存儲在上述存儲器中并可在上述處理器上運行的計算機程序,上述處理器用于執行存儲器中存儲的計算機程序時實現如上述的第一方面任一項的多模塊聚合方法的步驟。
42、第四方面,本申請還提出一種計算機可讀存儲介質,其上存儲有計算機程序,上述計算機程序被處理器執行時實現第一方面任一項的多模塊聚合方法。
43、綜上,本申請提出的多模塊聚合方法,可以使用python腳本對模塊進行自動化處理,相比手動合并而言,極大減少了人工操作的時間,尤其是對于大型項目中多模塊的合并需求。自動化腳本能夠一次性提取、分析并處理所有模塊的端口信息和信號關系,合并的效率大幅提升。手動合并模塊容易因為工程師的疏忽而產生錯誤,尤其是信號沖突或未連接情本文檔來自技高網...
【技術保護點】
1.一種多模塊聚合方法,其特征在于,包括:
2.根據權利要求1所述的多模塊聚合方法,其特征在于,所述上級文件的端口信息是基于第一正則表達式獲取的,所述待合并的例化模塊是基于第二正則表達式獲取的,所述待合并的例化模塊的端口信息是基于第三正則表達式獲取的。
3.根據權利要求1所述的多模塊聚合方法,其特征在于,
4.根據權利要求1所述的多模塊聚合方法,其特征在于,所述基于所述上級文件端口信息列表和所述待合并的例化模塊端口信息列表進行信號去重操作、端口分析及信號定義操作和重命名及比較連接操作,以生成新的合并文件,包括:
5.根據權利要求1所述的多模塊聚合方法,其特征在于,所述基于所述上級文件確定待合并的例化模塊,包括:
6.根據權利要求1所述的多模塊聚合方法,其特征在于,所述待合并的例化模塊是基于分區策略自動生成的,所述分區策略是基于通信密度、分區相似性、依賴關系和資源約束條件確定的。
7.根據權利要求6所述的多模塊聚合方法,其特征在于,還包括:
8.一種多模塊聚合裝置,其特征在于,包括:
9
10.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現如權利要求1-7中任一項所述的多模塊聚合方法的步驟。
...【技術特征摘要】
1.一種多模塊聚合方法,其特征在于,包括:
2.根據權利要求1所述的多模塊聚合方法,其特征在于,所述上級文件的端口信息是基于第一正則表達式獲取的,所述待合并的例化模塊是基于第二正則表達式獲取的,所述待合并的例化模塊的端口信息是基于第三正則表達式獲取的。
3.根據權利要求1所述的多模塊聚合方法,其特征在于,
4.根據權利要求1所述的多模塊聚合方法,其特征在于,所述基于所述上級文件端口信息列表和所述待合并的例化模塊端口信息列表進行信號去重操作、端口分析及信號定義操作和重命名及比較連接操作,以生成新的合并文件,包括:
5.根據權利要求1所述的多模塊聚合方法,其特征在于,所述基于所述上級文件確定待合并的例化...
【專利技術屬性】
技術研發人員:馬飛,李君豪,
申請(專利權)人:北京湯谷軟件技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。