據(jù),例如集成電路器件的層,或甚至是集成電路器件的層的一部分。進(jìn) 一步地,術(shù)語"設(shè)計"的意思還包括描述多個微器件的數(shù)據(jù),例如將用于創(chuàng)建掩膜或光罩的 數(shù)據(jù),以便在單個襯底上同時形成多個微型器件。布局設(shè)計數(shù)據(jù)可以是任何期望的格式,例 如,圖形數(shù)據(jù)系統(tǒng)II(GDSII)數(shù)據(jù)格式或由國際半導(dǎo)體設(shè)備與材料(SEMI)提議的開放式工 藝圖系統(tǒng)交換標(biāo)準(zhǔn)(OASIS)數(shù)據(jù)格式。其它格式包括OpenAccess開源格式、Synopsys公 司的Milkyway、和MentorGraphics公司的EDDM。
[0029] 新集成電路設(shè)計可包含在邏輯電路、存儲電路、可編程現(xiàn)場陣列和其它電路器件 中百萬量級的晶體管、電阻器、電容器或其它電子結(jié)構(gòu)之間的互連。為了允許計算機(jī)更容 易地創(chuàng)建和分析這些大型數(shù)據(jù)結(jié)構(gòu)(并允許人類使用者更好地理解這些數(shù)據(jù)結(jié)構(gòu)),它們 經(jīng)常被層次化地組織成通常稱為"單元"的較小結(jié)構(gòu)。因此,對于微處理器或閃存設(shè)計,構(gòu) 成存儲電路中用于存儲單個比特的所有晶體管可被分類為單個"比特存儲"單元。不用單 獨(dú)列舉每個晶體管,構(gòu)成單比特存儲電路的一組晶體管可作為一個獨(dú)體而被集體引用和操 作。類似地,描述一個相對較大的16比特存儲寄存器電路的設(shè)計數(shù)據(jù)可被分類為一個單獨(dú) 單元。這個高層次"寄存器單元"繼而可包含16個比特存儲單元和描述其它各類電路的設(shè) 計數(shù)據(jù),如用于傳輸數(shù)據(jù)進(jìn)出每個比特存儲單元的輸入/輸出電路的設(shè)計數(shù)據(jù)。類似地, 描述一個128KB存儲陣列的設(shè)計數(shù)據(jù)可簡明地描述為僅64000個寄存器單元的組合,并包 含描述其自身各類電路的設(shè)計數(shù)據(jù),如傳輸數(shù)據(jù)進(jìn)出每個寄存器單元的輸入/輸出電路的 設(shè)計數(shù)據(jù)。
[0030] 通過把微電路設(shè)計數(shù)據(jù)分類成層次化單元,可以對大型數(shù)據(jù)結(jié)構(gòu)進(jìn)行更加快速有 效的處理。例如,電路設(shè)計者通常分析設(shè)計,以確定設(shè)計中描述的每個電路特性都遵從將要 把設(shè)計制造成微電路的廠商指定的設(shè)計規(guī)則。針對上面這個例子,不必分析整個128KB存 儲陣列的每個特性,設(shè)計規(guī)則檢查過程可分析單個比特單元的特性。檢查的結(jié)果將適用于 所有的單個比特單元。一旦證實(shí)單個比特單元的一個實(shí)例遵從設(shè)計規(guī)則,則設(shè)計規(guī)則檢查 過程可簡單地通過分析寄存器單元的額外各種電路(這些電路也可能由一個或更多層次 單元構(gòu)成)的特性從而完成對該寄存器單元的分析。這個檢查的結(jié)果將適用于所有的寄存 器單元。一旦證實(shí)寄存器單元的一個實(shí)例遵從設(shè)計規(guī)則,則設(shè)計規(guī)則檢查軟件應(yīng)用可簡單 地通過分析128KB存儲陣列中額外各種電路的特性從而完成對整個存儲陣列的分析。因 此,大型數(shù)據(jù)結(jié)構(gòu)的分析可精簡成對相對較少數(shù)目的構(gòu)成數(shù)據(jù)結(jié)構(gòu)的單元的分析。
[0031] 使用本發(fā)明的各種實(shí)施例,布局設(shè)計數(shù)據(jù)將包含兩種不同類型的數(shù)據(jù):"繪圖層" 設(shè)計數(shù)據(jù)和"導(dǎo)出層"設(shè)計數(shù)據(jù).繪圖層數(shù)據(jù)描述用來組成材料層中的結(jié)構(gòu)以產(chǎn)生集成電 路的幾何特征。繪圖層數(shù)據(jù)通常包含用于構(gòu)成金屬層、擴(kuò)散層和多晶硅層中的結(jié)構(gòu)的多邊 形。導(dǎo)出層包含由繪圖層數(shù)據(jù)和其它導(dǎo)出層數(shù)據(jù)的組合組成的特征。例如,對于上面描述 的晶體管柵,描述柵的導(dǎo)出層設(shè)計數(shù)據(jù)將從多晶硅材料層中的多邊形與擴(kuò)散材料層中的多 邊形的交接處導(dǎo)出。
[0032] 例如,由設(shè)計規(guī)則檢查模塊執(zhí)行的設(shè)計規(guī)則檢查過程通常執(zhí)行兩種操作:確認(rèn)設(shè) 計數(shù)據(jù)值是否遵從指定參數(shù)的"檢查"操作和創(chuàng)建導(dǎo)出層數(shù)據(jù)的"導(dǎo)出"操作。晶體管柵設(shè) 計數(shù)據(jù)因此可通過下面所示的導(dǎo)出操作來創(chuàng)建:
[0033] 柵=擴(kuò)散層AND多晶硅層
[0034] 這一操作的結(jié)果將是識別擴(kuò)散層多邊形與多晶硅層多邊形的所有交接處的"層" 數(shù)據(jù)。同樣地,通過在擴(kuò)散層中摻雜η型材料而形成的p型晶體管柵可通過下面所示的導(dǎo) 出操作來識別:
[0035] ρ型柵=η型井AND柵
[0036] 這一操作的結(jié)果將是識別擴(kuò)散層中的多邊形被η型材料摻雜的所有晶體管柵(也 就是,擴(kuò)散層多邊形和多晶硅層多邊形的交接處)的另一"層"數(shù)據(jù)。
[0037] 由設(shè)計規(guī)則檢查模塊執(zhí)行的檢查操作將為數(shù)據(jù)設(shè)計值限定參數(shù)或參數(shù)范圍。例 如,使用者可能希望確保沒有任何金屬連接線與另一個連接線的距離小于一個微米。這類 分析可通過下面所示的檢查操作來執(zhí)行:
[0038] 外部金屬〈1
[0039] 這一操作的結(jié)果將識別金屬層設(shè)計數(shù)據(jù)中與同層另一多邊形間距小于一個微米 的每個多邊形。
[0040] 盡管上述操作利用繪圖層數(shù)據(jù),但是對導(dǎo)出層數(shù)據(jù)同樣也可執(zhí)行檢查操作。例如, 如果使用者希望確認(rèn)沒有晶體管柵與另一個柵之間的距離在一微米之內(nèi),則設(shè)計規(guī)則檢查 過程可包含下面的檢查操作:
[0041] 外部柵〈1
[0042] 這一操作的結(jié)果將識別代表了被放置在與另一柵間距小于一個微米位置的柵的 所有柵設(shè)計數(shù)據(jù)。然而,應(yīng)注意到只有在從繪圖層設(shè)計數(shù)據(jù)中識別柵的導(dǎo)出操作被執(zhí)行后, 這個檢查操作才可執(zhí)行。
[0043] 操作環(huán)境
[0044] 本公開技術(shù)包含了在這里以單獨(dú)方式以及它們的各種組合與子組合方式描述的 系統(tǒng)和方法實(shí)施例的所有新穎的和非顯而易見的特性和特征。公開實(shí)施例的特性和特征可 以單獨(dú)方式或相互之間的各種新穎和非顯而易見的組合與子組合方式使用。
[0045] 盡管本公開方法的操作以一種特定次序的方式進(jìn)行說明以方便展示,但是應(yīng)當(dāng)理 解這種說明方式包含了次序的重新調(diào)整,除非下面的特定語言詳細(xì)解釋要求某種特定次 序。例如,以順序的方式說明的操作在一些情況下可調(diào)整次序或并行執(zhí)行。此外,為了簡單 起見,公開的流程圖和框圖通常不顯示某些特定的方法可以和另外方法一起使用的各種途 徑。另外,詳細(xì)說明有時使用詞語如"確定"來說明本公開的方法。這些詞語是對執(zhí)行的實(shí) 際操作的高度概括。相對于這些術(shù)語的實(shí)際操作基于特定的實(shí)現(xiàn)而不同,并可很容易地被 所屬領(lǐng)域的技術(shù)人員所辨別。
[0046] 這里說明的方法可使用存儲在計算機(jī)可讀介質(zhì)并由計算機(jī)執(zhí)行的軟件來實(shí)現(xiàn)。例 如,一些公開的方法可作為電子設(shè)計自動化(EDA)工具的一部分來實(shí)現(xiàn)。這些方法可在單 獨(dú)的計算機(jī)或聯(lián)網(wǎng)計算機(jī)上執(zhí)行。為清楚起見,只說明與這些公開技術(shù)有關(guān)的軟件部分;省 略了所屬領(lǐng)域已知的產(chǎn)品細(xì)節(jié)。
[0047] 基于本發(fā)明實(shí)施例的各種電子設(shè)計自動化過程的執(zhí)行可使用通過一個或更多可 編程計算設(shè)備執(zhí)行的計算機(jī)可執(zhí)行軟件指令來實(shí)現(xiàn)。因?yàn)楸景l(fā)明的這些實(shí)施例可使用軟件 指令來執(zhí)行,因此將首先描述可利用本發(fā)明各種實(shí)施例的通用可編程計算機(jī)系統(tǒng)的組件和 操作。此外,由于一些電子設(shè)計自動化過程的復(fù)雜性和許多電路設(shè)計的巨大規(guī)模,各種電子 設(shè)計自動化工具被配置運(yùn)行在可同時運(yùn)行多處理線程的計算機(jī)系統(tǒng)上。將參照圖1描述包 含主計算機(jī)及一個或多個遠(yuǎn)程或從屬計算機(jī)的計算機(jī)網(wǎng)絡(luò)的組件和操作。然而這個操作環(huán) 境只是適用操作環(huán)境的一個例子,并不用來限制本發(fā)明使用或功能的范圍。
[0048] 在圖1中,計算機(jī)網(wǎng)絡(luò)101包括主計算機(jī)103。在所顯示的例子中,主計算機(jī)103 是多處理器計算機(jī),其包括多個輸入和輸出設(shè)備105以及存儲設(shè)備107。輸入和輸出設(shè)備 105可包括用于從使用者處接收輸入數(shù)據(jù)或提供輸出數(shù)據(jù)給使用者的任何設(shè)備。輸入設(shè)備 可包括,例如,鍵盤、麥克風(fēng)、掃描儀或指點(diǎn)設(shè)備以接收使用者的輸入。輸出設(shè)備可包括顯 示器、揚(yáng)聲器、打印機(jī)或觸覺反饋設(shè)備。這些設(shè)備及其連接在業(yè)界已為所知,因此這里不作 詳述。
[0049] 存儲設(shè)備107可類似地使用主計算機(jī)103可存取的計算機(jī)可讀介質(zhì)的任何組合 來實(shí)現(xiàn)。計算機(jī)可讀介質(zhì)可包括,例如,微電路存儲設(shè)備如讀寫存儲器(RAM)、只讀存儲器 (ROM)、電可擦可編程只讀存儲器(EEPR0M)或閃存存儲微電路設(shè)備、CD-ROM光盤、數(shù)字視頻 光盤(DVD)或其它光存儲設(shè)備。計算機(jī)可讀介質(zhì)還可包括磁碟、磁帶、磁盤或其他磁性存儲 設(shè)備、打孔介質(zhì)、全息存儲設(shè)備或任何其它可用于存儲期望信息的介質(zhì)。
[0050] 如同以下將要具體討論的,主計算機(jī)103運(yùn)行軟件應(yīng)用程序,該程序執(zhí)行基于本 發(fā)明各種實(shí)施例的一個或多個操作。相應(yīng)地,存儲設(shè)備107存儲軟件指令109A,當(dāng)這些指令 被執(zhí)行時,其執(zhí)行軟件應(yīng)用程序以完成一個或多個操作。存儲設(shè)備107還存儲與軟件應(yīng)用 程序一起使用的數(shù)據(jù)109B。在所顯示的實(shí)施例中,數(shù)據(jù)109B包含過程數(shù)據(jù),軟件應(yīng)用程序 使用該過程數(shù)據(jù)來執(zhí)行一些操作,這些操作的至少一部分可以是并行的。
[0051] 主計算機(jī)103還包括多個處理器單元111和一個接口設(shè)備113。處理器單元 111可以是能夠被編程以執(zhí)行軟件指令109A的任何種類的處理器設(shè)備,不過傳統(tǒng)上是 微處理器設(shè)備。例如,一個或多個處理器單元111可以是商用通用可編程微處理器,如 Intel?Pentium?或Xeon?微處理器、AdvancedMicroDevicesAthlon?微處理器或 Motorola68K/Coldfire?微處理器??蛇x地或附加地,一個或多個處理器單元ill可以 是定制制造的處理器,如被設(shè)計成可優(yōu)化執(zhí)行指定類型的數(shù)學(xué)運(yùn)算的微處理器。接口設(shè)備 113、處理器單元111、存儲設(shè)備107和輸入輸出設(shè)備105通過總線115連接在一起。
[0052] 使用本發(fā)明的一些實(shí)現(xiàn),主計算設(shè)備103可利用一個或多個含有多于一個處理器 內(nèi)核的處理器單元111。相應(yīng)地,圖2顯示了可用于本發(fā)明各種實(shí)施例的多核處理器111的 例子。如圖所示,處理器單元111包括多個處理器內(nèi)核201。每個處理器內(nèi)核201包括計算 引擎203和高速存儲緩存205。如所屬領(lǐng)域普通技術(shù)人員所知,計算引擎包含用于執(zhí)行各 種計算功能的邏輯器件,例如提取軟件指令和執(zhí)行所提取指令中指定的動作。這些動作可 包括,例如,執(zhí)行加法、減法、乘法和算術(shù)比較,執(zhí)行邏輯操作如與、或、非或和異或,和提取 數(shù)據(jù)。每個計算引擎203可使用其相應(yīng)的高速存儲緩存205來快速存儲和提取數(shù)據(jù)和/或 用于執(zhí)行的指令。
[0053] 每個處理器內(nèi)核201連接到互連207。根據(jù)處理器內(nèi)核201