專利名稱:增量式布局分析的制作方法
技術(shù)領(lǐng)域:
本發(fā)明用于布局設(shè)計數(shù)據(jù)的增量式分析。本發(fā)明的各方面特別 有益于基于前次分析的結(jié)果,例如設(shè)計規(guī)則檢查分析或設(shè)計可制造 性分析的結(jié)果來分析布局設(shè)計數(shù)據(jù)中的修改。
背景技術(shù):
電子電路,例如集成微電路,被使用到汽車、微波、個人計算 機(jī)等各種產(chǎn)品中。典型的從設(shè)計到制造微電路器件過程包括眾人所 知的"設(shè)計流程"的很多步驟。設(shè)計流程的特定步驟通常取決于微電 路的種類、其復(fù)雜性、設(shè)計團(tuán)隊和制造微電路的微電路制造商或廠 商。通常,軟件和硬件"工具"在設(shè)計流程的各個步驟,通過運(yùn)行軟 件仿真器和/或硬件仿真器,對設(shè)計進(jìn)行驗(yàn)證,并更正設(shè)計中的錯誤 或改進(jìn)設(shè)計。
一些步驟在大多數(shù)設(shè)計流程中是常見的。在初始階段, 一個新 電路的技術(shù)要求被轉(zhuǎn)換為邏輯設(shè)計,有時又稱作電路的寄存器傳輸 級(RTL)描述。使用邏輯設(shè)計,電路被描述成硬件寄存器之間的信 號交換以及對這些信號的邏輯操作。邏輯設(shè)計通常利用硬件描述語 言(HDL),例如高速集成電路硬件描述語言(VHDL)。然后分析 電路的邏輯以確定其將正確執(zhí)行該電路所期望的功能。這 一 分析有
5時被稱作"功能驗(yàn)證"。
在確認(rèn)邏輯設(shè)計的正確性后,通過綜合軟件將邏輯設(shè)計轉(zhuǎn)換為 器件設(shè)計。器件設(shè)計通常用原理圖或網(wǎng)表的形式來描述電路中使用 的特定電子器件(例如晶體管、電阻器和電容器)以及它們之間的 互連。器件設(shè)計通常相當(dāng)于常規(guī)電路圖顯示的代表層次。在這一階 段,使用每個器件假設(shè)的速度特性,可對部分電路進(jìn)行初步的時序 估算。另外,分析電子器件間的關(guān)系以確定器件設(shè)計所描述的電路 會正確執(zhí)行所期望的功能。這一分析有時被稱作"形式驗(yàn)證"。
當(dāng)建立電路器件之間的關(guān)系后,設(shè)計被再次轉(zhuǎn)換為描述特定幾 何元素的物理設(shè)計。這種類型的設(shè)計通常被稱作"布局"設(shè)計。幾何 元素通常為多邊形,其限定將在各種材料中創(chuàng)建的結(jié)構(gòu)以便制造電 路。通常,設(shè)計者將選擇若干組代表電路器件元件(如接觸件、柵 等)的幾何元素并^巴它們放置在設(shè)計區(qū)域中。這些幾何元素組可以 是定制設(shè)計的、從以前創(chuàng)建的設(shè)計庫中選擇的、或二者的某種組合。 然后在幾何元素間走線,這些線組成了用于互連電子器件的布線。
布局工具(通常稱作"布局布線"工具),如Mentor Graphics的IC Station或Cadence的Virtuoso,經(jīng)常用于執(zhí)行這些任務(wù)。
對于一個布局設(shè)計,電路的每個物理層在設(shè)計中均有對應(yīng)的層 表示,層表示中描述的幾何元素限定將組成電路器件的電路器件元 件的相對位置。因此,注入層表示中的幾何元素限定將發(fā)生(不發(fā) 生)摻雜的區(qū)域,金屬層表示中的幾何元素限定在金屬層中連接電 路器件的導(dǎo)線將形成的位置。
進(jìn)一步地,可以修改布局設(shè)計以利用 一個或更多分辨率增強(qiáng)技 術(shù)(RET)。這些技術(shù)改善光刻制造工藝中根據(jù)布局設(shè)計創(chuàng)建的光罩 /掩膜的可用分辨率。 一種此類的修改工藝,有時稱作光學(xué)鄰近修正 (OPC)工藝,可將諸如襯線或印壓之類的特性加入到已有的布局 設(shè)計數(shù)據(jù)中,以便改善根據(jù)修改后的布局設(shè)計數(shù)據(jù)生成的掩膜的分 辨率。例如,光學(xué)鄰近修正工藝可修改矩形多邊形,從而包括"錘頭" 外形以在多邊形拐角處降低光刻圖像的圓形程度。通常設(shè)計者會在布局設(shè)計數(shù)據(jù)被定稿以創(chuàng)建光刻掩膜前執(zhí)行一 個或更多過程以對其進(jìn)行分析。例如,分析布局設(shè)計數(shù)據(jù)以確認(rèn)其 準(zhǔn)確地代表電路器件,并且它們之間的關(guān)系正如器件設(shè)計中所描述 的。這種類型的分析通常稱為"布局經(jīng)原理圖檢查"。分析布局設(shè)計 數(shù)據(jù)還可確認(rèn)其遵從各種設(shè)計要求,例如,在幾何元素間提供最小 間距。這類分析一般稱為"設(shè)計規(guī)則檢查"。進(jìn)一步地,分析布局設(shè) 計可識別一些可行的修改,以補(bǔ)償制造過程的局限。例如,使用者 可分析布局設(shè)計數(shù)據(jù)以確定是否可移動或更改一個或更多幾何元素 從而改善其可制造性,或是否可為在制造過程期間有較高可能產(chǎn)生 故障的幾何元素添加冗余幾何元素到設(shè)計中作為備^f分。這類分析一 般稱作"設(shè)計可制造性檢查"或"光刻友好設(shè)計檢查"。類似地,在光學(xué) 鄰近修正工藝之后,設(shè)計者可分析布局設(shè)計數(shù)據(jù)以確定任何進(jìn)一 步 的增強(qiáng)修改是否必要。
取決于分析過程的結(jié)果,設(shè)計者可進(jìn)一步修改布局設(shè)計數(shù)據(jù)。 例如,如果設(shè)計規(guī)則檢查分析過程識別出兩個幾何元素放置得過近, 則設(shè)計者可通過移動幾何元素增加間距來更改布局設(shè)計數(shù)據(jù)。類似 地,如果設(shè)計可制造性分析過程識別出可復(fù)制以增加冗余度的幾何 元素(例如,對過孔),則設(shè)計者可在設(shè)計中添加一個或更多復(fù)制 的幾何元素。在對布局設(shè)計數(shù)據(jù)修改之后,設(shè)計中可重復(fù)進(jìn)行一個 或更多期望的分析過程以確保更改沒有產(chǎn)生任何新問題。這種修改 和分析的周期可重復(fù)多次,直到設(shè)計者對布局設(shè)計數(shù)據(jù)分析的結(jié)果 感到滿意。
在布局設(shè)計定稿后,其被轉(zhuǎn)換成掩膜或光罩寫入工具可利用的 格式,從而創(chuàng)建掩膜或光罩以用于光刻制造過程。掩膜和光罩通常 通過使用電子或激光束(或電子束或激光束陣列)曝光空白的掩膜 或光罩襯底的工具來制造。然而大部分掩膜寫入工具只能夠"寫"某 種類型的多邊形,例如右三角形、矩形或其它不規(guī)則四邊形。此外, 工具的可用最大束(或束陣列)的尺寸在物理上限制了多邊形的尺 寸。因此,布局設(shè)計中較大的幾何元素,或非右三角形、非矩形或非不規(guī)則四邊形的幾何元素(這些通常是布局設(shè)計中主要的幾何元 素)必須"分塊"成掩膜或光罩寫入工具能夠?qū)懙妮^小的、更基本的 多邊形。這一過程有時稱作"掩膜數(shù)據(jù)準(zhǔn)備"。
在布局設(shè)計分小塊之后,分塊的布局設(shè)計數(shù)據(jù)可轉(zhuǎn)換成掩膜或
光罩寫入工具兼容的格式。這些格式的例子有Applied Materials Company旗下ETEC制造的光柵掃描機(jī)所支持的MEBES、用于 Nuflare, JEOL和東芝機(jī)器的各種向量掃描格式,如VSB11或VSB12 等。寫后的掩膜或光罩繼而可被用于光刻過程,通過用光線或其它 放射線曝光晶片的選定區(qū)域以在晶片上生產(chǎn)所期望的集成電路器 件。
如上所述,布局設(shè)計者可以重復(fù)分析和修改周期多次。然而多 次分析過程耗費(fèi)時間并需要大量的處理資源。即使使用了分布式計 算系統(tǒng),例如,在先進(jìn)的微處理器設(shè)計上運(yùn)行一次設(shè)計規(guī)則檢查過 程的迭代也需要幾個小時。此外,使用常規(guī)設(shè)計規(guī)則檢查技術(shù),設(shè) 計者需要運(yùn)行設(shè)計規(guī)則檢查過程10到15次直至設(shè)計滿意為止。進(jìn) 一步地,設(shè)計者預(yù)期未來微電路設(shè)計和分析這些設(shè)計的標(biāo)準(zhǔn)將繼續(xù) 變得更為復(fù)雜。
發(fā)明內(nèi)容
本發(fā)明的各方面涉及增量式分析布局設(shè)計數(shù)據(jù)的技術(shù)。本發(fā)明 的某些實(shí)現(xiàn)特別適用于在啟動了常規(guī)分析過程之后,即在使用 一套 初始分析標(biāo)準(zhǔn)分析了整個布局設(shè)計數(shù)據(jù)之后。使用本發(fā)明的各種實(shí) 施例,隨后可僅對布局設(shè)計數(shù)據(jù)的一部分、使用分析標(biāo)準(zhǔn)的子集、 或二者的某個組合來執(zhí)行增量分析。例如,使用本發(fā)明的一些實(shí)現(xiàn),
分析可限于初始(或其它前次)分析過程中識別的錯誤、初始(或 其它前次)分析過程后做出的布局設(shè)計數(shù)據(jù)中的修改、設(shè)計者指定 的特別區(qū)域、或其某種組合。進(jìn)一步地,本發(fā)明的一些實(shí)現(xiàn)可以僅 使用相關(guān)于所分析的部分設(shè)計數(shù)據(jù)的初始分析標(biāo)準(zhǔn)的子集、設(shè)計數(shù) 據(jù)在初始(或其它前次)分析過程中沒有通過的初始分析標(biāo)準(zhǔn)的子集、設(shè)計者選擇的初始分析標(biāo)準(zhǔn)的子集、或其某種組合來執(zhí)行分析 過程。
使用本發(fā)明的各種實(shí)施例,增量分析過程(也就是,僅使用初 始布局設(shè)計數(shù)據(jù)的選定部分、使用初始分析標(biāo)準(zhǔn)的子集、或使用二 者的分析過程)可在初始(或其它前次)分析過程結(jié)束前啟動。例 如,設(shè)計者可在提供實(shí)時分析結(jié)果的初始分析過程仍在繼續(xù)時利用 它。當(dāng)識別出布局設(shè)計數(shù)據(jù)中的錯誤時,設(shè)計者可修改設(shè)計以糾正 錯誤。然后設(shè)計者可啟動增量設(shè)計過程以確認(rèn)錯誤被糾正,并且/或 此修改沒有產(chǎn)生新的錯誤,即便初始分析過程仍然在繼續(xù)分析布局 設(shè)計數(shù)據(jù)。
具體實(shí)施方式
有局設(shè)^/"^^W逸歡
如這里所用,術(shù)語"設(shè)計"的意思包括描述整個微器件的數(shù)據(jù),例
如集成電路器件或微機(jī)電系統(tǒng)(MEMS)器件。不過,這個術(shù)語的 意思還包括描述整個微電路中一個或更多個組成部分的較小組數(shù) 據(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ù)格式。其它格式包括 Open Access開源格式、Synopsys公司的Milky way 、 和Mentor Graphics公司的EDDM。
新集成電路設(shè)計可包含在邏輯電路、存儲電路、可編程現(xiàn)場陣 列和其它電路器件中百萬量級的晶體管、電阻器、電容器或其它電 子結(jié)構(gòu)之間的互連。為了允許計算機(jī)更容易地創(chuàng)建和分析這些大型 數(shù)據(jù)結(jié)構(gòu)(并允許人類使用者更好地理解這些數(shù)據(jù)結(jié)構(gòu)),它們經(jīng) 常被層次化地組織成通常稱為"單元"的較小結(jié)構(gòu)。因此,對于微處
9理器或閃存設(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ù)。
通過把微電路設(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)的單 元的分并斤。
使用本發(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)出。
例如,由設(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)建
柵=擴(kuò)散層 AND 多晶硅層 這一操作的結(jié)果將是識別擴(kuò)散層多邊形與多晶硅層多邊形的所有交 接處的"層"數(shù)據(jù)。同樣地,通過在擴(kuò)散層中摻雜n型材料而形成的 p型晶體管柵可通過下面所示的導(dǎo)出操作來識別
p型柵=n型井 AND 柵 這一操作的結(jié)果將是識別擴(kuò)散層中的多邊形被n型材料摻雜的所有 晶體管柵(也就是,擴(kuò)散層多邊形和多晶硅層多邊形的交接處)的 另一"層"數(shù)據(jù)。
由設(shè)計規(guī)則檢查模塊執(zhí)行的檢查操作將為數(shù)據(jù)設(shè)計值限定參數(shù) 或參數(shù)范圍。例如,使用者可能希望確保沒有任何金屬連接線與另 一個連接線的距離小于一個微米。這類分析可通過下面所示的檢查 操作來執(zhí)行
外部金屬 < 1
這一操作的結(jié)果將識別金屬層設(shè)計數(shù)據(jù)中與同層另 一多邊形間距小 于一個微米的每個多邊形。
盡管上述操作利用繪圖層數(shù)據(jù),但是對導(dǎo)出層數(shù)據(jù)同樣也可執(zhí) 行檢查操作。例如,如果使用者希望確認(rèn)沒有晶體管柵與另一個柵 之間的距離在一微米之內(nèi),則設(shè)計規(guī)則檢查過程可包含下面的檢查 操作
外部柵 < 1
這一操作的結(jié)果將識別代表了被放置在與另 一柵間距小于一個微米 位置的柵的所有柵設(shè)計數(shù)據(jù)。然而,應(yīng)注意到只有在從繪圖層設(shè)計 數(shù)據(jù)中識別柵的導(dǎo)出操作被執(zhí)行后,這個檢查操作才可執(zhí)行。
ii凝轉(zhuǎn)裙
本公j
組合方式描述的系統(tǒng)和方法實(shí)施例的所有新穎的和非顯而易見的特 性和特征。公開實(shí)施例的特性和特征可以單獨(dú)方式或相互之間的各 種新穎和非顯而易見的組合與子組合方式使用。
盡管本公開方法的操作以 一 種特定次序的方式進(jìn)行說明以方便 展示,但是應(yīng)當(dāng)理解這種說明方式包含了次序的重新調(diào)整,除非下 面的特定語言詳細(xì)解釋要求某種特定次序。例如,以順序的方式說 明的操作在一些情況下可調(diào)整次序或并行執(zhí)行。此外,為了簡單起 見,公開的流程圖和框圖通常不顯示某些特定的方法可以和另外方 法一起使用的各種途徑。另外,詳細(xì)說明有時使用詞語如"確定"來 說明本公開的方法。這些詞語是對執(zhí)行的實(shí)際操作的高度概括。相 對于這些術(shù)語的實(shí)際操作基于特定的實(shí)現(xiàn)而不同,并可很容易地被 所屬領(lǐng)域的技術(shù)人員所辨別。
這里說明的方法可使用存儲在計算機(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é)。
過一個或更多可編程計算設(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)上。將參照圖l描述包含主計算機(jī)及一個或多 個遠(yuǎn)程或從屬計算機(jī)的計算機(jī)網(wǎng)絡(luò)的組件和操作。然而這個操作環(huán) 境只是適用操作環(huán)境的 一 個例子,并不用來限制本發(fā)明使用或功能的范圍。
在
圖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è)界已為所知,因此這里不作詳述。
存儲設(shè)備107可類似地使用主計算機(jī)103可存取的計算機(jī)可讀介 質(zhì)的任何組合來實(shí)現(xiàn)。計算機(jī)可讀介質(zhì)可包括,例如,微電路存儲 設(shè)備如讀寫存儲器(RAM)、只讀存儲器(ROM)、電可擦可編程 只讀存儲器(EEPROM)或閃存存儲微電路設(shè)備、CD-ROM光盤、 數(shù)字視頻光盤(DVD)或其它光存儲設(shè)備。計算機(jī)可讀介質(zhì)還可包 括磁碟、磁帶、磁盤或其他磁性存儲設(shè)備、打孔介質(zhì)、全息存儲設(shè) 備或任何其它可用于存儲期望信息的介質(zhì)。
如同以下將要具體討論的,主計算機(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í)行一些操作,這些操作的至少一 部分可以是并行的。
主計算機(jī)103還包括多個處理器單元111和一個接口設(shè)備113。處 理器單元111可以是能夠被編程以執(zhí)行軟件指令109A的任何種類的 處理器設(shè)備,不過傳統(tǒng)上是微處理器設(shè)備。例如, 一個或多個處理 器單元111可以是商用通用可編程微處理器,如lntel⑧Pentium⑧或 XeonTM孩i處理器、Advanced Micro Devices Athlon 樣t處理器或 Motorola 68K/Coldfire 微處理器??蛇x地或附加地, 一個或多個 處理器單元111可以是定制制造的處理器,如被設(shè)計成可優(yōu)化執(zhí)行指定類型的數(shù)學(xué)運(yùn)算的微處理器。接口設(shè)備113、處理器單元lll、存
儲設(shè)備107和輸入輸出設(shè)備105通過總線115連接在一起。
使用本發(fā)明的一些實(shí)現(xiàn),主計算設(shè)備103可利用一個或多個含有 多于一個處理器內(nèi)核的處理器單元lll。相應(yīng)地,圖2顯示了可用于 本發(fā)明各種實(shí)施例的多核處理器lll的例子。如圖所示,處理器單元 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í)行的指令。
每個處理器內(nèi)核201連接到互連207。根據(jù)處理器內(nèi)核201的體系 結(jié)構(gòu),互連207可有不同的構(gòu)造。對于一些處理器內(nèi)核201,例如Sony 公司、Toshiba公司和IBM公司生產(chǎn)的Cell微處理器,互連207可以實(shí) 現(xiàn)為互連總線。然而對于其它的處理器內(nèi)核201,例如位于加利福利 亞州Sunnyval的Advanced Micro Devices才是供的OpteronTM和AthlonTM 雙核處理器,互連207可以實(shí)現(xiàn)為系統(tǒng)請求接口設(shè)備。對于任何一種 情況,處理器內(nèi)核201通過互連207來與輸入輸出接口209和存儲控制 器210通信。輸入輸出接口 209在處理器單元201和總線115之間提供 通信接口。類似地,存儲控制器210控制處理器單元201和系統(tǒng)存儲 設(shè)備107之間的信息交換。在本發(fā)明的一些實(shí)現(xiàn)中,處理器單元201 可包含額外部件,例如處理器內(nèi)核201可存取共享的高端高速緩沖存 儲設(shè)備。
盡管圖2顯示了本發(fā)明一些實(shí)施例可利用的處理器單元201的一 種圖解,但是應(yīng)當(dāng)理解該圖解只是一個代表,不應(yīng)當(dāng)作為限定。例 如,本發(fā)明一些實(shí)施例可利用具有一個或多個Cell處理器的主計算機(jī) 103。 Cell處理器利用多個輸入輸出接口209和多個存儲控制器210。 并且,Cell處理器含有9個不同類型的處理器內(nèi)核201。特別地,其含
14有6個或更多協(xié)同處理器部件(SPE )和一個動力處理器部件(PPE )。 每個協(xié)同處理器部件包括一個含有428x428比特寄存器的向量類計 算引擎203、 4個單精度浮點(diǎn)運(yùn)算單元、4個整數(shù)運(yùn)算單元、和存儲指 令與數(shù)據(jù)的556KB本地存儲器。動力處理器部件繼而控制協(xié)同處理 器部件執(zhí)行的任務(wù)。由于這種配置,Cell處理器可執(zhí)行一些數(shù)學(xué)操作, 例如其快速傅里葉變換(FFT)的計算速度可遠(yuǎn)遠(yuǎn)超過許多常規(guī)的處 理器。
還應(yīng)當(dāng)理解,在一些實(shí)現(xiàn)中,多核處理器單元lll可用來代替多 個分離的處理器單元lll。例如,不使用6個分離的處理器單元111, 本發(fā)明的備選實(shí)現(xiàn)可利用單個含有6個內(nèi)核的處理器單元111、每個 處理器2個含有3個內(nèi)核的多內(nèi)核處理器單元、 一個含有4個內(nèi)核的多 內(nèi)核處理器單元U1加上2個分離的單內(nèi)核處理器單元111,等等。
現(xiàn)在返回圖1 ,接口設(shè)備l 13允許主計算機(jī)103通過通信接口與從 屬計算機(jī)117A、 117B、 117C.,.117x通信。通信接口可以是任何可用 類型的接口,例如包括,常規(guī)有線網(wǎng)絡(luò)連接或光纜傳輸有線網(wǎng)絡(luò)連 接。通信接口還可以是無線連接,如無線光學(xué)連接、射頻連接、紅 外連接或甚至是聲學(xué)連接。接口設(shè)備113根據(jù)一個或多個通信協(xié)議, 如傳輸控制協(xié)議(TCP )、用戶數(shù)據(jù)報協(xié)議(UDP )和互聯(lián)網(wǎng)協(xié)議(IP ), 把來自主計算機(jī)103和每個從屬計算機(jī)117的數(shù)據(jù)和控制信號翻譯成 網(wǎng)絡(luò)消息。這些以及其它常規(guī)通信協(xié)議在所屬領(lǐng)域是公知的,因此 在這里不再詳述。
每個從屬計算機(jī)117可包含由系統(tǒng)總線127連接在一起的存儲設(shè) 備119、處理器單元121、接口設(shè)備123,和可選的輸入輸出設(shè)備125。 如同主計算機(jī)103—樣,從屬計算機(jī)117的可選輸入輸出設(shè)備125可包 括任何常規(guī)輸入或輸出設(shè)備,例如鍵盤、指點(diǎn)設(shè)備、麥克風(fēng)、顯示 器、揚(yáng)聲器和打印機(jī)。類似地,處理器單元121可以是任何類型的常 規(guī)或定制制造的可編程處理器設(shè)備。例如, 一個或多個處理器單元 121可以是商用通用可編程微處理器,如lntel⑧Pentium⑧或XeonTM微68K/Coldfire⑧微處理器?;蛘?, 一個或多個處理器單元121可以是定 制制造的處理器,如被設(shè)計成可優(yōu)化執(zhí)行指定類型的數(shù)學(xué)運(yùn)算的微 處理器。進(jìn)一步地, 一個或多個處理器單元121可包含多個內(nèi)核,如 同上面參考圖2的描述。例如,在本發(fā)明的一些實(shí)現(xiàn)中, 一個或多個 處理器單元121可以是Cell處理器。存儲設(shè)備119可使用上述計算機(jī)可 讀介質(zhì)的任何組合來實(shí)現(xiàn)。與接口設(shè)備113類似,接口設(shè)備123容許 從屬計算機(jī)117通過通信接口與主計算機(jī)103通信。
在所顯示的例子中,主計算機(jī)103是含有多個處理器單元111的 多處理器單元計算機(jī),每個從屬計算機(jī)117含有單個處理器單元121。 然而請注意,本發(fā)明的備選實(shí)現(xiàn)可以使用含有單個處理器單元lll的 主計算機(jī)。進(jìn)一步地,如同前面的說明,根據(jù)一個或多個從屬計算 機(jī)117的使用需要,它們可包含多個處理器單元121。同時,盡管主 計算機(jī)103和從屬計算機(jī)只顯示了單個接口設(shè)備113或123,但是應(yīng)當(dāng) 注意在本發(fā)明的備選實(shí)施例中,計算機(jī)103、 一個或多個從屬計算機(jī) 117、或它們的一些組合均可以使用兩個或更多的不同接口設(shè)備113 或123來通過多個通信接口進(jìn)行通信。
在本發(fā)明的各種例子中,主計算機(jī)103可連接到一個或多個外部 數(shù)據(jù)存儲設(shè)備。這些外部數(shù)據(jù)存儲設(shè)備可通過使用主計算機(jī)103可存 取的計算機(jī)可讀介質(zhì)的任何組合來實(shí)現(xiàn)。計算機(jī)可讀介質(zhì)可以包括, 例如,微電路存儲設(shè)備如讀寫存儲器(RAM)、只讀存儲器(ROM)、 電可擦可編程只讀存儲器(EEPROM)或閃存存儲微電路設(shè)備、 CD-ROM光盤、數(shù)字視頻光盤(DVD)或其它光存儲設(shè)備。計算機(jī) 可讀介質(zhì)可還包括磁碟、磁帶、磁盤或其他磁性存儲設(shè)備、打孔介 質(zhì)、全息存儲設(shè)備或任何其它可用于存儲期望信息的介質(zhì)。根據(jù)本 發(fā)明的一些實(shí)現(xiàn), 一個或多個從屬計算機(jī)117可以有選擇地或額外地 連接到一個或多個外部數(shù)據(jù)存儲設(shè)備上。通常,這些外部數(shù)據(jù)存儲 設(shè)備包括還連接到主計算機(jī)l03的數(shù)據(jù)存儲設(shè)備,但它們也可不同于 主計算機(jī)103所使用的任何數(shù)據(jù)存儲設(shè)備。
還應(yīng)當(dāng)理解,圖1和圖2顯示的計算機(jī)網(wǎng)絡(luò)說明只是提供一 個例
16子,并不用來限制本發(fā)明可選擇實(shí)施例的使用或功能的范圍。 增量》浙工^
圖3顯示了根據(jù)本發(fā)明的各種實(shí)施例可實(shí)現(xiàn)的增量分析工具301
的例子。增量分析工具301包括用戶界面模塊303、布局設(shè)計數(shù)據(jù)選 擇模塊305、分析標(biāo)準(zhǔn)選擇模塊307、和分析過程模塊309。如圖所示, 增量分析工具301可與布局設(shè)計數(shù)據(jù)存儲裝置3U和分析標(biāo)準(zhǔn)存儲裝 置313協(xié)同運(yùn)作。
用戶界面模塊303為使用者提供一個或多個用戶界面以用于控 制布局設(shè)計數(shù)據(jù)選擇模塊305、分析標(biāo)準(zhǔn)選擇模塊307和分析過程模 塊309的操作。如同在此所用,詞語"使用者"是指使用增量分析工具 301來分析和修改微電路設(shè)計的任何單個人或多人。使用者可以是, 例如,微電路設(shè)計的原始設(shè)計者,或是廠商里例如在4巴設(shè)計制造成 微電路前試圖修改已有微電路設(shè)計的使用者。如同下面將要詳細(xì)討 論的, 一個或多個用戶界面容許使用者指示布局設(shè)計數(shù)據(jù)選擇模塊 305以確定將在增量分析過程中進(jìn)行分析的布局設(shè)計數(shù)據(jù)。類似地, 一個或多個用戶界面容許使用者指示分析標(biāo)準(zhǔn)選擇模塊307以確定 在增量分析過程中用于分析選擇的布局設(shè)計數(shù)據(jù)的分析標(biāo)準(zhǔn)。
響應(yīng)于使用者的指示,布局設(shè)計數(shù)據(jù)選擇模塊305從布局設(shè)計數(shù) 據(jù)存儲裝置311中選擇布局設(shè)計數(shù)據(jù),然后將其提供給分析過程模塊 309。類似地,響應(yīng)于使用者的指示,分析標(biāo)準(zhǔn)選擇模塊307從分析 標(biāo)準(zhǔn)存儲裝置313中選擇分析標(biāo)準(zhǔn),然后將其提供給分析過程模塊 309。使用所選擇的分析標(biāo)準(zhǔn),分析過程模塊309分析所選擇的布局 設(shè)計數(shù)據(jù)。增量分析工具3 01的操作將結(jié)合圖4所示的流程圖進(jìn)行具 體的討論。
為、#弄戎_/£之#
在步驟401,對布局設(shè)計數(shù)據(jù)進(jìn)行第一次電子設(shè)計自動化分析過 程。分析過程可以是任何類型的已知電子設(shè)計自動化分析過程,例如布局經(jīng)原理圖檢查過程、設(shè)計規(guī)則檢查過程、設(shè)計可制造性過程、 或光學(xué)鄰近修正驗(yàn)證過程。使用本發(fā)明的各種實(shí)施例,該第一次分 析過程可由增量分析工具3 01來執(zhí)行。然而使用本發(fā)明的另外 一 些實(shí)
施例,第一次分析過程可由增量分析工具301之外的其它一些分析工
具來執(zhí)行。
如同前面提到的,在某些例子中第 一次分析過程將對布局設(shè)計 數(shù)據(jù)進(jìn)行"完整"分析,也就是分析過程將分析布局設(shè)計的所有或主 要部分(例如一個整層)。對于完整分析,分析過程通常使用大量 分析標(biāo)準(zhǔn)來分析布局設(shè)計數(shù)據(jù)。例如,如果分析過程是設(shè)計規(guī)則檢
查過程,則完整分析可使用相對較大的列表或"一組"規(guī)則,布局設(shè) 計數(shù)據(jù)必須遵從該規(guī)則才能通過分析。設(shè)計規(guī)則檢查過程的 一 組規(guī) 則可包括如下規(guī)則,諸如金屬層金屬線的最小間距、多晶硅層相鄰 平行線的最大長度、另一金屬層中結(jié)構(gòu)的最小密度,等等。這些規(guī) 則組收集自設(shè)計者的經(jīng)驗(yàn)和工業(yè)界的知識,并且通常是謹(jǐn)慎保管的 私有秘密。
分析過程將識別布局設(shè)計數(shù)據(jù)中檢測到的需要糾正的錯誤。例 如,常規(guī)分析過程的分析結(jié)果可包括帶有錯誤標(biāo)記的設(shè)計映射表以 顯示每個檢測到的錯誤的位置。另外,分析結(jié)果可識別布局設(shè)計數(shù) 據(jù)違反并產(chǎn)生了錯誤的分析標(biāo)準(zhǔn)(例如,設(shè)計規(guī)則)。因此,如果 布局設(shè)計中兩條線違反了最小間距規(guī)則,則分析結(jié)果可包括標(biāo)示出 違規(guī)線的錯誤標(biāo)記和說明所違反的最小間距規(guī)則的文本注釋。如果
由增量分析工具301來執(zhí)行分析過程,那么增量分析工具301可存儲 第一次分析過程的結(jié)果。如果分析過程由增量分析工具301之外的不 同工具來執(zhí)行,那么分析過程的結(jié)果可提供給增量分析工具301以作 后用。
接下來在步驟403中,設(shè)計者修改布局設(shè)計數(shù)據(jù)以糾正第一次分 析過程識別的一個或多個錯誤。使用本發(fā)明的各種實(shí)施例,設(shè)計者 使用增量分析工具301來修改布局設(shè)計數(shù)據(jù)。例如,用戶界面模塊303 可提供給設(shè)計者權(quán)限以使用一個或多個布局設(shè)計數(shù)據(jù)編輯工具,如位于俄勒岡州Wilsonville的Mentor Graphics公司提供的Calibre RVE 和Calibrelnteractive軟件工具??蛇x地,設(shè)計者可利用增量分析工具 301之外的一個或多個分離的布局設(shè)計數(shù)據(jù)編輯工具來修改布局設(shè) 計數(shù)據(jù)。如果增量分析工具301之外的布局設(shè)計數(shù)據(jù)編輯工具被用來 修改布局設(shè)計數(shù)據(jù),那么布局設(shè)計數(shù)據(jù)的修改版本可提供給增量分 析工具301以作后用。
有乃設(shè)^炎凝^^舉
在步驟405,使用者選擇增量分析過程將要進(jìn)行第二次分析的布 局設(shè)計數(shù)據(jù)。特別地,使用者利用用戶界面模塊303提供的一個或多 個用戶界面來指示布局設(shè)計數(shù)據(jù)選擇模塊305選擇將要分析的布局 設(shè)計數(shù)據(jù)。請注意如同在這里所用,術(shù)語"選擇"包括使用者指示的 選擇,和使用者確定不作指示選擇,而是允許增量分析工具301執(zhí)行 默認(rèn)的選擇。如同此前所述,本發(fā)明各種實(shí)施例容許使用者根據(jù)不 同的特征來選擇布局設(shè)計數(shù)據(jù)。
更改后的布局設(shè)計數(shù)據(jù)
本發(fā)明的一些實(shí)施例例如可以容許使用者選擇自上一次版本更 改后的布局設(shè)計數(shù)據(jù)的 一部分。當(dāng)使用者不是很容易地知道布局設(shè) 計數(shù)據(jù)中所做的更改時,這種選擇方法特別有用。例如,如果另一 設(shè)計者使用與增量分析工具301不同的布局設(shè)計數(shù)據(jù)編輯工具在步 驟403中修改了布局設(shè)計數(shù)據(jù),則使用者可能不知道例如在第 一次分 析過程后,布局設(shè)計數(shù)據(jù)所做的更改。通過指示布局設(shè)計數(shù)據(jù)選擇 模塊305來識別對布局設(shè)計數(shù)據(jù)早期版本的更改,使用者能夠保證在 第二次分析過程中會對布局設(shè)計數(shù)據(jù)所做的任何更改進(jìn)行分析。
使用本發(fā)明的各種實(shí)施例,布局設(shè)計數(shù)據(jù)選擇模塊305能夠使用 各種技術(shù)來識別布局設(shè)計數(shù)據(jù)中的更改。如果是使用增量分析工具 301進(jìn)行的更改,那么布局設(shè)計數(shù)據(jù)選擇模塊305 (或增量分析工具 301的其它模塊)可簡單地在進(jìn)行每個更改時把它記錄下來。布局設(shè)計數(shù)據(jù)選擇模塊305可以例如將更改存儲到查找表中。本發(fā)明的另外
一些實(shí)施例還可以對布局設(shè)計數(shù)據(jù)的當(dāng)前版本和布局設(shè)計數(shù)據(jù)的早 期版本執(zhí)行邏輯異或操作。如本領(lǐng)域的技術(shù)人員所知,這種邏輯操 作將識別布局設(shè)計數(shù)據(jù)的兩個版本之間的差別。
如果布局設(shè)計數(shù)據(jù)特別復(fù)雜或使用層次結(jié)構(gòu),則一些實(shí)現(xiàn)可利 用哈希表來更快地識別布局設(shè)計數(shù)據(jù)兩個版本之間的差別。如同以 上詳細(xì)討論的,布局設(shè)計數(shù)據(jù)經(jīng)常層次化地組織成單元。每個單元
包含兩種不同類型的設(shè)計組件中的一個其它單元和幾何元素(以 及與這些元素相聯(lián)系的各種數(shù)據(jù),如文本數(shù)據(jù))。為了確保布局設(shè) 計數(shù)據(jù)不同版本中的兩個單元實(shí)際上是相同的,單元的內(nèi)容必須被 檢驗(yàn)以確認(rèn)它們是相同的。然而4巴 一 個單元中的幾何元素和另外一 個單元中的每個幾何元素進(jìn)行比較直至找到一個匹配(或者直到確 定第二個單元不包含匹配的幾何元素)是非常耗時的,并且隨著要
比較的幾何元素數(shù)量的增加所需時間以指數(shù)增長。類似地,把一個 單元中的單元實(shí)例和另外一個單元中的每個單元實(shí)例進(jìn)行比較直至 找到一個匹配(或者直到確定第二個單元不包含匹配)也是非常耗 時的,并隨著要比較的實(shí)例數(shù)量的增加所需時間以指數(shù)增長。
為了減少把一個單元的內(nèi)容和另外一個單元的內(nèi)容進(jìn)行比較所 需的時間和計算資源,本發(fā)明的各種實(shí)施例將利用哈希操作以在比 較前對兩個單元中的設(shè)計組件進(jìn)行分類。例如,本發(fā)明的一些實(shí)施
它們將創(chuàng)建用于對單元中每個單元實(shí)例進(jìn)行分類的另 一哈希表。一 旦單元的內(nèi)容被組織成這些哈希表,增量分析工具301就只需要把第 一個單元的哈希表的一個"籃子"中的內(nèi)容(也就是,含有一個索引 值)和為潛在匹配的第二個單元創(chuàng)建的哈希表的相應(yīng)"籃子"中的內(nèi) 容進(jìn)行比較。
例如,增量分析工具3 01的 一 些實(shí)現(xiàn)將識別單元中的未處理的幾 何元素。然后,增量分析工具301將選擇該幾何元素的一些特征,這 些特征可用來通過哈希功能對幾何元素進(jìn)行分類。例如,使用本發(fā)明的一些實(shí)現(xiàn),增量分析工具301將在幾何元素周圍創(chuàng)建一個包圍 盒。如同所屬領(lǐng)域的技術(shù)人員所了解的,包圍盒的使用容許增量分
析工具301甚至為不規(guī)則形狀的幾何元素建立容易比較的特征。然后 增量分析工具301將選擇包圍盒上某個唯一點(diǎn),例如左下角,并對該 點(diǎn)的坐標(biāo)值應(yīng)用口合希功能。例如,本發(fā)明的一些實(shí)施例將通過組合 幾何元素包圍盒左下角的x坐標(biāo)和y坐標(biāo)的絕對值來創(chuàng)建一個64比特 數(shù)字或"哈希值",然后對該哈希值應(yīng)用哈希功能。
哈希功能。然而本發(fā)明的一些實(shí)施例可以基于單元中需要分類的幾 何元素的數(shù)量來選擇哈希功能。例如,如果一個單元有N個幾何元素, 則本發(fā)明的一些實(shí)施例將對哈希值除以數(shù)字S,S是不超過N的最接近 N的質(zhì)數(shù)。因此,如果單元有100個幾何元素(即,N=100),則本 發(fā)明的各種實(shí)施例將確定值S二97。然后增量分析工具301將對幾何元 素的哈希值除以S,并指定除法結(jié)果的模為該幾何元素的索引值。重 復(fù)這些步驟直到單元中的每個幾何元素都被處理,并且將幾何元素 的唯一信息作為一個或多個鍵值加到哈希表中。然后,針對與第一
個單元進(jìn)行比較的第二個單元重復(fù)這些步驟的每一步,并使用相同 的S值。
一旦針對每個單元中的幾何元素建立了哈希表,每個單元中具 有相同"籃子,,或索引值的幾何元素就可以進(jìn)行比較。例如,第一個 單元的哈希表有2個幾何元素被賦索引值"3",而第二個單元的哈希 表有3個幾何元素被賦索引值"3"。第一個哈希表中的第一個幾何元 素只需要與第二個哈希表中的3個幾何元素的每一個進(jìn)行比較,直到 找到(或未找到)匹配。類似地,第一個哈希表中的第二個幾何元 素只需要與第二個哈希表中的3個幾何元素的每一個進(jìn)行比較,直到 找到(或未找到)匹配。如果第一個哈希表中的第一個幾何元素與 第二個哈希表中的第 一個幾何元素匹配,并且第 一個哈希表中的第 二個幾何元素與第二個哈希表中的第二個幾何元素匹配,那么第二 個哈希表中的第三個幾何元素可被識別為新的幾何元素。使用本發(fā)
21明的各種實(shí)施例,可通過使用哈希表中含有唯一標(biāo)示其相應(yīng)幾何元 素的信息的一個或多個鍵值來比較幾何元素。
本發(fā)明的各種實(shí)施例可以利用任何唯一 的特征來比較共享同一 個索引值的幾何元素。例如,本發(fā)明的一些實(shí)現(xiàn)可以比較幾何元素 每個拐角的坐標(biāo)值來確認(rèn)它們是否事實(shí)上相同。首先,如果坐標(biāo)值 的數(shù)量不同(例如一個幾何元素有6個拐角,而另外一個幾何元素有
8個拐角),那么這兩個幾何元素可以立即-陂識別是不同的。在一些
例子中,即便兩個幾何元素是相同的,它們的坐標(biāo)值排列順序會不 同。例如, 一個幾何元素的拐角坐標(biāo)值可以以順時針方式排列,而 另一個幾何元素的拐角坐標(biāo)值以逆時針方式排列。因此,本發(fā)明的 各種例子可以用相同排列方式開始比較坐標(biāo)值(例如,比較一個幾 何元素第一個拐角的坐標(biāo)值和另外一個幾何元素第一個拐角的坐標(biāo)
值)。如果坐標(biāo)值不匹配,那么增量分析工具301將顛倒坐標(biāo)值的比 較順序(例如,比較一個幾何元素第一個拐角的坐標(biāo)值和另外一個 幾何元素最后一個拐角的坐標(biāo)值,比較一個幾何元素第二個拐角的 坐標(biāo)值和另外一個幾何元素倒數(shù)第二個拐角的坐標(biāo)值,等等)。使 用這種方法,可對幾何元素的坐標(biāo)值進(jìn)行快速比較,而不需要使用 需要更多計算的比較算法。
使用本發(fā)明的各種實(shí)施例,可使用針對幾何元素的相同方法對 兩個單元中的單元實(shí)例進(jìn)行分類和比較。然而由于單元實(shí)例包括用 于放置單元的特定坐標(biāo)位置,因此可以省略使用包圍盒來確定哈希 值的過程。代替地,可以使用單元放置位置的坐標(biāo)值,而不是上面 所述的包圍盒左下角的坐標(biāo)值。 一旦兩個單元的單元實(shí)例和幾何元 素被分類和比較,第 一個單元中不匹配的單元實(shí)例就可被識別為刪 除的單元實(shí)例,而第二個單元中不匹配的單元實(shí)例可被識別為增加 的單元實(shí)例。類似地,第一個單元中不匹配的幾何元素可被識別為 刪除的幾何元素,而第二個單元中不匹配的幾何元素可被識別為增 加的幾何元素。 -使用這種方法,可以快速有效地識別兩個不同版本 的布局設(shè)計數(shù)據(jù)中所做的修改。請注意,盡管基于哈希的比較技術(shù)的各種實(shí)現(xiàn)可用來執(zhí)行此處 所討論的增量式分析,這些實(shí)現(xiàn)還可以用在布局設(shè)計數(shù)據(jù)的不同版 本需要比較的任何操作或處理中。例如,基于哈希的比較技術(shù)的一 些實(shí)現(xiàn)可用來在大型布局設(shè)計數(shù)據(jù)組中識別特定的部分(例如獨(dú)有 的電路設(shè)計)。
布局設(shè)計數(shù)據(jù)中的錯誤
有通過前次分析過程的部分。因此,如果第一次分析過程的結(jié)果可 提供給增量分析工具301使用,那么使用者可以指示布局設(shè)計數(shù)據(jù)選
擇模塊305來選擇前次結(jié)果中識別的一個或多個錯誤。如同前面所述 的,分析過程的結(jié)果通常包含標(biāo)示設(shè)計中的錯誤的錯誤標(biāo)記(即布 局設(shè)計數(shù)據(jù)中沒有通過一個或多個分析標(biāo)準(zhǔn)的部分)。如果這些錯 誤標(biāo)記可提供給增量分析工具301使用,那么布局設(shè)計數(shù)據(jù)選擇模塊 305能夠使用這些標(biāo)記來選擇由這些標(biāo)記所標(biāo)示的部分布局設(shè)計數(shù) 據(jù)。
使用本發(fā)明的一些實(shí)施例,使用者可以選擇在布局設(shè)計數(shù)據(jù)中 所識別的每個錯誤。也就是說,使用者可以利用用戶界面來指示布 局設(shè)計數(shù)據(jù)選擇模塊305識別布局設(shè)計數(shù)據(jù)中被錯誤標(biāo)記標(biāo)示的每 個位置。然而,在本發(fā)明的另外一些實(shí)施例中,使用者可以可選地 或額外地被容許僅選擇特定類型的錯誤。例如,使用者可以指示布 局設(shè)計數(shù)據(jù)選擇模塊305只識別違反最小金屬層間距規(guī)則的那些錯 誤。在一些實(shí)現(xiàn)中,使用者可以通過從前次分析過程結(jié)果中選擇某 個類型的錯誤來選擇特定的錯誤類型。然后布局設(shè)計數(shù)據(jù)選擇模塊 3 0 5在布局設(shè)計數(shù)據(jù)中識別這種錯誤類型的實(shí)例。
本發(fā)明的另外一些實(shí)施例可以有選擇地或額外地允許使用者在 布局設(shè)計數(shù)據(jù)中只選擇"已更正"的那些錯誤(也就是,布局設(shè)計數(shù) 據(jù)中被識別的錯誤已經(jīng)被修正或被刪除)。特別地, 一些布局設(shè)計 數(shù)據(jù)編輯工具可以把"已更正"的錯誤和"未更正"的錯誤區(qū)分開來。這些布局設(shè)計數(shù)據(jù)編輯工具例如在設(shè)計者指示錯誤已經(jīng)被更正時,更 改與錯誤標(biāo)記相關(guān)聯(lián)的標(biāo)志值,在查找表中存儲已更正的錯誤的位 置,等等。布局設(shè)計數(shù)據(jù)選擇模塊305能夠使用這一信息來識別并選 擇這些據(jù)稱已經(jīng)更正的錯誤。這一 功能在使用者不用花費(fèi)大量的時 間去分析布局設(shè)計數(shù)據(jù)的其它部分,而只是希望確認(rèn)特定錯誤已經(jīng) 被刪除時很有用,特別是如果使用者知道很多錯誤還沒有被更正。
通常在設(shè)計者知道糾正或"更正"錯誤所做的更改對標(biāo)示錯誤的 錯誤標(biāo)記來說是本地的時候,基于前次識別的錯誤來選擇布局設(shè)計 數(shù)據(jù)可能很有用。如果對錯誤標(biāo)記來說更改是本地的,那么分析被 錯誤標(biāo)記標(biāo)示的布局設(shè)計數(shù)據(jù)通常會保證這些更改也會被分析。
使用者定義的布局設(shè)計數(shù)據(jù)
本發(fā)明的 一 些實(shí)施例可以有選擇地或額外地允許使用者人工指 定第二次增量分析過程所要分析的布局設(shè)計數(shù)據(jù)的一個或多個部
分。例如,用戶界面模塊303可為使用者提供設(shè)計圖,使用者可以在 圖中選擇設(shè)計中要分析的位置。作為響應(yīng),布局設(shè)計數(shù)據(jù)選擇模塊 305將選擇布局設(shè)計數(shù)據(jù)中相應(yīng)于使用者所選位置的部分。例如,如 圖5所示,使用者可利用用戶界面模塊303提供的用戶界面來指定布 局設(shè)計數(shù)據(jù)中 一 個區(qū)域的坐標(biāo)。布局設(shè)計數(shù)據(jù)選擇模塊3 05然后會選 擇該指定區(qū)域內(nèi)的布局設(shè)計數(shù)據(jù)。
光環(huán)
使用本發(fā)明的各種實(shí)施例,布局設(shè)計數(shù)據(jù)選擇模塊305會在所選 擇的布局設(shè)計數(shù)據(jù)周圍創(chuàng)建一個"光環(huán),,區(qū)域。在光環(huán)區(qū)域內(nèi)的布局 設(shè)計數(shù)據(jù)然后被添加到所選擇的布局設(shè)計數(shù)據(jù)以便由增量分析過程 進(jìn)行分析。使用本發(fā)明的一些實(shí)施例,布局設(shè)計數(shù)據(jù)選擇模塊305會 在所選布局設(shè)計周圍創(chuàng)建一個包圍盒。布局設(shè)計數(shù)據(jù)選擇模塊305然 后會根據(jù)包圍盒的周邊指明 一個光環(huán)區(qū)域。
例如,圖6A顯示了布局設(shè)計中的 一 對錯誤標(biāo)記601 。錯誤標(biāo)記601可以指示,例如,2個相鄰線的間距小于最小間距寬度。如同此前所 述,所選擇的布局設(shè)計數(shù)據(jù)可以是錯誤標(biāo)記如錯誤標(biāo)記601標(biāo)示的數(shù)
據(jù)。如圖6B所示,響應(yīng)于對錯誤標(biāo)記601所標(biāo)示的錯誤的選擇,布局 設(shè)計數(shù)據(jù)選擇模塊305將創(chuàng)建包圍盒603以包圍錯誤標(biāo)記601 。下一 步,如圖6C所示,布局設(shè)計數(shù)據(jù)選擇模塊305將基于包圍盒603的周 邊創(chuàng)建光環(huán)區(qū)域605。在所顯示的例子中,布局設(shè)計數(shù)據(jù)選擇模塊305 創(chuàng)建的包圍盒603為1000 pmx 1 pm。下一步,布局設(shè)計數(shù)據(jù)選擇模 塊305將指定光環(huán)區(qū)域?yàn)榘鼑?03的長度和寬度中較大一個(即 1000 |Lim)的某個倍數(shù)。使用所顯示的本發(fā)明實(shí)現(xiàn)方法,布局設(shè)計數(shù) 據(jù)選擇模塊305指定光環(huán)區(qū)域每邊為包圍盒603的長度的三倍,即 3000 pm x 3000 pm。當(dāng)然,本發(fā)明的另外一些實(shí)現(xiàn)可以用包圍盒最 長邊的不同倍數(shù),或者使用其它算法一起來確定光環(huán)區(qū)域。
本發(fā)明的各種實(shí)施例可以有選擇地或額外地允許使用者選擇光 環(huán)區(qū)域的尺寸和/或形狀。這對于例如阻止增量分析過程探測虛假錯 誤很有用。例如,圖7A顯示錯誤標(biāo)記701在第一個幾何元素703和第 二個幾何元素705之間,這兩個幾何元素都與第三個幾何元素707相 鄰。如圖7B所示,如果布局設(shè)計數(shù)據(jù)選擇模塊305創(chuàng)建光環(huán)區(qū)域709, 那么光環(huán)區(qū)域709可能會無意地包圍太少的幾何元素703至707。由此 的結(jié)果是,盡管每個幾何元素703至707實(shí)際上遵從最小寬度要求, 但是下一次增量分析過程可能記錄違反最小寬度要求的錯誤(如圖 7C中,錯誤標(biāo)記711至715所指示的)。通過指定一個較大的光環(huán)區(qū) 域(如圖7D所示),使用者能夠保證隨后的增量分析過程不會記錄不 準(zhǔn)確的最小寬度要求違規(guī)。
組合及其它選擇標(biāo)準(zhǔn)
盡管上面說明了為增量分析選擇布局設(shè)計數(shù)據(jù)的特定單獨(dú)技
的組合來選擇布局設(shè)計數(shù)據(jù)。特別地,本發(fā)明的一些實(shí)現(xiàn)可以容許 使用者選擇由任何兩個或更多這些技術(shù)指定的一組布局設(shè)計數(shù)據(jù)
25(如同使用邏輯或操作)、容許使用者只選擇由任何兩個或更多這 些技術(shù)指定的布局設(shè)計數(shù)據(jù)的重疊部分(如同使用邏輯與操作)、 或者兩者的組合。例如,本發(fā)明的一些實(shí)施例可以容許使用者首先 選擇早期分析過程所識別的錯誤,然后進(jìn)一 步選擇這些區(qū)域中被使 用者定義的區(qū)域包圍的子集。另外一些實(shí)現(xiàn)可以有選擇地或額外地 允許使用者既選擇早期分析過程所識別的錯誤又選擇自早期版本后 布局設(shè)計數(shù)據(jù)中的更改。
還要注意的是,除了上面說明的選擇技術(shù),本發(fā)明的各種實(shí)施 例可以容許使用者使用其它技術(shù)來選擇數(shù)據(jù)。例如,增量分析工具
301的一些實(shí)施例可以容許使用者通過如下方式進(jìn)行選擇選擇只在
布局設(shè)計數(shù)據(jù)一個特定層中發(fā)生的錯誤或更改、選擇特定設(shè)計者所 做的更改、選擇分析過程中一個指定重復(fù)中所識別的錯誤、或任何 其它可用于增量分析中辨別布局設(shè)計數(shù)據(jù)各部分的技術(shù)。
為N^f標(biāo)雀^遞脊
現(xiàn)在回到圖4,在步驟407中使用者選擇將用于第二次增量分析 過程的分析標(biāo)準(zhǔn)。如此前所述,本發(fā)明的各種實(shí)現(xiàn)將有選擇地或額 外地允許使用者選擇在增量分析過程中將用于分析布局設(shè)計數(shù)據(jù)的 分析標(biāo)準(zhǔn)。例如,使用本發(fā)明的一些實(shí)現(xiàn),使用者能夠利用用戶界 面模塊303提供的一個或多個用戶界面來選擇用于分析所選擇的布 局設(shè)計數(shù)據(jù)的分析標(biāo)準(zhǔn)。然后分析標(biāo)準(zhǔn)選擇模塊307將為增量分析過 程執(zhí)行使用者的選擇。
本發(fā)明的各種實(shí)現(xiàn)可以在使用者對整個布局設(shè)計數(shù)據(jù)執(zhí)行了 "完 整"分析之后使用。此完整分析通常使用大量的分析標(biāo)準(zhǔn)來分析布局 設(shè)計數(shù)據(jù)。例如,設(shè)計規(guī)則檢查分析過程中的一個規(guī)則組可以包含 上百個規(guī)則,需要大量的計算機(jī)處理時間和資源來執(zhí)行。本發(fā)明的 各種實(shí)現(xiàn)將容許使用者指定一整套分析標(biāo)準(zhǔn),諸如把前次對布局設(shè) 計數(shù)據(jù)進(jìn)行"完整"分析的標(biāo)準(zhǔn)使用到隨后的增量分析過程中。本發(fā) 明的一些實(shí)現(xiàn)還容許使用者從一個較大組的可用分析標(biāo)準(zhǔn)中選擇一個子集以用于增量分析過程。
例如,本發(fā)明的 一些實(shí)現(xiàn)容許使用者指定增量分析過程只使用對在增量分析過程中被分析的布局設(shè)計數(shù)據(jù)適用的分析標(biāo)準(zhǔn)。因此,如果被分析的布局設(shè)計數(shù)據(jù)只包含設(shè)計中特定金屬層的數(shù)據(jù)(例如,金屬層l),那么分析標(biāo)準(zhǔn)選擇模塊307將只選擇適用于該數(shù)據(jù)的分
析標(biāo)準(zhǔn)。分析標(biāo)準(zhǔn)選擇模塊307將不會選擇,例如,與設(shè)計中多晶硅層布局設(shè)計數(shù)據(jù)相關(guān)的分析標(biāo)準(zhǔn)。使用本發(fā)明的一些實(shí)現(xiàn),分析標(biāo)準(zhǔn)選擇模塊307甚至不會選擇與布局設(shè)計中其它金屬層相關(guān)的分析標(biāo)準(zhǔn)(例如金屬層l,填充層l,等等)。
本發(fā)明的 一些實(shí)現(xiàn)可以有選擇地或額外地允許使用者指定增量分析過程只使用前次分析過程沒有通過的分析標(biāo)準(zhǔn)。例如,如果增量分析正在分析前次分析過程生成的結(jié)果,該結(jié)果可以通過每個被識別的錯誤來指出沒有通過的分析標(biāo)準(zhǔn)。作為響應(yīng),分析標(biāo)準(zhǔn)選擇模塊307可以識別為增量分析選擇的特定錯誤,確定與每個選擇的錯誤相關(guān)聯(lián)的分析標(biāo)準(zhǔn),以及選擇這些分析標(biāo)準(zhǔn)以供增量分析使用。使用這一功能,使用者能夠避免讓增量分析過程執(zhí)行可能不需要的評估。
進(jìn)一步地,本發(fā)明的一些實(shí)現(xiàn)可以容許使用者從一個較大的分析標(biāo)準(zhǔn)組中人工選擇一個子集。本發(fā)明的這些實(shí)現(xiàn)可以積極地要求使用者選擇哪些特定的標(biāo)準(zhǔn)將用于增量分析過程,被動地應(yīng)用分析標(biāo)準(zhǔn)組中沒有被使用者特別放棄的每個標(biāo)準(zhǔn),或者兩者的某個組合。
請注意本發(fā)明的一些實(shí)施例可以自動限制一些分析標(biāo)準(zhǔn)被運(yùn)用到增量分析過程中。例如,如果增量分析過程是設(shè)計規(guī)則檢查分析過程,則分析標(biāo)準(zhǔn)選擇模塊307可以阻止增量分析過程使用連接性檢查。因?yàn)樵隽糠治鲞^程可能只分析整個布局設(shè)計數(shù)據(jù)的一部分,被分析的部分不太可能包含足夠的數(shù)據(jù)來精確地執(zhí)行這類檢查。就是說,被分析的部分不太可能包含在目標(biāo)器件和電源或地連接點(diǎn)之間建立連續(xù)的連接所需的所有幾何元素。類似地,分析標(biāo)準(zhǔn)選擇模塊307可以自動地排除需要布局設(shè)計數(shù)據(jù)相當(dāng)?shù)囊徊糠植拍軠?zhǔn)確評估
27的其它"片級"分析標(biāo)準(zhǔn),諸如填充密度檢查。
如同布局設(shè)計數(shù)據(jù)的選擇一樣,本發(fā)明的各種實(shí)現(xiàn)可以容許使用者組合兩種或更多的選擇技術(shù)來選擇分析標(biāo)準(zhǔn)。例如,分析標(biāo)準(zhǔn)
選擇模塊307的一些實(shí)施例可以容許使用者選擇在選定布局設(shè)計數(shù)
據(jù)中的錯誤沒有通過的分析標(biāo)準(zhǔn)和使用者人工指定的額外分析標(biāo)準(zhǔn)。本發(fā)明的另外一些例子可以有選擇地或額外地允許使用者只選擇適用于所選擇的布局設(shè)計數(shù)據(jù)的分析標(biāo)準(zhǔn),然后進(jìn)一 步在此有限的分析標(biāo)準(zhǔn)中人工選擇 一 個特定的子集。
增量為、浙
在使用者選擇了用于增量分析過程的布局設(shè)計數(shù)據(jù)和/或分析標(biāo)
準(zhǔn)之后,分析過程模塊309使用這些輸入在步驟409中執(zhí)行增量分析過程。然后在步驟411,分析過程模塊309輸出增量分析過程的結(jié)果給使用者。結(jié)果可以是任何期望的格式。
如同此前所述,根據(jù)本發(fā)明各種例子的增量分析過程可以簡單地是4艮多分析過程中的一次迭代。相應(yīng)地,步驟403-409中的每一步可以重復(fù)一到多次,直到對布局設(shè)計數(shù)據(jù)感到滿意為止。進(jìn)一步地,如果期望,可以省略分析前修改布局設(shè)計數(shù)據(jù)的步驟403。例如,使用者可能希望根據(jù)第一組分析標(biāo)準(zhǔn)來檢查布局設(shè)計數(shù)據(jù)的一部分,然后在更改任何布局設(shè)計數(shù)據(jù)前根據(jù)第二組分析標(biāo)準(zhǔn)來檢查布局設(shè)計數(shù)據(jù)的另一部分。
一些實(shí)現(xiàn)可以容許使用者在前次增量分析過程完成其分析之前重復(fù)步驟403-409中的一個或多個。例如,分析過程模塊309的一些實(shí)施例可以在增量分析過程完成其分析之前開始返回分析結(jié)果給使用者。作為響應(yīng),使用者可以,例如,糾正增量分析過程中識別的一個或多個錯誤,并且啟動第二次增量分析過程以確認(rèn)錯誤被更正。如同上面所詳細(xì)討論的,使用者可以使用用戶界面來只選擇所報告錯誤中特定的實(shí)例以供第二次增量分析過程分析、只選擇所報告錯誤中沒有通過的分析標(biāo)準(zhǔn)以供第二次增量分析過程使用、或者兩者的組合(包括只選擇選定報告的錯誤沒有通過的分析標(biāo)準(zhǔn)的組合)。通過這種方式,使用者能夠有效地使用計算系統(tǒng),例如分布式計算系統(tǒng),甚至在更長、更耗時的分析過程完成前確認(rèn)檢測到的錯誤被糾正。
還請注意的是,本發(fā)明的 一 些實(shí)現(xiàn)可以省略布局設(shè)計數(shù)據(jù)選擇
模塊305,而本發(fā)明的另外一些實(shí)現(xiàn)可以省略分析標(biāo)準(zhǔn)選擇模塊307。也就是說,本發(fā)明的一些實(shí)現(xiàn)可以容許使用者選擇分析標(biāo)準(zhǔn)以用于增量分析過程,但是不選擇布局設(shè)計數(shù)據(jù)。另一方面,本發(fā)明的一些實(shí)現(xiàn)可以容許使用者選擇增量分析過程中要使用的布局設(shè)計數(shù)據(jù)而不選擇分析標(biāo)準(zhǔn)。
初始流程選擇用戶界面
例。從圖中可以看到,用戶界面801提供增量分析過程控制按鈕803,其容許使用者選擇對布局設(shè)計數(shù)據(jù)執(zhí)行增量分析過程。(在所顯示的實(shí)施例中,分析過程是設(shè)計規(guī)則檢查。)用戶界面801還包括"Complete Flow"(完整流程)控制按鈕805、 "Design Delta"(設(shè)計差分)控制按鈕807、和"Previous Result Flow"(前次結(jié)果流程)控制按鈕809。使用本發(fā)明所顯示的例子,這些控制的每一個都是互斥的(即,選擇一個控制將自動取消選定其它兩個控制)。
如果使用者選擇"Complete Flow"控制按鈕805,那么如同上面所詳細(xì)討論的,分析過程模塊309將對布局設(shè)計數(shù)據(jù)執(zhí)行"完整"的分析過程。(本發(fā)明的 一 些實(shí)現(xiàn)可以提供進(jìn) 一 步的用戶界面或控制以容許使用者選擇要分析的布局設(shè)計數(shù)據(jù)。)然而,如果使用者選擇"Design Delta"控制按鈕807,那么用戶界面模塊303激活"File"(文件)區(qū)域控制811和"Cell"(單元)區(qū)域控制813 。如同上面所詳細(xì)討論的,使用這些區(qū)域控制,使用者指定包含布局設(shè)計數(shù)據(jù)的文件和將要使用增量分析過程進(jìn)行分析的布局設(shè)計數(shù)據(jù)的單元。特別地,分析過程模塊309將對指定布局設(shè)計中基于指定布局設(shè)計數(shù)據(jù)的早期版本的已修改數(shù)據(jù)執(zhí)行增量分析過程。
可選地,如果使用者選擇"Previous Result Flow"控制按鈕809,則用戶界面模塊303將類似地激活文件區(qū)域控制815和"Previous Run"(前次運(yùn)行)控制按鈕817。用戶界面模塊303還將激活"fixedonly"(只有已更正的)控制按鈕819、 "not waived"(沒有放棄的)控制按鈕821、和"all results"(所有結(jié)果)控制按鈕823。 使用者能夠使用文件區(qū)域控制815來指定包含前次分析過程的結(jié)果的文件?;蛘?,如果使用者僅僅希望分析剛由分析過程模塊309提供的結(jié)果,則使用者能夠選擇"previous run"控制按鈕817。如同上面所詳細(xì)討論的,一旦指定了結(jié)果的來源,使用者就能夠使用控制按鈕819-823來指定哪些結(jié)果將要分析。特別地,如果使用者希望分析在前次增量分析過程中產(chǎn)生結(jié)果的所有布局設(shè)計數(shù)據(jù),那么使用者選擇"all results"控制按鈕823 。如果使用者只希望分析自獲得結(jié)果以來那些據(jù)稱已更正的錯誤,那么使用者選擇"fixedonly,,控制按鈕819。如果使用者只希望分析在前次增量分析過程中產(chǎn)生結(jié)果的布局設(shè)計數(shù)據(jù)的特定部分,那么使用者能夠放棄不希望分析的任何布局設(shè)計部分,并選擇"not waived"控制按4丑821 。
驗(yàn)i正運(yùn)行用戶界面
根據(jù)通過用戶界面801提交的選擇, 一旦使用者啟動增量分析過程,本發(fā)明的各種實(shí)施例可以為使用者提供第二個用戶界面以顯示正在進(jìn)行的(增量或完整)分析過程的實(shí)時結(jié)果。例如,本發(fā)明的一些實(shí)施例可以為使用者提供如圖9所示的用戶界面901。從圖中可見,用戶界面901包括結(jié)果顯示部分903和分析過程狀態(tài)顯示部分
而產(chǎn)生的結(jié)果907。從圖中可見,結(jié)果907顯示沒有通過相應(yīng)分析標(biāo)準(zhǔn)的部分布局設(shè)計數(shù)據(jù)的數(shù)量。
如同上面所詳細(xì)討論的,使用者可以利用用戶界面901針對與一
30個或多個結(jié)果907相關(guān)的部分布局設(shè)計數(shù)據(jù)啟動增量分析過程,即便前次的分析過程仍在進(jìn)行中。例如,使用者可以修改布局設(shè)計數(shù)據(jù)中與一個或多個結(jié)果907 (例如結(jié)果907A)相關(guān)的部分。如果使用者希望對這個結(jié)果相關(guān)的區(qū)域執(zhí)行增量分析,那么使用者可以選擇"incremental area"(增量區(qū)域)控制按鈕911。
使用本發(fā)明的各種例子,用戶界面模塊303將提供用戶界面(例如像圖5所示的用戶界面)以容許使用者指定用于隨后增量分析的布局設(shè)計數(shù)據(jù)的 一 個或多個所期望的部分。然而,如果使用者希望對與結(jié)果907A相關(guān)的部分布局設(shè)計數(shù)據(jù)重復(fù)增量分析過程,那么使用者可以選擇該結(jié)果,然后啟動"start validation run"(開始驗(yàn)證運(yùn)行)控制按鈕909。
響應(yīng)于"start validation run"控制按鈕909的啟動,增量分析工具
程。進(jìn)一步地,用戶界面901可以更新結(jié)果顯示部分903以顯示新增量分析過程提供的新結(jié)果。如圖9B所示,本發(fā)明的一些實(shí)現(xiàn)可以額外地容許使用者查看與特定分析標(biāo)準(zhǔn)相聯(lián)系的每個新結(jié)果。本發(fā)明的各種實(shí)現(xiàn)能夠提供所需的新結(jié)果。例如,如果隨后增量分析過程對其布局設(shè)計數(shù)據(jù)的相應(yīng)部分仍在進(jìn)行操作,則本發(fā)明的 一 些實(shí)現(xiàn)
可以用黃色高亮顯示結(jié)果,如果布局設(shè)計數(shù)據(jù)的這部分已經(jīng)通過隨后增量分析過程的分析標(biāo)準(zhǔn),結(jié)果會以綠色高亮顯示,如果布局設(shè)計數(shù)據(jù)的這部分再次沒有通過隨后增量分析過程的分析標(biāo)準(zhǔn),結(jié)果會以紅色高亮顯示,如果隨后增量分析過程為布局設(shè)計數(shù)據(jù)的這部分返回新的結(jié)果,結(jié)果會以橙色高亮顯示。
當(dāng)然,可以理解其它類型的用戶界面可用于實(shí)現(xiàn)此前詳細(xì)討論的本發(fā)明的各種實(shí)施例。
潛論
盡管前面詳細(xì)顯示并說明了本發(fā)明的特定實(shí)施例以展示本發(fā)明的原理,但是應(yīng)當(dāng)理解本發(fā)明可以以其他方式實(shí)現(xiàn)而不偏離本發(fā)明。因此,盡管使用包括執(zhí)行本發(fā)明目前首選模式的特定例子來說明本發(fā)明,但是所屬領(lǐng)域的技術(shù)人員都理解以上說明的系統(tǒng)和技術(shù)有許 多變化和組合,它們均落入權(quán)利要求書詳細(xì)說明的本發(fā)明的精神和 范圍之內(nèi)。
權(quán)利要求
1.一種糾正布局設(shè)計數(shù)據(jù)的方法,其包括對布局設(shè)計數(shù)據(jù)執(zhí)行第一分析過程;識別所述布局設(shè)計數(shù)據(jù)的一部分;以及對所述布局設(shè)計數(shù)據(jù)的被識別部分執(zhí)行第二分析過程。
2. 如權(quán)利要求l所述的方法,其中識別所述布局設(shè)計數(shù)據(jù)的一 部分包括識別由糾正信息修改的數(shù)據(jù)。
3. 如權(quán)利要求2所述的方法,其中識別由糾正信息修改的數(shù)據(jù)包括使用哈希表來比較包含所述布局設(shè)計數(shù)據(jù)的初始版本的第一數(shù) 據(jù)庫和包含布局修訂版本的第二數(shù)據(jù)庫,其中該布局修訂版本包括 所述糾正信息中提供的新數(shù)據(jù)。
4. 如^又利要求1所述的方法析。
5. 如權(quán)利要求1所述的方法析。
6. 如權(quán)利要求1所述的方法 標(biāo)準(zhǔn)的子集。
7. 如^=又利要求1所述的方法 在對布局設(shè)計的第二部分繼續(xù)執(zhí)行時,對布局設(shè)計中已識別部分啟 動第二錯誤分析。
8. 如權(quán)利要求1所述的方法,其進(jìn)一步包括識別所述布局設(shè)計數(shù)據(jù)的第二部分,所述第二部分包括在糾正信 息中提供的新數(shù)據(jù);以及對所述布局設(shè)計數(shù)據(jù)的已識別第二部分執(zhí)行第三錯誤分析。
9. 如權(quán)利要求8所述的方法,其進(jìn)一步包括在第二錯誤分析仍 在對布局設(shè)計的已識別第 一 部分繼續(xù)執(zhí)行以及第 一 錯誤分析仍在對 布局設(shè)計的第三部分繼續(xù)執(zhí)行的同時,對布局設(shè)計的已識別第二部,其中錯誤分析是設(shè)計規(guī)則檢查分 ,其中錯誤分析是設(shè)計可制造性分 ,其中第二組分析標(biāo)準(zhǔn)是第一組分析 ,其進(jìn)一步包括在第一錯誤分析仍分啟動第三錯誤分析。
10. —種計算機(jī)可讀介質(zhì),其上存儲有計算機(jī)可讀指令,該指令執(zhí)行如權(quán)利要求1至9中任一權(quán)利要求所述的步驟。
11. 一種糾正布局設(shè)計數(shù)據(jù)的方法,其包括使用第 一組分析標(biāo)準(zhǔn)對布局設(shè)計數(shù)據(jù)執(zhí)行第 一 分析過程; 選擇與所述第 一組分析標(biāo)準(zhǔn)不同的第二組分析標(biāo)準(zhǔn); 使用所述第二組分析標(biāo)準(zhǔn)對所述布局設(shè)計數(shù)據(jù)的已識別部分執(zhí) 行第二分析過程。
12. 如權(quán)利要求11所述的方法,其中所述第二組分析標(biāo)準(zhǔn)與所 述第一組分析標(biāo)準(zhǔn)不完全重疊。
13. 如權(quán)利要求11所述的方法,其進(jìn)一步包括 識別所述布局設(shè)計數(shù)據(jù)的一個或多個部分;以及只對所述布局設(shè)計數(shù)據(jù)的已識別部分執(zhí)行第二分析過程。
14. 一種計算機(jī)可讀介質(zhì),其上存儲有計算機(jī)可讀指令,該指 令執(zhí)行如權(quán)利要求11至13中任一權(quán)利要求所述的步驟。
15. —種用戶界面系統(tǒng),其包括第一顯示部分,用于顯示正在進(jìn)行的布局設(shè)計數(shù)據(jù)分析過程的狀 態(tài);以及第二顯示部分,用于顯示在所述正在進(jìn)行的布局設(shè)計數(shù)據(jù)分析完 成前所述正在進(jìn)行的布局設(shè)計數(shù)據(jù)分析過程的結(jié)果。
16. 如權(quán)利要求15所述的用戶界面系統(tǒng),其進(jìn)一步包括 一個 或多個控制,所述控制容許使用者對在所述第二顯示部分中顯示的 一個或多個結(jié)果所對應(yīng)的布局設(shè)計數(shù)據(jù)啟動第二布局設(shè)計數(shù)據(jù)分析 過程。
17. 如權(quán)利要求15所述的用戶界面系統(tǒng),其包括一個或多個控 制,所述控制容許使用者在第一布局設(shè)計數(shù)據(jù)分析過程完成前,對 在所述第二顯示部分顯示的一個或多個結(jié)果所對應(yīng)的布局設(shè)計數(shù)據(jù) 啟動第二布局設(shè)計數(shù)據(jù)分析過程。
18. —種計算機(jī)可讀介質(zhì),其上存儲有計算機(jī)可讀指令,該指令執(zhí)行如權(quán)利要求15至17中任一權(quán)利要求所述的步驟。
19. 一種增量式布局設(shè)計數(shù)據(jù)分析工具,其包括 布局設(shè)計數(shù)據(jù)選擇模塊,其被配置以確定一組布局設(shè)計數(shù)據(jù)中將要在增量分析過程中分析的部分;分析過程模塊,其被配置以對所述布局設(shè)計數(shù)據(jù)選擇模塊所確定 的該組布局設(shè)計數(shù)據(jù)的所述部分執(zhí)行分析過程;以及用戶界面模塊,其被配置以向使用者提供一個或多個用戶界面, 以用于控制所述布局設(shè)計數(shù)據(jù)選擇模塊的操作。
20. 如權(quán)利要求19所述的裝置,其進(jìn)一步包括分析標(biāo)準(zhǔn)選擇模 塊,其被配置以確定可用分析標(biāo)準(zhǔn)的子集,所述子集將由所述分析 過程模塊用來在所述增量分析過程中分析被選擇的布局設(shè)計數(shù)據(jù)。
21. —種增量式布局設(shè)計數(shù)據(jù)分析工具,其包括 分析標(biāo)準(zhǔn)選擇模塊,其被配置以確定將在增量分析過程中使用的可用分析標(biāo)準(zhǔn)的子集;分析過程模塊,其被配置以使用由所述分析標(biāo)準(zhǔn)選擇模塊所確定 的分析標(biāo)準(zhǔn)來對布局設(shè)計數(shù)據(jù)執(zhí)行分析過程;以及用戶界面模塊,其被配置以向使用者提供一個或多個用戶界面, 以用于控制所述分析標(biāo)準(zhǔn)選擇模塊的操作。
22. —種比較布局設(shè)計數(shù)據(jù)的方法,其包括 識別第 一 組布局設(shè)計數(shù)據(jù)的設(shè)計組件;為所述第 一組布局設(shè)計數(shù)據(jù)中被識別的每個設(shè)計組件使用哈希 功能來創(chuàng)建索引值;識別第二組布局設(shè)計數(shù)據(jù)的設(shè)計組件;為所述第二組布局設(shè)計數(shù)據(jù)中被識別的每個設(shè)計組件使用哈希功能來創(chuàng)建索引值;以及比較共享相同索引值的所述第 一組布局設(shè)計數(shù)據(jù)中被識別的設(shè)計組件和所述第二組布局設(shè)計數(shù)據(jù)中被識另'J的設(shè)計組件。
23. —種計算機(jī)可讀介質(zhì),其上存儲有計算機(jī)可讀指令,該指 令執(zhí)行如權(quán)利要求22所述的步驟。
全文摘要
公開了的用于增量式分析布局設(shè)計數(shù)據(jù)的技術(shù)。通過各種實(shí)現(xiàn)方法,可以只針對部分布局設(shè)計數(shù)據(jù)、使用可用分析標(biāo)準(zhǔn)的子集、或二者的某種組合來進(jìn)行隨后的增量式分析。例如,分析可限定在前次分析過程中識別的錯誤、前次分析過程后布局設(shè)計數(shù)據(jù)中的修改部分、設(shè)計者指定的特定區(qū)域、或它們的某種組合。進(jìn)一步地,執(zhí)行分析過程時,可只使用相關(guān)于正被分析的設(shè)計數(shù)據(jù)部分的分析標(biāo)準(zhǔn)的子集、前次分析過程中設(shè)計數(shù)據(jù)沒有通過的初始分析標(biāo)準(zhǔn)的子集、設(shè)計者選擇的初始分析標(biāo)準(zhǔn)的子集、或它們的某種組合。此外,這種增量式分析過程可在前次分析過程完成前啟動。
文檔編號G06F17/50GK101669121SQ200880013643
公開日2010年3月10日 申請日期2008年3月9日 優(yōu)先權(quán)日2007年3月9日
發(fā)明者B·瑪歇爾, J·G·菲爾格森, J·M·帕里斯 申請人:明導(dǎo)公司