產(chǎn)生集成電路布圖的方法
【專利摘要】一種產(chǎn)生集成電路布圖的方法,該方法包含以下步驟:在容許邊界沖突的同時(shí)確定選自標(biāo)準(zhǔn)單元庫(kù)的標(biāo)準(zhǔn)單元的置放,在邊界沖突中,標(biāo)準(zhǔn)單元的不兼容邊界區(qū)域緊接于彼此置放。在確定標(biāo)準(zhǔn)單元之間的路由連接之后,產(chǎn)生集成電路布圖。集成電路布圖的產(chǎn)生包括將至少一個(gè)不兼容邊界區(qū)域映像至替代邊界區(qū)域以消除至少一個(gè)邊界沖突的映射步驟。
【專利說(shuō)明】產(chǎn)生集成電路布圖的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及集成電路領(lǐng)域。更具體而言,本發(fā)明涉及一種產(chǎn)生集成電路布圖的方法。
【背景技術(shù)】
[0002]可提供自動(dòng)化工具用于產(chǎn)生集成電路布圖。標(biāo)準(zhǔn)單元庫(kù)定義不同類型的標(biāo)準(zhǔn)單元,這些標(biāo)準(zhǔn)單元可經(jīng)選擇包括在集成電路布圖中。系統(tǒng)設(shè)計(jì)者可向自動(dòng)化設(shè)計(jì)系統(tǒng)提供待產(chǎn)生的電路布圖的功能定義,且該自動(dòng)化設(shè)計(jì)系統(tǒng)可隨后藉由從庫(kù)中選擇滿足所需功能定義的標(biāo)準(zhǔn)單元來(lái)產(chǎn)生集成電路布圖。
[0003]已知提供一些標(biāo)準(zhǔn)單元,這些標(biāo)準(zhǔn)單元具有邊界區(qū)域,這些邊界區(qū)域與相鄰單元的邊界區(qū)域具有有限兼容性。一些單元可具有彼此不兼容的邊界區(qū)域,使得此類單元在集成電路布圖中無(wú)法緊接于彼此置放。因此,當(dāng)確定集成電路的單元置放時(shí),自動(dòng)化設(shè)計(jì)系統(tǒng)可考慮相鄰邊界區(qū)域的兼容性。舉例而言,該系統(tǒng)可選擇單元,使得僅具有兼容邊界區(qū)域的單元被緊接于彼此置放。然而,如此限制了單元置放及與單元連接的路由的靈活性,從而可降低電路布圖的效率。此外,可在相鄰單元的不兼容邊界區(qū)域之間置放填充物區(qū)域,使得這些單元仍可緊接于彼此置放。然而,填充物區(qū)域增加了集成電路布圖的面積,此舉并非所欲。本技術(shù)設(shè)法解決這些問(wèn)題。
【發(fā)明內(nèi)容】
[0004]從一方面看,本發(fā)明提供一種使用定義多個(gè)標(biāo)準(zhǔn)單元的標(biāo)準(zhǔn)單元庫(kù)產(chǎn)生集成電路布圖的計(jì)算機(jī)實(shí)施方法,各個(gè)標(biāo)準(zhǔn)單元定義潛在功能組件以便包括在集成電路布圖中;
[0005]該方法包含以下步驟:
[0006]在容許一個(gè)或更多個(gè)邊界沖突的同時(shí)確定選自標(biāo)準(zhǔn)單元庫(kù)的標(biāo)準(zhǔn)單元的置放,在所述沖突中,在所述置放的鄰接標(biāo)準(zhǔn)單元中,不兼容邊界區(qū)域鄰接于彼此置放,所述不兼容邊界區(qū)域包含在集成電路布圖中無(wú)法鄰接于彼此置放的邊界區(qū)域;
[0007]確定置放中的標(biāo)準(zhǔn)單元之間的路由連接;以及
[0008]基于置放及路由連接產(chǎn)生集成電路布圖,其中產(chǎn)生包含映射步驟,在映射步驟中,針對(duì)邊界沖突中的至少一者,將置放中的不兼容邊界區(qū)域中的至少一者映射至集成電路布圖中的替代邊界區(qū)域,以消除邊界沖突。
[0009]該方法在容許一個(gè)或更多個(gè)邊界沖突的同時(shí)確定選自單元庫(kù)的標(biāo)準(zhǔn)單元的置放,在邊界沖突中,在置放的鄰接標(biāo)準(zhǔn)單元中不兼容區(qū)域鄰接于彼此置放。此舉與將不允許具有邊界沖突的置放的已知系統(tǒng)形成比較。映射步驟是在布圖產(chǎn)生方法中稍后提供,在該映射步驟中,針對(duì)邊界沖突中的至少一者,將置放中的不兼容邊界區(qū)域中的至少一者映射至替代邊界區(qū)域以消除邊界沖突。此技術(shù)提供若干優(yōu)勢(shì)。藉由在置放及路由后提供映射步驟,置放及路由步驟變得較不復(fù)雜,因?yàn)檫@些步驟不需要考慮鄰接單元的邊界區(qū)域的兼容性。此外,此技術(shù)允許在選擇在單元置放中置放哪些單元方面更加靈活,如此可例如容許標(biāo)準(zhǔn)單元之間的連接的較好路由。又,藉由在容許邊界沖突的同時(shí)置放標(biāo)準(zhǔn)單元,但稍后將不兼容邊界區(qū)域映射至替代邊界區(qū)域以消除沖突,能夠在無(wú)需在不兼容邊界區(qū)域之間使用填充物區(qū)域的情況下置放標(biāo)準(zhǔn)單元,從而減小最終集成電路布圖的面積。
[0010]確定標(biāo)準(zhǔn)單元的置放的步驟可包括在置放中置放反射單元,該反射單元包含來(lái)自標(biāo)準(zhǔn)單元庫(kù)的選定標(biāo)準(zhǔn)單元的反射版本。提供當(dāng)在置放中置放來(lái)自庫(kù)的單元時(shí)反射單元的能力是有用的,因?yàn)榇丝稍试S更有效率地將連接路由至單元,從而釋放其他路由的空間。然而,若待反射的單元在單元的不同邊緣處具有不同邊界區(qū)域,則反射該單元可引入邊界沖突,若未反射單元,則原本不會(huì)存在該沖突,因?yàn)榉瓷淇梢l(fā)邊界區(qū)域位置交換。因此,在已知集成電路布圖設(shè)計(jì)中,一直難以引入反射單元且亦不需要添加填充物區(qū)域來(lái)消除邊界沖突。相比之下,本技術(shù)可容許由置放中的反射單元引發(fā)的此類邊界沖突,及隨后一旦已確定置放及路由則將不兼容邊界區(qū)域映射至替代邊界區(qū)域以消除沖突。因此,仍可在無(wú)需復(fù)雜修改單元置放步驟或路由步驟及無(wú)需填充物區(qū)域增加電路面積的情況下實(shí)現(xiàn)反射單元置放的益處。單元的反射可關(guān)于任何軸。舉例而言,反射可關(guān)于水平、垂直或?qū)堑貙卧环譃槎妮S。
[0011]在置放步驟中,可在不兼容邊界區(qū)域直接鄰接彼此的情況下置放標(biāo)準(zhǔn)單元。因此,邊界沖突不約束單元置放,并且可稍后藉由映射步驟消除該沖突。
[0012]一些單元可僅在單元的一側(cè)上具有可引發(fā)與其他單元沖突的邊界區(qū)域。其他單元可在單元的兩個(gè)或更多個(gè)側(cè)上具有此類邊界區(qū)域。因此,一些單元可在單元的多個(gè)邊緣處發(fā)生邊界沖突。
[0013]對(duì)于映射步驟,可以僅將標(biāo)準(zhǔn)單元的邊界區(qū)域映射至替代邊界區(qū)域,而單獨(dú)留下標(biāo)準(zhǔn)單元的其余部分。然而,由于邊界區(qū)域與單元的其余部分之間的互連可為復(fù)雜的,用替代標(biāo)準(zhǔn)單元替換具有不兼容邊界區(qū)域的整個(gè)標(biāo)準(zhǔn)單元可更簡(jiǎn)單,該替代標(biāo)準(zhǔn)單元包括替代邊界區(qū)域并且對(duì)應(yīng)于與原始標(biāo)準(zhǔn)單元相同的功能組件。舉例而言,單元庫(kù)可定義標(biāo)準(zhǔn)單元的對(duì)應(yīng)于相同功能組件的多個(gè)版本,各個(gè)版本具有邊界區(qū)域的不同排列。映射步驟可隨后用替代版本中的一者替換目標(biāo)標(biāo)準(zhǔn)單元以消除邊界沖突。
[0014]提供在標(biāo)準(zhǔn)單元的對(duì)端邊緣處具有邊界區(qū)域的替代標(biāo)準(zhǔn)單元可特別有用,所述邊界區(qū)域與目標(biāo)標(biāo)準(zhǔn)單元的對(duì)應(yīng)邊界區(qū)域相反。因此,若目標(biāo)標(biāo)準(zhǔn)單元在第一邊緣處具有第一邊界區(qū)域及在第二邊緣處具有第二邊界區(qū)域,替代標(biāo)準(zhǔn)單元可在第二邊緣處具有第一邊界區(qū)域及在第一邊緣處具有第二邊界區(qū)域,但具有與目標(biāo)標(biāo)準(zhǔn)單元相同的功能組件。此舉在目標(biāo)標(biāo)準(zhǔn)單元為來(lái)自上文所論述的庫(kù)的單元的反射版本的情況中是有用的。若單元的反射已引發(fā)第一邊緣及第二邊緣之一或兩者處的邊界沖突,則通常用具有相反邊界區(qū)域的替代標(biāo)準(zhǔn)單元替換目標(biāo)標(biāo)準(zhǔn)單元可消除沖突。
[0015]因此,對(duì)于給定功能組件,單元庫(kù)含有定義標(biāo)準(zhǔn)單元的針對(duì)相同組件的兩個(gè)不同版本的特性化信息是有用的。第一版本一邊緣處具有第一邊界區(qū)域、在相對(duì)邊緣處具有第二邊界區(qū)域及在兩個(gè)邊緣之間具有給定功能組件。替代版本與第一版本相比使得功能組件反射,但邊界區(qū)域處于與第一版本相同的位置。上文所論述的目標(biāo)標(biāo)準(zhǔn)單元可對(duì)應(yīng)于第一版本的反射形式,且因此該庫(kù)將不需要含有定義此反射形式的進(jìn)一步特性化數(shù)據(jù),因?yàn)榈谝话姹究呻[含識(shí)別反射目標(biāo)標(biāo)準(zhǔn)單元。因此,藉由反射單元的第一版本以產(chǎn)生用于置放的目標(biāo)標(biāo)準(zhǔn)單元引入的邊界沖突可藉由在映射階段用該單元的第二版本替換目標(biāo)標(biāo)準(zhǔn)單元來(lái)消除。
[0016]通常,單元可具有多個(gè)邊緣,這些邊緣具有有限兼容性的邊界區(qū)域。在此情況中,在映射步驟處替換標(biāo)準(zhǔn)單元以消除一個(gè)邊界沖突可能引入替換單元的另一邊緣處的另一沖突。因此,有時(shí)可能需要用替代單元替換置放的多個(gè)標(biāo)準(zhǔn)單元以消除當(dāng)其他邊界沖突消除時(shí)從其他單元傳來(lái)的邊界沖突。
[0017]當(dāng)兩個(gè)不兼容邊界區(qū)域鄰接于彼此置放時(shí)可引發(fā)邊界沖突。為了消除邊界沖突,僅替換不兼容邊界區(qū)域中的一者可能是足夠的。舉例而言,不兼容邊界區(qū)域中的一者可用與不兼容邊界區(qū)域的另一者兼容的替代邊界區(qū)域替換。在其他場(chǎng)合,用兼容替代者替換不兼容邊界區(qū)域的兩者可更簡(jiǎn)單。舉例而言,取決于單元的包括不兼容邊界區(qū)域的其他邊界區(qū)域,例如如上文所論述若僅替換一者將引發(fā)其他邊界沖突傳至其他單元,則優(yōu)選用替代者替換不兼容邊界區(qū)域兩者。
[0018]可在產(chǎn)生集成電路布圖的方法的各種階段執(zhí)行映射步驟。在一實(shí)例中,可在用于輸出集成電路布圖以便設(shè)計(jì)規(guī)則驗(yàn)證或制造規(guī)則驗(yàn)證的“流式輸出”步驟處執(zhí)行映射步驟。設(shè)計(jì)或制造規(guī)則驗(yàn)證可包含各種檢查,用于確保在制造了時(shí)所產(chǎn)生集成電路布圖將正確執(zhí)行功能。在流式輸出階段執(zhí)行映射步驟是有利的,因?yàn)樵诖它c(diǎn)處比置放或路由階段需要更少的數(shù)據(jù)來(lái)表征置放單元。若在置放或路由步驟處已執(zhí)行使用上文所論述的標(biāo)準(zhǔn)單元的替代版本的映射步驟,則為了置放/路由,此將需要完全建模單元的各個(gè)版本,此舉將增加數(shù)據(jù)的體積及標(biāo)準(zhǔn)單元庫(kù)的復(fù)雜性。然而,在流式輸出步驟處,可使用較少數(shù)據(jù)定義單元的替代版本,使得單元庫(kù)的實(shí)施更有效率。
[0019]在一些實(shí)例中,可僅存在兩種不同類型邊界區(qū)域。舉例而言,可認(rèn)為相對(duì)類型的邊界區(qū)域彼此兼容,而可認(rèn)為相同類型的邊界區(qū)域不兼容。在此情況中,除了各個(gè)單元邊界處存在何種邊界類型的指示外,計(jì)算機(jī)實(shí)施設(shè)計(jì)可需要極少表征邊界區(qū)域的兼容性的信息。
[0020]然而,在其他實(shí)例中,可存在兩個(gè)以上類型的邊界區(qū)域,且確定不同類型邊界區(qū)域是否兼容可更加復(fù)雜。因此,該方法可使用兼容性信息以指示不同類型的不同邊界區(qū)域的兼容性。映射步驟可基于兼容性信息來(lái)識(shí)別邊界沖突及確定替代邊界區(qū)域。
[0021]盡管本技術(shù)提供一種用于處理鄰接標(biāo)準(zhǔn)單元的不兼容邊界區(qū)域之間沖突的改良技術(shù),但不一定對(duì)單元置放中發(fā)生的每一邊界沖突使用此技術(shù)。對(duì)于一些邊界沖突,可首先使用諸如在邊界之間插入填充物區(qū)域或藉由調(diào)整單元置放的已知技術(shù)避免邊界沖突。因此,可僅對(duì)單元置放中發(fā)生的邊界沖突中的某些邊界沖突使用映射步驟。
[0022]該方法可包含輸出所產(chǎn)生布圖的步驟。舉例而言,可藉由將布圖儲(chǔ)存于記錄截至上或?qū)⒉紙D輸出至外部裝置來(lái)輸出所產(chǎn)生布圖。制造商可隨后制造具有所產(chǎn)生集成電路布圖的集成電路。
[0023]從另一方面看,本發(fā)明提供一種儲(chǔ)存標(biāo)準(zhǔn)單元庫(kù)的計(jì)算機(jī)可讀取儲(chǔ)存介質(zhì),標(biāo)準(zhǔn)單元庫(kù)包含定義多個(gè)標(biāo)準(zhǔn)單元以便包括在集成電路布圖中的信息,各個(gè)標(biāo)準(zhǔn)單元包含第一邊緣及與第一邊緣相對(duì)的第二邊緣;
[0024]該多個(gè)標(biāo)準(zhǔn)單元包含:
[0025]第一標(biāo)準(zhǔn)單元,該第一標(biāo)準(zhǔn)單元包含第一邊緣處的第一邊界區(qū)域、第二邊緣處的第二邊界區(qū)域及第一邊緣與第二邊緣之間的預(yù)定功能組件;以及
[0026]第二標(biāo)準(zhǔn)單元,該第二標(biāo)準(zhǔn)單元包含第一邊緣處的第一邊界區(qū)域、第二邊緣處的第二邊界區(qū)域及第一邊緣與第二邊緣之間的預(yù)定功能組件的反射版本。
[0027]為了使得標(biāo)準(zhǔn)單元的不兼容邊界區(qū)域之間能夠消除邊界沖突,標(biāo)準(zhǔn)單元庫(kù)可包含具有相同功能組件的標(biāo)準(zhǔn)單元的第一版本及第二版本。該第一版本可具有第一邊緣處的第一邊界區(qū)域、與第一邊緣相對(duì)的第二邊緣處的第二邊界區(qū)域及第一邊緣與第二邊緣之間的預(yù)定功能組件。第二標(biāo)準(zhǔn)單元與第一標(biāo)準(zhǔn)單元一樣相對(duì)于第一邊緣及第二邊緣的相同位置具有邊界區(qū)域,但具有相對(duì)于第一標(biāo)準(zhǔn)單元中的對(duì)應(yīng)功能組件所反射之功能組件(例如,可關(guān)于水平、垂直或?qū)堑貙卧环譃槎妮S反射功能組件)。
[0028]在一些實(shí)例中,集成電路布圖的設(shè)計(jì)中的置放步驟可具有標(biāo)準(zhǔn)單元的第一版本及第二版本兩者供選擇。在此情況中,單元庫(kù)可包含用于控制第一標(biāo)準(zhǔn)單元及第二標(biāo)準(zhǔn)單元兩者的置放及連接路由的控制信息。在此情況中,,可在置放步驟處藉由插入翻轉(zhuǎn)的第二標(biāo)準(zhǔn)單元而非第一標(biāo)準(zhǔn)單元的反射版本來(lái)避免邊界沖突。
[0029]另一方面,在其他實(shí)例中,僅第一標(biāo)準(zhǔn)單元可用于置放及路由(不論處于非反射形式或反射形式),且第二標(biāo)準(zhǔn)單元可隨后在后續(xù)映射步驟處替換第一標(biāo)準(zhǔn)單元的反射版本以便消除邊界沖突。在此情況中,標(biāo)準(zhǔn)單元庫(kù)可包含用于僅控制第一標(biāo)準(zhǔn)單元而非第二標(biāo)準(zhǔn)單元的置放及連接路由的控制信息。此方法可更有效率,因?yàn)榭山逵稍诓紙D產(chǎn)生過(guò)程的稍后階段插入而非需要在置放/路由階段完全復(fù)制單元的模型來(lái)減少定義第二標(biāo)準(zhǔn)單元的特性化數(shù)據(jù)的量。
[0030]儲(chǔ)存單元庫(kù)的儲(chǔ)存截至可為非瞬時(shí)儲(chǔ)存介質(zhì),諸如(例如)隨機(jī)存取存儲(chǔ)器、閃存、磁性儲(chǔ)存介質(zhì)或光盤。
[0031]本技術(shù)之進(jìn)一步方面、特征及優(yōu)勢(shì)將自示例性實(shí)施例之以下描述顯而易見(jiàn),將結(jié)合隨附圖式閱讀該等實(shí)施例。
【專利附圖】
【附圖說(shuō)明】
[0032]圖1A至圖1D圖示具有不同類型邊界區(qū)域之標(biāo)準(zhǔn)單元之實(shí)例;
[0033]圖2A及圖2B圖示在標(biāo)準(zhǔn)單元放置于集成電路布圖中之前反射標(biāo)準(zhǔn)單元的實(shí)例;
[0034]圖3圖示可發(fā)生在鄰接標(biāo)準(zhǔn)單元之邊界區(qū)域之間的邊界沖突之實(shí)例;
[0035]圖4示意性圖示使用標(biāo)準(zhǔn)單元庫(kù)產(chǎn)生集成電路布圖之示例性方法;
[0036]圖5A及圖5B示意性圖示標(biāo)準(zhǔn)單元的第一形式及第二形式;
[0037]圖6圖示將一個(gè)或更多個(gè)不兼容邊界區(qū)域映射至替代邊界區(qū)域的第一實(shí)例;
[0038]圖7圖示將不兼容邊界區(qū)域映射至兼容替代邊界區(qū)域的第二實(shí)例;
[0039]圖8圖示產(chǎn)生集成電路布圖的方法;以及
[0040]圖9示意性圖示用于執(zhí)行該方法的計(jì)算機(jī)系統(tǒng)的實(shí)例。
【具體實(shí)施方式】
[0041]圖1A至圖1D圖示用于潛在包括于集成電路布圖中的標(biāo)準(zhǔn)單元2、4、6、8的四個(gè)實(shí)例。各個(gè)標(biāo)準(zhǔn)單元包含功能電路系統(tǒng)10,該功能電路系統(tǒng)可包含集成電路的任何組件。舉例而言,功能電路系統(tǒng)10可為邏輯閘(諸如與門(AND gate)或或門(OR gate))、加法器或乘法器。在圖式中將使用字母F表示功能組件。各個(gè)標(biāo)準(zhǔn)單元包括在標(biāo)準(zhǔn)單元邊緣處的邊界區(qū)域12。盡管圖1A至圖1D圖示單元的左邊緣及右邊緣處的邊界區(qū)域12,但在其他實(shí)例中,代替左邊緣及右邊緣,或除左邊緣及右邊緣之外,可存在位于頂邊緣及底邊緣處的邊界區(qū)域。
[0042]集成電路設(shè)計(jì)規(guī)則或其他約束可引發(fā)不同類型的邊界區(qū)域12彼此不兼容,使得在集成電路布圖中無(wú)法鄰接彼此置放這些邊界區(qū)域。舉例而言,存在一種制造規(guī)則,該規(guī)則防止單元的相同層中的金屬線比某一最短距離更靠近,以例如確保所制造電路的正確功能性。因此,若鄰接單元具有金屬線行進(jìn)到接近于單元的邊緣的邊界區(qū)域,則這可能與鄰接單元的邊界區(qū)域中的類似金屬線沖突,從而違反制造規(guī)則。圖1A至圖1D圖示單元的相同層中的金屬線的不同排列的實(shí)例。在圖1A中,單元2在邊界區(qū)域12中沒(méi)有金屬線,且因此該單元的邊界區(qū)域12可與任何其他邊界區(qū)域12兼容。然而,圖1B至圖1D的單元4、6、8在邊界區(qū)域12中具有不同排列的金屬線。若緊接于彼此置放單元,該兩個(gè)單元皆具有在對(duì)應(yīng)位置處進(jìn)入邊界區(qū)域12的金屬線,則如此可引發(fā)邊界沖突。舉例而言,圖1B的標(biāo)準(zhǔn)單元4的左邊緣處的邊界區(qū)域BI與相同類型的鄰接標(biāo)準(zhǔn)單元4的右手邊緣處的邊界區(qū)域B2兼容。然而,邊界區(qū)域BI將不與圖1C所示的邊界區(qū)域C2或圖1D所示的邊界區(qū)域D兼容,因?yàn)猷徑訂卧邔⒃谶吔鐓^(qū)域的下半部分皆具有金屬線,此金屬線將比所需最短距離更接近。
[0043]盡管可藉由要求所有單元避免在如圖1A的邊界區(qū)域中延伸的金屬線來(lái)避免邊界沖突,但允許一些標(biāo)準(zhǔn)單元延伸至邊界區(qū)域是有用的,因?yàn)榇伺e使得單元在寬度上更小成為可能,以增加設(shè)計(jì)有此類單元的集成電路的功能密度。因此,可能優(yōu)選使用可能發(fā)生邊界沖突的單元。
[0044]除延伸至邊界區(qū)域12中的標(biāo)準(zhǔn)單元的金屬線或其他組件的排列外,對(duì)于為何標(biāo)準(zhǔn)單元的某些邊界區(qū)域彼此不兼容可存在其他原因。舉例而言,在半導(dǎo)體的鄰接區(qū)域的摻雜濃度中可存在差異。在由英國(guó)劍橋的ARM Limited提交的美國(guó)專利申請(qǐng)案US2010/0115484 Al中提供關(guān)于不同類型單元邊界的更多信息,該申請(qǐng)案的內(nèi)容以引用之方式并入本文。
[0045]有時(shí),當(dāng)在集成電路布圖中置放標(biāo)準(zhǔn)單元時(shí)可需要反射標(biāo)準(zhǔn)單元。舉例而言,圖2A圖示包含三個(gè)組件A、B、C的標(biāo)準(zhǔn)單元20的實(shí)例。在圖2A的實(shí)例中,需要將組件C連接至單元20的左側(cè)的標(biāo)準(zhǔn)單元,而需要將組件A、B連接至單元20的右側(cè)的標(biāo)準(zhǔn)單元。然而,此意謂著連接22必須越過(guò)單元20的其他組件到達(dá)鄰接單元,且因此連接22用盡單元20中路由連接可用的很多空間。
[0046]如圖2B所示,藉由關(guān)于Y軸24反射(reflect)標(biāo)準(zhǔn)單元20,盡管將組件A、B、C路由至如前所述的單元20的任一側(cè)處的相同單元,但不再需要路由連接越過(guò)單元20中的大部件。舉例而言,反射意謂著組件C現(xiàn)比圖2A更接近于待連接的左鄰接單元。此意謂著可縮短連接22中的一些,產(chǎn)生在標(biāo)準(zhǔn)單元20上方路由額外連接的空間26,該空間在圖2A中原本不可能。因此,當(dāng)在集成電路布圖中置放單元時(shí),翻轉(zhuǎn)標(biāo)準(zhǔn)單元可為有用。盡管圖2A及圖2B圖示關(guān)于Y軸24的反射,但在其他實(shí)例中,反射可關(guān)于圖2B所指示的X軸28或?qū)蔷€Z軸29或另一軸。較佳地,反射可關(guān)于將單元20 —分為二的軸。
[0047]然而,若待反射的標(biāo)準(zhǔn)單元具有與其他邊界區(qū)域有限兼容性的邊界區(qū)域12,則反射該單元可引入額外邊界沖突,若未反射該單元,則原本不會(huì)發(fā)生這些邊界沖突。舉例而言,可存在圖1B所示的類型4的標(biāo)準(zhǔn)單元行,在該行中各個(gè)單元具有左手側(cè)的邊界區(qū)域BI及右手側(cè)的邊界區(qū)域B2。在單元的非反射形式中,可鄰接于彼此置放此類單元,因?yàn)樵诟鱾€(gè)邊界處,區(qū)域BI及B2彼此兼容(區(qū)域B2的上半部分中的金屬線與區(qū)域BI下半部分中的金屬線不沖突)。然而,如圖3所示,若關(guān)于Y軸反射單元30中的兩者,則針對(duì)這些單元30交換邊界區(qū)域B1、B2,且因此當(dāng)相同區(qū)域BI或相同區(qū)域B2的兩者鄰接于彼此時(shí)發(fā)生邊界沖突。通常,藉由在如圖3所示的鄰接單元之間插入空間32已解決此問(wèn)題,但此增加了集成電路的面積。或者,藉由防止如圖2A及圖2B所示的反射可解決此問(wèn)題。然而,此限制了單元置放及路由中的設(shè)計(jì)自由,例如消除了使圖2B所示的連接路由更有效率的幾率。避免反射可需要對(duì)單元的輸入與輸出,這些輸入與輸出以復(fù)雜方式越過(guò)彼此路由以到達(dá)適宜管腳。
[0048]圖4圖示產(chǎn)生集成電路布圖的方法,該方法容許在置放上翻轉(zhuǎn)單元而無(wú)需在沖突單元之間插入額外空間。使用計(jì)算機(jī)(例如,EDA (Electronic Design Automat1n;電子設(shè)計(jì)自動(dòng)化)工具)實(shí)施該方法。計(jì)算機(jī)可例如為下文關(guān)于圖9所論述的計(jì)算機(jī)。電路設(shè)計(jì)者指定待設(shè)計(jì)的集成電路的一些功能需求40。舉例而言,功能需求可提供所欲電路的閘(gate)水平表示或使用電路的高水平表示(諸如使用寄存器傳送語(yǔ)言(RegisterTransfer Language ;RTL))。舉例而言,在藉由實(shí)施方法的計(jì)算機(jī)可讀取的記錄介質(zhì)上提供單元庫(kù)42。單元庫(kù)42包括定義標(biāo)準(zhǔn)單元44的數(shù)據(jù),各個(gè)標(biāo)準(zhǔn)單元對(duì)應(yīng)于待包括在集成電路設(shè)計(jì)中的潛在功能組件。在置放步驟50處,從庫(kù)42中選擇標(biāo)準(zhǔn)單元44以滿足輸入功能需求40,且產(chǎn)生包括選定單元44的單元置放52。舉例而言,單元置放52可包含選自庫(kù)42的單元44的各種行54及列56。在單元置放52中置放標(biāo)準(zhǔn)單元前,置放步驟反射來(lái)自庫(kù)42的一些標(biāo)準(zhǔn)單元44。在圖式中,使用向后字母F指示反射標(biāo)準(zhǔn)單元,與此相反,使用正常字母F指示非反射單元。與先前設(shè)計(jì)過(guò)程不同,置放步驟50容許置放單元及反射單元,使得邊界沖突(此在圖4中藉由解釋標(biāo)記指示)。因此,不需要置放步驟考慮鄰接單元的邊界是否彼此兼容。置放步驟50置放單元,使得邊界直接彼此鄰接,而無(wú)需介入填充物區(qū)域。
[0049]在路由步驟58處,確定單元之間的各種連接60。舉例而言,連接60可實(shí)施由單元置放52的不同單元表示的組件之間的功能關(guān)系。在流式輸出步驟62處,流式輸出單元置放52以便設(shè)計(jì)規(guī)則驗(yàn)證或制造規(guī)則驗(yàn)證。設(shè)計(jì)/制造規(guī)則驗(yàn)證包含一個(gè)或更多個(gè)步驟以檢查藉由置放及路由步驟所產(chǎn)生的集成電路布圖是否符合各種規(guī)則,這些規(guī)則控制可如何制造集成電路。舉例而言,驗(yàn)證可檢查單元的相同層中不存在比最短距離更接近的兩個(gè)金屬線,因?yàn)榇丝稍谥圃旒呻娐窌r(shí)阻礙集成電路適當(dāng)?shù)貓?zhí)行功能。若集成電路設(shè)計(jì)驗(yàn)證失敗,則被退回置放步驟50以產(chǎn)生新的置放。
[0050]流式輸出步驟62包括映射步驟,該映射步驟用于將置放單元的不兼容邊界區(qū)域映射(map)至替代邊界區(qū)域以消除邊界沖突,且因此產(chǎn)生最終集成電路布圖。在圖4中所示的實(shí)例中,用替代單元70替換單元置放52的目標(biāo)單元68,該替代單元具有與目標(biāo)單元68相同的功能組件但具有不同的邊界區(qū)域排列,以避免與鄰接單元72沖突。藉由在流式輸出步驟62處用替代單元替換單元,可在無(wú)邊界沖突下產(chǎn)生最終集成電路布圖,無(wú)需遭受單元置放步驟50處的復(fù)雜性或增加電路面積。
[0051]為了啟用圖4所示的映射,向庫(kù)42提供替代形式的標(biāo)準(zhǔn)單元是有用的,該替代形式的標(biāo)準(zhǔn)單元提供相同功能性,但功能組件的元件相對(duì)于彼此及邊界區(qū)域具有不同的相對(duì)位置。圖5A及圖5B圖示一實(shí)例。圖5A圖示標(biāo)準(zhǔn)單元的第一形式80,該標(biāo)準(zhǔn)單元具有介于標(biāo)準(zhǔn)單元的第一邊緣92處的第一邊界區(qū)域BI與標(biāo)準(zhǔn)單元的第二邊緣94處的第二邊界區(qū)域B2之間的預(yù)定功能組件90。圖5B圖示標(biāo)準(zhǔn)單元的第二形式82,其中邊界區(qū)域BI及B2仍分別處于第一邊緣92及第二邊緣94處,但用反射功能組件96替換功能組件90,該反射功能組件96關(guān)于Y軸相對(duì)于標(biāo)準(zhǔn)單元的第一形式80中的功能組件90被反射。反射功能組件96不需要為第一形式80中的功能組件90的精確鏡像。使反射成為翻轉(zhuǎn)功能組件的元件的相對(duì)位置足夠(例如,在圖2A及圖2B的實(shí)例中,組件C在非反射形式中處于組件A與B的右側(cè)及在反射形式中處于組件A與B的左側(cè))。此外,如圖5A的實(shí)例所示,功能組件90可具有待連接至單元的右手邊緣處的邊界區(qū)域B2的部分P及待連接至左手邊緣處的邊界區(qū)域BI的部分Q。在單元的第二形式82中,部分P及Q的相對(duì)位置可隨反射功能組件90而變化,但部分P及Q可仍需要分別連接至右手及左手邊緣。因此,單元的第二形式82的連接87可不為單元的第一形式80的對(duì)應(yīng)連接87的鏡像。
[0052]圖6圖示圖5A及圖5B所示的標(biāo)準(zhǔn)單元的第一形式及第二形式如何可為有用的實(shí)例。如圖6的上半部分所示,在單元置放50及路由52處,可由單元庫(kù)42使用標(biāo)準(zhǔn)單元的第一形式80以控制單元置放52。單元庫(kù)42可選擇包括第一形式80和第一形式的反射版本86中的任一者,在該反射版本中關(guān)于單元置放52中的電線存取反射整個(gè)單元(包括被反射的邊界區(qū)域)。由于反射單元86是單元的全反射,自動(dòng)化設(shè)計(jì)系統(tǒng)可自第一形式80確定反射單元,而無(wú)需針對(duì)置放/路由階段建模任何額外單元。然而,盡管此反射可幫助連接路由,但該反射在單元邊界處弓I入邊界違規(guī)94。
[0053]如圖6的下半部分所示,在流式輸出步驟期間,藉由提供標(biāo)準(zhǔn)單元的第二形式82,可將在置放及路由后所形成的第一形式80的反射版本86映射至第二形式82以消除邊界違規(guī)??墒褂孟鄬?duì)較少特性化數(shù)據(jù)(例如,所需的唯一模型檢視可為CDL或GDS2)定義單元替代單元的第二形式82,從而避免需要在置放或路由步驟處提供相同單元的兩個(gè)或更多個(gè)完全模型。
[0054]圖7圖示將邊界區(qū)域映射至替代邊界區(qū)域的第二實(shí)例。在此實(shí)例中,可存在多個(gè)可用單元供選擇,而非僅在單元的兩種形式之間選擇。舉例而言,在單元可具有圖1A至圖1D所示不同類型的邊界區(qū)域的情況下,則可發(fā)生一系列不同類型邊界違規(guī)。圖7的上半部分圖示一實(shí)例,其中在單元邊界C2-B1及D-Bl處發(fā)生邊界違規(guī)100,因?yàn)榻饘倨芈段镌谘豗軸的對(duì)應(yīng)點(diǎn)處從邊界的兩側(cè)進(jìn)入邊界區(qū)域。如圖7圖的下半部分所示,藉由將具有邊界類型B1、B2的單元102映射至具有邊界類型Cl、C2的單元104及將具有邊界類型B1、B2的單元106映射至具有邊界類型A、A的單元108可消除這些邊界違規(guī)。
[0055]盡管圖7圖示在映射步驟中替換整個(gè)單元的實(shí)例,但亦可能提供一系統(tǒng),該系統(tǒng)可僅替換單元中的單元邊界部分,而不替換單元中的其余部分。因此,可存在針對(duì)映射階段的相同單元可實(shí)施的多個(gè)邊緣類型。
[0056]此外,可能根據(jù)需要將具有多個(gè)邊界類型的單元與僅具有單個(gè)邊界類型的單元及不具有任何邊界類型限制的其他單元混合,僅僅藉由在置放步驟中將單元置放在所欲位置(忽略任何邊界違規(guī))及隨后若需要在稍后步驟中將邊界區(qū)域映射至替代邊界區(qū)域。
[0057]圖8是圖示產(chǎn)生集成電路布圖的方法的流程圖。在步驟200處,輸入待產(chǎn)生的集成電路的功能描述。在步驟202處,確定來(lái)自庫(kù)42的標(biāo)準(zhǔn)單元的置放52。置放步驟包括關(guān)于軸自由翻轉(zhuǎn)(反射)一個(gè)或更多個(gè)單元,例如以改良路由效率。置放步驟允許置放單元以使得存在不兼容邊界區(qū)域緊接于彼此置放的邊界沖突。在步驟204處,確定路由連接60以互連單元置放52的不同單元。在步驟206處,將與鄰接邊界區(qū)域沖突的一個(gè)或更多個(gè)不兼容邊界區(qū)域映射至消除沖突的替代邊界區(qū)域。此步驟可使用指示何種類型的單元邊界與其他類型單元邊界沖突的兼容性信息,來(lái)確定何處發(fā)生邊界沖突及如何使用替代邊界區(qū)域消除沖突。在步驟208處,在如步驟206中的邊界區(qū)域映射至替代區(qū)域的情況下,使單元置放52流式輸出用于設(shè)計(jì)規(guī)則驗(yàn)證及/或制造規(guī)則驗(yàn)證。設(shè)計(jì)規(guī)則驗(yàn)證與制造規(guī)則驗(yàn)證類似,但可對(duì)于符合任何設(shè)計(jì)/制造約束執(zhí)行略有不同的檢查。在步驟210處,例如使用儲(chǔ)存介質(zhì)或通訊裝置輸出流式輸出集成電路布圖。隨后可將該布圖供應(yīng)給制造商或制造裝置,且在步驟212處,對(duì)用以上步驟產(chǎn)生的布圖制造集成電路。盡管在圖8中將步驟206與208圖示為單獨(dú)步驟,但在其他實(shí)例中,這些步驟可組合于相同步驟中。
[0058]圖9示意性圖示通用計(jì)算機(jī)300的實(shí)例,該通用計(jì)算機(jī)可用于實(shí)施上文所描述之技術(shù)且特定而言為集成電路的布圖的產(chǎn)生。通用計(jì)算機(jī)300包括中央處理單元302、隨機(jī)存取存儲(chǔ)器304、只讀存儲(chǔ)器306、網(wǎng)絡(luò)接口卡308、硬盤驅(qū)動(dòng)310、顯示驅(qū)動(dòng)器312及監(jiān)視器314及具有鍵盤318及鼠標(biāo)320的用戶輸入/輸出電路316,該等組件全部經(jīng)由共同總線322連接。在操作中,中央處理單元302可執(zhí)行計(jì)算機(jī)程序指令,這些指令可儲(chǔ)存于隨機(jī)存取存儲(chǔ)器304、只讀存儲(chǔ)器306及硬盤驅(qū)動(dòng)310中的一個(gè)或更多者中,或經(jīng)由網(wǎng)絡(luò)接口卡308動(dòng)態(tài)下載。所執(zhí)行的處理的結(jié)果可經(jīng)由顯示驅(qū)動(dòng)器312及監(jiān)視器314顯示給用戶??勺枣I盤318或鼠標(biāo)320經(jīng)由用戶輸入輸出電路316接收控制通用計(jì)算機(jī)300的操作的用戶輸入。應(yīng)將了解,可以各種不同計(jì)算機(jī)語(yǔ)言寫入計(jì)算機(jī)程序。計(jì)算機(jī)程序可儲(chǔ)存及分散于記錄介質(zhì)上或動(dòng)態(tài)下載至通用計(jì)算機(jī)300。當(dāng)在適宜計(jì)算機(jī)程序的控制下操作時(shí),通用計(jì)算機(jī)300可執(zhí)行上文所描述之技術(shù)且可被認(rèn)為形成用于執(zhí)行上文所描述技術(shù)的設(shè)備。通用計(jì)算機(jī)300的架構(gòu)可存在相當(dāng)大的變化且圖9僅為一個(gè)實(shí)例。
[0059]盡管已在本文中描述了本技術(shù)的特定實(shí)施例,但將顯而易見(jiàn)的是,本發(fā)明并不限于這些特定實(shí)施例,且可在本發(fā)明的范圍內(nèi)進(jìn)行許多修改及添加。舉例而言,可在不脫離本發(fā)明的范圍的情況下進(jìn)行以下從屬權(quán)利要求的特征的各種組合。
【權(quán)利要求】
1.一種使用定義多個(gè)標(biāo)準(zhǔn)單元的標(biāo)準(zhǔn)單元庫(kù)產(chǎn)生集成電路布圖的計(jì)算機(jī)實(shí)施方法,各個(gè)標(biāo)準(zhǔn)單元定義潛在功能組件以便包括在所述集成電路布圖中; 該方法包含以下步驟: 在容許一個(gè)或更多個(gè)邊界沖突的同時(shí)確定選自所述標(biāo)準(zhǔn)單元庫(kù)的標(biāo)準(zhǔn)單元的置放,在所述沖突中,在所述置放的鄰接標(biāo)準(zhǔn)單元中,不兼容邊界區(qū)域被鄰接于彼此置放,所述不兼容邊界區(qū)域包含在所述集成電路布圖中無(wú)法鄰接于彼此置放的邊界區(qū)域; 確定所述置放中的標(biāo)準(zhǔn)單元之間的路由連接;以及 基于所述置放及所述路由連接產(chǎn)生所述集成電路布圖,其中所述產(chǎn)生包含一映射步驟,在該映射步驟中,針對(duì)邊界沖突中的至少一者,將所述置放中的不兼容邊界區(qū)域中的至少一者映射至所述集成電路布圖中的一替代邊界區(qū)域以消除該邊界沖突。
2.如權(quán)利要求1所述的方法,其中確定所述置放的步驟包含:在所述置放中置放反射單元,該反射單元包含來(lái)自所述標(biāo)準(zhǔn)單元庫(kù)的選定標(biāo)準(zhǔn)單元的反射版本。
3.如權(quán)利要求2所述的方法,其中藉由反射所述選定標(biāo)準(zhǔn)單元的該功能組件及邊界區(qū)域以形成反射單元來(lái)形成所述反射單元。
4.如權(quán)利要求1所述的方法,其中確定所述置放的步驟包含:在所述置放中直接鄰接彼此置放具有至少一個(gè)邊界沖突的不兼容邊界區(qū)域的標(biāo)準(zhǔn)單元。
5.如權(quán)利要求1所述的方法,其中所述映射步驟包含:用所述集成電路布圖中的替代標(biāo)準(zhǔn)單元替換所述置放的目標(biāo)標(biāo)準(zhǔn)單元,所述目標(biāo)標(biāo)準(zhǔn)單元包含所述不兼容邊界區(qū)域中的至少一者,所述替代標(biāo)準(zhǔn)單元包含替代邊界區(qū)域及與所述目標(biāo)標(biāo)準(zhǔn)單元相同的功能組件。
6.如權(quán)利要求5所述的方法,其中所述目標(biāo)標(biāo)準(zhǔn)單元包含該標(biāo)準(zhǔn)單元的第一邊緣處的第一邊界區(qū)域,及該標(biāo)準(zhǔn)單元的與所述第一邊緣相對(duì)的第二邊緣處的第二邊界區(qū)域;以及 所述替代標(biāo)準(zhǔn)單元包含該標(biāo)準(zhǔn)單元的第一邊緣處的第二邊界區(qū)域,及該標(biāo)準(zhǔn)單元的第二邊緣處的第一邊界區(qū)域。
7.如權(quán)利要求6所述的方法,其中所述目標(biāo)標(biāo)準(zhǔn)單元包含來(lái)自所述標(biāo)準(zhǔn)單元庫(kù)的選定標(biāo)準(zhǔn)單元的反射版本,所述選定標(biāo)準(zhǔn)單元包含第一邊緣處的第二邊界區(qū)域、第二邊緣處的第一邊界區(qū)域及第一邊緣與第二邊緣之間的預(yù)定功能組件;以及 所述替代標(biāo)準(zhǔn)單元包含所述第一邊緣與第二邊緣之間的預(yù)定功能組件的反射版本。
8.如權(quán)利要求1所述的方法,其中在用于輸出所述集成電路布圖以便設(shè)計(jì)規(guī)則驗(yàn)證或制造規(guī)則驗(yàn)證的步驟處執(zhí)行所述映射步驟。
9.如權(quán)利要求1所述的方法,其中所述映射步驟基于兼容性信息將所述不兼容邊界區(qū)域中的至少一者映射至所述替代邊界區(qū)域,所述兼容性信息指示多個(gè)不同類型的邊界區(qū)域之間的兼容性。
10.如權(quán)利要求1所述的方法,該方法包含:輸出所產(chǎn)生的集成電路布圖的步驟。
11.如權(quán)利要求1所述的方法,該方法包含:制造具有所產(chǎn)生的集成電路布圖的集成電路的步驟。
12.—種如權(quán)利要求11所述的方法制造的集成電路。
13.一種計(jì)算機(jī),該計(jì)算機(jī)經(jīng)配置以執(zhí)行如權(quán)利要求1所述的方法。
14.一種儲(chǔ)存標(biāo)準(zhǔn)單元庫(kù)的計(jì)算機(jī)可讀取儲(chǔ)存介質(zhì),所述標(biāo)準(zhǔn)單元庫(kù)包含定義要包括在集成電路布圖中的多個(gè)標(biāo)準(zhǔn)單元的信息,各個(gè)標(biāo)準(zhǔn)單元包含第一邊緣及與第一邊緣相對(duì)的第二邊緣; 該多個(gè)標(biāo)準(zhǔn)單元包含: 第一標(biāo)準(zhǔn)單元,該第一標(biāo)準(zhǔn)單元包含第一邊緣處的第一邊界區(qū)域、第二邊緣處的第二邊界區(qū)域及該第一邊緣與該第二邊緣之間的預(yù)定功能組件;以及 第二標(biāo)準(zhǔn)單元,該第二標(biāo)準(zhǔn)單元包含第一邊緣處的第一邊界區(qū)域、第二邊緣處的第二邊界區(qū)域及該第一邊緣與該第二邊緣之間的預(yù)定功能組件的反射版本。
15.如權(quán)利要求14所述的計(jì)算機(jī)可讀取儲(chǔ)存介質(zhì),其中該標(biāo)準(zhǔn)單元庫(kù)包含控制信息,該控制信息用于控制該第一標(biāo)準(zhǔn)單元及該第二標(biāo)準(zhǔn)單元兩者的置放及連接路由。
16.如權(quán)利要求14所述的計(jì)算機(jī)可讀取儲(chǔ)存介質(zhì),其中該標(biāo)準(zhǔn)單元庫(kù)包含控制信息,該控制信息用于控制該第一標(biāo)準(zhǔn)單元而非該第二標(biāo)準(zhǔn)單元的置放及連接路由。
17.如權(quán)利要求16所述的計(jì)算機(jī)可讀取儲(chǔ)存介質(zhì),其中該標(biāo)準(zhǔn)單元庫(kù)包含控制信息,該控制信息用于在置放及連接路由后控制用該第二標(biāo)準(zhǔn)單元對(duì)該第一標(biāo)準(zhǔn)單元的反射版本的替換。
【文檔編號(hào)】G06F17/50GK104517004SQ201410497838
【公開(kāi)日】2015年4月15日 申請(qǐng)日期:2014年9月25日 優(yōu)先權(quán)日:2013年9月27日
【發(fā)明者】馬林·維尼·小弗雷德里克, 珍·盧克·佩洛依 申請(qǐng)人:Arm 有限公司