本文作者:kaifamei

芯片排版方法及裝置、計算機可讀存儲介質(zhì)、終端設(shè)備與流程

更新時間:2025-12-27 04:37:12 0條評論

芯片排版方法及裝置、計算機可讀存儲介質(zhì)、終端設(shè)備與流程



1.本技術(shù)涉及半導(dǎo)體技術(shù)領(lǐng)域,尤其涉及一種芯片排版方法及裝置、計算機可讀存儲介質(zhì)、終端設(shè)備。


背景技術(shù):



2.在半導(dǎo)體芯片制造過程中需要對芯片排版(chip placement),也可以稱為布局規(guī)劃(floor plan)。芯片排版的主要目的是提高晶圓的面積利用率。目前主要采用人工排版的方式進(jìn)行芯片排版。
3.但是,現(xiàn)有的芯片排版方式依賴人工經(jīng)驗,排版效率非常低。此外,采用人工方式進(jìn)行芯片排版時,由于受到人工排版次數(shù)和排版方式的限制很難在多次排版中到較好的排版方式,因此,通常晶圓的面積利用率也較低。


技術(shù)實現(xiàn)要素:



4.本技術(shù)實施例提供一種芯片排版方法及裝置、計算機可讀存儲介質(zhì)、終端設(shè)備,能夠提升芯片排版時的排版效率以及提高晶圓的面積利用率。
5.為解決上述技術(shù)問題,第一方面,本技術(shù)實施例提供一種芯片排版方法,芯片排版方法包括: 獲取晶圓中用于排版的排版區(qū)域,以及多個待布局芯片的尺寸;改變所述多個待布局芯片的擺放順序,基于所述多個待布局芯片的尺寸在所述排版區(qū)域中對所述多個待布局芯片進(jìn)行多次布局,獲得多個布局結(jié)果,每一布局結(jié)果包括多個待布局芯片在所述排版區(qū)域中的擺放位置;獲取每一個布局結(jié)果所對應(yīng)的排版區(qū)域面積利用率,并基于所述面積利用率確定最終布局結(jié)果,以獲得所述待布局芯片在所述排版區(qū)域中的最終擺放位置。
6.可選的,針對一次在所述排版區(qū)域中對所述多個待布局芯片進(jìn)行布局的步驟包括:在排版區(qū)域中預(yù)設(shè)用于移動待布局芯片的第一方向和第二方向;基于每一個待布局芯片的尺寸,通過對該待布局芯片移動第一可更新距離和第二可更新距離并確定該待布局芯片的擺放位置,以確定所述多個待布局芯片的布局結(jié)果;其中,所述第一可更新距離為待布局芯片在所述排版區(qū)域中沿第一方向的可更新距離;第二可更新距離為待布局芯片在所述排版區(qū)域中沿第二方向的可更新距離,所述第一方向和所述第二方向為在所述排版區(qū)域內(nèi)所述待布局芯片的位置相對于初始位置的可更新方向。
7.可選的,所述基于每一個待布局芯片的尺寸,通過對待布局芯片移動第一可更新距離和第二可更新距離并確定該待布局芯片的擺放位置的步驟,包括:對于每個選取的待布局芯片,根據(jù)所述待布局芯片的尺寸確定所述待布局芯片在所述排版區(qū)域內(nèi)的初始位置,從所述初始位置開始,按照步長計算多個第一可更新距離,在每個第一可更新距離對應(yīng)的位置處計算所述第二可更新距離,并在所述第二可更新距離的最大值對應(yīng)的位置處沿所述第二方向更新獲得所述待布局芯片的最終位置,獲得一次布局結(jié)果;其中,更新距離為所述第二可更新距離的最大值。
8.可選的,所述芯片排版方法還包括:獲取所述一次布局結(jié)果的面積利用率;若所述
面積利用率未達(dá)到預(yù)設(shè)門限,則改變所述多個待布局芯片的擺放順序,繼續(xù)執(zhí)行所述針對一次在所述排版區(qū)域中對所述多個待布局芯片進(jìn)行布局的步驟,直至存在布局結(jié)果的面積利用率達(dá)到所述預(yù)設(shè)門限。
9.可選的,若所述第二可更新距離的最大值所在的第一更新位置的數(shù)量有多個,則選取距離所述初始位置最遠(yuǎn)的第二更新位置,并在該第二更新位置處沿所述第二方向更新所述待布局芯片的擺放位置。
10.可選的,所述在該第二更新位置處沿所述第二方向更新所述待布局芯片的擺放位置,包括:判斷所述第二更新位置與第三更新位置沿所述第一方向的距離,若該距離大于或等于所述待布局芯片沿所述第一方向的寬度,則在所述第二更新位置處沿所述第二方向更新所述待布局芯片的擺放位置;其中,所述第三更新位置為多個第一更新位置中距離所述初始位置最近的更新位置。
11.可選的,所述改變所述多個待布局芯片的擺放順序,基于所述多個待布局芯片的尺寸在所述排版區(qū)域中對所述多個待布局芯片進(jìn)行多次布局的步驟,包括:多次改變所述多個待布局芯片的擺放順序,并按照多個改變后的擺放順序繼續(xù)執(zhí)行所述針對一次在所述排版區(qū)域中對所述多個待布局芯片進(jìn)行布局的步驟,獲得所述多次布局結(jié)果。
12.可選的,所述獲取每一個布局結(jié)果所對應(yīng)的排版區(qū)域面積利用率,并基于所述面積利用率確定最終布局結(jié)果的步驟,包括:計算各個待布局芯片按照每一個布局結(jié)果中的擺放位置進(jìn)行排版時所占用的面積,以及所述面積與所述排版區(qū)域的面積的比值,以作為面積利用率;選取最大的面積利用率對應(yīng)的布局結(jié)果作為所述最終布局結(jié)果。
13.可選的,若所述初始位置為所述排版區(qū)域的右上角,則所述第一方向和所述第二方向中一個方向為左,另一個方向為下;若所述初始位置為所述排版區(qū)域的右下角,則所述第一方向和所述第二方向中一個方向為左,另一個方向為上;若所述初始位置為所述排版區(qū)域的左上角,則所述第一方向和所述第二方向中一個方向為右,另一個方向為下;若所述初始位置為所述排版區(qū)域的左下角,則所述第一方向和所述第二方向中一個方向為右,另一個方向為上。
14.可選的,所述待布局芯片的位置為所述待布局芯片的至少一個頂點在所述排版區(qū)域內(nèi)的位置。
15.可選的,所述排版區(qū)域四邊形,所述芯片的形狀為四邊形。
16.第二方面,本技術(shù)還公開一種芯片排版裝置,芯片排版裝置包括:獲取模塊,用于獲取晶圓中用于排版的排版區(qū)域,以及多個待布局芯片的尺寸;布局模塊,用于改變所述多個待布局芯片的擺放順序,基于所述多個待布局芯片的尺寸在所述排版區(qū)域中對所述多個待布局芯片進(jìn)行多次布局,獲得多個布局結(jié)果,每一布局結(jié)果包括多個待布局芯片在所述排版區(qū)域中的擺放位置;布局結(jié)果確定模塊,用于獲取每一個布局結(jié)果所對應(yīng)的排版區(qū)域面積利用率,并基于所述面積利用率確定最終布局結(jié)果,以獲得所述待布局芯片在所述排版區(qū)域中的最終擺放位置。
17.第三方面,本技術(shù)實施例還公開了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器運行時執(zhí)行第一方面所述方法的步驟。
18.第四方面,本技術(shù)實施例還公開了一種終端設(shè)備,包括存儲器和處理器,所述存儲器上存儲有可在所述處理器上運行的計算機程序,所述處理器運行所述計算機程序時執(zhí)行
第一方面所述方法的步驟。
19.與現(xiàn)有技術(shù)相比,本技術(shù)實施例的技術(shù)方案具有以下有益效果:本技術(shù)技術(shù)方案中,在晶圓中的排版區(qū)域內(nèi)對待布局芯片進(jìn)行布局時,改變多個待布局芯片的擺放順序,并按照擺放順序基于多個待布局芯片的尺寸在排版區(qū)域中對多個待布局芯片進(jìn)行多次布局,并在多次布局獲得的布局結(jié)果中選取面積利用率最高的布局結(jié)果作為最終布局結(jié)果,從而獲得待布局芯片在排版區(qū)域中的最終擺放位置。本技術(shù)通過改變擺放順序,并按照不同的擺放順序?qū)Υ季中酒M(jìn)行布局獲得不同的布局結(jié)果,而不同布局結(jié)果中芯片的擺放位置不同,使得不同布局結(jié)果對應(yīng)的排版區(qū)域面積利用率不同,從而能夠從中選取面積利用率最大的布局結(jié)果,獲得對晶圓面積利用率最高的芯片擺放位置,從而大大提升排版效率,節(jié)省人力成本;此外還能夠提升芯片排版時晶圓的面積利用率;進(jìn)而避免晶圓材料的浪費,降低生產(chǎn)成本。
20.進(jìn)一步地,對于每個選取的待布局芯片,根據(jù)待布局芯片的尺寸確定待布局芯片在排版區(qū)域內(nèi)的初始位置,從初始位置開始,按照步長計算多個第一可更新距離,在每個第一可更新距離對應(yīng)的位置處計算第二可更新距離,并在第二可更新距離的最大值對應(yīng)的位置處沿第二方向更新獲得待布局芯片的最終位置,獲得一次布局結(jié)果。本技術(shù)中通過在第一方向上計算多個第一可更新距離,在每一可更新距離對應(yīng)的位置計算一個第二可更新距離,并從中選取第二可更新距離的最大值對待布局芯片進(jìn)行擺放,以使得各個待布局芯片能夠充分地利用排版區(qū)域內(nèi)的面積,進(jìn)一步提升芯片排版時晶圓的面積利用率。
附圖說明
21.圖1是本技術(shù)實施例提供的一種芯片排版方法的流程圖;圖2是本技術(shù)實施例提供的一種芯片排版布局的示意圖;圖3是本技術(shù)實施例提供的另一種芯片排版布局的示意圖;圖4是本技術(shù)實施例提供的一種具體應(yīng)用場景的示意圖;圖5是本技術(shù)實施例提供的一種芯片排版裝置的結(jié)構(gòu)示意圖。
具體實施方式
22.如背景技術(shù)中所述,現(xiàn)有的芯片排版方式依賴人工經(jīng)驗,排版效率非常低。此外,采用人工方式進(jìn)行芯片排版時,晶圓的面積利用率也較低。
23.本技術(shù)通過改變擺放順序,并按照不同的擺放順序?qū)Υ季中酒M(jìn)行布局獲得不同的布局結(jié)果,而不同布局結(jié)果中芯片的擺放位置不同,使得不同布局結(jié)果對應(yīng)的排版區(qū)域面積利用率不同,從而能夠從中選取面積利用率最大的布局結(jié)果,獲得對晶圓面積利用率最高的芯片擺放位置,從而大大提升排版效率,節(jié)省人力成本;此外還能夠提升芯片排版時晶圓的面積利用率;進(jìn)而避免晶圓材料的浪費,降低生產(chǎn)成本。
24.進(jìn)一步地,本技術(shù)中通過在第一方向上計算多個第一可更新距離,在每一可更新距離對應(yīng)的位置計算一個第二可更新距離,并從中選取第二可更新距離的最大值對待布局芯片進(jìn)行擺放,以使得各個待布局芯片能夠充分地利用排版區(qū)域內(nèi)的面積,進(jìn)一步提升芯片排版時晶圓的面積利用率。
25.為使本技術(shù)的上述目的、特征和優(yōu)點能夠更為明顯易懂,下面結(jié)合附圖對本技術(shù)
的具體實施例做詳細(xì)的說明。
26.圖1是本技術(shù)實施例一種芯片排版方法的流程圖。
27.本技術(shù)實施例中的芯片排版方法可以用于終端設(shè)備中,也即可以由終端設(shè)備執(zhí)行所述方法的各個步驟,也可以由終端設(shè)備中的芯片或芯片模組執(zhí)行所述方法的各個步驟。終端設(shè)備具體可以是手機、計算機、平板電腦等。
28.具體地,芯片排版方法可以包括以下步驟:步驟101:獲取晶圓中用于排版的排版區(qū)域,以及多個待布局芯片的尺寸;步驟102:改變所述多個待布局芯片的擺放順序,基于所述多個待布局芯片的尺寸在所述排版區(qū)域中對所述多個待布局芯片進(jìn)行多次布局,獲得多個布局結(jié)果,每一布局結(jié)果包括多個待布局芯片在所述排版區(qū)域中的擺放位置;步驟103:獲取每一個布局結(jié)果所對應(yīng)的排版區(qū)域面積利用率,并基于所述面積利用率確定最終布局結(jié)果,以獲得所述待布局芯片在所述排版區(qū)域中的最終擺放位置。
29.需要指出的是,本實施例中各個步驟的序號并不代表對各個步驟的執(zhí)行順序的限定。
30.可以理解的是,在具體實施中,芯片排版方法可以采用軟件程序的方式實現(xiàn),該軟件程序運行于芯片或芯片模組內(nèi)部集成的處理器中。該方法也可以采用軟件結(jié)合硬件的方式實現(xiàn),本技術(shù)不作限制。
31.在步驟101的具體實施中,排版區(qū)域的大小以及待布局芯片的尺寸可以是預(yù)先設(shè)置好的。排版區(qū)域可以是晶圓中用于布局芯片的區(qū)域。排版區(qū)域可以是規(guī)則的形狀,也可以是不規(guī)則形狀。相應(yīng)地,待布局芯片的形狀也可以是規(guī)則形狀,或不規(guī)則形狀。例如,規(guī)則形狀可以是三角形、四邊形、五邊形、圓形等。
32.下面實施例均以排版區(qū)域和待布局芯片的形狀為四邊形為例進(jìn)行說明,但不代表對本技術(shù)的限制。
33.在步驟102的具體實施中,改變多個待布局芯片的擺放順序,并進(jìn)行多次布局。也就是說,每次對待布局芯片進(jìn)行布局時采用的擺放順序是不同的。其中,芯片的擺放順序表示對芯片布局時采用的順序。采用不同擺放順序布局芯片獲得的布局結(jié)果是不同的,也即各個待布局芯片在排版區(qū)域內(nèi)的擺放位置可以不同,那么布局結(jié)果對應(yīng)的排版區(qū)域面積利用率也是不同的。
34.在一種具體實施方式中,在按照每種擺放順序?qū)Χ鄠€待布局芯片進(jìn)行布局時,可以借鑒裝箱算法(也可以稱為左下角(bottom-left)算法)的布局思路。將裝箱算法應(yīng)用在芯片布局中,可以將每一個待布局芯片初始放在排版區(qū)域的右上角,先計算出待布局芯片能夠往下移動的最大距離,把待布局芯片往下移動最大距離后,檢查待布局芯片在當(dāng)前位置是否能夠左移。如果能,則計算待布局芯片能夠往左移動的最大距離,把待布局芯片向左移動最大距離。再檢查待布局芯片在當(dāng)前位置是否還能夠下移,如果能,則繼續(xù)往下移動;如此往復(fù),直到待布局芯片無法再繼續(xù)下移和左移,該待布局芯片擺放結(jié)束;按照這種方法擺放完所有待布局芯片,則完成一次布局。
35.故而在步驟103的具體實施中,計算獲得各個布局結(jié)果所對應(yīng)的排版區(qū)域面積利用率,并基于面積利用率確定最終布局結(jié)果。按照最終布局結(jié)果中最終擺放位置來布局各個待布局芯片,能夠?qū)崿F(xiàn)對晶圓面積的最大利用率。
36.以待布局芯片包括芯片1-芯片5為例。擺放順序1為:芯片1、芯片2、芯片3、芯片4和芯片5;擺放順序2為:芯片1、芯片4、芯片2、芯片3和芯片5。按照擺放順序1布局上述芯片的布局結(jié)果1如圖2所示,按照擺放順序2布局上述芯片的布局結(jié)果2如圖3所示。
37.結(jié)合圖2和圖3,按照擺放順序1對芯片進(jìn)行布局時,在晶圓的排版區(qū)域100內(nèi),芯片1、芯片2、芯片3和芯片4的擺放位置如圖2所示。其中,芯片4的擺放位置在芯片3的上面。那么對于芯片5,已無法放在目前的排版區(qū)域的右上角,也就無法完成芯片5的擺放。排版區(qū)域內(nèi)僅能擺放芯片1-芯片4這四個芯片。按照擺放順序2對芯片進(jìn)行布局時,排版區(qū)域內(nèi)能夠擺放芯片1-芯片5這五個芯片。布局結(jié)果2對應(yīng)的排版區(qū)域面積利用率大于布局結(jié)果1對應(yīng)的排版區(qū)域面積利用率。故,選取布局結(jié)果2為最終布局結(jié)果。
38.本技術(shù)技術(shù)方案通過對各個待布局芯片的擺放位置進(jìn)行優(yōu)化,來實現(xiàn)在相同的排版區(qū)域內(nèi)對更多數(shù)量的待布局芯片進(jìn)行布局,從而達(dá)到提升芯片排版時晶圓的面積利用率的效果。
39.具體實施中,可以多次改變所述多個待布局芯片的擺放順序,并按照多個改變后的擺放順序繼續(xù)執(zhí)行針對一次在所述排版區(qū)域中對多個待布局芯片進(jìn)行布局的步驟,獲得多次布局結(jié)果。
40.在另一種具體實施方式中,可以按照下述方式對多個待布局芯片進(jìn)行一次布局:基于每一個待布局芯片的尺寸,通過對該待布局芯片移動第一可更新距離和第二可更新距離并確定該待布局芯片的擺放位置,以確定多個待布局芯片的布局結(jié)果;其中,第一可更新距離為待布局芯片在排版區(qū)域中沿第一方向的可更新距離;第二可更新距離為待布局芯片在排版區(qū)域中沿第二方向的可更新距離,第一方向和第二方向為在排版區(qū)域內(nèi)待布局芯片的位置相對于初始位置的可更新方向。
41.具體實施中,若初始位置為排版區(qū)域的右上角,則第一方向和第二方向中一個方向為左,另一個方向為下;若初始位置為排版區(qū)域的右下角,則第一方向和第二方向中一個方向為左,另一個方向為上;若初始位置為排版區(qū)域的左上角,則第一方向和第二方向中一個方向為右,另一個方向為下;若初始位置為排版區(qū)域的左下角,則第一方向和第二方向中一個方向為右,另一個方向為上。
42.具體實施中,待布局芯片在排版區(qū)域內(nèi)的位置為待布局芯片的至少一個頂點在排版區(qū)域內(nèi)的位置。也就是說,在芯片的尺寸已知的情況下,通過芯片的頂點的位置來表征芯片的位置。
43.進(jìn)一步地,對于每個選取的待布局芯片,根據(jù)待布局芯片的尺寸確定待布局芯片在排版區(qū)域內(nèi)的初始位置,從初始位置開始,按照步長計算多個第一可更新距離,在每個第一可更新距離對應(yīng)的位置處計算第二可更新距離,并在第二可更新距離的最大值對應(yīng)的位置處沿第二方向更新獲得待布局芯片的最終位置,獲得一次布局結(jié)果;其中,更新距離為第二可更新距離的最大值。
44.結(jié)合圖4,以待布局芯片為芯片4對一次布局的步驟進(jìn)行詳細(xì)說明。本實施例中,初始位置為排版區(qū)域的右上角,第一方向為左,第二方向為下。
45.以芯片的左下頂點位置表示芯片的位置。芯片4的初始位置為位置p1。按照步長向左移動芯片4,得到多個位置p2,

