本公開(kāi)涉及集成電路設(shè)計(jì)自動(dòng)化,具體而言,涉及一種系統(tǒng)級(jí)芯片管腳分配方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、在系統(tǒng)級(jí)芯片(soc)物理設(shè)計(jì)流程中,宏單元/模塊(如ip、子系統(tǒng)、接口單元等)之間通常存在大量跨模塊信號(hào)互連。為縮短布線長(zhǎng)度、降低擁塞并滿(mǎn)足時(shí)序與功耗目標(biāo),需要在各模塊邊界上合理生成并分配管腳位置,使得相鄰模塊的互連能夠以更短、更直觀的方式跨越模塊邊界完成連接。
2、然而,在傳統(tǒng)流程中,管腳分配往往依賴(lài)人工經(jīng)驗(yàn)或局部啟發(fā)式規(guī)則:設(shè)計(jì)人員根據(jù)模塊相對(duì)位置、接口方向以及局部可用邊界區(qū)域,手工挑選若干候選邊界并進(jìn)行管腳擺放,再通過(guò)多輪布線/drc/時(shí)序收斂結(jié)果反復(fù)修正。該類(lèi)方式不僅效率低、周期長(zhǎng),而且結(jié)果對(duì)個(gè)人經(jīng)驗(yàn)強(qiáng)依賴(lài),難以在大規(guī)模設(shè)計(jì)中保持一致性和可復(fù)用性。
技術(shù)實(shí)現(xiàn)思路
1、本公開(kāi)實(shí)施例至少提供一種系統(tǒng)級(jí)芯片管腳分配方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì),可基于物理路徑拓?fù)鋵?duì)模塊序列進(jìn)行方向分解,并通過(guò)對(duì)相關(guān)模塊邊界可分配區(qū)域求交得到共同邊界,提高管腳分配的成功率與自動(dòng)化程度,同時(shí),通過(guò)對(duì)復(fù)用模塊各實(shí)例共同邊界執(zhí)行邏輯與運(yùn)算獲得通用共同邊界,可在滿(mǎn)足物理約束的前提下實(shí)現(xiàn)復(fù)用實(shí)例間管腳映射一致,降低后續(xù)維護(hù)與eco成本,并在共同邊界資源不足時(shí),通過(guò)重新確定物理路徑拓?fù)洳⒌峙洌瑢?shí)現(xiàn)可回退、可收斂的分配流程,減少人工介入,提升soc物理設(shè)計(jì)的整體效率與可實(shí)現(xiàn)性。
2、本公開(kāi)實(shí)施例提供了一種系統(tǒng)級(jí)芯片管腳分配方法,包括:
3、獲取系統(tǒng)級(jí)芯片布局?jǐn)?shù)據(jù)庫(kù)以及至少一組信號(hào)互連對(duì)應(yīng)的物理路徑拓?fù)洌斎氩⒔馕龉苣_分配約束文件,得到用于管腳布局生成的約束信息;
4、對(duì)所述物理路徑拓?fù)溥M(jìn)行拓?fù)浞纸猓玫街辽僖粋€(gè)具有方向?qū)傩缘碾娐纺K拓?fù)浞至浚?/p>
5、基于所述電路模塊拓?fù)浞至坑?jì)算共同邊界,所述共同邊界為所述電路模塊拓?fù)浞至恐邢嚓P(guān)電路模塊邊界上可分配管腳區(qū)域的相交結(jié)果;
6、當(dāng)所述電路模塊拓?fù)浞至恐写嬖诒粡?fù)用電路模塊時(shí),對(duì)各實(shí)例對(duì)應(yīng)的共同邊界執(zhí)行邏輯與運(yùn)算獲得通用共同邊界;
7、在所述共同邊界或通用共同邊界內(nèi),依據(jù)所述約束信息生成信號(hào)互連的管腳位置;若當(dāng)前共同邊界資源不足以完成管腳生成時(shí),重新確定所述物理路徑拓?fù)洳⒅貜?fù)執(zhí)行分解所述物理路徑拓?fù)渲辽伤龉苣_位置的步驟直至管腳分配完成。
8、一種可選的實(shí)施方式中,基于以下步驟生成所述約束信息:
9、按照預(yù)設(shè)語(yǔ)法規(guī)則對(duì)信號(hào)互連優(yōu)先級(jí)及預(yù)設(shè)需求進(jìn)行結(jié)構(gòu)化描述,形成所述管腳分配約束文件;
10、解析所述管腳分配約束文件獲得至少包括金屬層約束、最小或最大間距約束以及管腳組相對(duì)位置關(guān)系約束的所述約束信息。
11、一種可選的實(shí)施方式中,基于所述電路模塊拓?fù)浞至坑?jì)算共同邊界,所述共同邊界為所述電路模塊拓?fù)浞至恐邢嚓P(guān)電路模塊邊界上可分配管腳區(qū)域的相交結(jié)果,具體包括:
12、在計(jì)算所述相交結(jié)果之前,從電路模塊邊界中剔除引腳阻塞區(qū)域及設(shè)計(jì)指定的非管腳區(qū)域,以獲得所述可分配管腳區(qū)域;
13、對(duì)所述電路模塊拓?fù)浞至恐懈麟娐纺K對(duì)應(yīng)的所述可分配管腳區(qū)域執(zhí)行圖形相交運(yùn)算,得到至少一個(gè)共同邊界組;
14、針對(duì)所述共同邊界組中包括的每個(gè)所述共同邊界,對(duì)起點(diǎn)電路模塊或終點(diǎn)電路模塊,在任一所述共同邊界中僅保留一個(gè)邊界區(qū)域;對(duì)穿通電路模塊,在任一所述共同邊界中保留兩個(gè)邊界區(qū)域;
15、其中,共同邊界數(shù)量根據(jù)邊界區(qū)域與所述可分配管腳區(qū)域的連續(xù)性確定,為零、一或多個(gè)。
16、一種可選的實(shí)施方式中,當(dāng)所述電路模塊拓?fù)浞至繛樗椒较驎r(shí),遍歷所述電路模塊拓?fù)浞至恐懈麟娐纺K的垂直邊界,獲取各垂直邊界上所述可分配管腳區(qū)域的縱坐標(biāo)區(qū)間集合;對(duì)各電路模塊的所述縱坐標(biāo)區(qū)間集合執(zhí)行交集運(yùn)算,得到所述共同邊界;
17、當(dāng)所述電路模塊拓?fù)浞至繛榇怪狈较驎r(shí),遍歷所述電路模塊拓?fù)浞至恐懈麟娐纺K的水平邊界,獲取各水平邊界上所述可分配管腳區(qū)域的橫坐標(biāo)區(qū)間集合;對(duì)各電路模塊的所述橫坐標(biāo)區(qū)間集合執(zhí)行交集運(yùn)算,得到共同邊界。
18、一種可選的實(shí)施方式中,當(dāng)所述電路模塊拓?fù)浞至恐写嬖诒粡?fù)用電路模塊時(shí),對(duì)各實(shí)例對(duì)應(yīng)的共同邊界執(zhí)行邏輯與運(yùn)算獲得通用共同邊界,具體包括:
19、識(shí)別被所述復(fù)用電路模塊的每個(gè)實(shí)例在其所屬拓?fù)浞至恐蝎@得的共同邊界集合;
20、對(duì)所述共同邊界集合執(zhí)行邏輯與運(yùn)算獲得交集,并將所述交集確定為所述被復(fù)用電路模塊的通用共同邊界。
21、一種可選的實(shí)施方式中,在所述共同邊界或通用共同邊界內(nèi),依據(jù)所述約束信息生成信號(hào)互連的管腳位置,具體包括:
22、將相鄰電路模塊之間對(duì)應(yīng)信號(hào)互連的管腳在空間上對(duì)齊,并根據(jù)所述當(dāng)前共同邊界資源拆分需要分配的管腳;
23、當(dāng)共同邊界資源滿(mǎn)足當(dāng)前管腳分配需求時(shí),在當(dāng)前所述共同邊界內(nèi)自動(dòng)生成所述管腳位置,并刷新當(dāng)前所述共同邊界的剩余資源;
24、當(dāng)信號(hào)互連包含穿通路徑時(shí),將所述穿通路徑的輸入或輸出管腳優(yōu)先布局于路徑行進(jìn)方向的相對(duì)側(cè),并保持空間對(duì)齊;
25、當(dāng)存在未完成分配的管腳時(shí),重新確定物理路徑拓?fù)湟岳^續(xù)分配。
26、一種可選的實(shí)施方式中,所述方法還包括:
27、若受所述系統(tǒng)級(jí)芯片布局?jǐn)?shù)據(jù)庫(kù)限制無(wú)法獲得可行的所述物理路徑拓?fù)洌瑒t輸出無(wú)法分配的信號(hào)互連信息;
28、記錄無(wú)法分配的起點(diǎn)至終點(diǎn)信號(hào)互連;輸出支持人工干預(yù)的提示信息,所述提示信息至少包括修改物理路徑拓?fù)渑c調(diào)整模塊布局的建議。
29、本公開(kāi)實(shí)施例還提供一種系統(tǒng)級(jí)芯片管腳分配裝置,包括:
30、數(shù)據(jù)獲取模塊,用于獲取系統(tǒng)級(jí)芯片布局?jǐn)?shù)據(jù)庫(kù)以及至少一組信號(hào)互連對(duì)應(yīng)的物理路徑拓?fù)洌斎氩⒔馕龉苣_分配約束文件,得到用于管腳布局生成的約束信息;
31、拓?fù)浣馕瞿K,用于對(duì)所述物理路徑拓?fù)溥M(jìn)行拓?fù)浞纸猓玫街辽僖粋€(gè)具有方向?qū)傩缘碾娐纺K拓?fù)浞至浚?/p>
32、共同邊界計(jì)算模塊,用于基于所述電路模塊拓?fù)浞至坑?jì)算共同邊界,所述共同邊界為所述電路模塊拓?fù)浞至恐邢嚓P(guān)電路模塊邊界上可分配管腳區(qū)域的相交結(jié)果;
33、通用共同邊界計(jì)算模塊,用于當(dāng)所述電路模塊拓?fù)浞至恐写嬖诒粡?fù)用電路模塊時(shí),對(duì)各實(shí)例對(duì)應(yīng)的共同邊界執(zhí)行邏輯與運(yùn)算獲得通用共同邊界;
34、管腳分配模塊,用于在所述共同邊界或通用共同邊界內(nèi),依據(jù)所述約束信息生成信號(hào)互連的管腳位置;若當(dāng)前共同邊界資源不足以完成管腳生成時(shí),重新確定所述物理路徑拓?fù)洳⒅貜?fù)執(zhí)行分解所述物理路徑拓?fù)渲辽伤龉苣_位置的步驟直至管腳分配完成。
35、本公開(kāi)實(shí)施例還提供一種電子設(shè)備,包括:處理器、存儲(chǔ)器和總線,所述存儲(chǔ)器存儲(chǔ)有所述處理器可執(zhí)行的機(jī)器可讀指令,當(dāng)電子設(shè)備運(yùn)行時(shí),所述處理器與所述存儲(chǔ)器之間通過(guò)總線通信,所述機(jī)器可讀指令被所述處理器執(zhí)行時(shí)執(zhí)行上述系統(tǒng)級(jí)芯片管腳分配方法,或上述系統(tǒng)級(jí)芯片管腳分配方法中任一種可能的實(shí)施方式中的步驟。
36、本公開(kāi)實(shí)施例還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器運(yùn)行時(shí)執(zhí)行上述系統(tǒng)級(jí)芯片管腳分配方法,或上述系統(tǒng)級(jí)芯片管腳分配方法中任一種可能的實(shí)施方式中的步驟。
37、本公開(kāi)實(shí)施例還提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,該計(jì)算機(jī)程序、指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述系統(tǒng)級(jí)芯片管腳分配方法,或上述系統(tǒng)級(jí)芯片管腳分配方法中任一種可能的實(shí)施方式中的步驟。
38、本公開(kāi)實(shí)施例提供的一種系統(tǒng)級(jí)芯片管腳分配方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì),可基于物理路徑拓?fù)鋵?duì)模塊序列進(jìn)行方向分解,并通過(guò)對(duì)相關(guān)模塊邊界可分配區(qū)域求交得到共同邊界,提高管腳分配的成功率與自動(dòng)化程度,同時(shí),通過(guò)對(duì)復(fù)用模塊各實(shí)例共同邊界執(zhí)行邏輯與運(yùn)算獲得通用共同邊界,可在滿(mǎn)足物理約束的前提下實(shí)現(xiàn)復(fù)用實(shí)例間管腳映射一致,降低后續(xù)維護(hù)與eco成本,并在共同邊界資源不足時(shí),通過(guò)重新確定物理路徑拓?fù)洳⒌峙洌瑢?shí)現(xiàn)可回退、可收斂的分配流程,減少人工介入,提升soc物理設(shè)計(jì)的整體效率與可實(shí)現(xiàn)性。
39、為使本公開(kāi)的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說(shuō)明如下。