專利名稱:用于具有基本設(shè)計限制的集成電路的技術(shù)遷移的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及用于集成電路(IC)的技術(shù)遷移(migration),更具體地說,涉及用于具有基本設(shè)計限制的IC的技術(shù)遷移的方法、系統(tǒng)和程序產(chǎn)品。
背景技術(shù):
設(shè)計遷移是在超大規(guī)模集成(VLSI)電路設(shè)計中實現(xiàn)最大布圖生產(chǎn)率所必需的工藝。為了根據(jù)基于簡單邊緣的基本規(guī)則將符號布圖轉(zhuǎn)移為物理布圖,研發(fā)了基于常規(guī)圖形的壓縮技術(shù)。這些技術(shù)也曾用于解決設(shè)計遷移問題。最近,設(shè)計遷移問題的最小布圖擾動(perturbation)公式化產(chǎn)生一種保持源布圖的完整性的方法。當(dāng)現(xiàn)有設(shè)計遷移軟件繼續(xù)被精細(xì)調(diào)整,其功能變得比較成熟。但是,因為技術(shù)發(fā)展到亞波長范圍,所以以基本設(shè)計限制的分組形式出現(xiàn)新的布圖挑戰(zhàn),在技術(shù)中有時被稱為“基本設(shè)計限制”(下面,稱為“RDR”)。提出RDR,以很好地更迭相移掩模設(shè)計和控制超深亞微米技術(shù)中的多晶硅-導(dǎo)體級的線寬。RDR需要,例如,有限數(shù)目的窄線寬,單個取向的窄特征,在均勻和大間距上布置的窄特征,所有關(guān)鍵柵極的均勻近似環(huán)境以及關(guān)鍵柵極的有限數(shù)目的間距。該規(guī)則的設(shè)計風(fēng)格對設(shè)計遷移方法提出新的挑戰(zhàn),以及在現(xiàn)有設(shè)計遷移軟件中需要新的功能。
鑒于上文,需要一種解決相關(guān)技術(shù)的問題的技術(shù)。
發(fā)明內(nèi)容
本發(fā)明包括用于使集成電路設(shè)計從不具有RDR的源技術(shù)遷移至具有RDR的目標(biāo)技術(shù)的方法、系統(tǒng)和程序產(chǎn)品。本發(fā)明實現(xiàn)滿足RDR的最小布圖擾動方法。本發(fā)明也解決插入一個或多個需要的虛擬形狀并延伸關(guān)鍵形狀和/或虛擬形狀的長度以滿足“邊緣覆蓋度(coverage)”要求的問題。
本發(fā)明的第一方面涉及一種用于使集成電路(IC)設(shè)計布圖從沒有基本設(shè)計限制(RDR)的源技術(shù)遷移至具有RDR的目標(biāo)技術(shù)的方法,該方法包括以下步驟認(rèn)證(legalizing)設(shè)計布圖,以滿足RDR柵格約束并在第一方向上固定任意基本規(guī)則違規(guī)(violation);插入需要的虛擬形狀;以及運(yùn)行最小擾動分析,以便解決至少一個關(guān)鍵形狀的邊緣覆蓋度需求并在第二方向上固定任意基本規(guī)則違規(guī)。
本發(fā)明的第二方面涉及一種用于使集成電路(IC)設(shè)計布圖從沒有基本設(shè)計限制(RDR)的源技術(shù)遷移至具有RDR的目標(biāo)技術(shù)的系統(tǒng),該系統(tǒng)包括用于認(rèn)證布圖,以滿足RDR柵格約束并在第一方向上固定任意基本規(guī)則違規(guī)的裝置;用于插入需要的虛擬形狀的裝置;以及用于運(yùn)行最小擾動分析,以便解決至少一個關(guān)鍵形狀的邊緣覆蓋度需求并在第二方向上固定任意基本規(guī)則違規(guī)的裝置。
本發(fā)明的第三方面涉及一種計算機(jī)程序產(chǎn)品,包括具有嵌入其中的計算機(jī)可讀程序代碼的計算機(jī)可用介質(zhì),用于將集成電路(IC)設(shè)計從沒有基本設(shè)計限制(RDR)的源技術(shù)遷移至具有RDR的目標(biāo)技術(shù),該程序產(chǎn)品包括配置為認(rèn)證設(shè)計布圖,以滿足RDR柵格約束并在第一方向上固定任意基本規(guī)則違規(guī)的程序代碼;配置為插入需要的虛擬形狀的程序代碼;以及配置為運(yùn)行最小擾動分析,以便解決至少一個關(guān)鍵形狀的邊緣覆蓋度需求并在第二方向上固定任意基本規(guī)則違規(guī)的程序代碼。
本發(fā)明的第四方面涉及一種用于利用原始設(shè)計的最小布圖擾動認(rèn)證受基本規(guī)則和基本設(shè)計限制(RDR)柵格約束影響的集成電路設(shè)計布圖的方法,該方法包括以下步驟利用最小布圖擾動,同時滿足所述RDR柵格約束,計算多個關(guān)鍵形狀的每一個的目標(biāo)間距上(on-pitch)位置;以及通過將關(guān)鍵形狀的目標(biāo)間距上位置作為多個關(guān)鍵形狀和設(shè)計布圖邊界之間的一組基本規(guī)則間隔約束,認(rèn)證所述設(shè)計布圖作為線性規(guī)劃問題。
本發(fā)明的第五方面涉及一種用于利用原始設(shè)計的最小布圖擾動認(rèn)證受基本規(guī)則和基本設(shè)計限制(RDR)柵格約束影響的集成電路設(shè)計布圖的系統(tǒng),該系統(tǒng)包括用于利用最小布圖擾動,同時滿足所述RDR柵格約束,計算多個關(guān)鍵形狀的每一個的目標(biāo)間距上位置的裝置;以及用于通過將關(guān)鍵形狀的目標(biāo)間距上位置作為多個關(guān)鍵形狀和設(shè)計布圖邊界之間的一組基本規(guī)則間隔約束,認(rèn)證所述設(shè)計布圖作為線性規(guī)劃問題的裝置。
本發(fā)明的第六方面涉及一種計算機(jī)程序產(chǎn)品,包括具有嵌入其中的計算機(jī)可讀程序代碼的計算機(jī)可用介質(zhì),用于利用原始設(shè)計的最小布圖擾動認(rèn)證受基本規(guī)則和基本設(shè)計限制(RDR)柵格約束影響的集成電路設(shè)計布圖,該程序產(chǎn)品包括配置為利用最小布圖擾動,同時滿足所述RDR柵格約束,計算多個關(guān)鍵形狀的每一個的目標(biāo)間距上位置的程序代碼;以及配置為通過將關(guān)鍵形狀的目標(biāo)間距上位置作為多個關(guān)鍵形狀和設(shè)計布圖邊界之間的一組基本規(guī)則間隔約束,認(rèn)證所述設(shè)計布圖作為線性規(guī)劃問題的程序代碼。
從下面本發(fā)明的實施例的更具體描述,本發(fā)明的上述及其它特征將顯而易見。
下面將參考以下附圖詳細(xì)描述本發(fā)明的實施例,其中相同的標(biāo)識表示相同的部分,以及其中圖1示出了認(rèn)證之前關(guān)鍵柵極的說明性初始布圖。
圖2示出了在插入虛擬形狀以滿足RDR的認(rèn)證之后圖1的布圖。
圖3A-B示出了包括關(guān)鍵形狀和虛擬形狀以及柵極延伸部分的示例布圖。
圖4示出了根據(jù)本發(fā)明的一個實施例的遷移系統(tǒng)。
圖5示出圖4的系統(tǒng)的操作方法的流程圖。
圖6示出了在初始階段的說明性集成電路設(shè)計布圖。
圖7示出了在擴(kuò)散區(qū)重配置(resizing)之后圖6的IC設(shè)計布圖。圖8示出了在虛擬形狀插入之后圖7的IC設(shè)計布圖。
圖9示出了在形狀延伸之后圖8的IC設(shè)計布圖。
圖10-16示出了根據(jù)圖5的方法與產(chǎn)生形狀延伸部分有關(guān)的各種形狀的細(xì)節(jié)。
圖17示出圖5的操作方法細(xì)節(jié)的一個實施例的流程圖。
圖18示出了說明性IC設(shè)計布圖,以說明用于根據(jù)圖5的方法模擬(modeling)邊緣加權(quán)(edge-weighted)圖形的形狀的相鄰性。
圖19A-D示出了各種形狀布置,以說明在RDR環(huán)境下的關(guān)鍵形狀。
圖20示出了說明性的邊緣加權(quán)圖形。
圖21A-E示出了根據(jù)圖17的方法用于確定目標(biāo)位置的一個實施例的各個步驟。
具體實施例方式
本發(fā)明包括用于使集成電路(IC)設(shè)計從沒有RDR的源技術(shù)遷移至具有RDR的目標(biāo)技術(shù)的系統(tǒng)、方法和程序產(chǎn)品。盡管目前僅僅關(guān)鍵柵極需要RDR,但是本發(fā)明可應(yīng)用于認(rèn)證具有類似約束的形狀,例如金屬布線形狀。因此,在此將使用術(shù)語“關(guān)鍵形狀”指需要滿足柵格約束的柵極、PC形狀或金屬布線形狀。關(guān)鍵形狀將不同于“虛擬形狀”,本發(fā)明可以插入“虛擬形狀”,以進(jìn)行IC設(shè)計認(rèn)證和滿足設(shè)計規(guī)則需求。
在評估RDR時,通過多晶硅-導(dǎo)體(PC)形狀和擴(kuò)散區(qū)(RX)之間的交叉點(diǎn)形成柵極?!伴g距”被定義為兩個相鄰柵極的中心線之間的間隔?!瓣P(guān)鍵柵極”是必須遵守RDR,以便在制造工藝中被正確地印刷的柵極。通常,關(guān)鍵柵極在擴(kuò)散區(qū)上具有最小PC寬度。下面,在圖1-2中示出了在認(rèn)證處理中關(guān)鍵柵極的間隔約束的示例情況。(間隔約束也稱為“柵格約束”,因為它們需要在大的柵格上布置關(guān)鍵柵極)。圖1示出了在認(rèn)證之前,關(guān)鍵柵極12的初始布圖10。如圖2所示,對于在擴(kuò)散區(qū)上具有60nm PC寬度的關(guān)鍵柵極,給定一組固定的間距,例如,250nm或500nm,在認(rèn)證之后,所有關(guān)鍵柵極必須被置于在190nm或440nm的相鄰關(guān)鍵柵極之間具有250nm間隔的柵格上。圖2示出了已插入虛擬PC形狀14以便提供由RDR要求的均勻近似環(huán)境的認(rèn)證之后的布圖10。為了說明下面的柵格約束,在圖2中,繪制了柵格線,以匹配每個關(guān)鍵柵極的左邊緣。當(dāng)關(guān)鍵柵極在RX上具有均勻的PC寬度時,柵格線是否匹配關(guān)鍵柵極的中心線或邊緣線并不重要,只要滿足間隔限制。為了描述,假定關(guān)鍵柵極在RX上具有最小PC寬度,且因此該間距是最小柵極間隔和RX上的最小PC寬度的總和。
圖3A-B示出了“邊緣覆蓋度”需求的示例情況,即,由RDR要求的PC形狀端部延伸部分。這些圖包括關(guān)鍵柵極b、c和d,虛擬PC形狀a和e以及擴(kuò)散區(qū)18。在圖3A-B中,柵格線匹配PC形狀的中心線。虛擬PC形狀a和e被要求插入設(shè)計中,以便每個關(guān)鍵柵極b,c,d的左右被PC形狀圍繞,以便提供均勻近似環(huán)境。此外,參考圖3B,水平線16A,16B,16C表示周圍的PC形狀必須延伸以便相鄰的PC形狀被正確地印刷的高度。在該例子中,關(guān)鍵柵極b上的邊緣3需要虛擬形狀a上的邊緣2具有相同的長度,以便被正確地印刷。同樣地,關(guān)鍵柵極b上的邊緣4需要關(guān)鍵柵極c上的邊緣5長達(dá)邊緣4,以便邊緣4可以被正確地印刷。在此情況下,關(guān)鍵柵極b需要較短的關(guān)鍵柵極c,以向上延伸超出水平線16B至水平線16A。因此在關(guān)鍵柵極c上需要“柵極延伸部分”20,以滿足RDR,如圖3B所示。在此使用的“柵極延伸部分”是相鄰柵極的正確印刷所需要的柵極的任意延伸部分。但是,關(guān)鍵柵極d上的邊緣7,僅僅需要關(guān)鍵柵極c上的長達(dá)邊緣7的部分邊緣6。在該例子中,基本規(guī)則手冊要求所有的關(guān)鍵柵極邊緣(擴(kuò)散區(qū)上的關(guān)鍵柵極邊緣加上超出擴(kuò)散區(qū)的延伸值)使另一PC形狀邊緣離開一個或兩個間距,用于關(guān)鍵部分(實際柵極加上每個端部的延伸部分)的整個長度。該規(guī)則需要延伸部分和附加的虛擬形狀。圖3B的邊緣/柵極關(guān)系的細(xì)節(jié)如下
上面兩個例子說明當(dāng)設(shè)計從沒有RDR的源技術(shù)遷移至具有RDR的目標(biāo)技術(shù)時技術(shù)遷移工藝的新需要。
布圖壓縮是用于將設(shè)計遷移至不同技術(shù)的一種技術(shù),其基于最長路徑算法技術(shù)。壓縮技術(shù)已應(yīng)用于如上所述的柵格約束,如在IEEE Transactionof Computer-Aided Design 1987中Lee和Tang的″VLSI layout compactionwith grid and mixed constraints″所述。在操作中,布圖壓縮技術(shù)盡可能地壓縮布圖,同時滿足柵格約束。最小布圖擾動是另一技術(shù),該技術(shù)使用用于遷移處理中的布圖改進(jìn)的新標(biāo)準(zhǔn),以利用布圖的最小總擾動固定設(shè)計規(guī)則違規(guī)。與布圖壓縮技術(shù)相比較,基于最小布圖干擾的認(rèn)證技術(shù)固定規(guī)則違規(guī)并盡可能地保持給定的布圖。最小布圖擾動技術(shù)也是有益的,因為它解決引起正循環(huán)并不能被基于常規(guī)最長路徑的壓縮技術(shù)處理的沖突規(guī)則的情況。在Heng等人的″A VLSI artwork legalization technique based on anew criterion of minimum layout perturbation″in InternationalSymposiumon Physical Design 1997中首先引入并在美國專利號6,189,132中公開了最小布圖擾動技術(shù),因此將其引入作為參考。不幸地,初始最小布圖擾動技術(shù)不考慮由RDR要求的柵格約束。
僅僅為了清楚,以下描述包括小標(biāo)題I.系統(tǒng)綜述II.操作方法A.認(rèn)證以滿足關(guān)鍵形狀的柵格約束并在方向1上固定基本規(guī)則違規(guī)的細(xì)節(jié)-步驟S61.MPRDR問題a)解決MPRDR問題的背景b)公式化與解決MPRDR問題有關(guān)的混合整數(shù)線性規(guī)劃(MILP)問題2.解決MPRDR問題的試探兩階段方法的綜述a)階段1計算目標(biāo)間距上位置b)階段2利用最小布圖擾動認(rèn)證布圖III.結(jié)論I.系統(tǒng)綜述參考附圖,圖4是根據(jù)本發(fā)明的集成電路(IC)設(shè)計遷移系統(tǒng)100的框圖,該系統(tǒng)能使集成電路(IC)設(shè)計從沒有RDR的源技術(shù)遷移至具有RDR的目標(biāo)技術(shù)。系統(tǒng)100包括存儲器112、處理單元(PU)114、輸入/輸出裝置(I/O)116和總線118。也可以提供數(shù)據(jù)庫120,用于存儲與處理任務(wù)有關(guān)的數(shù)據(jù)。存儲器112包括程序產(chǎn)品122,當(dāng)通過PU 114執(zhí)行時,該程序產(chǎn)品122包括下面進(jìn)一步詳細(xì)描述的各種功能性能。存儲器112(和數(shù)據(jù)庫120)可以包括任意公知類型的數(shù)據(jù)存儲系統(tǒng)和/或傳輸介質(zhì),包括磁介質(zhì)、光學(xué)介質(zhì)、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、數(shù)據(jù)目標(biāo)等。此外,存儲器112(和數(shù)據(jù)庫120)可以駐留在包括一種或多種類型的數(shù)據(jù)存儲的單個物理位置,或分布在多個物理系統(tǒng)之間。PU 114同樣可以包括單個處理單元或分布在一個或多個位置之間的多個處理單元。I/O 116可以包括任意公知類型的輸入/輸出裝置,包括網(wǎng)絡(luò)系統(tǒng)、調(diào)制解調(diào)器、鍵盤、鼠標(biāo)、掃描儀、語音識別系統(tǒng)、CRT、打印機(jī)、磁盤驅(qū)動器等。附加組件如高速緩沖存儲器、通信系統(tǒng)、系統(tǒng)軟件等也可以被引入系統(tǒng)100中。系統(tǒng)100接收待認(rèn)證的IC設(shè)計200并輸出認(rèn)證的IC設(shè)計202。應(yīng)該認(rèn)識到系統(tǒng)100可以被引入作為較大IC設(shè)計系統(tǒng)的一部分或被設(shè)為獨(dú)立的系統(tǒng)。
如圖4所示,程序產(chǎn)品122可以包括形狀分析器124、圖形產(chǎn)生器125、目標(biāo)位置測定器126、最小擾動(下面稱為“minpert”)分析器128、形狀插入器130、線性規(guī)劃解算器160及其它系統(tǒng)部件140。目標(biāo)位置測定器126可以包括位置估算器142、分析器144、寬度估算器146、形狀布置器148和更新器150。其它系統(tǒng)部件140可以包括在此未清楚地描述的任意其它必需的功能。
應(yīng)該認(rèn)識到盡管系統(tǒng)100已被圖示為獨(dú)立系統(tǒng),但是它可以被包括作為較大IC設(shè)計系統(tǒng)的一部分或其外圍設(shè)備。
II.操作方法轉(zhuǎn)向圖5的流程圖,結(jié)合圖4和6-16,現(xiàn)在將更詳細(xì)地描述系統(tǒng)100的操作。如圖6所示,在初始狀態(tài)中,設(shè)計布圖210包括統(tǒng)一取向的關(guān)鍵形狀212。在關(guān)鍵形狀212下面示出了擴(kuò)散區(qū)214。
在沒有RDR的源技術(shù)中,該方法開始于設(shè)計布圖210(圖6)。在按比例縮小布圖210(圖6)至目標(biāo)技術(shù),以便關(guān)鍵柵極在由目標(biāo)技術(shù)要求的擴(kuò)散區(qū)上具有正確的PC寬度之后,通過形狀分析器124(圖4)進(jìn)行初步確定,確定在設(shè)計布圖中是否有統(tǒng)一取向的關(guān)鍵形狀。應(yīng)該認(rèn)識到由設(shè)計布圖可以簡單地知道步驟S1的確定。另外,必要時,可以進(jìn)行確定是否存在關(guān)鍵形狀212的某些分析,例如,確定在布圖中在擴(kuò)散區(qū)214上是否放置PC形狀。如果該設(shè)計不具有關(guān)鍵形狀212,即,在步驟S1是NO,那么,在遷移處理中沒有特殊處理。在此情況下,在步驟S2,通過最小擾動(minpert)分析器128進(jìn)行基于常規(guī)最小布圖擾動(下面稱為“minpert”)的認(rèn)證處理,以固定任意基本規(guī)則違規(guī)。
當(dāng)有關(guān)鍵形狀212,即在步驟S1是YES時,系統(tǒng)100根據(jù)關(guān)鍵形狀的取向解決該情況。在此情況下,在步驟S3,形狀分析器124確定關(guān)鍵形狀212的取向。對于垂直關(guān)鍵形狀(如圖6所示),在步驟S4,“方向1”被指定為X-方向(水平)和“方向2”被指定為Y-方向(垂直)。相反,對于水平關(guān)鍵形狀,在步驟S5,方向1被指定為Y-方向(垂直)和方向2被指定為X方向(水平)。無論如何,系統(tǒng)100通過下面的五個步驟繼續(xù)進(jìn)行以認(rèn)證用于RDR及其它基本規(guī)則約束的布圖。為了描述,關(guān)鍵形狀取向被假定為在Y方向(垂直頁面)延伸,如圖6所示。亦即,多個關(guān)鍵形狀的縱軸在Y軸方向中延伸。
在步驟S6中,通過圖形產(chǎn)生器125、目標(biāo)位置測定器126以及線性規(guī)劃解算器160,認(rèn)證布圖以滿足RDR柵格約束并在方向1上固定任意基本規(guī)則違規(guī)。輸入是改變比例的布圖210(圖6),其中關(guān)鍵形狀具有統(tǒng)一的取向,以及由RDR需要的大(柵格)間距P。在該認(rèn)證步驟中,關(guān)鍵形狀上的RDR柵格約束可以是,例如,當(dāng)關(guān)鍵形狀是柵極時,如下a)所有關(guān)鍵形狀應(yīng)該被布置在間距P的大柵格上;b)公共擴(kuò)散區(qū)上的兩個相鄰關(guān)鍵形狀的左邊緣之間的間距應(yīng)該是P或2P;c)不在公共擴(kuò)散區(qū)上的兩個相鄰關(guān)鍵形狀的左邊緣之間的間距應(yīng)該是kP,其中k是正整數(shù),以便可以插入虛擬形狀,以模仿(mimic)最小間距。該步驟的目的是利用原始設(shè)計的最小布圖擾動,認(rèn)證受基本規(guī)則和上述三個RDR柵格約束影響的布圖。下面,該問題應(yīng)該被稱為具有RDR柵格約束(MPRDR)的最小擾動認(rèn)證。下面將分部分描述與圖形產(chǎn)生器125和目標(biāo)位置測定器126有關(guān)的解決該問題的處理細(xì)節(jié)。
步驟S7-S9共同表示插入需要的虛擬形狀216(圖8)的步驟。應(yīng)該認(rèn)識到如果不需要虛擬形狀216(圖8),那么步驟S7、S8和S9可以被省略。也應(yīng)該認(rèn)識到步驟S7、S8和S9可以被不引入新的基本規(guī)則違規(guī)插入需要的虛擬形狀的任意方法代替。例如,可以僅僅單獨(dú)進(jìn)行類似于步驟S8的插入步驟。
在第七步驟S7中,在方向1中認(rèn)證布圖,以為虛擬形狀插入做準(zhǔn)備。該輸入是在方向1中認(rèn)證的布圖,具有從步驟S6在間距上放置的關(guān)鍵形狀。如圖7所示,為了便于在任意兩個相鄰關(guān)鍵形狀212之間斷開擴(kuò)散區(qū)214處的虛擬形狀插入,使重疊過去(past)關(guān)鍵形狀的擴(kuò)散區(qū)214最小至由基本規(guī)則限定的最小值。在該步驟中,在方向1中,通過最小擾動分析器128運(yùn)行最小擾動分析,固定關(guān)鍵形狀212的柵格位置,但是允許移動其它形狀。具體,在方向1中通過最小擾動分析器128運(yùn)行最小擾動分析,以通過將用于重疊過去關(guān)鍵形狀212的擴(kuò)散區(qū)214的基本規(guī)則改變?yōu)檎玫扔谠荚O(shè)計規(guī)則允許的最小值,使擴(kuò)散區(qū)214盡可能地接近關(guān)鍵形狀212。用這種方式,減小關(guān)鍵形狀周圍的擴(kuò)散區(qū)。
接下來,在步驟S8,如圖8所示,可以通過形狀插入器130插入至少一個虛擬形狀216,以滿足最小間隔需求。在一個實施例中,在不超過關(guān)鍵形狀212的兩個柵格位置并不被擴(kuò)散區(qū)214或其它形狀覆蓋的任意區(qū)域中的間距上布置虛擬形狀216。
在步驟S9,在方向1中認(rèn)證布圖,以消除由于虛擬形狀216插入的規(guī)則違規(guī)。該輸入是布圖,如圖8所示,具有插入的虛擬形狀。由于新插入的虛擬形狀216,可能引入某些基本規(guī)則違規(guī),且因此在方向1中通過最小擾動分析器128運(yùn)行最小擾動認(rèn)證,以清除那些基本規(guī)則違規(guī)。在該步驟中的認(rèn)證過程中,所有關(guān)鍵形狀212和虛擬形狀216不被移動。僅僅接觸、擴(kuò)散區(qū)214和PC布線形狀被移動,以固定基本規(guī)則違規(guī)。
接下來,在步驟S10,布圖被認(rèn)證,以滿足至少一個關(guān)鍵形狀和虛擬形狀的“邊緣覆蓋度”要求,以及在方向2上固定任意基本規(guī)則違規(guī)。“邊緣覆蓋度”需求是保證相鄰關(guān)鍵形狀的正確印刷需要的形狀延伸。在所示的柵極取向中,方向2平行于多個有源區(qū)的縱軸,即,Y方向。在此情況下,輸入是具有插入的虛擬形狀和在方向1中正確的基本規(guī)則的認(rèn)證布圖。在方向2中通過最小擾動分析器128運(yùn)行最小擾動認(rèn)證,以a)清除方向2中的基本規(guī)則違規(guī);b)根據(jù)需要延伸關(guān)鍵形狀212(圖9)和虛擬形狀216,以包括形狀延伸部分219,從而滿足來自RDR的“邊緣覆蓋度”約束,如圖9所示;c)使所有水平PC布線非關(guān)鍵,以便使相移掩模布圖的問題最小(或消除)。如果水平PC形狀是非關(guān)鍵的,那么僅僅關(guān)鍵形狀和虛擬形狀需要相移。相掩模和阻擋掩模形狀將被限于電路行,以及將被強(qiáng)制以平行條布局(由于RDR柵格約束)。
與步驟S10有關(guān)的形狀延伸問題進(jìn)一步注意步驟S10,下面詳細(xì)描述如何構(gòu)造關(guān)鍵形狀的約束和來自RDR的虛擬形狀延伸約束。轉(zhuǎn)向圖10-16,現(xiàn)在將描述如何通過最小擾動分析器128施加最小擾動構(gòu)架(framework)中的形狀延伸。概括地,為了延伸關(guān)鍵或虛擬形狀,在相鄰形狀之間產(chǎn)生約束。對于每個虛擬形狀和關(guān)鍵形狀,產(chǎn)生標(biāo)記形狀。在此使用的“標(biāo)記形狀”意指添加到設(shè)計的輔助形狀,當(dāng)需要系統(tǒng)100將約束或規(guī)則應(yīng)用到特定級的某些但不是全部形狀時使用。在那種情況下,標(biāo)記形狀被布置在將被修改的形狀上。在此情況下,規(guī)則被應(yīng)用于某些PC形狀和某些柵極,而不是它們的全部。此外,每個標(biāo)記形狀比它覆蓋的柵極的任何一側(cè)寬一特定距離(例如,一個單元),以及標(biāo)記形狀的端部正好與柵極端部對準(zhǔn)。標(biāo)記形狀代表設(shè)計中的不同“級”。然后為每個標(biāo)記形狀級賦予具有PC形狀和柵極不同組基本規(guī)則和約束。用這種方式,如果標(biāo)記形狀生長(或延伸),隨著它生長,它將推動它覆蓋的形狀的最小寬度部分在它之前。這稱為“犁耕(plowing)”。
圖10和11圖示了上述處理的例子。在圖10中,示出了垂直柵極A和相鄰柵極B。設(shè)置用于柵極A的標(biāo)記形狀A(yù)_M和用于柵極B的標(biāo)記形狀B_M。標(biāo)記形狀A(yù)_M和B_M具有賦予其上的基本規(guī)則,如果標(biāo)記形狀A(yù)_M和B_M生長,所述規(guī)則將使柵極A和B的最小寬度塊生長。例如,最小擾動分析器128可以被指示或確定標(biāo)記形狀B_M的每個端部必須超過柵極A的端部距離X(基本規(guī)則值),如圖10所示。在此情況下,如圖11所示,標(biāo)記形狀B_M的下端222必須比柵極A的下端220低值X,以及標(biāo)記形狀A(yù)_M的上端226必須超過柵極A的上端224值X。結(jié)果,如圖11所示,因為該基本規(guī)則,標(biāo)記形狀B_M將伸展,并將連同它一起拖拉(pull)(或犁耕)柵極B的最小寬度塊。
產(chǎn)生柵極延伸約束通過運(yùn)行平面掃描(sweep)算法可以標(biāo)識基本規(guī)則約束。算法穿過構(gòu)成布圖的單個邊緣掃描虛擬線,稱作掃描線。當(dāng)處理柵極延伸時,標(biāo)記形狀和柵極之間的拐角(corner)關(guān)系被標(biāo)識,并僅僅考慮鈍角。當(dāng)位于一個形狀上的拐角時,進(jìn)行前一拐角的列表的向后(對于X方向,至左側(cè))回顧。參考圖12,限定向后觀察的拐角的兩種類型類型A在掃描線上,當(dāng)一個穿過(across)該邊緣時,一個移出該形狀;以及,類型B在掃描線上,當(dāng)一個穿過該邊緣時,一個移入該形狀。如圖13所示,當(dāng)后向觀察時,可辨別兩種類型的鈍角類型C當(dāng)一個從拐角下面移至該拐角上面時,一個移出該形狀;以及類型D當(dāng)一個從拐角下面移至該拐角上面時,一個移入該形狀。為了說明,如圖14所示,當(dāng)在類型A的拐角時,考慮以下因素類型C的拐角必須在視線內(nèi),以及類型D的拐角暗示正在考慮柵極的錯誤端部。此外,如圖15所示,從掃描線位置至拐角位置的間隔必須正好是一個或兩個間距,減去超過RX的最小PC寬度,減去一個單元(記住,一個覆蓋形狀是比超過RX的最小PC寬度更寬的一個單元)。此外,包括的邊緣必須在它們的Y范圍重疊。此外,如圖16所示,在滿足上述標(biāo)準(zhǔn)的Y-坐標(biāo)中它必須是最靠近的拐角。
如果滿足上述所有條件,那么可以產(chǎn)生約束,其告訴類型A的拐角停留在類型C的拐角上延伸值的距離。這將拖拉A拐角直至穿過(延伸穿過)C拐角。類型B的拐角是類似的,除了它們與類型D的拐角匹配之外。
A.認(rèn)證以滿足關(guān)鍵形狀的柵格約束并在方向1上固定基本規(guī)則違規(guī)的細(xì)節(jié)-步驟S6在圖5的步驟S6中,通過圖形產(chǎn)生器125、目標(biāo)位置測定器126以及線性規(guī)劃解算器160,認(rèn)證布圖以滿足關(guān)鍵形狀的RDR柵格約束并在方向1上固定規(guī)則違規(guī)。如上所述,該認(rèn)證步驟中的關(guān)鍵形狀的RDR柵格約束可以是,例如,當(dāng)關(guān)鍵形狀是柵極時,如下a)所有關(guān)鍵形狀應(yīng)該被布置在間距P的大柵格上;b)公共擴(kuò)散區(qū)上的兩個相鄰關(guān)鍵形狀的左邊緣之間的間距應(yīng)該是P或2P;c)不在公共擴(kuò)散區(qū)上的兩個相鄰關(guān)鍵形狀的左邊緣之間的間距應(yīng)該是kP,其中k是正整數(shù),以便可以插入虛擬形狀,以模仿最小間距。在認(rèn)證過程中假定關(guān)鍵形狀的寬度是均勻的和不變的。該步驟的目的是利用原始設(shè)計的最小布圖擾動,認(rèn)證受基本規(guī)則和上述三個RDR柵格約束影響的布圖,即,發(fā)現(xiàn)每個關(guān)鍵形狀的合規(guī)(legal)間距上位置。因此,該問題應(yīng)該被稱為具有RDR柵格約束(MPRDR)的最小擾動認(rèn)證。下面描述該問題和本發(fā)明的方法的細(xì)節(jié)。
1.MPRDR問題a)解決MPRDR問題的背景在Heng等的″A VLSI artwork legalization technique based on a newcriterion of minimum layout perturbation″,in International Symposiumon Physical Design 1997中首次提出以及在美國專利號6,189,132中公開了最低限度地修改具有基本規(guī)則違規(guī)的初始布圖以便所得的布圖被基本規(guī)則校正的問題。與主要考慮面積最小化的先前布圖壓縮技術(shù)不同,基于最小擾動的技術(shù)試圖通過校正基本規(guī)則違規(guī),同時盡可能少地改變初始布圖,改進(jìn)給定的布圖。下面將描述本發(fā)明的這部分,通過僅僅考慮一維(1D)最小布圖擾動問題簡化最小擾動問題。通過連續(xù)應(yīng)用一維(1D)最小布圖擾動問題的結(jié)果,獲得二維(2D)最小布圖擾動問題的結(jié)果。
類似于基于約束的壓縮技術(shù),基于最小擾動的認(rèn)證技術(shù)將邊緣位置約束轉(zhuǎn)移到約束圖形中。在約束圖形中,節(jié)點(diǎn)Vi表示布圖元素Ei,通常是多邊形的邊緣,或目標(biāo)如晶體管或過孔的情況。在此使用的Vi(X),表示布圖元素Ei的X坐標(biāo)。由兩個布圖元素Ei和Ej之間的設(shè)計規(guī)則要求的最短距離由公式Vj(X)-Vi(X)≥dij的線性約束表示。該約束對應(yīng)于定向的弧形Aij,在約束圖形中從節(jié)點(diǎn)Vi至節(jié)點(diǎn)Vj具有權(quán)重dij。表示所有相互作用的元素的約束組形成布圖的約束圖形,G=(V,A)。為了描述,Viold(X)表示布圖元素Ei的初始X坐標(biāo)。對于校正布圖的初始基本規(guī)則,滿足所有約束,即,Vjold(X)-Viold(X)≥dij]]>對于約束圖形中的所有弧形Aij。
布圖的擾動被測量作為從給定布圖至較早(初始)布圖的距離函數(shù)。1D最小擾動問題被公式化為minΣVi∈V||Vi(X)-Viold(X)||]]>s.t.Vj(X)-Vi(X)≥dij,Aij∈AL-1 metric||Vi(X)-Viold(X)||=Wi·|Vi(X)-Viold(X)|]]>L-2 metric||Vi(X)-Viold(X)||=Wi·(Vi(X)-Viold(X))2---(1)]]>然后通過為每個邊緣Ei引入兩個變量Li,Ri,線性化目標(biāo)函數(shù),以便Li≤Vi(X),Li≤Viold(X),Ri≥Vi(X),Ri≥Viold(X).]]>然后,問題(1)變?yōu)長1度量下的線性1D最小擾動問題
minΣvi∈VWi·(Ri-Li)]]>s.t.Vj(X)-Vi(X)≥dij,Aij∈ALi≤Vi(X),Li≤Viold(X),∀Vi∈V]]>Ri≥Vi(X),Ri≥Viold(X),∀Vi∈V---(2)]]>為了處理沒有可行方法的情況,通過放松初始布圖中不滿足的約束并將它們置于目標(biāo)函數(shù)中進(jìn)一步轉(zhuǎn)變公式。使Ae是與初始不滿足的約束相關(guān)的A中的弧形組,即Vjold(X)-Viold(X)=Dij<dij.]]>為每個弧形Aij∈Ae定義新的變量Mi。問題被緩和為minΣvi∈VWi·(Ri-Li)+λ·ΣAij∈Ae(Mi-Vj(X)+dij)]]>s.t.Vj(X)-Vi(X)≥dij,Aij∈A-Aedij≥Vj(X)-Mi≥Dij,Mi-Vi(X)≥0,Aij∈AeLi≤Vi(X),Li≤Viold(X),∀Vi∈V]]>Ri≥Vi(X),Ri≥Viold(X),∀Vi∈V---(3)]]>通過為入選擇非常大的值,當(dāng)目標(biāo)函數(shù)中的第二項被最小至零時盡可能多地滿足初始布圖中的不滿足的約束。
由于工業(yè)布圖數(shù)據(jù)庫的結(jié)構(gòu)和制造考慮所施加的實際約束,所有布圖坐標(biāo)必須是整數(shù)。如果所有dij和Viold(X)是整數(shù),在布圖遷移問題中是正確的,那么問題(2)和問題(3)的結(jié)果也由整數(shù)構(gòu)成。因此,它們可以被解決為線性規(guī)劃(LP)問題。此外,由于問題的特殊結(jié)構(gòu),可以使用基于圖形的單一算法或線性規(guī)劃解算器有效地解決它們。
問題(3)的線性規(guī)劃(LP)公式為VLSI布線圖(artwork)認(rèn)證提供非常靈活的優(yōu)化構(gòu)架。但是,該公式不能處理RDR柵格約束,因為在約束組中沒有考慮它們。本發(fā)明對于MPRDR問題的下述方法,基于并延伸LP公式,以解決該情況。
b)公式化與解決MPRDR問題有關(guān)的混合整數(shù)線性規(guī)劃(MILP)問題解決MPRDR問題的主要目標(biāo)是發(fā)現(xiàn)每個關(guān)鍵形狀的合規(guī)間距上位置。如前所述,假定關(guān)鍵形狀垂直取向,以及在水平方向(在布圖中柵極被賦予X坐標(biāo))解決認(rèn)證問題。對于在水平取向中具有關(guān)鍵形狀的布圖,該方法同樣地起作用。
作為基本規(guī)則的一部分,關(guān)鍵形狀上的RDR柵格約束在線性規(guī)劃公式化中形成特殊約束組。這里,Ecs表示關(guān)鍵形狀的布圖邊緣組。因為關(guān)鍵形狀的寬度在認(rèn)證過程中是均勻的和不變的,所以使用關(guān)鍵形狀的一個邊緣(或中心線或左邊緣)表示形狀位置。為了描述,使用左邊緣。
假定沒有布圖的RDR柵格約束G=(V,A)的約束圖形,Vig是表示布圖邊緣的圖形節(jié)點(diǎn)Eig∈Ecs,Vig∈V,]]>以及Vig(X)表示邊緣的X坐標(biāo)。VRDR是表示由RDR的柵格約束所約束的關(guān)鍵形狀的布圖邊緣的圖形節(jié)點(diǎn)組,VRDRV.
ARDRs是表示共享擴(kuò)散區(qū)的相鄰關(guān)鍵形狀的RDR間隔約束的弧形組,以及ARDRns是表示不共享擴(kuò)散區(qū)的相鄰關(guān)鍵形狀的RDR間隔約束的弧形組。然后,增加的約束圖形G′=(V,A∪ARDRs∪ARSRns)]]>表示包括RDR的所有約束。
假定用于關(guān)鍵形狀的RDR約束的大間距P,MPRDR可以被公式化為
minΣvi∈VWi·(Ri-Li)]]>s.t.Vj(X)-Vi(X)≥dij,Aij∈ALi≤Vi(X),Li≤Viold(X),∀Vi∈V]]>Ri≥Vi(X),Ri≥Viold(X),∀Vi∈V]]>Vjg(X)-Vig(X)={P,2P},∀Aij∈ARDRs]]>Vjg(X)-Vig(X)={P,2PΛkP},∀Aij∈ARDRs---(4)]]>所有變量必須是整數(shù)。此外,Vig(X)必須是一組整數(shù),因為RDR間隔約束,其將一組非常嚴(yán)格的約束引入整數(shù)線性規(guī)劃問題中。如果相對于P標(biāo)準(zhǔn)化約束值,即,dij變?yōu)閐ij/P,以及Viold(X)變?yōu)閂iold(X)/P,問題(4)可以通過混合整數(shù)線性規(guī)劃(MILP)問題近似為minΣvi∈VWi·(Ri-Li)]]>s.t.Vj(X)-Vi(X)≥dij,Aij∈ALi≤Vi(X),Li≤Viold(X),∀Vi∈V]]>Ri≥Vi(X),Ri≥Viold(X),∀Vi∈V]]>Vjg(X)-Vig(X)={1,2},∀Aij∈ARDRs]]>Vjg(X)-Vig(X)≥1,∀Aij∈ARDRs]]>Vig(X)is integer,∀Vig∈VRDR---(5)]]>在獲得問題(5)的結(jié)果之后,非整數(shù)變量被轉(zhuǎn)變回整數(shù)值,其可能產(chǎn)生某些舍入問題。一般,解決M1LP是昂貴的,因為它是計算上困難的問題。因此,當(dāng)問題的規(guī)模大時使用常規(guī)MILP解算器來執(zhí)行,該方法是很復(fù)雜的和昂貴的。
2.解決MPRDR問題的試探兩階段方法的綜述參考圖4和17,為了解決上述問題,系統(tǒng)100(圖4)實現(xiàn)兩階段試探方法。如綜述在第一階段,利用最小擾動,同時滿足RDR柵格約束,計算關(guān)鍵形狀的目標(biāo)間距上位置。在第二階段,通過將關(guān)鍵形狀的目標(biāo)間距上位置作為它和設(shè)計布圖邊界之間的基本規(guī)則間隔約束,解決認(rèn)證問題作為線性規(guī)劃問題,來認(rèn)證布圖。換句話說,問題(4)中的RDR相關(guān)的約束被放松,并基于第一階段中計算的目標(biāo)間距上位置,被轉(zhuǎn)變?yōu)殛P(guān)鍵形狀和設(shè)計布圖邊界之間的間隔約束,以便該問題被轉(zhuǎn)變回線性規(guī)劃問題,即,問題(3)。
a)階段1計算目標(biāo)間距上位置第一階段是利用最小布圖擾動,同時滿足RDR柵格約束,計算每個關(guān)鍵形狀的目標(biāo)間距上位置。如下所述,通過圖形產(chǎn)生器125和目標(biāo)位置測定器126進(jìn)行這些步驟。輸入是間距單元中的間距P、RDR的柵格約束、以及關(guān)鍵形狀的初始位置。輸出是必須是整數(shù)的間距單元中的關(guān)鍵形狀的目標(biāo)間距上位置。
該問題可以被公式化為整數(shù)線性規(guī)劃(ILP)問題minΣvi∈VRDRWi·(Ri-Li)]]>s.t.Li≤Vi(X),Li≤Viold(X),∀Vi∈VRDR]]>Ri≥Vi(X),Ri≥Viold(X),∀Vi∈VRDR]]>Vj(X)-Vi(X)={1,2},∀Aij∈ARDRs]]>Vj(X)-Vi(X)≥1,∀Aij∈ARDRs]]>Vi(X)is integer,Vi∈VRDR(6)與問題(2)不同,其中約束的數(shù)字是整數(shù),間距單元中的關(guān)鍵形狀的初始位置不能是整數(shù)。因此,問題(6)不能被處理為線性規(guī)劃問題。盡管該問題可以被公式化為ILP問題,但是本發(fā)明不使用ILP解算器,因為它解決ILP問題是昂貴的,以及當(dāng)該問題沒有可行方法時,ILP解算器不能返回結(jié)果。但是,為了本發(fā)明的目的,改進(jìn)的結(jié)果好于沒有結(jié)果。
為了解決該情況,本發(fā)明執(zhí)行解決問題(6)的試探算法。該算法包括兩個階段。
階段1,第一步驟首先,如圖17所示,在步驟S101中,通過圖形產(chǎn)生器125產(chǎn)生定向邊緣加權(quán)圖形,在此稱為“關(guān)鍵形狀相鄰圖形”(下面,稱為“CSN-圖形”)。步驟S101包括兩個子步驟模擬形狀(S101A)和賦予權(quán)重(S101B),將描述如下。
階段1,第一步驟,第一子步驟在第一子步驟中,步驟S101A,通過圖形產(chǎn)生器125在關(guān)鍵形狀上模擬RDR柵格約束,作為定向邊緣加權(quán)圖形。具體地說,關(guān)鍵形狀和其鄰近關(guān)系被捕捉到CSN圖形中。CSN-圖形包括表示關(guān)鍵形狀的節(jié)點(diǎn),以及表示兩個關(guān)鍵形狀之間的相鄰性以及用整個布圖和設(shè)計規(guī)則的環(huán)境中它們之間的最小或優(yōu)選的柵格間隔加權(quán)的弧形。
在此情況下,“關(guān)鍵形狀”被定義為要求遵守RDR柵格約束,例如用于關(guān)鍵柵極的RDR中的柵格約束的矩形形狀。在X方向中當(dāng)且僅當(dāng)如下時具有垂直取向a和b的關(guān)鍵形狀被認(rèn)為“相鄰”1)a和b在Y軸上的投影重疊;2)x(a)<x(b),其中x(a)和x(b)分別是形狀a和b的X坐標(biāo);以及3)沒有形狀c,其中x(a)<x(c)<x(b),以及c在Y軸上的投影與a和b在Y軸上的投影重疊。在圖18中示出了例子,其中下面的配對是相鄰的u-w,u-v,w-x和v-x,下面的配對是不相鄰的u-y和u-x。
CSN-圖形是定向圖形GCSN=(V,A).
頂點(diǎn)表示在布圖中需要滿足RDR柵格約束的關(guān)鍵形狀以及弧形表示X或Y方向中它們之間的相鄰性。頂點(diǎn)Vi對應(yīng)于布圖中標(biāo)記為csi的關(guān)鍵形狀。如果關(guān)鍵形狀csi和csj是相鄰的,以及csi在csj的左邊,那么弧形Aij將頂點(diǎn)Vi連接至頂點(diǎn)Vj。弧形的兩種類型實線弧形Aij,其中對應(yīng)的關(guān)鍵形狀csi和csj之間的間隔約束的形式如下Vj(X)-Vi(X)={P,2P}其中P是間距;以及虛線弧形Aij,其中對應(yīng)的關(guān)鍵形狀csi和csj之間的間隔約束的形式如下Vj(X)-Vi(X)≥kP,k≥1以及是整數(shù)。對于連接頂點(diǎn)Vi和Vj的弧形Aij,Vi被稱作Vj的扇入(fanin)頂點(diǎn),Vj被稱作Vi的扇出(fanout)頂點(diǎn),Aij被稱作Vj的扇入弧形和Vi的扇出弧形。
此外,在圖形中具有源頂點(diǎn)s和匯(sink)頂點(diǎn)t,其中s對應(yīng)于布圖的左邊界,以及t對應(yīng)于布圖的右邊界。虛線弧形從源s至頂點(diǎn),沒有扇入頂點(diǎn),并添加從沒有扇出頂點(diǎn)的頂點(diǎn)至匯點(diǎn)t的虛線弧形,以便CSN-圖形被連接,即,可從源s到達(dá)任意頂點(diǎn),以及可以到達(dá)匯點(diǎn)t。使用非負(fù)整數(shù)w(Aij)加權(quán)每個弧形Aij,其表示由大間距P的單元中的CSN圖形中的連接頂點(diǎn)表示的兩個相鄰關(guān)鍵形狀之間的最小或優(yōu)選間隔。
CSN圖形是定向的非循環(huán)圖形(DAG),可以由如下的矛盾證明。假定在CSN-圖形GCSN=(V,A)中有回路V1→V2→…→Vn→V1,以及在初始布圖中頂點(diǎn)Vi的相應(yīng)關(guān)鍵形狀的X坐標(biāo)表示為Vi(X)。通過定義CSN-圖形,V1(X)<V2(X)<…<Vn(X)<V1(X),即V1(X)<V1(X),這不成立。因此,由于該假定不成立,在CSN-圖形中沒有回路,以及該圖形是定向的非循環(huán)圖形。
參考圖19,在RDR的環(huán)境下,在RX上具有最小PC寬度的柵極被處理為關(guān)鍵形狀。有時幾個柵極被具有/沒有PC接合(jog)的PC“干線(trunk)”連接,例如,在圖19C中柵極g1和g2共享PC“干線”和PC接合。對于共享PC“干線”的那些柵極,當(dāng)確定它們的目標(biāo)間距上位置時它們被整體或分開處理。如果它們被分開處理,即,它們不被約束具有相同的目標(biāo)間距上位置,如果在初始布圖中沒有接合,那么以插入附加PC接合為代價,它可以帶來更多靈活性。如果它們被整體處理,即,它們被約束具有相同的目標(biāo)間距上位置,那么在認(rèn)證之后以增加可能區(qū)域為代價,可以保持初始布圖的拓?fù)?topology)。為了區(qū)分形成柵極的PC形狀與連接?xùn)艠O的PC布線,“柵極-PC形狀”被定義為PC形狀,其可以表示關(guān)鍵柵極的位置或一組對準(zhǔn)的關(guān)鍵柵極。柵極PC形狀是關(guān)鍵形狀。
圖19示出了如何標(biāo)識柵極-PC形狀。當(dāng)在共享相同PC“干線”的柵極之間沒有PC接合時,一個柵極-PC形狀被標(biāo)識,以表示柵極(圖19A)。當(dāng)柵極通過“T”形狀PC干線連接時,一個柵極-PC形狀用于表示柵極(圖19B)。當(dāng)柵極通過PC接合連接時,每個柵極由柵極-PC形狀表示(圖19C)。對于超過兩個柵極共享PC干線,應(yīng)用相同的模擬。例如,在圖19D中,柵極g2和g3通過“T”形狀PC干線連接,因此它們由一個柵極-PC形狀表示。另一柵極-PC形狀表示通過PC接合連接到g2的柵極g1。在沒有柵極通過PC干線連接的情況下,或在每個PC干線上有PC接合,每個柵極由柵極-PC形狀表示。如果需要PC接合用于靈活性,可以將預(yù)處理器添加到布圖中。
在用于由RDR間隔約束約束的柵極-PC形狀(關(guān)鍵柵極)的CSN圖形中,實線弧形Aij表示垂直柵極ga和gb共享擴(kuò)散區(qū)(RX島)的情況,ga由柵極-PC形狀csi表示,gb由柵極-PC形狀csj表示,以及csi和csj在X方向上相鄰。虛線弧形Aij表示垂直柵極ga和gb不共享擴(kuò)散區(qū)(RX島)的情況,ga由柵極-PC形狀csi表示,以及gb由柵極-PC形狀csj表示,以及csi和csj在X方向上相鄰。因此,在關(guān)鍵柵極的RDR的環(huán)境下,柵格約束由CSN-圖形表示。
圖20中示出了布圖302上的PCN-圖形300的例子。
如果它們是在類似的柵格約束下的關(guān)鍵形狀,類似的模擬可以應(yīng)用于金屬布線形狀。一般,假定CSN-圖形G=(V,A),Vi(P)表示頂點(diǎn)Vi的目標(biāo)間距上位置,Viold(X)表示相應(yīng)關(guān)鍵形狀csi的初始位置(沒有必要在間距上)。給出布圖的邊界位置,亦即,Vs(X)=0,Vt(X)=W,其中W是間距單元中的目標(biāo)設(shè)計寬度。CSN-圖形表示RDR約束如下a)對于從頂點(diǎn)Vi至頂點(diǎn)Vj的實線弧形Aij,具有w(Aij)的權(quán)重,2≥Vj(P)-Vi(P)≥w(Aij);以及b)對于從頂點(diǎn)Vi至頂點(diǎn)Vj的虛線弧形Aij,具有w(Aij)的權(quán)重,Vj(P)-Vi(P)≥w(Aij)。該目的是使每個柵極的給定位置和目標(biāo)位置之間的擾動最小,即,|Vi(P)-Viold(X)|.
關(guān)鍵形狀和它們的左/右鄰近關(guān)系可以使用平面掃描算法標(biāo)識,平面掃描算法通常用于從VLSI布圖提取電路器件,并基于VLSI設(shè)計規(guī)則產(chǎn)生幾何約束。
階段1,第一步驟,第二子步驟第二子步驟S101B(圖17)包括圖形產(chǎn)生器125,賦予CSN-圖形弧形權(quán)重。具體,使用非負(fù)整數(shù)w(Aij)加權(quán)每個弧形Aij,非負(fù)整數(shù)w(Aij)表示由間距單元中的CSN圖形中的連接頂點(diǎn)表示的兩個相鄰關(guān)鍵形狀之間的最小或優(yōu)選間隔。
對于估算,弧形權(quán)重必須是相當(dāng)準(zhǔn)確的,因為它有助于目標(biāo)關(guān)鍵形狀位置上的約束。在第二階段的末尾,過度樂觀的估算(小值)可能導(dǎo)致不可實現(xiàn)的方法,而過度悲觀的估算(大值)可能導(dǎo)致不必要的區(qū)域耗費(fèi)。
權(quán)重賦予的基本思想是首先基于沒有柵格約束的約束圖形在壓縮布圖中估算關(guān)鍵形狀csi的最左和最右X坐標(biāo),分別表示為lx(csi)、rx(csi)。不失一般性,假定在約束圖形G中沒有正循環(huán)。但是,如果存在正循環(huán),可以使用各種已知的技術(shù)除去它們。給定在CSN-圖形GCSN中連接頂點(diǎn)Vi和Vj的弧形Aij,P的大間距,以及布圖中它們的相應(yīng)關(guān)鍵形狀csi和csj,如果csi的估算的最左位置等于其最右位置和csj的估算的最左位置等于其最右位置,即,csi和csj是確定壓縮布圖的寬度的“關(guān)鍵”,那么賦予弧形Aij的權(quán)重為大于(lx(csj)-lx(csi))/P的最小整數(shù)。否則,在約束圖形G中從cs1至csj估算最長路徑L(csi,csj),以及弧形權(quán)重被設(shè)為大于L(csi,csj)/P的最小整數(shù)。
階段1,第二步驟如圖17所示,在步驟S102中,通過目標(biāo)位置測定器126執(zhí)行基于圖形的關(guān)鍵形狀布置算法,以基于CSN-圖形確定目標(biāo)間距上柵極位置。
以下定義應(yīng)用于GCSN中的頂點(diǎn)Vi(以及其相應(yīng)的關(guān)鍵形狀)。所有位置(位置)位于大間距單元中Viold(X)與單元左邊界相關(guān)的初始布圖中Vi的初始X位置;Vileft(P)Vi的最左有效間距上位置;Viright(P)Vi的最右有效間距上位置;Vilarget(P)Vi的目標(biāo)間距上位置;松弛(slack)(Vi)Vi的候選間距上位置的松弛并被計算為
Viright(P)-Vileft(P);FI(Vi)頂點(diǎn)Vi的扇入弧形組;以及FO(Vi)頂點(diǎn)Vi的扇出弧形組。至目標(biāo)位置測定器126的輸入包括初始布圖GCSN=(V,A)的CSN-圖形,初始位置Viold(X)每個頂點(diǎn)Vi的,在認(rèn)證We之后預(yù)期的布圖寬度,初始布圖Wold的寬度。輸出包括目標(biāo)間距上位置Vitarget(P)of Vi.
該執(zhí)行的目的是獲得利用最小位置擾動的有效方法。即使當(dāng)沒有可行方法時,算法將返回在間隔約束上具有某些違規(guī)的整數(shù)方法。
在第一子步驟S102A中,通過位置估算器142進(jìn)行每個關(guān)鍵形狀(CSN-圖形中的頂點(diǎn))的可能有效柵格位置的范圍的估算。具體,為了保持最小布圖擾動的目標(biāo),通過位置估算器142在步驟S102A估算與有效間距上位置相關(guān)的每個關(guān)鍵形狀的位置的松弛。因為CSN-圖形是DAG,可以確定用于頂點(diǎn)的拓?fù)浯涡?。該步驟可以包括估算Vi的最左有效間距上位置,即,Vileft(P),以及,Vi的最右有效間距上位置,即,Viright(P)通過拓?fù)涞靥暨xCSN-圖形GCSN=(V,A)中的頂點(diǎn);通過設(shè)置Vsleft(P)對于源節(jié)點(diǎn)s至0進(jìn)行松弛分析,以拓?fù)浯涡蛟L問每個頂點(diǎn)Vj,以及設(shè)置Vjleft(P)至其扇入頂點(diǎn)的最左位置和扇入弧形的權(quán)重的和中的最大值,即,Vjleft(P)←max{Vileft(P)+w(Aij)},∀Aij∈FI(Vj);]]>設(shè)置Vtright(P)至
Vsleft(P)和對于匯點(diǎn)t的We之間的最大值;以及以反向拓?fù)浯涡蛟L問每個頂點(diǎn)Vi,以及設(shè)置Vjright(P)至其扇出頂點(diǎn)的最右位置和扇出弧形的權(quán)重的差值中的最小值,即,Vjright(P)←min{Viright(P)-w(Aij)},∀Aij∈FO(Vi).]]>接下來,在子步驟S102B,通過分析器144進(jìn)行基于CSN-圖形可能有效柵格位置的松弛值的分析。關(guān)鍵形狀具有的松弛越多,在布置它接近其初始位置的過程中存在越多的自由,且因此對初始布圖引起更少擾動。但是,一旦確定關(guān)鍵形狀的目標(biāo)位置,它將約束其它關(guān)鍵形狀的松弛。因此,為它們確定目標(biāo)間距上位置的次序很重要。如下描述,形狀布置器148以增加松弛的次序布置關(guān)鍵形狀,從而在處理中最早布置最多約束的關(guān)鍵形狀和較遲布置具有較多靈活性的關(guān)鍵形狀。步驟S02B包括為每個頂點(diǎn)Vi,將松弛(Vi)設(shè)為其最右位置和最左位置之間的差值,即,slack(Vi)←Viright(P)-Vileft(P);]]>然后以非遞減次序挑選松弛值(非負(fù)整數(shù))組Sslack←{sk0,sk1,Λ,skm},以及標(biāo)記除源點(diǎn)s和匯點(diǎn)之外的所有頂點(diǎn)“非錨定(unanchored)”,初始化頂點(diǎn)組Na為{s,t},以及Nua為V-Na。
接下來,在子步驟S102C中,通過寬度估算器146進(jìn)行根據(jù)柵格的布圖的最小寬度的估算。步驟S102C包括賦予Wmin←Vileft(P),Wtarget←max{We,Wmin},]]>以及必要時,將初始位置從較早布圖尺寸按比例縮放為目標(biāo)尺寸,即K←Wtarget/Wold,Vilod(X)←K×Viold(X),∀Ai∈V.]]>在子步驟S102D中,在相應(yīng)的有效位置范圍內(nèi)以拓?fù)浯涡蛲ㄟ^具有最小松弛的布置器148布置關(guān)鍵形狀,同時關(guān)鍵形狀盡可能地接近初始位置。亦即,首先通過布置器148布置具有較少松弛的關(guān)鍵形狀,以便對于具有更多松弛的其它形狀留下更多自由度。以非遞減次序基于它們的松弛值分批布置頂點(diǎn)。在每個反復(fù)過程中,拾取未布置的頂點(diǎn),用最小松弛布置。具有相同松弛的頂點(diǎn)以它們的拓?fù)浯涡虿贾谩.?dāng)確定頂點(diǎn)的目標(biāo)間距上位置Vi時,Vileft(P)和Viright(P)之間的最靠近其初始位置的位置Viold(X)被選作其目標(biāo)間距上位置。布置可以包括設(shè)置skmin為松弛組Sslack中的最小松弛,初始化頂點(diǎn)組Ncrit為具有skmin的松弛的“非錨定”頂點(diǎn)的頂點(diǎn)組,從松弛組Sslack獲得skmin值,即,skmin←min{ski,|ski∈Sslack},Ncrit←{Vi|Vi∈Nua,slack(Vi)=skmin},Sslack←Sslack-{skmin};以及以拓?fù)浯涡蛟L問頂點(diǎn)組Ncrit中的每個頂點(diǎn)Vj。如果頂點(diǎn)的松弛值是零,設(shè)置Vjtarget(P)為Vjleft(P);另外更新其最左有效間距上位置Vjleft(P)←max{Vileft(P)+w(Aij)},∀Aij∈FI(Vj).]]>如果有實線扇入弧形Aij和Vi在頂點(diǎn)組Na中,那么更新其最右有效間距上位置Vjright(P)←max(Vjleft(P),min(Vjright(P),Vitarget(P)+2)).]]>如果有實線扇出弧形Aij和Vi在頂點(diǎn)組Na中,那么更新其最左有效間距上位置Vjleft(P)←min{(Viright(P),max(Vjleft(P),Vitarget(P)-2)).]]>接下來,賦予Vjtarget(P)為最接近的值至
Vjleft(P)和Vjright(P).
之間的Viold(X)標(biāo)記Vj“錨定”和更新頂點(diǎn)組Na←Na+{Vj},Nua←Nua-{Vj)。
在每次布置之后,在子步驟S102E,對于“非錨定”頂點(diǎn),需要更新未布置頂點(diǎn)的最左和最右間距上位置以及它們的松弛。該步驟可以包括以拓?fù)浯涡蛟L問每個“非錨定”頂點(diǎn)Vj,以及更新Vjleft(P)←max{Vileft(P)+w(Aij)},∀Aij∈FI(Vj);]]>然后以反向拓?fù)浯涡蛟L問每個“非錨定”頂點(diǎn)Vj,以及更新Viright(P)←max{Vjright(P)-w(Aij)},∀Aij∈FO(Vi).]]>一旦完成那些功能,為每個影響的頂點(diǎn)更新松弛值以及更新挑選的松弛組Sslack。
重復(fù)子步驟S102D和102E,直至所有頂點(diǎn)被布置。
在圖21A-E中示出了示例布置。在圖21A中示出了布圖的CSN-圖形。在松弛分析之后,用以下形式標(biāo)記頂點(diǎn)的松弛和較早位置[Vileft(P),Viright(P)],Viold(X),接近圖21B中的每個頂點(diǎn)。在第一迭代中,頂點(diǎn)V1、V2、V3、V4、V5被布置(“錨定”)為它們具有最小的松弛。更新“非錨定”頂點(diǎn)的松弛,如圖21C所示。在第二迭代中,基于它們的松弛和較早位置布置頂點(diǎn)V6、V7、V8、V9以及更新V10的松弛,如圖21D所示。最后,如圖21E所示布置頂點(diǎn)V10。
b)階段2認(rèn)證布圖繼續(xù)參考圖17,第二階段包括步驟S103,通過將關(guān)鍵形狀的目標(biāo)間距上位置作為它和設(shè)計布圖邊界之間的一組基本規(guī)則間隔約束,使用線性規(guī)劃解算器160(圖4),解決認(rèn)證問題作為線性規(guī)劃問題。如下所述,系統(tǒng)100(圖4)采用問題(3)的LP公式和使用基于圖形的簡單或標(biāo)準(zhǔn)LP解算器160解決它。
在步驟102中計算目標(biāo)間距上位置之后,即,對于柵極的每個布圖邊緣Eig,目標(biāo)間距上位置稱為T(Eig)相對于布圖的左邊界位置,指定為lf(X),然后在問題(4)中將柵格約束轉(zhuǎn)變?yōu)樽筮吔绾蜄艠O之間的一組簡單間隔約束。因此,問題(4)的約束被放松為minΣvi∈VWi·(Ri-Li)]]>s.t.Vj(X)-Vi(X)≥dij,Aij∈ALi≤Vi(X),Li≤Viold(X),∀Ai∈V]]>Ri≥Vi(X),Ri≥Viold(X),∀Vi∈V]]>Vig(X)-Vif(X)≥T(Eig),∀Vig∈VRDR]]>Vif(X)-Vig(X)≥-T(Eig),∀Vig∈VRDR---(6)]]>因為問題(6)具有與問題(2)相同的形式,如下類似地放松不滿足的約束。使Ae是與最初不滿足的約束相關(guān)的A中的弧形組,即Vjold(X)-Viold(X)=Dij<dij,]]>包括設(shè)計布圖的柵極和左邊界之間新增加的間隔約束。為每個弧形Aij∈Ae定義新的變量Mi。
該問題被放松為minΣvi∈V-VRDRWi·(Ri-Li)+λ·ΣAij∈Am(Mi-Vj(X)+dij)]]>s.t.Vj(X)-Vi(X)≥dij,Aij∈A-Aedij≥Vj(X)-Mi≥Dij,Mi-Vi(X)≥0,Aij∈AeLi≤Vi(X),Li≤Viold(X),∀Ai∈V]]>Ri≥Vi(X),Ri≥Viold(X),∀Vi∈V---(3)]]>通過為入選擇非常大的值,當(dāng)使目標(biāo)函數(shù)中的第二項最小為零時,盡可能多地滿足初始布局中的不滿足的約束。為了允許柵自由地移動,位置擾動目標(biāo)不應(yīng)用于關(guān)鍵形狀邊緣?;趫D形的簡單或標(biāo)準(zhǔn)LP解算器160可用于解決該問題。因為計算目標(biāo)間距上柵極位置需要考慮柵極之間的必需最小間隔,所以通常在第二階段中可得到它們的結(jié)果,換言之,在第二階段的結(jié)果中,滿足問題(6)中
Vig(X)的約束,以及Vig(X)的值與其目標(biāo)間距上位置相同。
III.結(jié)論在先前的論述中,應(yīng)當(dāng)理解通過處理器,如系統(tǒng)100的PU 114執(zhí)行論述的方法步驟,執(zhí)行在存儲器中存儲的程序產(chǎn)品122的指令。應(yīng)當(dāng)理解在此描述的各種器件、模塊、機(jī)構(gòu)和系統(tǒng)可以用硬件、軟件或硬件和軟件的組合來實現(xiàn),以及除如圖所示之外可以被劃分??梢酝ㄟ^適于進(jìn)行在此描述的方法的任意類型的計算機(jī)系統(tǒng)或其它設(shè)備來執(zhí)行它們。硬件和軟件的典型組合可以是具有計算機(jī)程序的通用計算機(jī)系統(tǒng),當(dāng)加載和執(zhí)行計算機(jī)程序時,控制計算機(jī)系統(tǒng),以便它進(jìn)行在此描述的方法。另外,可以利用包含用于進(jìn)行發(fā)明的一種或多種功能任務(wù)的專門化硬件的專用計算機(jī)。本發(fā)明也可以被嵌入計算機(jī)程序產(chǎn)品中,該計算機(jī)程序產(chǎn)品包括能夠?qū)嵤┰诖嗣枋龅姆椒ê凸δ艿乃刑卣?,并?dāng)加載在計算機(jī)系統(tǒng)中時,能夠進(jìn)行這些方法和功能。本文中的計算機(jī)程序、軟件程序、程序、程序產(chǎn)品或軟件意味著一組指令的用任意語言、代碼或符號的任意表達(dá),旨在使具有信息處理能力的系統(tǒng)直接或在如下之后執(zhí)行特定功能(a)轉(zhuǎn)換為另一語言、代碼或符合;和/或(b)以不同的材料形式再現(xiàn)。此外,應(yīng)該認(rèn)識到可以提供上述發(fā)明作為第三方服務(wù)。
盡管結(jié)合上面所述的特定實施例描述了本發(fā)明,但是對所屬領(lǐng)域的技術(shù)人員來說許多選擇性方案、改進(jìn)和變化是顯而易見的。由此,上面所述的發(fā)明的實施例旨在說明,而不是限制。在不脫離下列權(quán)利要求限定的本發(fā)明的精神和范圍的條件下,可以進(jìn)行各種變化。
權(quán)利要求
1.一種用于使集成電路(IC)設(shè)計布圖從沒有基本設(shè)計限制(RDR)的源技術(shù)遷移至具有RDR的目標(biāo)技術(shù)的方法,該方法包括以下步驟認(rèn)證設(shè)計布圖,以滿足RDR柵格約束并在第一方向上固定任意基本規(guī)則違規(guī);插入需要的虛擬形狀;以及運(yùn)行最小擾動分析,以便滿足至少一個關(guān)鍵形狀的邊緣覆蓋度需求并在第二方向上固定任意基本規(guī)則違規(guī)。
2.根據(jù)權(quán)利要求1的方法,其中所述認(rèn)證步驟包括利用最小布圖擾動,同時滿足所述RDR柵格約束,計算多個關(guān)鍵形狀的每一個的目標(biāo)間距上位置;以及通過將關(guān)鍵形狀的目標(biāo)間距上位置作為多個關(guān)鍵形狀和設(shè)計布圖邊界之間的一組基本規(guī)則間隔約束,認(rèn)證所述設(shè)計布圖作為線性規(guī)劃問題。
3.根據(jù)權(quán)利要求2的方法,其中所述計算步驟包括產(chǎn)生模擬多個關(guān)鍵形狀和其鄰近關(guān)系的邊緣加權(quán)圖形;以及通過首先布置具有較少松弛的關(guān)鍵形狀,使用所述邊緣加權(quán)圖形,在第一方向上確定所述多個關(guān)鍵形狀的目標(biāo)柵格位置。
4.根據(jù)權(quán)利要求3的方法,其中所述產(chǎn)生步驟包括模擬所述多個關(guān)鍵形狀和其鄰近關(guān)系,作為邊緣加權(quán)圖形;以及將權(quán)重賦予所述邊緣加權(quán)圖形的每個弧形。
5.根據(jù)權(quán)利要求3的方法,其中所述確定步驟包括估算每個關(guān)鍵形狀的可能有效柵格位置的范圍;分析所述邊緣加權(quán)圖形上的可能有效柵格位置的松弛值;依據(jù)柵格估算所述布圖的最小寬度;在相應(yīng)的有效位置范圍內(nèi)以及盡可能地接近初始位置,以拓?fù)浯涡虿贾镁哂凶钚∷沙诘年P(guān)鍵形狀;以及更新未布置的關(guān)鍵形狀的可能有效柵格位置和松弛。
6.根據(jù)權(quán)利要求3的方法,其中所述邊緣加權(quán)圖形包括表示關(guān)鍵形狀的節(jié)點(diǎn),以及表示兩個關(guān)鍵形狀之間的相鄰性并加權(quán)有它們之間的最小和優(yōu)選柵格間隔之一的弧形。
7.根據(jù)權(quán)利要求1的方法,其中插入需要的虛擬形狀的所述步驟包括在所述第一方向上運(yùn)行第一最小擾動分析,其中固定所述設(shè)計布圖的多個關(guān)鍵形狀的柵格位置并設(shè)計基本規(guī)則,以減小所述關(guān)鍵形狀周圍的擴(kuò)散區(qū);插入至少一個虛擬形狀;以及運(yùn)行第二最小擾動分析,其中固定所述多個關(guān)鍵形狀和每個虛擬形狀的柵格位置,以解決由第一方向上的每個虛擬形狀產(chǎn)生的任意基本規(guī)則違規(guī)。
8.根據(jù)權(quán)利要求7的方法,其中所述至少一個虛擬形狀插入步驟包括在不超過關(guān)鍵形狀的兩個柵格位置的范圍內(nèi)并不被擴(kuò)散區(qū)或其它形狀覆蓋的任意區(qū)域中的間距上布置虛擬形狀。
9.根據(jù)權(quán)利要求7的方法,其中在所述第一方向上在所述第二最小擾動分析過程中,所述關(guān)鍵形狀和每個虛擬形狀不移動。
10.根據(jù)權(quán)利要求1的方法,其中在所述第二方向上的所述最小擾動分析還包括校正第二方向上的任意基本規(guī)則違規(guī),以及使所有水平布線非關(guān)鍵,以便使相移掩模布圖問題最小。
11.根據(jù)權(quán)利要求1的方法,其中所述第一方向是垂直于所述多個關(guān)鍵形狀的縱軸的方向,以及所述第二方向平行于所述多個關(guān)鍵形狀的縱軸。
12.一種用于使集成電路(IC)設(shè)計布圖從沒有基本設(shè)計限制(RDR)的源技術(shù)遷移至具有RDR的目標(biāo)技術(shù)的系統(tǒng),該系統(tǒng)包括用于認(rèn)證設(shè)計布圖,以滿足RDR柵格約束并在第一方向上固定任意基本規(guī)則違規(guī)的裝置;用于插入需要的虛擬形狀的裝置;以及用于運(yùn)行最小擾動分析,以便解決至少一個關(guān)鍵形狀的邊緣覆蓋度需求并在第二方向上固定任意基本規(guī)則違規(guī)的裝置。
13.根據(jù)權(quán)利要求12的系統(tǒng),其中所述認(rèn)證裝置包括用于利用最小布圖擾動,同時滿足所述RDR柵格約束,計算多個關(guān)鍵形狀的每一個的目標(biāo)間距上位置的裝置;以及用于通過將關(guān)鍵形狀的目標(biāo)間距上位置作為多個關(guān)鍵形狀和設(shè)計布圖邊界之間的一組基本規(guī)則間隔約束,認(rèn)證所述設(shè)計布圖作為線性規(guī)劃問題的裝置。
14.根據(jù)權(quán)利要求13的系統(tǒng),其中所述計算裝置包括用于產(chǎn)生模擬多個關(guān)鍵形狀和其鄰近關(guān)系的邊緣加權(quán)圖形的裝置;以及用于通過首先布置具有較少松弛的關(guān)鍵形狀,使用所述邊緣加權(quán)圖形,在第一方向上確定所述多個關(guān)鍵形狀的目標(biāo)柵格位置的裝置。
15.根據(jù)權(quán)利要求14的系統(tǒng),其中所述產(chǎn)生裝置包括用于模擬所述多個關(guān)鍵形狀和其鄰近關(guān)系,作為邊緣加權(quán)圖形的裝置;以及用于將權(quán)重賦予所述邊緣加權(quán)圖形的每個弧形的裝置。
16.根據(jù)權(quán)利要求14的系統(tǒng),其中所述確定裝置包括用于估算每個關(guān)鍵形狀的可能有效柵格位置的范圍的裝置;用于分析所述邊緣加權(quán)圖形上的可能有效柵格位置的松弛值的裝置;用于依據(jù)柵格估算所述布圖的最小寬度的裝置;用于在相應(yīng)的有效位置范圍內(nèi)以及盡可能地接近初始位置,以拓?fù)浯涡虿贾镁哂凶钚∷沙诘年P(guān)鍵形狀的裝置;以及用于更新未布置的關(guān)鍵形狀的可能有效柵格位置和松弛的裝置。
17.根據(jù)權(quán)利要求14的系統(tǒng),其中所述邊緣加權(quán)圖形包括表示關(guān)鍵形狀的節(jié)點(diǎn),以及表示兩個關(guān)鍵形狀之間的相鄰性并加權(quán)有它們之間的最小和優(yōu)選柵格間隔之一的弧形。
18.根據(jù)權(quán)利要求12的系統(tǒng),其中所述需要的虛擬形狀插入裝置包括用于在所述第一方向上運(yùn)行第一最小擾動分析,其中固定所述設(shè)計布圖的多個關(guān)鍵形狀的柵格位置并設(shè)計基本規(guī)則,以減小所述關(guān)鍵形狀周圍的擴(kuò)散區(qū)的裝置;用于插入至少一個虛擬形狀的裝置;以及用于運(yùn)行第二最小擾動分析,其中固定所述關(guān)鍵形狀和每個虛擬形狀的柵格位置,以解決由第一方向上的每個虛擬形狀產(chǎn)生的任意基本規(guī)則違規(guī)的裝置。
19.根據(jù)權(quán)利要求18的系統(tǒng),其中所述至少一個虛擬形狀插入裝置在不超過關(guān)鍵形狀的兩個柵格位置的范圍內(nèi)并不被擴(kuò)散區(qū)或其它形狀覆蓋的任意區(qū)域中的間距上布置虛擬形狀。
20.根據(jù)權(quán)利要求18的系統(tǒng),其中在所述第二運(yùn)行裝置的操作過程中每個虛擬形狀被固定。
21.根據(jù)權(quán)利要求12的系統(tǒng),其中所述最小擾動分析運(yùn)行裝置還包括校正第二方向上的任意基本規(guī)則違規(guī),以及使所有水平布線非關(guān)鍵,以便使相移掩模布圖問題最小。
22.根據(jù)權(quán)利要求12的系統(tǒng),其中所述第一方向是垂直于所述多個關(guān)鍵形狀的縱軸的方向,以及所述第二方向平行于所述多個關(guān)鍵形狀的縱軸。
23.一種計算機(jī)程序產(chǎn)品,包括具有嵌入其中的計算機(jī)可讀程序代碼的計算機(jī)可用介質(zhì),用于將集成電路(IC)設(shè)計從沒有基本設(shè)計限制(RDR)的源技術(shù)遷移至具有RDR的目標(biāo)技術(shù),該程序產(chǎn)品包括配置為認(rèn)證設(shè)計布圖,以滿足RDR柵格約束并在第一方向上固定任意基本規(guī)則違規(guī)的程序代碼;配置為插入需要的虛擬形狀的程序代碼;以及配置為運(yùn)行最小擾動分析,以便解決至少一個關(guān)鍵形狀的邊緣覆蓋度需求并在第二方向上固定任意基本規(guī)則違規(guī)的程序代碼。
24.根據(jù)權(quán)利要求23的程序產(chǎn)品,其中所述認(rèn)證代碼包括配置為利用最小布圖擾動,同時滿足所述RDR柵格約束,計算多個關(guān)鍵形狀的每一個的目標(biāo)間距上位置的程序代碼;以及配置為通過將關(guān)鍵形狀的目標(biāo)間距上位置作為多個關(guān)鍵形狀和設(shè)計布圖邊界之間的一組基本規(guī)則間隔約束,認(rèn)證所述設(shè)計布圖作為線性規(guī)劃問題的程序代碼。
25.根據(jù)權(quán)利要求24的程序產(chǎn)品,其中所述計算代碼包括配置為產(chǎn)生模擬多個關(guān)鍵形狀和其鄰近關(guān)系的邊緣加權(quán)圖形的程序代碼;以及配置為通過首先布置具有較少松弛的關(guān)鍵形狀,使用所述邊緣加權(quán)圖形,在第一方向上確定所述多個關(guān)鍵形狀的目標(biāo)柵格位置的程序代碼。
26.根據(jù)權(quán)利要求25的程序產(chǎn)品,其中所述產(chǎn)生代碼包括配置為模擬所述多個關(guān)鍵形狀和其鄰近關(guān)系,作為邊緣加權(quán)圖形的程序代碼;以及配置為將權(quán)重賦予所述邊緣加權(quán)圖形的每個弧形的程序代碼。
27.根據(jù)權(quán)利要求25的程序產(chǎn)品,其中所述確定代碼包括配置為估算每個關(guān)鍵形狀的可能有效柵格位置的范圍的程序代碼;配置為分析所述邊緣加權(quán)圖形上的可能有效柵格位置的松弛值的程序代碼;配置為依據(jù)柵格估算所述布圖的最小寬度的程序代碼;配置為在相應(yīng)的有效位置范圍內(nèi)以及盡可能地接近初始位置,以拓?fù)浯涡虿贾镁哂凶钚∷沙诘年P(guān)鍵形狀的程序代碼;以及配置為更新未布置的關(guān)鍵形狀的可能有效柵格位置和松弛的程序代碼。
28.根據(jù)權(quán)利要求25的程序產(chǎn)品,其中所述邊緣加權(quán)圖形包括表示關(guān)鍵形狀的節(jié)點(diǎn),以及表示兩個關(guān)鍵形狀之間的相鄰性并加權(quán)有它們之間的最小和優(yōu)選柵格間隔之一的弧形。
29.根據(jù)權(quán)利要求23的程序產(chǎn)品,其中所述需要的虛擬形狀插入代碼包括配置為在所述第一方向上運(yùn)行第一最小擾動分析,其中固定所述設(shè)計布圖的多個關(guān)鍵形狀的柵格位置并設(shè)計基本規(guī)則,以減小所述關(guān)鍵形狀周圍的擴(kuò)散區(qū)的程序代碼;配置為插入至少一個虛擬形狀的程序代碼;以及配置為運(yùn)行第二最小擾動分析,其中固定所述多個關(guān)鍵形狀和每個虛擬形狀的柵格位置,以解決由第一方向上的每個虛擬形狀產(chǎn)生的任意基本規(guī)則違規(guī)的程序代碼。
30.根據(jù)權(quán)利要求29的程序產(chǎn)品,其中所述至少一個虛擬形狀插入程序代碼在不超過關(guān)鍵形狀的兩個柵格位置的范圍內(nèi)并不被擴(kuò)散區(qū)或其它形狀覆蓋的任意區(qū)域中布置虛擬形狀。
31.根據(jù)權(quán)利要求29的程序產(chǎn)品,其中在所述第二運(yùn)行裝置的操作過程中每個虛擬形狀被固定。
32.根據(jù)權(quán)利要求23的程序產(chǎn)品,其中所述最小擾動分析運(yùn)行程序代碼還校正第二方向上的任意基本規(guī)則違規(guī),以及使所有水平布線非關(guān)鍵,以便使相移掩模布圖問題最小。
33.根據(jù)權(quán)利要求23的程序產(chǎn)品,其中所述第一方向是垂直于所述多個關(guān)鍵形狀的縱軸的方向,以及所述第二方向平行于所述多個關(guān)鍵形狀的縱軸。
34.一種用于利用原始設(shè)計的最小布圖擾動認(rèn)證受基本規(guī)則和基本設(shè)計限制(RDR)柵格約束影響的集成電路設(shè)計布圖的方法,該方法包括以下步驟利用最小布圖擾動,同時滿足所述RDR柵格約束,計算多個關(guān)鍵形狀的每一個的目標(biāo)間距上位置;以及通過將關(guān)鍵形狀的目標(biāo)間距上位置作為多個關(guān)鍵形狀和設(shè)計布圖邊界之間的一組基本規(guī)則間隔約束,認(rèn)證所述設(shè)計布圖作為線性規(guī)劃問題。
35.根據(jù)權(quán)利要求34的方法,其中所述計算步驟包括產(chǎn)生模擬多個關(guān)鍵形狀和其鄰近關(guān)系的邊緣加權(quán)圖形;以及通過首先布置具有較少松弛的關(guān)鍵形狀,使用所述邊緣加權(quán)圖形,在第一方向上確定所述多個關(guān)鍵形狀的目標(biāo)柵格位置。
36.根據(jù)權(quán)利要求35的方法,其中所述產(chǎn)生步驟包括模擬所述多個關(guān)鍵形狀和其鄰近關(guān)系,作為邊緣加權(quán)圖形;以及將權(quán)重賦予所述邊緣加權(quán)圖形的每個弧形。
37.根據(jù)權(quán)利要求35的方法,其中所述確定步驟包括估算每個關(guān)鍵形狀的可能有效柵格位置的范圍;分析所述邊緣加權(quán)圖形上的可能有效柵格位置的松弛值;依據(jù)柵格估算所述布圖的最小寬度;在相應(yīng)的有效位置范圍內(nèi)以及盡可能地接近初始位置,以拓?fù)浯涡虿贾镁哂凶钚∷沙诘年P(guān)鍵形狀;以及更新未布置的關(guān)鍵形狀的可能有效柵格位置和松弛。
38.根據(jù)權(quán)利要求35的方法,其中所述邊緣加權(quán)圖形包括表示關(guān)鍵形狀的節(jié)點(diǎn),以及表示兩個關(guān)鍵形狀之間的相鄰性并加權(quán)有它們之間的最小和優(yōu)選柵格間隔之一的弧形。
39.一種利用原始設(shè)計的最小布圖擾動認(rèn)證受基本規(guī)則和基本設(shè)計限制(RDR)柵格約束影響的集成電路設(shè)計布圖的系統(tǒng),該系統(tǒng)包括用于利用最小布圖擾動,同時滿足所述RDR柵格約束,計算多個關(guān)鍵形狀的每一個的目標(biāo)間距上位置的裝置;以及用于通過將關(guān)鍵形狀的目標(biāo)間距上位置作為多個關(guān)鍵形狀和設(shè)計布圖邊界之間的一組基本規(guī)則間隔約束,認(rèn)證所述設(shè)計布圖作為線性規(guī)劃問題的裝置。
40.根據(jù)權(quán)利要求39的系統(tǒng),其中所述計算裝置包括用于產(chǎn)生模擬多個關(guān)鍵形狀和其鄰近關(guān)系的邊緣加權(quán)圖形的裝置;以及用于通過首先布置具有較少松弛的關(guān)鍵形狀,使用所述邊緣加權(quán)圖形,在第一方向上確定所述多個關(guān)鍵形狀的目標(biāo)柵格位置的裝置。
41.根據(jù)權(quán)利要求40的系統(tǒng),其中所述產(chǎn)生裝置包括用于模擬所述多個關(guān)鍵形狀和其鄰近關(guān)系,作為邊緣加權(quán)圖形的裝置;以及用于將權(quán)重賦予所述邊緣加權(quán)圖形的每個弧形的裝置。
42.根據(jù)權(quán)利要求40的系統(tǒng),其中所述確定裝置包括用于估算每個關(guān)鍵形狀的可能有效柵格位置的范圍的裝置;用于分析所述邊緣加權(quán)圖形上的可能有效柵格位置的松弛值的裝置;用于依據(jù)柵格估算所述布圖的最小寬度的裝置;用于在相應(yīng)的有效位置范圍內(nèi)以及盡可能地接近初始位置,以拓?fù)浯涡虿贾镁哂凶钚∷沙诘年P(guān)鍵形狀的裝置;以及用于更新未布置的關(guān)鍵形狀的可能有效柵格位置和松弛的裝置。
43.根據(jù)權(quán)利要求40的系統(tǒng),其中所述邊緣加權(quán)圖形包括表示關(guān)鍵形狀的節(jié)點(diǎn),以及表示兩個關(guān)鍵形狀之間的相鄰性并加權(quán)有它們之間的最小和優(yōu)選柵格間隔之一的弧形。
44.一種計算機(jī)程序產(chǎn)品,包括具有嵌入其中的計算機(jī)可讀程序代碼的計算機(jī)可用介質(zhì),用于利用原始設(shè)計的最小布圖擾動認(rèn)證受基本規(guī)則和基本設(shè)計限制(RDR)柵格約束影響的集成電路設(shè)計布圖,該程序產(chǎn)品包括配置為利用最小布圖擾動,同時滿足所述RDR柵格約束,計算多個關(guān)鍵形狀的每一個的目標(biāo)間距上位置的程序代碼;以及配置為通過將關(guān)鍵形狀的目標(biāo)間距上位置作為多個關(guān)鍵形狀和設(shè)計布圖邊界之間的一組基本規(guī)則間隔約束,認(rèn)證所述設(shè)計布圖作為線性規(guī)劃問題的程序代碼。
45.根據(jù)權(quán)利要求44的程序產(chǎn)品,其中所述計算代碼包括配置為產(chǎn)生模擬多個關(guān)鍵形狀和其鄰近關(guān)系的邊緣加權(quán)圖形的程序代碼;以及配置為通過首先布置具有較少松弛的關(guān)鍵形狀,使用所述邊緣加權(quán)圖形,在第一方向上確定所述多個關(guān)鍵形狀的目標(biāo)柵格位置的程序代碼。
46.根據(jù)權(quán)利要求45的程序產(chǎn)品,其中所述產(chǎn)生代碼包括配置為模擬所述多個關(guān)鍵形狀和其鄰近關(guān)系,作為邊緣加權(quán)圖形的程序代碼;以及配置為將權(quán)重賦予所述邊緣加權(quán)圖形的每個弧形的程序代碼。
47.根據(jù)權(quán)利要求45的程序產(chǎn)品,其中所述確定代碼包括配置為估算每個關(guān)鍵形狀的可能有效柵格位置的范圍的程序代碼;配置為分析所述邊緣加權(quán)圖形上的可能有效柵格位置的松弛值的程序代碼;配置為依據(jù)柵格估算所述布圖的最小寬度的程序代碼;配置為在相應(yīng)的有效位置范圍內(nèi)以及盡可能地接近初始位置,以拓?fù)浯涡虿贾镁哂凶钚∷沙诘年P(guān)鍵形狀的程序代碼;以及配置為更新未布置的關(guān)鍵形狀的可能有效柵格位置和松弛的程序代碼。
48.根據(jù)權(quán)利要求45的程序產(chǎn)品,其中所述邊緣加權(quán)圖形包括表示關(guān)鍵形狀的節(jié)點(diǎn),以及表示兩個關(guān)鍵形狀之間的相鄰性并加權(quán)有它們之間的最小和優(yōu)選柵格間隔之一的弧形。
全文摘要
本發(fā)明公開了一種用于使集成電路(IC)設(shè)計從沒有基本設(shè)計限制(RDR)的源技術(shù)遷移至具有RDR的目標(biāo)技術(shù)的系統(tǒng)、方法和程序產(chǎn)品。本發(fā)明實現(xiàn)滿足RDR需求的最小布圖擾動方法。本發(fā)明還解決了插入需要的虛擬形狀并延伸關(guān)鍵形狀和/或虛擬形狀的長度以滿足“邊緣覆蓋度”需求的問題。
文檔編號G06F17/50GK1801160SQ20051011703
公開日2006年7月12日 申請日期2005年10月28日 優(yōu)先權(quán)日2004年10月29日
發(fā)明者袁昕, K·W·麥卡倫, 邢福侖, R·F·沃克, J·希伯勒, R·J·愛倫, R·R·納拉揚(yáng), C·V·恩迪科特 申請人:國際商業(yè)機(jī)器公司