,pn,每一位置處對應(yīng)一個第一可更新距離。在每一位置處計算芯片4向下移動的第二可更新距離。如圖4所示,在位置p2,芯片4的第二可更新距離
為d1;在位置pn,芯片4的第二可更新距離為d2。經(jīng)過比較,d2為所有第二可更新距離中的最大值,因此,將芯片4向左移動至位置pn后再向下移動距離d2,得到芯片4的最終擺放位置為位置f。
46.進(jìn)一步地,在將芯片4移動到位置f后,可以繼續(xù)對芯片5進(jìn)行布局,從而得到如圖3所示的布局結(jié)果。
47.采用本技術(shù)實施例的芯片布局方式,無需更改芯片的擺放順序也能實現(xiàn)芯片的布局結(jié)果的優(yōu)化。也就是說,相較于現(xiàn)有技術(shù)中的裝箱算法,本技術(shù)在相同的排版區(qū)域內(nèi)能夠?qū)崿F(xiàn)對更多數(shù)量的芯片的布局,從而增大晶圓的面積利用率。進(jìn)一步而言,本技術(shù)實施例的芯片布局方式結(jié)合改變擺放順序多次布局,能夠更快地獲得滿足要求的布局結(jié)果,以及獲得更優(yōu)的布局結(jié)果,進(jìn)一步提升晶圓的面積利用率。
48.在一種結(jié)合方式中,獲取一次布局結(jié)果的面積利用率;若面積利用率未達(dá)到預(yù)設(shè)門限,則改變多個待布局芯片的擺放順序,繼續(xù)執(zhí)行針對一次在排版區(qū)域中對多個待布局芯片進(jìn)行布局的步驟,直至存在布局結(jié)果的面積利用率達(dá)到預(yù)設(shè)門限。
49.具體地,面積利用率可以是排版區(qū)域中被待布局芯片占用的面積與排版區(qū)域的面積的比值。面積利用率可以是衡量布局結(jié)果優(yōu)劣的指標(biāo),面積利用率越高,表示布局結(jié)果越優(yōu)。
50.本實施例中,可以預(yù)先設(shè)置芯片排版的要求,也即面積利用率的預(yù)設(shè)門限。每完成一次布局,可以對該次布局的布局結(jié)果進(jìn)行驗證,也即判斷布局結(jié)果的面積利用率是否達(dá)到預(yù)設(shè)門限;如果該次布局結(jié)果的面積利用率未達(dá)到預(yù)設(shè)門限,則改變多個待布局芯片的擺放順序,繼續(xù)執(zhí)行針對一次在排版區(qū)域中對多個待布局芯片進(jìn)行布局的步驟。如果該次布局結(jié)果的面積利用率達(dá)到預(yù)設(shè)門限,則停止上述布局的步驟,將該布局結(jié)果作為最終布局結(jié)果。
51.需要說明的是,預(yù)設(shè)門限的數(shù)值可以是85%、90%等任意可實施的數(shù)值,并可以根據(jù)實際的應(yīng)用場景進(jìn)行適應(yīng)性設(shè)置,本技術(shù)對此不作限制。
52.在另一種結(jié)合方式中,可以多次改變多個待布局芯片的擺放順序,并按照多個改變后的擺放順序繼續(xù)執(zhí)行針對一次在所述排版區(qū)域中對多個待布局芯片進(jìn)行布局的步驟,獲得多次布局結(jié)果。
53.本實施例中,可以預(yù)先設(shè)置芯片排版的布局次數(shù)。首先獲得數(shù)量為該布局次數(shù)的待布局芯片的擺放順序,然后依次進(jìn)行布局,獲得多次布局結(jié)果。在多次布局結(jié)果中按照面積利用率選擇最終布局結(jié)果。
54.在一次布局的步驟中,若第二可更新距離的最大值所在的第一更新位置的數(shù)量有多個,則選取距離初始位置最遠(yuǎn)的第二更新位置,并在該第二更新位置處沿第二方向更新待布局芯片的擺放位置。
55.其中,本實施例所稱距離初始位置最遠(yuǎn)可以是指在第一方向上距離初始位置最遠(yuǎn)。
56.繼續(xù)參照圖4,在位置pn和位置pm處,芯片4的第二可更新距離均為最大值d2。相較于位置pm,位置pn距離初始位置p1更遠(yuǎn),則選取位置pn為第二更新位置。故將芯片4向左移動至位置pn后再向下移動距離d2,得到芯片4的最終擺放位置為位置f。
57.本技術(shù)實施例通過上述選取第二更新位置的方式,能夠保證芯片排版時,芯片能
夠充分地填充排版區(qū)域,避免排版區(qū)域內(nèi)面積的浪費。
58.進(jìn)一步地,在該第二更新位置處沿第二方向更新待布局芯片的擺放位置時,判斷第二更新位置與第三更新位置沿第一方向的距離,若該距離大于或等于待布局芯片沿第一方向的寬度,則在第二更新位置處沿第二方向更新待布局芯片的擺放位置;其中,第三更新位置為多個第一更新位置中距離初始位置最近的更新位置。
59.本身實施例中,通過比較第二更新位置與第三更新位置沿第一方向的距離與待布局芯片沿第一方向的寬度,可以得到第二可更新距離最大值的寬度與待布局芯片的寬度關(guān)系,也即獲得在第二更新位置是否能夠移動待布局芯片,從而保證芯片的正確擺放。
60.繼續(xù)參照圖4,在位置pn和位置pm處,芯片4的第二可更新距離均為最大值d2。位置pm為距離初始位置最近的第三更新位置,位置pn為第二更新位置。位置pm與位置pn的寬度大于芯片4的寬度,因此可以對芯片4在位置pn向下移動距離d2,得到芯片4的最終擺放位置為位置f。
61.相反,若位置pm與位置pn的寬度小于芯片4的寬度,則表示在位置pn處無法向下移動芯片4,此時無法完成對芯片4的擺放。
62.申請人將采用本技術(shù)方案得到的最終布局結(jié)果與采用傳統(tǒng)bottom-left算法得到的布局結(jié)果進(jìn)行對比,對于同一組待布局芯片,本技術(shù)中最終布局結(jié)果對應(yīng)的面積利用率比傳統(tǒng)布局結(jié)果對應(yīng)的面積利用率高出2-7個百分點。
63.與現(xiàn)有技術(shù)中以水平移動為主的芯片排版方式相比,本發(fā)明實施例在芯片排版的時候結(jié)合待布局芯片的尺寸和移動方向進(jìn)行布局,從布局的效率以及晶圓面積利用率上看較現(xiàn)有技術(shù)提高了很多。本技術(shù)的芯片排版方式打破了現(xiàn)有技術(shù)中芯片排版的思維困境,而且新的芯片排版方式不是可以通過在現(xiàn)有技術(shù)上進(jìn)行多次實驗就可以得到的簡單變化。
64.請參照圖5,本技術(shù)實施例還公開了一種芯片排版裝置50。芯片排版裝置50可以包括:獲取模塊501,用于獲取晶圓中用于排版的排版區(qū)域,以及多個待布局芯片的尺寸;布局模塊502,用于改變多個待布局芯片的擺放順序,基于多個待布局芯片的尺寸在排版區(qū)域中對多個待布局芯片進(jìn)行多次布局,獲得多個布局結(jié)果,每一布局結(jié)果包括多個待布局芯片在排版區(qū)域中的擺放位置;布局結(jié)果確定模塊503,用于獲取每一個布局結(jié)果所對應(yīng)的排版區(qū)域面積利用率,并基于面積利用率確定最終布局結(jié)果,以獲得待布局芯片在排版區(qū)域中的最終擺放位置。
65.在一個非限制性的實施例中,布局模塊502包括:方向設(shè)定單元,用于在排版區(qū)域中預(yù)設(shè)用于移動待布局芯片的第一方向和第二方向;布局單元,用于基于每一個待布局芯片的尺寸,通過對該待布局芯片移動第一可更新距離和第二可更新距離并確定該待布局芯片的擺放位置,以確定所述多個待布局芯片的布局結(jié)果。
66.進(jìn)一步地,布局單元對于每個選取的待布局芯片,根據(jù)待布局芯片的尺寸確定待布局芯片在排版區(qū)域內(nèi)的初始位置,從初始位置開始,按照步長計算多個第一可更新距離,在每個第一可更新距離對應(yīng)的位置處計算第二可更新距離,并在第二可更新距離的最大值對應(yīng)的位置處沿第二方向更新獲得待布局芯片的最終位置,獲得一次布局結(jié)果。
67.進(jìn)一步地,若第二可更新距離的最大值所在的第一更新位置的數(shù)量有多個,則布
局單元選取距離初始位置最遠(yuǎn)的第二更新位置,并在該第二更新位置處沿第二方向更新待布局芯片的擺放位置。
68.進(jìn)一步地,布局單元判斷第二更新位置與第三更新位置沿第一方向的距離,若該距離大于或等于待布局芯片沿第一方向的寬度,則在第二更新位置處沿第二方向更新待布局芯片的擺放位置。
69.進(jìn)一步地,布局模塊502還包括:計算單元,用于獲取一次布局結(jié)果的面積利用率;循環(huán)單元,用于在面積利用率未達(dá)到預(yù)設(shè)門限時,改變多個待布局芯片的擺放順序,繼續(xù)執(zhí)行針對一次在排版區(qū)域中對多個待布局芯片進(jìn)行布局的步驟,直至存在布局結(jié)果的面積利用率達(dá)到預(yù)設(shè)門限。
70.關(guān)于所述芯片排版裝置50的工作原理、工作方式的更多內(nèi)容,可以參照圖1至圖4及其對應(yīng)實施例的相關(guān)描述,這里不再贅述。
71.在具體實施中,上述芯片排版裝置可以對應(yīng)于終端設(shè)備中具有芯片排版功能的芯片,例如soc(system-on-a-chip,片上系統(tǒng))、基帶芯片等;或者對應(yīng)于終端設(shè)備中包括具有芯片排版功能的芯片模組;或者對應(yīng)于具有數(shù)據(jù)處理功能芯片的芯片模組,或者對應(yīng)于終端設(shè)備。
72.關(guān)于上述實施例中描述的各個裝置、產(chǎn)品包含的各個模塊/單元,其可以是軟件模塊/單元,也可以是硬件模塊/單元,或者也可以部分是軟件模塊/單元,部分是硬件模塊/單元。例如,對于應(yīng)用于或集成于芯片的各個裝置、產(chǎn)品,其包含的各個模塊/單元可以都采用電路等硬件的方式實現(xiàn),或者,至少部分模塊/單元可以采用軟件程序的方式實現(xiàn),該軟件程序運行于芯片內(nèi)部集成的處理器,剩余的(如果有)部分模塊/單元可以采用電路等硬件方式實現(xiàn);對于應(yīng)用于或集成于芯片模組的各個裝置、產(chǎn)品,其包含的各個模塊/單元可以都采用電路等硬件的方式實現(xiàn),不同的模塊/單元可以位于芯片模組的同一組件(例如芯片、電路模塊等)或者不同組件中,或者,至少部分模塊/單元可以采用軟件程序的方式實現(xiàn),該軟件程序運行于芯片模組內(nèi)部集成的處理器,剩余的(如果有)部分模塊/單元可以采用電路等硬件方式實現(xiàn);對于應(yīng)用于或集成于終端的各個裝置、產(chǎn)品,其包含的各個模塊/單元可以都采用電路等硬件的方式實現(xiàn),不同的模塊/單元可以位于終端內(nèi)同一組件(例如,芯片、電路模塊等)或者不同組件中,或者,至少部分模塊/單元可以采用軟件程序的方式實現(xiàn),該軟件程序運行于終端內(nèi)部集成的處理器,剩余的(如果有)部分模塊/單元可以采用電路等硬件方式實現(xiàn)。
73.本技術(shù)實施例還公開了一種存儲介質(zhì),所述存儲介質(zhì)為計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序運行時可以執(zhí)行前述方法的步驟。所述存儲介質(zhì)可以包括rom、ram、磁盤或光盤等。所述存儲介質(zhì)還可以包括非揮發(fā)性存儲器(non-volatile)或者非瞬態(tài)(non-transitory)存儲器等。
74.本技術(shù)實施例還公開了一種終端設(shè)備,所述終端設(shè)備可以包括存儲器和處理器,所述存儲器上存儲有可在所述處理器上運行的計算機程序。所述處理器運行所述計算機程序時可以執(zhí)行前述方法的步驟。所述終端設(shè)備包括但不限于手機、計算機、平板電腦等終端設(shè)備。
75.應(yīng)理解,本文中術(shù)語“和/或”,僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和/或b,可以表示:單獨存在a,同時存在a和b,單獨存在b這三種情況。
另外,本文中字符“/“,表示前后關(guān)聯(lián)對象是一種“或”的關(guān)系。
76.本技術(shù)實施例中出現(xiàn)的“多個”是指兩個或兩個以上。
77.本技術(shù)實施例中出現(xiàn)的第一、第二等描述,僅作示意與區(qū)分描述對象之用,沒有次序之分,也不表示本技術(shù)實施例中對設(shè)備個數(shù)的特別限定,不能構(gòu)成對本技術(shù)實施例的任何限制。
78.本技術(shù)實施例中出現(xiàn)的“連接”是指直接連接或者間接連接等各種連接方式,以實現(xiàn)設(shè)備間的通信,本技術(shù)實施例對此不做任何限定。
79.應(yīng)理解,本技術(shù)實施例中,所述處理器可以為中央處理單元(central processing unit,簡稱cpu),該處理器還可以是其他通用處理器、數(shù)字信號處理器(digital signal processor,簡稱dsp)、專用集成電路(application specific integrated circuit,簡稱asic)、現(xiàn)成可編程門陣列(field programmable gate array,簡稱fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
80.還應(yīng)理解,本技術(shù)實施例中的存儲器可以是易失性存儲器或非易失性存儲器,或可包括易失性和非易失性存儲器兩者。其中,非易失性存儲器可以是只讀存儲器(read-only memory,簡稱rom)、可編程只讀存儲器(programmable rom,簡稱prom)、可擦除可編程只讀存儲器(erasable prom,簡稱eprom)、電可擦除可編程只讀存儲器(electrically eprom,簡稱eeprom)或閃存。易失性存儲器可以是隨機存取存儲器(random access memory,簡稱ram),其用作外部高速緩存。通過示例性但不是限制性說明,許多形式的隨機存取存儲器(random access memory,簡稱ram)可用,例如靜態(tài)隨機存取存儲器(static ram,簡稱sram)、動態(tài)隨機存取存儲器(dram)、同步動態(tài)隨機存取存儲器(synchronous dram,簡稱sdram)、雙倍數(shù)據(jù)速率同步動態(tài)隨機存取存儲器(double data rate sdram,簡稱ddr sdram)、增強型同步動態(tài)隨機存取存儲器(enhanced sdram,簡稱esdram)、同步連接動態(tài)隨機存取存儲器(synchlink dram,簡稱sldram)和直接內(nèi)存總線隨機存取存儲器(direct rambus ram,簡稱dr ram)。
81.上述實施例,可以全部或部分地通過軟件、硬件、固件或其他任意組合來實現(xiàn)。當(dāng)使用軟件實現(xiàn)時,上述實施例可以全部或部分地以計算機程序產(chǎn)品的形式實現(xiàn)。所述計算機程序產(chǎn)品包括一個或多個計算機指令或計算機程序。在計算機上加載或執(zhí)行所述計算機指令或計算機程序時,全部或部分地產(chǎn)生按照本技術(shù)實施例所述的流程或功能。所述計算機可以為通用計算機、專用計算機、計算機網(wǎng)絡(luò)、或者其他可編程裝置。所述計算機指令可以存儲在計算機可讀存儲介質(zhì)中,或者從一個計算機可讀存儲介質(zhì)向另一個計算機可讀存儲介質(zhì)傳輸,例如,所述計算機指令可以從一個網(wǎng)站站點、計算機、服務(wù)器或數(shù)據(jù)中心通過有線或無線方式向另一個網(wǎng)站站點、計算機、服務(wù)器或數(shù)據(jù)中心進(jìn)行傳輸。所述計算機可讀存儲介質(zhì)可以是計算機能夠存取的任何可用介質(zhì)或者是包含一個或多個可用介質(zhì)集合的服務(wù)器、數(shù)據(jù)中心等數(shù)據(jù)存儲設(shè)備。
82.應(yīng)理解,在本技術(shù)的各種實施例中,上述各過程的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對本技術(shù)實施例的實施過程構(gòu)成任何限定。
83.在本技術(shù)所提供的幾個實施例中,應(yīng)該理解到,所揭露的方法、裝置和系統(tǒng),可以
通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的;例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式;例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
84.所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
85.另外,在本技術(shù)各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理包括,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。
86.上述以軟件功能單元的形式實現(xiàn)的集成的單元,可以存儲在一個計算機可讀取存儲介質(zhì)中。上述軟件功能單元存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本技術(shù)各個實施例所述方法的部分步驟。
87.雖然本技術(shù)披露如上,但本技術(shù)并非限定于此。任何本領(lǐng)域技術(shù)人員,在不脫離本技術(shù)的精神和范圍內(nèi),均可作各種更動與修改,因此本技術(shù)的保護(hù)范圍應(yīng)當(dāng)以權(quán)利要求所限定的范圍為準(zhǔn)。

技術(shù)特征:


1.一種芯片排版方法,其特征在于,包括:獲取晶圓中用于排版的排版區(qū)域,以及多個待布局芯片的尺寸;改變所述多個待布局芯片的擺放順序,基于所述多個待布局芯片的尺寸在所述排版區(qū)域中對所述多個待布局芯片進(jìn)行多次布局,獲得多個布局結(jié)果,每一布局結(jié)果包括多個待布局芯片在所述排版區(qū)域中的擺放位置;獲取每一個布局結(jié)果所對應(yīng)的排版區(qū)域面積利用率,并基于所述面積利用率確定最終布局結(jié)果,以獲得所述待布局芯片在所述排版區(qū)域中的最終擺放位置。2.根據(jù)權(quán)利要求1所述的芯片排版方法,其特征在于,針對一次在所述排版區(qū)域中對所述多個待布局芯片進(jìn)行布局的步驟包括:在排版區(qū)域中預(yù)設(shè)用于移動待布局芯片的第一方向和第二方向;基于每一個待布局芯片的尺寸,通過對該待布局芯片移動第一可更新距離和第二可更新距離并確定該待布局芯片的擺放位置,以確定所述多個待布局芯片的布局結(jié)果;其中,所述第一可更新距離為待布局芯片在所述排版區(qū)域中沿第一方向的可更新距離;第二可更新距離為待布局芯片在所述排版區(qū)域中沿第二方向的可更新距離,所述第一方向和所述第二方向為在所述排版區(qū)域內(nèi)所述待布局芯片的位置相對于初始位置的可更新方向,所述初始位置為所述排版區(qū)域內(nèi)預(yù)設(shè)的位置。3.根據(jù)權(quán)利要求2所述的芯片排版方法,其特征在于,所述基于每一個待布局芯片的尺寸,通過對待布局芯片移動第一可更新距離和第二可更新距離并確定該待布局芯片的擺放位置的步驟,包括:對于每個選取的待布局芯片,根據(jù)所述待布局芯片的尺寸確定所述待布局芯片在所述排版區(qū)域內(nèi)的初始位置;從所述初始位置開始,按照步長計算多個第一可更新距離,在每個第一可更新距離對應(yīng)的位置處計算所述第二可更新距離,并在所述第二可更新距離的最大值對應(yīng)的第一可更新距離對應(yīng)的位置處沿所述第二方向更新獲得所述待布局芯片的最終位置,獲得一次布局結(jié)果;其中,更新距離為所述第二可更新距離的最大值。4.根據(jù)權(quán)利要求3所述的芯片排版方法,其特征在于,還包括:獲取所述一次布局結(jié)果的面積利用率;若所述面積利用率未達(dá)到預(yù)設(shè)門限,則改變所述多個待布局芯片的擺放順序,繼續(xù)執(zhí)行所述針對一次在所述排版區(qū)域中對所述多個待布局芯片進(jìn)行布局的步驟,直至存在布局結(jié)果的面積利用率達(dá)到所述預(yù)設(shè)門限。5.根據(jù)權(quán)利要求3所述的芯片排版方法,其特征在于,若所述第二可更新距離的最大值所在的第一更新位置的數(shù)量有多個,則選取距離所述初始位置最遠(yuǎn)的第二更新位置,并在該第二更新位置處沿所述第二方向更新所述待布局芯片的擺放位置,所述第一更新位置與所述第二可更新距離的最大值相對應(yīng),所述第二更新位置表示多個第一更新位置中距離所述初始位置最遠(yuǎn)的第一更新位置。6.根據(jù)權(quán)利要求5所述的芯片排版方法,其特征在于,所述在該第二更新位置處沿所述第二方向更新所述待布局芯片的擺放位置,包括:判斷所述第二更新位置與第三更新位置沿所述第一方向的距離,若該距離大于或等于
所述待布局芯片沿所述第一方向的寬度,則在所述第二更新位置處沿所述第二方向更新所述待布局芯片的擺放位置;其中,所述第三更新位置為多個第一更新位置中距離所述初始位置最近的更新位置。7.根據(jù)權(quán)利要求2所述的芯片排版方法,其特征在于,所述改變所述多個待布局芯片的擺放順序,基于所述多個待布局芯片的尺寸在所述排版區(qū)域中對所述多個待布局芯片進(jìn)行多次布局的步驟,包括:多次改變所述多個待布局芯片的擺放順序,并按照多個改變后的擺放順序繼續(xù)執(zhí)行所述針對一次在所述排版區(qū)域中對所述多個待布局芯片進(jìn)行布局的步驟,獲得所述多個布局結(jié)果。8.根據(jù)權(quán)利要求1-7任一項所述的芯片排版方法,其特征在于,所述獲取每一個布局結(jié)果所對應(yīng)的排版區(qū)域面積利用率,并基于所述面積利用率確定最終布局結(jié)果的步驟,包括:計算各個待布局芯片按照每一個布局結(jié)果中的擺放位置進(jìn)行排版時所占用的面積,以及所述面積與所述排版區(qū)域的面積的比值,以作為面積利用率;選取最大的面積利用率對應(yīng)的布局結(jié)果作為所述最終布局結(jié)果。9.根據(jù)權(quán)利要求2至7任一項所述的芯片排版方法,其特征在于,若所述初始位置為所述排版區(qū)域的右上角,則所述第一方向和所述第二方向中一個方向為左,另一個方向為下;若所述初始位置為所述排版區(qū)域的右下角,則所述第一方向和所述第二方向中一個方向為左,另一個方向為上;若所述初始位置為所述排版區(qū)域的左上角,則所述第一方向和所述第二方向中一個方向為右,另一個方向為下;若所述初始位置為所述排版區(qū)域的左下角,則所述第一方向和所述第二方向中一個方向為右,另一個方向為上。10.根據(jù)權(quán)利要求1至7任一項所述的芯片排版方法,其特征在于,所述待布局芯片的位置為所述待布局芯片的至少一個頂點在所述排版區(qū)域內(nèi)的位置。11.根據(jù)權(quán)利要求1至7任一項所述的芯片排版方法,其特征在于,所述排版區(qū)域四邊形,所述芯片的形狀為四邊形。12.一種芯片排版裝置,其特征在于,包括:獲取模塊,用于獲取晶圓中用于排版的排版區(qū)域,以及多個待布局芯片的尺寸;布局模塊,用于改變所述多個待布局芯片的擺放順序,基于所述多個待布局芯片的尺寸在所述排版區(qū)域中對所述多個待布局芯片進(jìn)行多次布局,獲得多個布局結(jié)果,每一布局結(jié)果包括多個待布局芯片在所述排版區(qū)域中的擺放位置;布局結(jié)果確定模塊,用于獲取每一個布局結(jié)果所對應(yīng)的排版區(qū)域面積利用率,并基于所述面積利用率確定最終布局結(jié)果,以獲得所述待布局芯片在所述排版區(qū)域中的最終擺放位置。13.一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,其特征在于,所述計算機程序被計算機運行時執(zhí)行權(quán)利要求1至11中任一項所述芯片排版方法的步驟。14.一種終端設(shè)備,包括存儲器和處理器,所述存儲器上存儲有可在所述處理器上運行的計算機程序,其特征在于,所述處理器運行所述計算機程序時執(zhí)行權(quán)利要求1至11中任一項所述芯片排版方法的步驟。

技術(shù)總結(jié)


一種芯片排版方法及裝置、計算機可讀存儲介質(zhì)、終端設(shè)備,該方法包括:獲取晶圓中用于排版的排版區(qū)域,以及多個待布局芯片的尺寸;改變多個待布局芯片的擺放順序,基于多個待布局芯片的尺寸在排版區(qū)域中對多個待布局芯片進(jìn)行多次布局,獲得多個布局結(jié)果,每一布局結(jié)果包括多個待布局芯片在排版區(qū)域中的擺放位置;獲取每一個布局結(jié)果所對應(yīng)的排版區(qū)域面積利用率,并基于面積利用率確定最終布局結(jié)果,以獲得待布局芯片在排版區(qū)域中的最終擺放位置。本申請能夠提升芯片排版時的排版效率以及提高晶圓的面積利用率。高晶圓的面積利用率。高晶圓的面積利用率。


技術(shù)研發(fā)人員:

?(74)專利代理機構(gòu)

受保護(hù)的技術(shù)使用者:

全芯智造技術(shù)有限公司

技術(shù)研發(fā)日:

2022.11.18

技術(shù)公布日:

2022/12/23


文章投稿或轉(zhuǎn)載聲明

本文鏈接:http://m.newhan.cn/zhuanli/patent-1-63530-0.html

來源:專利查詢檢索下載-實用文體寫作網(wǎng)版權(quán)所有,轉(zhuǎn)載請保留出處。本站文章發(fā)布于 2022-12-26 11:46:06

發(fā)表評論

驗證碼:
用戶名: 密碼: 匿名發(fā)表
評論列表 (有 條評論
,2人圍觀
參與討論