專利名稱:由展平的圖形數(shù)據(jù)庫系統(tǒng)布局進(jìn)行層次重建的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及半導(dǎo)體領(lǐng)域,更具體地,本發(fā)明涉及一種由展平的圖形數(shù)據(jù)庫系統(tǒng)布局進(jìn)行層次重建的系統(tǒng)和方法。
背景技術(shù):
圖形數(shù)據(jù)庫系統(tǒng)(“⑶SII”)及其后續(xù)產(chǎn)品一開放原圖系統(tǒng)交換標(biāo)準(zhǔn)(OpenArtwork System Interchange Standard,“OASIS”)為集成電路(“IC”)設(shè)計中常用的設(shè)計數(shù)據(jù)布局格式。一般而言,GDSII或者OASIS文件內(nèi)的數(shù)據(jù)由單元創(chuàng)建,在某些情況下,較低級別參照其他從屬單元,這種從屬單元稱為“子單元(subcell) ”。為了簡化設(shè)計程序和布局復(fù)雜性,使用層次建立⑶SII和OASIS文件。對于重復(fù)的部分,定義子單元,并且雙親單元(parent cell)僅在必要時建立許多實例(instance), 使用具有指定方位的指針將這些實例與原始子單元聯(lián)系起來。這種結(jié)構(gòu)還能夠減少超大文件的尺寸。對于一些布局處理,比如將平面布局轉(zhuǎn)換為FinFET布局或者將偽層插入到稀疏布局內(nèi),在處理之后將原始層次布局展平(flattening)。目前尚無支持展平后的層次(hierarchy)重建的實用EDA工具。被展平的布局具有很多缺點。例如,在已展平布局之后不能單獨對每個子單元的布局結(jié)構(gòu)進(jìn)行分析。另外,對于展平后的每個子單元不能單獨運行仿真。最后,被展平的單元的尺寸太大,導(dǎo)致運行時間過長。因為被展平的布局省略了實例的層次信息,所以僅表示了一個無任何子單元的頂單元(top cell)。當(dāng)布局轉(zhuǎn)換或者修改之后,由于對于指定段(即,原始子單元)不能執(zhí)行對布局結(jié)構(gòu)的單獨仿真和分析,因此,在程序開發(fā)期間部分或全部展平的布局出現(xiàn)了挑戰(zhàn)。將認(rèn)識到,任何類型的布局圖案修改,比如OPC、L0P、虛擬插入或者其他轉(zhuǎn)換可能影響布局中的幾何圖案。除了幾何結(jié)構(gòu)以外,這些轉(zhuǎn)換通過部分或完全展平破壞了布局層次。與原始布局相反,在子單元層次上很難對經(jīng)過修改的布局進(jìn)行分析、審查、修正和/或執(zhí)行LVS/LPE/后仿真,這是因為層次被轉(zhuǎn)換破壞性地改變了。在另一方面,當(dāng)在最高層次上執(zhí)行時,這些程序是無效的、效率低且耗時的??赡軠p少由圖案修改引起的不便的一種方式是使修訂布局的層次與原始布局的層次更相似。綜上所述,亟需由部分或者完全被展平的布局重建層次布局的系統(tǒng)和方法,其中,在部分或者完全被展平的布局中原始層次被圖案修改破壞了。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中所存在的問題,根據(jù)本發(fā)明的一個方面,提供了一種由原始布局和修訂布局生成集成電路設(shè)計的重建布局的方法,所述方法包括對于原始布局的每個圖案確定與所述原始布局的圖案相對應(yīng)的所述修訂布局的圖案;以及將所述修訂布局的對應(yīng)圖案分配到臨時實例,所述臨時實例對應(yīng)于所述原始布局的圖案的實例,并且所述臨時實例引用到臨時單元;由所述臨時實例建立臨時重建布局;以及由所述臨時重建布局生成所述重建布局,其中,所述重建布局的層次與所述原始布局的層次相似。在該方法中,所述重建布局的圖案與所述修訂布局的圖案相同。在該方法中,所述生成包括合并所述臨時實例,從而使所述臨時實例中所有完全相同的臨時實例都引用到單個單元,以生成所述重建層次。在該方法中,所述合并包括建立新單元,所述臨時實例引用到所述新單元。在該方法中,進(jìn)一步包括在所述確定之前,分析所述布局以確定包括所述布局的實例的屬性。在該方法中,所述屬性包括位置、鏡像、旋轉(zhuǎn)和放大倍數(shù)中的至少一種。在該方法中,所述確定包括將所述原始布局的所述圖案的相對坐標(biāo)轉(zhuǎn)換成絕對坐標(biāo)集。 在該方法中,所述絕對坐標(biāo)集包括所述布局的頂單元的坐標(biāo)集。在該方法中,通過對所述原始布局實施的圖案修改形成所述修訂布局。根據(jù)本發(fā)明的另一方面,提供了一種由原始布局和由對所述原始布局執(zhí)行的圖案修改形成的修訂布局生成集成電路設(shè)計的重建布局的方法,所述方法包括提取所述原始布局的所有實例的屬性;對于所述原始布局的每個圖案確定與所述原始布局的圖案相對應(yīng)的所述修訂布局的圖案;將所述修訂布局的所述對應(yīng)圖案分配到臨時實例,所述臨時實例對應(yīng)于所述原始布局的所述圖案所屬于的所述實例其中之一,并且將所述臨時實例引用到臨時單元;由所述臨時實例建立臨時重建布局;以及合并所述臨時實例,從而使所述臨時實例中所有相同的臨時實例引用到單個單元以生成所述重建布局,其中,所述重建布局的層次與所述原始布局的層次相似,并且所述重建布局的圖案與所述修訂布局的圖案相同。在該方法中,所述合并包括建立新單元,所述臨時實例引用到所述新單元。在該方法中,所述屬性包括位置、鏡像、旋轉(zhuǎn)和放大倍數(shù)中的至少一種。在該方法中,所述確定包括將所述原始布局的所述圖案的相對坐標(biāo)轉(zhuǎn)換為所述布局的頂單元的絕對坐標(biāo)集。在該方法中,由光學(xué)鄰近修正(“0PC”)、邏輯操作(“L0P”)、偽插入、和其他轉(zhuǎn)換中的至少一種產(chǎn)生所述圖案修改。根據(jù)本發(fā)明的又一方面,提供了一種由原始布局和修訂布局生成集成電路設(shè)計的重建布局的系統(tǒng),所述系統(tǒng)包括對于所述原始布局的每個圖案用于確定與所述原始布局的所述圖案相對應(yīng)的所述修訂布局的圖案的裝置;以及用于將所述修訂布局的所述對應(yīng)圖案分配到臨時實例的裝置,所述臨時實例對應(yīng)于所述原始布局的所述圖案的實例并且將所述臨時實例且引用到臨時單元;用于由所述臨時實例建立臨時重建布局的裝置;以及用于由所述臨時重建布局生成所述重建布局的裝置,其中,所述重建布局的層次與所述原始布局的層次相似。在該系統(tǒng)中,所述重建布局的圖案與所述修訂布局的圖案相同。在該系統(tǒng)中,用于生成的裝置包括用于合并所述臨時實例以使所述臨時實例中的所有相同的臨時實例引用到單個單元以生成所述重建層次的裝置。在該系統(tǒng)中,所述用于合并的裝置包括用于建立新單元的裝置,其中,所述臨時實例引用到所述新單元。
在該系統(tǒng)中,進(jìn)一步包括在所述確定之前,分析所述布局以確定包括所述布局的實例的屬性,其中,所述屬性包括位置、鏡像、旋轉(zhuǎn)和放大倍數(shù)中的至少一種。在該系統(tǒng)中,所述用于確定的裝置包括用于將所述原始布局的所述圖案的相對坐標(biāo)轉(zhuǎn)換成絕對坐標(biāo)集的裝置。
當(dāng)結(jié)合附圖進(jìn)行閱讀時,根據(jù)下面詳細(xì)的描述可以更好地理解本發(fā)明。應(yīng)該強調(diào)的是,根據(jù)工業(yè)中的標(biāo)準(zhǔn)實踐,各種部件沒有被按比例繪制并且僅僅用于說明的目的。實際上,為了清楚的討論,各種部件的尺寸可以被任意增加或減少。圖IA至圖7B共同示出了例如設(shè)計數(shù)據(jù)布局系統(tǒng)比如⑶SII或者OASIS中的層次和布局結(jié)構(gòu)的概念。圖8A至圖8D共同示出了根據(jù)一個實施例的坐標(biāo)轉(zhuǎn)換的概念。 圖9示出了根據(jù)一個實施例的陣列實例的概念。圖10示出了根據(jù)一個實施例的如具體實例中指定的單元的放大倍數(shù)的屬性的概念。圖11不出了根據(jù)一個實施例的用于由原始布局和修訂布局構(gòu)建具有與原始布局相似的層次的重建布局的層次重建系統(tǒng)。圖12示出了根據(jù)一個實施例的圖案修改的效果。圖13示出了根據(jù)一個實施例的層次重建。圖14不出了參考一個實施例的層次重建方法所用的原始布局、修訂布局和重建布局的不例性層次樹。圖15示出了一個實施例的層次重建系統(tǒng)的操作的流程圖。
具體實施例方式為了實施本發(fā)明的不同部件,以下公開內(nèi)容提供了許多不同的實施例或?qū)嵗?。在下面描述元件和布置的特定實例以簡化本發(fā)明。當(dāng)然這些僅僅是實例并不打算限定。例如,以下描述中第一部件在第二部件上或者上方的形成可以包括其中第一部件和第二部件以直接接觸形成的實施例,并且也可以包括其中額外的部件在第一部件和第二部件之間形成使得第一部件和第二部件不直接接觸的實施例。再者,本發(fā)明可在各個實例中重復(fù)附圖編號和/或字母。該重復(fù)是為了簡明和清楚,而且其本身沒有規(guī)定各個實施例和/或所討論的結(jié)構(gòu)之間的關(guān)系。另外,空間相對位置的術(shù)語,比如“在...之下”、“下面”、“下部的”、“上面”、“上部
的”等在本文中用于方便描述,以描述一個元件或者部件與附圖中所示出的另一個(另一些)元件或者部件的關(guān)系。這些空間相對位置術(shù)語意在包括器件在使用或者操作中除了附圖中所述的方位外的不同方位。例如,如果將附圖中的器件翻轉(zhuǎn)過來,描述為在其他元件或者部件“下面”或者“下方”的元件然后將被定向為在其他元件或者部件“上面”。因此,示例性術(shù)語“下面”可以包括上面和下面兩種方位??梢詫ρb置進(jìn)行其他定向(旋轉(zhuǎn)90度或者在其他方向),并可以同樣地對本文中所用的空間相對位置敘述語進(jìn)行相應(yīng)地解釋。圖IA至圖7B共同示出了例如在設(shè)計數(shù)據(jù)布局系統(tǒng)比如⑶SII或者OASIS中的層次和布局結(jié)構(gòu)的概念。首先參考圖1,第一單元,指定單元_A,包括兩個實例,分別指定單元_B和單元_C。單元_A的每個實例也被稱為單元_A的“孩子”,反過來單元_A被稱為單元_B和單元_C “雙親(parent)”。另外,因為單元_A是設(shè)計的總雙親,即它自身沒有雙親,單元_八也被稱為“頂單元”。圖IB中示出了單元_A的布局100,其包括圖案102a和102b,以及單元_B和單元_C。如圖2A中所示,單元_B也具有兩個實例或者孩子,指定單元_D和單元_E。圖2B示出了單元_B的布局200,其包括圖案202a、202b和202c,以及單元_D和單元_E。如圖3A中所示,單元_C具有一個實例,指定單元_F。圖3B示出了單元_C的布局300,其包括圖案302a和302b,以及單元_ 。如圖4A中所示,單元_D沒有實例。沒有實例的單元在本文中被稱為“葉單元(leaf cell)”。圖4B示出了單元_D的布局400,其包括一個圖案402。類似地,如圖5A中所示,單元_E沒有實例,并因此也是葉單元。圖5B示出了單元_E的布局500,其包括圖案502a和502b。最后,如圖6A中所示,單元_F也是葉單元。圖6B示出了單元_F的布局600,其包括一個圖案602。圖7A示出了單元_A的層次樹700。如圖7A中所示,單元_A包括兩個實例和共計5個子單元(包括單元_B、單元_C、單元_D、單元_E和單元_F)。具體而言,單元_A是單元_B和單元_C的雙親;單元_B是單元_D和單元_E的雙親;以及單元_0是單元_ 的雙親。 圖7B示出了單元_A的完整布局702,顯示了單元_B至單元_F所有單元的全部圖案102a至602的相對位置。圖8A至圖8D共同示出了根據(jù)一個實施例的坐標(biāo)轉(zhuǎn)換的概念。如下面將示出的,一個子單元的實例在其雙親單元內(nèi)可以具有兩種方位類型。一種類型為旋轉(zhuǎn);“R0”表示單元的實例相對于原始圖案沒有旋轉(zhuǎn),“R90”表示單元實例相對于原圖案旋轉(zhuǎn)了 90度,“R180”表示單元實例相對于原圖案旋轉(zhuǎn)了 180度,以及“R270”表示單元實例相對于原圖案旋轉(zhuǎn)了270度。另一種方位類型是鏡像;“MX”表示實例是單元沿著X軸的鏡像,以及“MY”表示實例是單元沿著Y軸的鏡像。每個實例顯示引用單元以及當(dāng)前單元相對于引用單元的方位。采用每個單元的子單元和方位信息,我們能夠通過執(zhí)行由頂單元開始的自上而下追蹤獲得總體芯片。參考圖8A,本文中示出的層次樹800包括三種單元(單元_G、單元_H、和單元_I) ο單元_G是樹800的頂單元801,以及單元_!1和單元_1的雙親單元。單元_6包括單元_H和單元_1的4個實例802至808。單元_G的布局在圖8B中示出,并用附圖編號810指定。單元_H和單元_1的布局分別在圖8C和圖8D中示出,并用附圖編號820和830指定。再次參考圖8A,第一實例802引用到單元_H,具有RO方位,并位于頂單元單元_G內(nèi)的坐標(biāo)(2,6)處,單元_G也是第一實例802的雙親單元。第二實例804也引用到單元_H,具有R90方位,并位于單元_G內(nèi)的坐標(biāo)(5,5)處。第三實例806引用到單元_1,具有MX方位,并位于單元_6內(nèi)的坐標(biāo)(2. 5,I)處。第四實例808引用到單元_1,具有RO方位,并位于單元_G內(nèi)的坐標(biāo)(5,I)處??梢圆捎靡环N或多種已知的方法確定當(dāng)實例轉(zhuǎn)換成雙親單元后的坐標(biāo)。例如,假設(shè)點824所指定的單元_H中的圖案822的左下角(圖8C),位于單元_H的布局820中的坐標(biāo)(O. 5,I)處,它在單元_G的布局810內(nèi)的實例800中的坐標(biāo)位置將是(2+0. 5 = 2. 5,6+1=7)。類似地,同一個點824在單元_G的布局810內(nèi)的實例802中的坐標(biāo)位置將是(1+5=6,-O. 5+5 = 4. 5),說明實例902旋轉(zhuǎn)90度??梢灶愃频卮_定單元_G的布局810內(nèi)的實例802至808的剩余圖案的每一個的相對位置。為了旋轉(zhuǎn)坐標(biāo)集,可以簡單地應(yīng)用下列旋轉(zhuǎn)矩陣,其中Θ為旋轉(zhuǎn)角
因此,如果旋轉(zhuǎn)角為90度,則旋轉(zhuǎn)矩陣將為 )…—J (I對于180度旋轉(zhuǎn),旋轉(zhuǎn)矩陣將為
'I對于270度旋轉(zhuǎn),旋轉(zhuǎn)矩陣將為
就鏡像轉(zhuǎn)換而言,對于MX轉(zhuǎn)換,將坐標(biāo)集的縱坐標(biāo)轉(zhuǎn)換成它的負(fù)值。例如,原坐標(biāo)集(5,-4)的MX轉(zhuǎn)換為(5,4)。類似地,對于MY轉(zhuǎn)換,將坐標(biāo)集的橫坐標(biāo)轉(zhuǎn)換為它的負(fù)值;因此,坐標(biāo)集(5,-4)的MY轉(zhuǎn)換為(-5,-4)。圖9示出了陣列實例的概念。大多數(shù)時間,每個實例一次引用到一個單元,并放置在其雙親單元中的指定位置處,例如,如圖SB中所示出的。然而,當(dāng)引用到相同單元的若干實例以空間規(guī)則性存在于雙親單元內(nèi)時,可以建立陣列實例以簡化布局設(shè)計。參考圖9,示出了指定單元_X的單元的布局的第一表示法900和第二表示法901。第一布局900包括兩個實例902和904 (這兩個都引用到單元_Y)和陣列實例906(其也以1*3陣列引用到單元—V。這意味著單元_Υ對于陣列實例906引用3次(如由矩陣的尺寸所示的),并且根據(jù)規(guī)定的列數(shù)和行數(shù)(分別為I和3)以及采用對包括在如第二布局901中所示的陣列實例906的實例908Α、908Β和908C規(guī)定的間距(例如,Y軸間距=O. 75)以從左到右、從下到上的方式排布。這種陣列實例屬性將影響在包括陣列實例906的實例中的圖案的相對坐標(biāo)(如圖IA至圖7Β中所示出的),并因此當(dāng)層次被展平時必須說明這種陣列實例屬性。圖10示出了如特定實例中指定的單元的放大倍率的屬性的概念。在示出的實例中,將假設(shè)引用到指定單元_u的單元的實例1000的寬度為10個單位,其高度為5個單位。附圖編號1002指定了指定單元)的雙親單元的實例,該指定單元_V的雙親單元含有放大倍數(shù)設(shè)定為“I”的引用單元_U的實例1004。結(jié)果,實例1004與原始單元_U相同,寬度為10個單位,高度為5個單位。附圖編號1006指定指定單元_W的雙親單元的實例,該指定單元_W的雙親單元含有放大倍數(shù)設(shè)定為I. 5的引用單元_U的實例1008。結(jié)果,實例1008內(nèi)部的圖案比包括單元—U的原始圖案大50%。實例1008的寬度是15個單位(原單元』的寬度的I. 5倍),以及其高度是7. 5個單位(原單元_U的高度的I. 5倍)。因為放大倍數(shù)值將影響雙親單元內(nèi)的圖案的坐標(biāo),所以在下面所述的轉(zhuǎn)換期間必須考慮這一因素。如上所述,將認(rèn)識到任何類型的布局圖案修改,比如0PC、L0P、偽插入、或者其他轉(zhuǎn)換,可能影響布局中的幾何圖案。除了幾何結(jié)構(gòu)之外,這種轉(zhuǎn)換可能通過部分或完全展平破壞布局層次。與原始布局相反,在子單元層次上很難對修訂布局進(jìn)行分析、審查、修改和/或執(zhí)行LVS/LPE/后模擬,這是因為層次被轉(zhuǎn)換破壞性地改變了。在另一方面,當(dāng)在最高層次上執(zhí)行時,這些程序是無效的、效率低且耗時的??赡軠p少由圖案修改引起的不便的一種方式是使修訂布局的層次與原始布局的層次更相似。
如圖11中所示出的,一個實施例包括層次重建系統(tǒng)1100,如將在下面詳述的該層次重建系統(tǒng)1100,作為輸入端接收包括層次信息的原始布局1102和由原始布局1102修改的作為圖案修改結(jié)果的修訂布局1104,以及輸出重建布局1106,該重建布局1106具有與原始布局1102相似的層次以及與修訂布局1104相同的幾何圖案(patterning)。圖12示出了對指定單元_J的單元圖案修改的影響。如圖12中所示,單元_J的原始布局1200具有對應(yīng)的層次1202。在圖案修改1203之后,單元_J的修訂布局1204具有對應(yīng)的層次1206。如上所述,0PC、L0P、偽插入或者其他轉(zhuǎn)換中的任意一種都可以是圖案修改1203的來源。圖12中所示的布局和層次中的每一個都包括3個單元(單元_J、單元_K和單元_L)。分別用附圖編號1210和1211指定單元_1(和單元_L的布局。原始布局1200和層次1202包括5個實例1212至1220。實例1212引用到雙親單元(單元_J),實例1214和1216引用到單元_K,以及實例1218和1220引用到單元_L。相反,如在修訂布局1204中所見,將注意到將單元_K和單元_L的某些圖案1221引入到雙親單元單元_J內(nèi)。結(jié)果,在單元」中包括的圖案和修訂布局1204和層次1206與原始布局1200和層次1202完全不同。換句話說,單元_J的層次被圖案修改1203擾亂(disordered) 了。具體而言,布局1204和層次1206包括修改的實例1203至1234。實例1230引用到單元_J,實例1232引用到單元_K,并且實例1234引用到單元_L。如圖13中所示,布局1300包括在單元_J的原始布局1200上覆蓋的單元_J的修訂布局1204。根據(jù)布局1300,對單元_J的布局的圖案修改1203的效果是顯而易見的。為了在修訂布局1204中得到與原始布局1200相似的層次,必須對兩種布局中的圖案進(jìn)行比較以確定修訂圖案屬于原始布局中的哪個單兀。一旦對原始布局和修訂布局中的展平的圖案相互比較,則認(rèn)為修訂布局圖案屬于原始布局圖案所屬的實例。通過以這種方式追蹤所有圖案,并如在下面所詳述的,能夠“重建”與原始布局接近的層次。當(dāng)確定每個圖案所屬的單元之后,在臨時重建布局1302中將建立新單元,如圖13中所示。將本文所述的層次重建技術(shù)應(yīng)用于布局1200和1204,以建立臨時重建布局1302。臨時重建布局1302包括實例1310至1316。實例1310引用到具有布局1320的指定單元_K_1的臨時單元。實例1312引用到具有布局1322的指定單元_K_2的臨時單元。實例1314引用到具有布局1324的指定單元_L_1的臨時單元。實例1316引用到具有布局1326的指定單元_L_2的臨時單元。為了將臨時重建布局1302合并(consolidate)成重建布局1328,執(zhí)行布局1302中引用的單元的比較。注意到分別引用到單元_L_1和單元_L_2單元的圖案1324和1326是相同的;因此,將它們固定成單一布局1330。布局1330與布局1211(圖12)如果不是完全相同的則是相似;因此,布局1330被指定單元_L。相反,引用到單元_K_1和單元_K_2單元的布局1320和1322是不同的;因此,他們將繼續(xù)引用到不同單元,該不同單元被重命名為具有布局1332的單元_K’和具有布局1334(其與圖12中的布局1210相同)的單元_K。結(jié)果,重建布局1328包括引用到單元_1(’的實例1340、引用到單元_Κ的實例1342和各自引用到單元立的兩個實例1344和1346。圖14示出了對應(yīng)于原始布局1200的層次樹1202,對應(yīng)于修訂布局1202的層次樹1206和對應(yīng)于重建布局1328的層次樹1400。如由圖14所見,層次樹1400與層次樹1202的類似度比層次樹1206與層次樹1202的類似度多得多,使其更多地用于分析、仿真和其他用途。圖15示出了根據(jù)一個實施例的層次重建系統(tǒng),比如系統(tǒng)1100(圖11)的操作。如圖15中所不,作為輸入端向?qū)哟沃亟ㄏ到y(tǒng)提供了原始布局1500和由原始布局1500的圖案修改引起的修訂布局1502,二者都以層次形式。在步驟1504中,分析布局1500和1502的層次,并對每個單元提取所有的實例和陣列實例屬性,比如位置、鏡像、旋轉(zhuǎn)和放大倍數(shù)。在步驟1506中,確定是否已分析了所有包括原始布局的實例。如果沒有,在步驟1511中,指 定下一個實例進(jìn)行分析。在步驟1512中,確定是否已經(jīng)考慮了指定實例中的所有圖案。如果沒有,在步驟1513中,指定指定實例中的下一個圖案進(jìn)行考慮。在步驟1514中,將原始布局中指定圖案的相對坐標(biāo)轉(zhuǎn)換成絕對坐標(biāo)集,在一個實施例中絕對坐標(biāo)集被定義為根據(jù)在步驟1504中提取的屬性,層次的頂單元的坐標(biāo)。在一個實施例中,如參考圖8A至圖8D所述的執(zhí)行坐標(biāo)轉(zhuǎn)換。接下來,在步驟1516中,依據(jù)絕對坐標(biāo)定位對應(yīng)于指定圖案的修訂布局中的圖案。在步驟1518中,認(rèn)為指定圖案屬于對應(yīng)于如圖13中所示出的指定實例,尤其重建布局1302及其中的實例1310至1316的臨時實例。當(dāng)完成步驟1518后,然后執(zhí)行返回到步驟1512。如果在步驟1512中,確定已經(jīng)考慮了指定實例的所有圖案,執(zhí)行返回到步驟1506。如果在步驟1506中,確定已分析了原始布局中的所有實例,執(zhí)行進(jìn)行到步驟1520,在步驟1520中固定每個單元的所有衍生實例,從而建立重建布局,如上面參考圖13所述的。當(dāng)完成步驟1520時,從層次重建系統(tǒng)輸出重建布局和對應(yīng)的層次1522。應(yīng)了解上面所列的實施例和步驟的各種不同組合能夠以各種順序或者并列使用,并且沒有關(guān)鍵的或者必需的特定步驟。而且,能夠?qū)Χ喾N器件包括計算器件實施附圖中所述的每個模塊和圖11中所示出的層次重建系統(tǒng),以及可以將所述模塊中的多個的實施結(jié)合至單個器件包括計算器件內(nèi)。而且,層次重建系統(tǒng)可以包括用于計算機處理器執(zhí)行并存儲在非暫時性計算機可讀介質(zhì)比如存儲器件、硬盤和/或CD上的指令。此外,在上面參考一些實施例所示出和討論的部件可以與上面參考其他實施例所示出和討論的部件相結(jié)合。因此,所有這些修改意圖包括在本發(fā)明的范圍內(nèi)。上面論述了若干實施例的部件,使得本領(lǐng)域技術(shù)人員可以更好地理解本發(fā)明的各個方面。本領(lǐng)域技術(shù)人員應(yīng)該理解,可以很容易地使用本發(fā)明作為基礎(chǔ)來設(shè)計或更改其他工藝和結(jié)構(gòu),用于達(dá)到與本文所介紹的實施例相同的目的和/或?qū)崿F(xiàn)相同的優(yōu)點。本領(lǐng)域技術(shù)人員也應(yīng)該意識到,這種等效結(jié)構(gòu)并不背離本發(fā)明的精神和范圍,并且在不背離本發(fā)明的精神和范圍的情況下,可以進(jìn)行多種變化、替換以及改變。
權(quán)利要求
1.一種由原始布局和修訂布局生成集成電路設(shè)計的重建布局的方法,所述方法包括 對于原始布局的每個圖案 確定與所述原始布局的圖案相對應(yīng)的所述修訂布局的圖案;以及 將所述修訂布局的對應(yīng)圖案分配到臨時實例,所述臨時實例對應(yīng)于所述原始布局的圖案的實例,并且所述臨時實例引用到臨時單元; 由所述臨時實例建立臨時重建布局;以及 由所述臨時重建布局生成所述重建布局,其中,所述重建布局的層次與所述原始布局的層次相似。
2.根據(jù)權(quán)利要求I所述的方法,其中,所述重建布局的圖案與所述修訂布局的圖案相同。
3.根據(jù)權(quán)利要求I所述的方法,其中,所述生成包括合并所述臨時實例,從而使所述臨時實例中所有完全相同的臨時實例都引用到單個單元,以生成所述重建層次,并且 其中,所述合并包括建立新單元,所述臨時實例引用到所述新單元。
4.根據(jù)權(quán)利要求I所述的方法,進(jìn)一步包括在所述確定之前,分析所述布局以確定包括所述布局的實例的屬性,或者 其中,所述屬性包括位置、鏡像、旋轉(zhuǎn)和放大倍數(shù)中的至少一種。
5.根據(jù)權(quán)利要求I所述的方法,其中,所述確定包括將所述原始布局的所述圖案的相對坐標(biāo)轉(zhuǎn)換成絕對坐標(biāo)集,并且 其中,所述絕對坐標(biāo)集包括所述布局的頂單元的坐標(biāo)集。
6.根據(jù)權(quán)利要求I所述的方法,其中,通過對所述原始布局實施的圖案修改形成所述修訂布局。
7.一種由原始布局和由對所述原始布局執(zhí)行的圖案修改形成的修訂布局生成集成電路設(shè)計的重建布局的方法,所述方法包括 提取所述原始布局的所有實例的屬性; 對于所述原始布局的每個圖案 確定與所述原始布局的圖案相對應(yīng)的所述修訂布局的圖案; 將所述修訂布局的所述對應(yīng)圖案分配到臨時實例,所述臨時實例對應(yīng)于所述原始布局的所述圖案所屬于的所述實例其中之一,并且將所述臨時實例引用到臨時單元; 由所述臨時實例建立臨時重建布局;以及 合并所述臨時實例,從而使所述臨時實例中所有相同的臨時實例引用到單個單元以生成所述重建布局,其中,所述重建布局的層次與所述原始布局的層次相似,并且所述重建布局的圖案與所述修訂布局的圖案相同。
8.根據(jù)權(quán)利要求7所述的方法,其中,所述合并包括建立新單元,所述臨時實例引用到所述新單元,或者 其中,所述屬性包括位置、鏡像、旋轉(zhuǎn)和放大倍數(shù)中的至少一種,或者。
其中,所述確定包括將所述原始布局的所述圖案的相對坐標(biāo)轉(zhuǎn)換為所述布局的頂單元的絕對坐標(biāo)集,或者。
其中,由光學(xué)鄰近修正(“OPC”)、邏輯操作(“LOP”)、偽插入、和其他轉(zhuǎn)換中的至少一種產(chǎn)生所述圖案修改。
9.一種由原始布局和修訂布局生成集成電路設(shè)計的重建布局的系統(tǒng),所述系統(tǒng)包括 對于所述原始布局的每個圖案 用于確定與所述原始布局的所述圖案相對應(yīng)的所述修訂布局的圖案的裝置;以及用于將所述修訂布局的所述對應(yīng)圖案分配到臨時實例的裝置,所述臨時實例對應(yīng)于所述原始布局的所述圖案的實例并且將所述臨時實例且引用到臨時單元; 用于由所述臨時實例建立臨時重建布局的裝置;以及 用于由所述臨時重建布局生成所述重建布局的裝置,其中,所述重建布局的層次與所述原始布局的層次相似。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其中,所述重建布局的圖案與所述修訂布局的圖案相同,或者 其中,用于生成的裝置包括用于合并所述臨時實例以使所述臨時實例中的所有相同的臨時實例引用到單個單元以生成所述重建層次的裝置,并且 其中,所述用于合并的裝置包括用于建立新單元的裝置,其中,所述臨時實例引用到所述新單元,或者 進(jìn)一步包括在所述確定之前,分析所述布局以確定包括所述布局的實例的屬性,其中,所述屬性包括位置、鏡像、旋轉(zhuǎn)和放大倍數(shù)中的至少一種,或者 其中,所述用于確定的裝置包括用于將所述原始布局的所述圖案的相對坐標(biāo)轉(zhuǎn)換成絕對坐標(biāo)集的裝置。
全文摘要
描述了由展平的布局進(jìn)行層次重建的系統(tǒng)和方法。在一個實施例中,由原始布局和修訂布局生成集成電路設(shè)計的重建布局的方法包括對原始布局的每個圖案確定對應(yīng)于原始布局的圖案的修訂布局的圖案;以及將修訂布局的對應(yīng)圖案分配到臨時實例,該臨時實例對應(yīng)于原始布局的圖案的實例,并且該臨時實例引用到臨時單元。該方法進(jìn)一步包括由臨時實例建立臨時重建布局;以及由臨時重建布局生成重建布局,其中,重建布局的層次與原始布局的層次相似。本發(fā)明還提供了一種由展平的圖形數(shù)據(jù)庫系統(tǒng)布局進(jìn)行層次重建的系統(tǒng)和方法。
文檔編號G06F17/50GK102880733SQ20121008482
公開日2013年1月16日 申請日期2012年3月27日 優(yōu)先權(quán)日2011年7月13日
發(fā)明者陳姝妤, 林以唐, 李焯基, 陳小惠, 張佑寧, 萬幸仁, 張智勝, 陳建文 申請人:臺灣積體電路制造股份有限公司