TW201224817A - Method and system for automatic generation of solutions for circuit design rule violations - Google Patents
Method and system for automatic generation of solutions for circuit design rule violations Download PDFInfo
- Publication number
- TW201224817A TW201224817A TW100141866A TW100141866A TW201224817A TW 201224817 A TW201224817 A TW 201224817A TW 100141866 A TW100141866 A TW 100141866A TW 100141866 A TW100141866 A TW 100141866A TW 201224817 A TW201224817 A TW 201224817A
- Authority
- TW
- Taiwan
- Prior art keywords
- design
- shape
- shapes
- layout
- edge
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03F—PHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
- G03F7/00—Photomechanical, e.g. photolithographic, production of textured or patterned surfaces, e.g. printing surfaces; Materials therefor, e.g. comprising photoresists; Apparatus specially adapted therefor
- G03F7/70—Microphotolithographic exposure; Apparatus therefor
- G03F7/70425—Imaging strategies, e.g. for increasing throughput or resolution, printing product fields larger than the image field or compensating lithography- or non-lithography errors, e.g. proximity correction, mix-and-match, stitching or double patterning
- G03F7/70433—Layout for increasing efficiency or for compensating imaging errors, e.g. layout of exposure fields for reducing focus errors; Use of mask features for increasing efficiency or for compensating imaging errors
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03F—PHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
- G03F7/00—Photomechanical, e.g. photolithographic, production of textured or patterned surfaces, e.g. printing surfaces; Materials therefor, e.g. comprising photoresists; Apparatus specially adapted therefor
- G03F7/70—Microphotolithographic exposure; Apparatus therefor
- G03F7/70425—Imaging strategies, e.g. for increasing throughput or resolution, printing product fields larger than the image field or compensating lithography- or non-lithography errors, e.g. proximity correction, mix-and-match, stitching or double patterning
- G03F7/70466—Multiple exposures, e.g. combination of fine and coarse exposures, double patterning or multiple exposures for printing a single feature
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/18—Manufacturability analysis or optimisation for manufacturability
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- User Interface Of Digital Computer (AREA)
Description
201224817 六、發明說明: 【先前技術】 積體電路(「ic」)係包括諸如電晶體、電阻器、二極體 等諸多電子組件之裝置(例如,半導體裝置)或電子系統。 此等組件通常互連形成諸如閘、儲存格、記憶體單元、運 算單元、控制器、解碼器等多個電路組件。IC包括互連化 之電子組件與電路組件之多層佈線。 設計工程師藉由將對1C之組件之邏輯或電路描述變換成 稱作設計佈局之幾何描述。IC設計佈局通常包括(1)具有引 腳之電路模組(亦即,電子組件或電路1(:組件之幾何表示 形式)及(2)連接電路模組之引腳之互連線(亦即,佈線之幾 何表示形式卜以此方式,設計佈局通常描述1(:之行為、 架構、功能及結構屬性。為創建設計佈局,設計工程師通 常使用電子設計自動化(「EDA」)應用程式。此等應用程 式提供用於創建、編輯、分析及驗證佈局之若干組基於電 腦的工具。該等應用程式亦將該等佈局呈現於—顯示器上 或呈現至一儲存器供稍後顯示。
罩上所含有之該等不同幾何形態對應 即,特徵)。該等 於包含諸如電晶 159846.doc 201224817 體、互連佈線、通孔墊以及並非係功能電路元件但用於促 進、增強或追蹤各種製造處理程序之其他元件之功能電路 組件之各種基本實體ic元件。 在將該等設計佈局釋放至製造廠之前,根據強加給該等 1C設計佈局之該等不同幾何形態之一組設計約束或規則 (例如,要求一設計佈局中之兩個幾何狀態之間的一最小 距離之一設計約束)來驗證該等設計佈局。藉由遵守該等 設計約束,設計工程師確保基於該等設計佈局製造之1(:將 正確運行。為幫助設計工程師驗證該等設計佈局,某些 EDA應用程式提供設計違反標記。該等違反標記中之每一 者指示該IC設計佈局之一組幾何形態未滿足一設計約束或 規則。此等標記呈資料形式且可連同該等設計佈局一起呈 現於一顯示裝置上以向工程師提供用以認出並定位任何設 計違反之視覺線索。 【發明内容】 某些實施例提供一種用於自動產生糾正由一拕設計佈局 t之一組形狀(亦即,IC元件之幾何表示形式)所犯之一設 計規則違反之若干設計解決方案之方法。該方法接收指示 該1C設計中違反一設計規則之該組形狀之一標記。在某些 實施例中,該標記含有關於設計規則違反(例如,該所違 反設計規則之類型及名稱等等)之資訊。該標記可呈現為 。亥1C »又计佈局中之一幾何形狀。表示該標記之幾何形狀係 一矩形或具有四個頂點之一平行四邊形。該幾何形狀之每 一頂點具有指示該頂點於該設計佈局之一層内之位置之座 159846.doc •4- 201224817 標。基於該標記,該方法產生若干解決方案。每一解決方 案在應用於該組時致使該組形狀滿足該組違反之設計規 則。每一解決方案要求移動該組形狀中之一形狀之至少一 個邊緣* 某些實施例從若干所產生解決方案中選擇一設計解決方 案並使用該選定解決方案來糾正設計佈局中之設計違反。 為選擇一設計解決方案來使用,某些實施例依序檢驗該等 設計解決方案中之每一者以驗證該設計解決方案在應用該 解決方案時是否造成新的設計規則違反。某些此類實施例 選擇來在應用於該組形狀時造成新的設計規則違反之第一 解決方案。當該等所產生設計解決方案中之每一者皆造成 新的設計規則違反時,基於某一準則(例如,一設計解決 方案造成之新的設計差錯之數目)選擇一設計解決方案來 使用並產生對應力由該冑定設計.解決方案所造成之該等新 的設計規則違反之一組標記。 為產生對該設計規則違反之設計解決方案,某些實施例 識別該組形狀所犯之設計規料反之類型。#該組形狀益 法滿足由該設計規則所強加之某—類型之要求(例如,兩 個狀態之間的-最小距離)時出現每—類型之設計規則違 反0 在某些實施例中,一設古+蚀Α a丄 十佈局之一層令之所有形狀之所 有邊緣皆彼此垂直或平奸 且飞十仃此荨貫施例識別該標記之一组 相關邊緣。在某些實施例中,該標記之每-相關邊緣正交 於該設計佈局中之形狀之邊緣。亦識別該組形狀之相關邊 159846.doc Ιϊ 201224817 緣。該組形狀之每-相關邊緣鄰接該標記之一相關邊緣。 然後計算朗違反設計_之-規靠與额雜之-佈 局值之間的差。在某些實施例中,該設計規則之規則值係 該要求之值(例如,兩個形狀之間-最小距離之-數值)。 在某些實施射’該㈣狀之佈局值絲㈣職計佈局 中之該組形狀之佈局之-幾何屬性之-值(例如,該組中 之兩個形狀之間的一距離之-數值)。基於該所計算出之 差,某些實施例產生指定為該組設計解決方案之—組邊緣 移動。 某些設計規則違反類型包括一空間違反一寬度違反、 -面積違反及-邊緣違反。在某些實施例中,對每一類型 之違反之-設計解決方案包括移動該設計佈局巾之相 關形狀之-組相關邊緣。在某些實施例中,—空間違反係 對要求-設計佈局中之兩個形狀彼此分開至少某—距離之 一設計規則之一違反。在某些實施例中,對一空間違反之 «χ计解決方案包括移動違反該設計規則之該兩個形狀中 之一者之一相關邊緣或移動該兩個形狀之一對相關邊緣。 一寬度違反係對要求一設計佈局中之一形狀具有至少某 一寬度之一設計規則之一違反。在某些實施例中,對一寬 度違反之一設計解決方案包括移動違反該規則之該形狀之 一相關邊緣或移動該形狀之一對相關邊緣以便增大該形狀 之寬度。 一面積違反係對要求一形狀在該IC設計佈局中具有至少 某一面積或大小之一設計規則之一違反。在某些實施例 159846.doc £ 6 s 201224817 中,對一面積違反之一設計解決方案包括移動違反該規則 之該形狀之一相關邊緣,移動該形狀之一對相關邊緣,或 移動該形狀之所有相關邊緣以便擴大該形狀之大小。 一邊緣這反係對要求形成一向内邊緣(或一向内拐角)之 一組形狀沿著形成該向内拐角之該等形狀之邊緣具有至少 某一長度之一設計規則之一違反。在某些實施例中,對一 邊緣違反之一設計解決方案包括移動違反該規則之該組形 狀之一相關邊緣並移動該組形狀之一對相關邊緣以便除去 該向内拐角。 上述發明内谷意欲作為對本發明之某些實施例之一簡要 介紹。其並非旨在為本文獻中所揭示之所有發明性標的物 之一簡介或概述。接下來的實施方式及實施方式中所提及 之圖式簡單說明將進一步闞述發明内容以及其他實施例中 所述之實施例。因此,為理解本文獻所闡述之所有實施 例,需要全面檢閱發明内容、實施方式及圖式簡單說明❶ 而且,提出專利申請之標的物不應受限於發明内容中之說 明性細節,而是應由隨附申請專利範圍界定,因為提出專 利申請之標的物可體現為其他具體形式,而此並不背離該 等標的物之主旨。 【實施方式】 在隨附申請專利範圍中列舉本發明之新賴特徵。然而, 出於解釋之目的’在以下圖式中列舉本發明之若干實施 例0 在對本發明之以下詳細說明中,列舉並閣述本發明之眾 159846.doc 201224817 多細節、實例及實施例。然而,熟習此項技術者將明瞭且 易知本發明不僅限於所列舉之實施例且即使沒有某些所述 具體細節及實例亦可實施本發明。 某些實施例提供一種用於自動產生糾正由一 ic設計佈局 之一層中之一組形狀所犯之一設計規則違反之若干設計解 決方案(亦稱作設計提示)之方法。該方法接收指示該1(:設 計中違反一設計規則之該組形狀之一標記。在某些實施例 中’一標記包括關於該組形狀及該組形狀違反之設計規則 之不同則資訊。舉例來說’ 一標記包括該設計規則之標 識、包括違反該設計規則之該組形狀.之設計佈局之標識、 該設計佈局之在其上違反該規則之該層之標識、該設計佈 局上之該組形狀之位置資訊(例如,座標)等等。 在某些實施例中,一標記呈現為該1C設計佈局中之一幾 何形狀(例如,一矩形或一平行四邊形)^在某些此類實施 例中’使用該幾何形狀之頂點於該設計佈局之一層中之一 組座標來呈現一標記。基於該標記,該方法產生若干解決 方案。每一解決方案在應用於該組時致使該組形狀滿足該 組違反之設計規則。每一解決方案要求移動該組形狀中之 一形狀之至少一個邊緣。 圖1圖解說明由一設計佈局10 0之一層中之一組形狀所犯 之一設計規則違反之一實例及糾正該設計違反之實例性設 計解決方案1至3。圖1圖解說明設計饰局100之一層中之一 標記105及三個形狀110至120。 在某些實施例中’一設計佈局包括(1)具有引腳之電路 159846.doc 201224817 模亦即’電子組件或電路1C組件之幾何表示形式)及(2) 連接:等電路模組之該等引腳之互連線(亦即,佈線之幾 何表丁形式)。該等電路模組及互連線稱作形狀或段。在 1二實施例中’ 一設計佈局亦包括表示欲基於該設計佈局 裝1^之IC之層之多層。在某些實施例中,該設計佈局中 之該等層巾之每一者可以=維形式呈現於一顯示裝置上以 展示該層中之該等形狀。 «又计佈局1〇〇係一實例性設計佈局。如所示,設計佈局 100包括—層中之形狀110至120。設計佈局_可包括該層 中之其他標記及其他形狀且具有為了簡明起見而未圖解說 明於圖1中之其他層。 圖1十所圖解說明之標記105係呈現為設計佈局之一 層中之一幾何形狀之一實例性標記^如上文所提及,一標 記可呈現為諸如一平行四邊形之一幾何形狀。如該圖中所 繪示,該標記之四個邊緣具有用以使該等邊緣在該圖中可 見之厚度。然而,該等邊緣係連接該平行四邊形之四個頂 點之不具有厚度之線。藉由具有頂部與底部正交邊緣及兩 個對角側邊緣,標記105指示形狀11〇之底部邊緣之間的距 離。形狀110之底部邊緣與形狀115及12〇之頂部邊緣之間 的距離短於一設計約束所要求之繪示為一雙向箭頭125之 一最小距離。 在某些實施例中,一設計約束係強加給一設計佈局中之 形狀以便碟保將基於該設計佈局製造之1C將正確運行之一 約束。換言之’ 一設計約束係欲由設計佈局中之形狀遵守 159846.doc -9- 201224817 以達成所製造ic之正確運行之—設計規則。存在多種類型 之設計規則且每-類型法定一不同要求。舉例來說,形狀 110至12GJE違反之設計規狀類型要求兩個形狀在該兩個 形狀設計為隔開之情況下在該設計佈局之一層中相隔至少 某距離。下文將進一步闡述某些其他設計規則類型。 如圖1中所示,產生三個設計解決方案丨至3。解決方案i 建議使形狀110向上移動該設計規則所要求之最小距離(例 如,0.070個單位)與形狀11〇與形狀115及12〇之間的當前距 離(例如,0.065個單位)之間的差界定之一距離(例如, 0.005個單位卜解決方案2建議使形狀115及12〇向下移動 (例如,0.005個單位)以使得形狀11〇之底部邊緣與形狀115 及120之頂部邊緣之間的距離等於繪示為雙向箭頭125之最 小距離《解決方案3建議使形狀11〇向上移動(例如,〇 〇〇25 個單位)並使形狀115及120向下移動(例如,〇.〇〇25個單位) 以使得形狀11 0與形狀115及120之間的距離等於該最小距 離。下文將參照圖4至16來進一步闡述產生對不同類型之 設計規則違反之設計解決方案之更多實例。 圖2概念性地圖解說明在某些實施例中產生對一設計規 則运反之設計解決方案之一設計解決方案產生器220。如 所示’設計解決方案產生器220包括一佈局分析器225、一 標記分析器230、一設計約束分析器235及解決方案產生模 組240。設計解決方案產生器220產生若干設計解決方案。 該等設計解決方案中之每一者在應用於一 IC設計佈局中之 一組形狀時致使該組滿足該組無法滿足之一設計約束。圖 159846.doc 201224817 2亦圖解說明一設計佈局存放庫205、一標記存放庫210、 設計約束存放庫215、設計解決方案產生器220、設計解決 方案存放庫245及設計修改器250 » 設計解決方案產生器220自標記存放庫210接收一標記並 產生用於糾正由該標記所指示之設計規則違反之設計解決 方案。由產生器220所產生之設計解決方案存放於設計解 決方案存放庫245中。 標記分析器230識別用於根據該標記分析器自標記存放 庫210擷取之一標記來產生設計解決方案之必要資訊。舉 例來說,標記分析器230識別違反之設計規則、包括違反 該規則之該組形狀之設計佈局、用以將該標記呈現為一幾 何形狀之該標記之座標等等。標記分析器230將該所識別 出資訊發送至設計解決方案產生器220之其他模組。舉例 來說’標記分析器23 0將該所違反設計規則之標識發送至 設計約束分析器235並將該標記及該設計佈局之標識發送 至佈局分析器225。 設計約束分析器235識別該所違反設計規則之類型並自 設計規則抽取規則值。如上文所提及,由該設計規則所指 疋之規則值係由該規則所強加之要求之值(例如,兩個形 狀之間的一最小距離之一數值)。設計約束分析器235藉由 使用自標§己分析器2 3 0接收之設計規則之標識自設計約束 存放庫215擷取設計規則《設計約束分析器235將該所識別 出規則類型及該規則值傳遞至解決方案產生模組240。 佈局分析器225識別自設計佈局存放庫205擷取之該設計 159846.doc •11- 201224817 佈局中違反該設計規則之該組形狀。佈局分析器225使用 自標記分析器230接收之佈局之標識來擷取含有該組形狀 之設計佈局。為識別該組形狀,佈局分析器225使用其自 標記分析器230接收之標記。在某些實施例中,佈局分析 器225包括違反該設計規則之該組形狀中鄰接該標記之任 何形狀。 自該所識別出組形狀,佈局分析器225計算違反該設計 規則之5亥組形狀之佈局值。如上文所述,在某些實施例 中’一佈局值係表示該設計佈局中之該規則違反組形狀之 一幾何屬性之值。舉例來說,當該組形狀中之兩個形狀未 隔開由一設計規則法定之一最小距離時,該兩個形狀之間 的距離係該組形狀之佈局值。佈局分析器225將該所計算 出之佈局值連同該設計佈局及該組形狀一起傳遞至解決方 案產生模組240。 解決方案產生模組240基於該規則值及該佈局值之間的 差產生對該設計違反之若干設計解決方案。解決方案產生 模組240自設計約束分析器235接收該所違反設計規則之規 則類型及規則值。解決方案產生模組24〇自佈局分析器225 接收該設計值、該設計佈局及該違反組形狀。在某些實施 例中’解決方案產生模組240將針對設計違反之所產生設 計解決方案存放於設計解決方案存放庫245中。 當該所違反設計規則係要求該設計佈局中之任何兩個形 狀相隔由該規則值界定之一最小距離之一類型之規則時, 解決方案產生模組240判定應移動該組中之該等形狀十之 159846.doc •12· 201224817 哪一形狀以使該組形狀相隔大於或等於由該規則值界定之 最小距離之一距離。解決方案產生模組請將該規則值與 該佈局值相比較並判定必須移動之形狀之移動距離之方 向。如下文將閣述,針對—所違反設計規則之每-類型可 在多於-個此類設計解決方案。舉例來說,一種解決方 帛建議使該兩個違反形狀中之一者朝某一方向移動某一距 離而另-解決方案則建議使該兩個形狀中之另一者朝相反 方向移動相同距離。此外,在某些實施例中,一不同設計 解決方案建議使一形狀朝向該形狀之中心之一邊 不是移動該整個形狀。在某些實施例中,此等設計解決方 案中之每一者係使用該設計佈局之該層中之該等形狀之一 組座標來描述,該組座標指示當移動該等形狀時該等形狀 之新的位置。 設計修改器250藉由使用其從由設計解決方案產生器24〇 產生之該若干設計解決方案中選擇之一設計解決方案來修 改該設計佈局。設計修改器250自設計解決方案存放庫245 擷取該等設計解決方案並隨後選擇一設計解決方案來使 用。不同實施例之設計修改器250以不同的方式選擇一設 5十解決方案。舉例來說’在某些實施例中,設計修改器 250依序分析該等所擷取設計解決方案中之每一者以驗證 應用該解決方案是否導致該設計佈局中之新的設計規則違 反。在此等實施例中,設計修改器250根據其自設計約束 存放庫215擷取之設計規則來驗證該等解決方案。在此等 實施例中,該設計修改器隨後選擇不導致任何新的規則違 159846.doc •13· 201224817 反之第一解決方案。作為另一實例,在某些實施例中設 計修改11250首先識別不在該設計佈局中造成任何新的設 計規則違反之所有此類設計解決方案並從該等所識別出設 計解決方案巾選擇-設計解決㈣1於選擇—設計解決 方案之—實例性準則係該設計⑽中欲移動或修改之形狀 之數目》 設計佈局存放庫205儲存設計佈局。在某些實施例中, 設計佈局存放庫205自設計工程師用來設計1C之設計軟體 應用程式接收該等設計佈局。設計佈局存放庫205藉由使 用一資料格式(例如,GDS „流格式(GDSII))來儲存該等設 計佈局。 設計約束存放庫215儲存設計約束。在某些實施例中, 设計約束存放庫2 1 5自根據設計工程師之輸入來產生設計 約束之設計軟體應用程式接收設計約束。 標記存放庫210儲存標記。在某些實施例中,標記存放 庫2丨0自藉由根據可用設計約束中之每一者驗證一設計佈 局中之形狀來產生標記之設計軟體應用程式接收標記。以 此方式’ 一設計解決方案模組或軟體應用程式可獨立於產 生標記之軟體應用程式。 設計解決方案存放庫245儲存由設計解決方案產生器220 所產生之設計解決方案。下文將參照圖20來進一步闡述設 計解決方案之某些實例性資料結構以及設計佈局、設計約 束與標記。 現在要參照圖3來闡述設計解決方案產生器220及設計修 159846.doc
S 201224817 改器250之操作。圖3概念性地圖解說明由某些實施例實施 以產生設計解決方案並使用該等解決方案中之一者來糾正 一設計規則違反之一處理程序3〇〇。在某些實施例中,該 處理程序係由包括諸如設計解決方案產生器22〇及設計修 改器250之模組之一軟體應用程式實施。在其他實施例 中,該處理程序係由經組態以執行此等模組之一電腦系統 實施。 如圖3中所示,處理程序300接收(在3〇5處)指示一設計 佈局中未滿足一設計約束之一組形狀之一標記。圖2圖解 說明標記分析器230自標記存放庫210擷取指示由—設計佈 局中之一組形狀所犯之一設計規則違反之一標記。標記分 析器23 0分析該標記並識別該所違反設計規則及該等標記 座標。標記分析器230將該等標記座標及與該標記相關聯 之設計佈局資訊(例如,該設計佈局之標識及在其上違反 該規則之該層之標識等等)傳遞至佈局分析器225。標記分 析器230亦將該設計規則之標識傳遞至設計約束分析器 235。 接下來,處理程序300基於該標記來產生(在31〇處)設計 解決方案。圖2圖解說明設計約束分析器235自標記分析器 230接收該所違反設計規則之標識並自設計約束存放庫 擷取該所識別出設計規則。設計約束分析器235隨後識別 §亥規則之類型及規則值並將所識別出資訊傳遞至解決方案 產生模組240。 在接收到該標記及與該標記相關聯之設計佈局資訊之 159846.doc -15· 201224817 後’佈局分析器225自設計佈局存放庫205擷取該設計佈局 並識別違反該設計規則之一組形狀及在其上違反該規則之 該層。佈局分析器225隨後計算該組形狀之一佈局值。佈 局分析器225將該所計算出之佈局值、該設計佈局及該組 形狀傳遞至解決方案產生模組240。 解決方案產生模組240自設計約束分析器23 5接收該所違 反設計規則之規則類型及規則值並自佈局分析器225接收 該佈局值、該設計佈局及該違反組形狀。解決方案產生模 組240隨後計算該規則值與該佈局值之間的差。基於例如 要求該設計佈局中之兩個形狀相隔一最小距離之規則類 型,解決方案模組240產生糾正該設計規則違反之設計解 决方案種此類解決方案建議使違反最小距離規則之該 兩個形狀中之-者移動該所計算出之距離以使得該兩個形 狀相隔由該規則值界定之最小距離。解決方案產生模組 240將該等所產生設計解財轉放於設計解決方案存放 庫245中。 處理程序300隨後基於—設計解決方案來改變(在315處) a等形狀t之-或多者。在某些實施例_,該處理程序依 ^分析該等所產生設計解決方案中之每—者以驗證應用該 解決方案是否導致該設計佈局中之任何新的設計規則違 :遠=:例中:該處理程序選擇不造成任何新的設 解決方w以解0帛°該處理料隨後根據該選定 從不、止成任改變該等形狀。在其他實施例中,該處理程序 何新的設計規則違反之彼等設計解決方案令選 I59846.doc
S •16· 201224817 擇建議改變該設計佈局中之最小數目個形狀之一解決方 案。 圖2圖解說明設計修改器⑽自設計解決方案存放庫% 摘取針對該設計違反之所有設計解決方案並根據其自設計 . '約束存放庫215操取之設計約束來檢驗該等㈣取之解決 . 方案中之母者直至發現不造成任何新的設計規則違反之 *又计解決方案為止。設計修改器25〇隨後選擇此解決方 案並藉由將該選定解決方案應用於自設計佈局存放庫2〇5 擷取之設計佈局來修改該佈局。設計修改器25〇將該經修 改佈局重新存放於設計佈局存放庫2〇5中。 熟習此項技術者將認識到,處理程序3〇〇係用於接收一 標記、基於該標記來產生設計解決方案及基於一所產生設 什解決方案來改變該等形狀之操作之一概念性表示形式。 處理程序300之具體操作可不按所示及所述確切次序實 施。該等具體操作可不實施為一系列連續操作,且不同具 體操作可實施為不同實施例。而且,該處理程序可使用若 干子處理程序或作為一較大巨集處理程序之部分來實施。 .舉例來說’在某些實施例中’處理程序300係由正在一 或多個電腦上執行之一或多個設計軟體應用程式實施。特 疋而言,在305處接收一標記及在31〇處產生設計解決方案 可由在一個電腦上運行之一個設計軟體應用程式實施。且 基於一設計解決方案來改變該等形狀可由在相同或不同電 腦上運行之另一設計軟體應用程式實施。
在以下章節中闡述本發明之若干更詳細實施例。章節I 159846.doc •17· 201224817 闡述產生針對不同類型之設計規則違反之設計解決方案之 若干實例。接下來,章節II闡述一設計佈局中之一形狀之 座標之變換。接著,章節III闡述某些實施例之一電腦系統 之軟體架構,由該電腦系統實施之一處理程序及在某些實 施例中所使用之若干資料結構。最後,章節IV闡述實施本 發明之某些實施例之一電腦系統。 I·產生設計解決方案之實例 如上文所提及,存在諸多類型之設計規則。每一設計規 則對一設計佈局之段或形狀強加不同要求。當該等形狀未 滿足此等要求時’該等形狀被視為違反該等設計規則。某 些類型之設計規則違反包括一空間違反、一寬度違反、一 邊緣違反及一面積違反,現在要在以下子章節IA ID中闡 述所有這一切。 A·設計解決方案產生處理程序及空間違反 圖4概念性地圖解說明某些實施例實施以產生對一設計 佈局中之一設計規則違反之設計解決方案之一處理程序 4〇〇。在某些實施例中’處理程序4〇〇係由諸如上文參照圖 2所述之設計解決方案產生器220之一設計解決方案產生模 組實施。§亥處理程序在某些實施例中當該處理程序已接收 到指示一設計佈局之一層中之一組形狀違反一設計規則之 一標記時開始。將參照圖解說明產生對一空間違反之設計 解決方案之圖5、圖6及圖7來闡述處理程序400。 如所示’處理程序400自該所接收標記識別(在4〇5處)該 设计佈局之一組段或形狀未滿足之設計約束之類型。某些 159846.doc 201224817 類型之設計規則違反包括—空間違反、—寬度違反、一面 積違反及一邊緣違反。一空間違反係對要求經設計以在一 設計佈局中隔開之兩個形狀彼此分開某一距離之一設計規 則之一違反。一寬度違反係對要求一設計佈局中之一形狀 具有至少某一寬度之一設計規則之一違反。—面積違反係 對要求一形狀在該〗〇設計佈局中具有至少某一面積或大小 之一設計規則之一違反。一邊緣違反係對要求形成一向内 邊緣(或一向内拐角)之一組形狀沿著形成該向内拐角之該 等形狀之部分具有至少某一長度之一設計規則之一違反。 在該處理程序識別(在4〇5處)該組形狀所犯之設計規則 違反之類型之後,該處理程序識別(在410處)該標記在呈現 為一幾何形狀時之相關彡緣。豸標記之該等相μ邊緣係欲 用於識別該設計佈狀相關形狀及該等相關形狀之相關邊 緣之邊緣如上文所提及,一設計佈局之一層中之所有形 狀之所有邊緣皆彼此垂直或平行。在此等實施例中,該處 理程序識別該標記之正交於該設計佈局中之該等形狀之邊 緣之邊緣作為該標記之該等相關邊緣。該處理程序亦視需 要識別界定為可配合於該標記内之最大矩形之一提示框。 一提不框共用該標記之該等相關邊緣作為該提示框之某些 或所有邊緣。換句話說,該提示框之某些或所有邊緣與該 私圮之該等相關邊緣重合。在某些實施例中,代替或結合 使用該標記,該處理程序使用一提示框來識別該等相關形 狀及該等相關形狀之該等相關邊緣。 圖5圖解說明由一設計佈局5〇〇中之一組形狀所犯之一空 159846.doc 201224817 間違反之一實例。特定而言,該圖圖解說明分四個階段 501至504來識別相關形狀、該等相關形狀之相關邊緣及指 示空間違反之一標記505之相關邊緣。圖5圖解說明設計佈 局500之一標記505、三個形狀51〇至520及其他形狀。設計 佈局500可包括為了簡明起見而未圖解說明於圖5中之更多 標記及形狀。 在某些實施例中’標記505藉由具有如階段5〇1中所圖解 說明之兩個正交邊緣及兩個對角側邊緣指示形狀51〇之底 部邊緣與形狀5 1 5及520之頂部邊緣之間的距離短於一設計 約束所要求之一最小距離。如階段5〇2中所圖解說明,標 §己505之相關邊緣因其正交於設計佈局5Q0中之該等形狀之 邊緣而成為頂部邊緣525及底部邊緣530。階段5〇2中亦圖 解說明具有與標記505之頂部及底部邊緣之部分重合之頂 部及底部邊緣之一提示框535。 回到圖4,處理程序400識別(在415處)該設計佈局之任 何相關形狀及被識別為該等相關形狀之形狀之相關邊緣。 在某些實施例中,該等相關形狀係該設計佈局之鄰接該標 記之該等相關邊緣之形狀。換句話說,該等相關形狀係具 有共用該標§己之該等相關邊緣之至少一部分之某些邊緣之 形狀。另一選擇為,該等相關形狀係在該處理程序識別並 使用該提示框之情況下鄰接該提示框之形狀。該處理程序 識別該等相關形狀之鄰接該標記或該提示框之該等相關邊 緣之彼等邊緣作為該等相關形狀之該等相關邊緣。 在某些實_巾’㈣設計違反之-設計解決方案建議 159846.doc 201224817 使一或多個相關形狀之一或多個相關邊緣朝某些方向移動 某些距離。在某些實施例中,移動一相關形狀之一相關邊 緣需要(1)移動該相關形狀以便移動該相關邊緣、(2)藉由 使該相關邊緣朝向該相關形狀之中心移動來縮小該相關形 狀之大小、或(3)藉由使該相關邊緣朝離開該相關形狀之中 心的方向移動來擴大該相關形狀之大小。 如圖5之階段503中所圖解說明,形狀510、5 15及520因 其鄰接標記505之相關邊緣525及530而被識別為該等相關 形狀。階段504展示分別為形狀510、515及520之邊緣 540、545及5 50係該等相關邊緣。該等形狀及該標記之此 等相關邊緣在此圖中呈現為具有寬度及長度之細矩形條以 便使此等相關邊緣之鄰接在該圖中可見。然而,在某些實 施例中,此等相關邊緣係不具有寬度之線。 接下來,處理程序400計算(在420處)規則值與佈局值之 間的差。該設計規則之一規則值係由該設計規則所強加之 要求之值。舉例來說,對於一空間遑反,該規則值係要求 一設計佈局中之兩個形狀相隔之一最小距離。一寬度違反 之規則值係要求一設計佈局中之一形狀具有之一最小寬 度。對於一面積違反,該規則值係要求該設計佈局中之形 狀具有之最小面積。對於一邊緣違反,該規則值係在一設 計佈局中形成一向内拐角之一組形狀之邊緣之部分必須具 有之一最小長度。 在某些實施例中’一佈局值係違反一特定設計規則之一 組相關形狀之一特定幾何屬性之一值。舉例來說,對於一 159846.doc -21- 201224817 空間違反’該佈局值係由該組中之兩個相關形狀之間的距 離界定。對於一寬度違反,該佈局值係該設計佈局中之一 相關形狀之寬度。對於一面積違反,該佈局值係該設計佈 局中之一相關形狀之面積或大小。對於一邊緣違反,該佈 局值係形成由該設計佈局中之一組相關形狀形成之一向内 拐角之邊緣之長度。 處理程序400藉由從該規則值中減去該佈局值來計算出 所違反設計規則之規則值與違反該設計規則之相關形狀之 佈局值之間的差。 該處理程序隨後基於所計算出之該佈局值與該規則值之 間的差產生(在425處)若干設計解決方案,對於一空間違 反,當存在違反該設計規則之兩個相關邊緣時,隔開由該 佈局規則界定之一距離之該兩個相關形狀之該兩個相關邊 緣需要進一步彼此隔開以便滿足該兩個相關形狀違反之設 计規則。在某些實施例中,該處理程序產生三個解決方 案:(1)建議使該兩個相關邊緣中之一第一邊緣朝離開一第 一相關邊緣的方向移動由該所計算出之差界定之一距離之 解決方案、(2)建議使該第二相關邊緣朝離開該第一相關 邊緣的方向移動由該所計算出之差界定之一距離之一解決 方案、及(3)建議使第一相關邊緣及第二相關邊緣兩者朝離 開彼此的方向移動以使得在移動該兩個邊緣之後其之間的 總距離為至少由該規則值界定之-距離(例如,使第一邊 緣及第—邊緣各自朝離開彼此的方向移動所計算出之差的 一半)之一解決方案,下文將參照圖8至16來進一步闡述對 159846.doc
S -22· 201224817 其他類型之設計規則違反之解決方案。 熟習此項技術者將認識到,處理程序4〇〇係用於基於一 所接收標記來產生設計解決方案之操作之_概念性表示形 式。處理程序400之具體操作可不按所示及所述確切次序 實施。該等具體操作可不實施為_系列連續操作,且不同 具體操作可實施為不同實施例。而且,該處理程序可使用 若干子處理程序或作為一較大巨集處理程序之部分來實 施。 圖6圖解說明對由上文參照圖5所述之形狀5i〇、515及 520所犯之空間違反之三項實例性設計解決方案。圖6藉助 形狀510、515及520之相關邊緣525及53〇且藉助標記5〇5之 相關邊緣525及535來圖解說明該等設計解決方案。由相關 形狀5 10至520所犯之空間違反之規則值繪示為一雙向箭頭 6〇5。相關形狀510至520之佈局值繪示為一雙向箭頭61〇。 在此等實例中’該規則值係0.070個單位且該佈局值係 0.065個單位。該規則值與該佈局值之間的差為0.005個單 位’亦即’形狀510與形狀515及520之間的距離短於所要 求之最小距離0.005個單位。在某些實施例中,一「單 位j係一長度之一單位(例如,毫米、微米、奈米等等)。 如圖6中所示,對該空間違反之解決方案1建議使相關形 狀510之相關邊緣540向上(亦即,朝離開相關邊緣545及 550的方向)移動由該佈局值與該規則值之間的差界定之一 距離(在此實例中為0.005個單位)。解決方案2建議使相關 邊緣545及550向下(亦即’朝離開相關邊緣54〇的方向)移動 159846.doc -23· 201224817 ㈣佈局值與該規則值之間的差界定之一距離。解決方案 3建議使相關邊緣54〇向上移動由該佈局值與該規則值之間 的差界疋之一距離的一半(例如,〇 〇〇25個單位)並使相關 邊緣545及550向下移動另一半(例如,〇 〇〇25個單位)。因 此,該三個解決方案中之每一者在應用於該等形狀時致使 該等相關形狀滿足該等形狀違反之設計規則。 圖7圖解說明當圖6中所圖解說明之該三個設計解決方案 應用於設計佈局500中之該等形狀時佈局500之實例。與其 中藉助該等邊緣來圖解說明該等解決方案之圖6相反,圖7 藉助該等形狀來圖解說明將如何在該等解決方案應用於設 計佈局500時呈現設計佈局5〇〇。 如圖7中所示,在某些實施例中,解決方案1在應用於佈 局5 00時使形狀51〇向上(亦即,朝離開形狀515及52〇的方 向)移動由違規則值與該佈局值之間的差界定之一距離。 不同貫施例以不同的方式應用相同設計解決方案。舉例來 說,在某些實施例中,解決方案丨係藉由下述方式來加以 應用:藉由使該底部邊緣(亦即,相關邊緣54〇)向上移動由 該規則值與該佈局值之間的差界定之一距離而不移動形狀 5 10之該三個其他邊緣來縮小形狀51〇之大小。在此實例 中’使形狀510之該兩個側邊緣中之每一者縮短由該差界 定之長度。 解決方案2在應用於該等形狀時使形狀515及52〇向下(亦 即’朝離開形狀5 10的方向)移動由該差界定之一距離。解 決方案3在應用於該等形狀時使形狀51〇向上移動由該差的 159846.doc •24-
S 201224817 一半界定之一距離並使形狀515及520向下移動由該差的另 一半界定之一距離。不同實施例藉由使用該等相對邊緣移 動之距離之不同組合來以不同的方式應用解決方案3。舉 例來說’使形狀5 10向上移動由該規則值與該佈局值之間 的差的四分之一界定之一距離且使形狀515及52〇向下移動 由該差的四分之二界定之一距離。亦可具有移動該等相關 形狀之諸多其他組合,只要在移動該等形狀之後該等相關 形狀之間的距離為至少由該規則值界定之一距離。 B.寬度違反 圖8圖解說明由一設計佈局8〇〇中之一形狀81〇所犯之一 寬度違反之一實例。特定而言,圖8圖解說明分四個階段 801至804來識別一相關形狀、該相關形狀之相關邊緣及指 示寬度运反之一標記805之相關邊緣。圖8圖解說明佈局 800包括形狀810及其他形狀。為了簡便起見,圖8中未圖 解說明可能在設計佈局800上之額外形狀及標記。 如階段801中所示’在某些實施例中,標記8〇5藉由具有 兩個正交邊緣及兩個對角側邊緣來指示形狀81 〇之寬度(例 如’形狀810之頂部與底部邊緣之間的距離)短於一設計約 束所要求之一最小寬度。 在階段802中’識別標記805之相關邊緣。如上文所提 及,一設計佈局之一層中之所有形狀之所有邊緣皆彼此垂 直或平行。該標記之相關邊緣係正交於該設計佈局中之該 等形狀之邊緣之邊緣。因頂部及底部邊緣815及82〇正交於 佈局800之形狀之邊緣,故此等邊緣係標記8〇5之在某些實 159846.doc •25- 201224817 施例中用來識別一組相關形狀及該組相關形狀之相關邊緣 之相關邊緣。 在階段803中,識別佈局800之一相關形狀。如上文所提 及’在某些實施例中,相關形狀係鄰接該標記之相關邊緣 之形狀。形狀810因形狀810之頂部及底部邊緣鄰接標記 805之相關邊緣815及820而被識別為犯寬度違反之相關形 狀。該相關形狀係將在對寬度違反之一解決方案應用於佈 局800時改變之形狀。 在階段804中,識別所識別出相關形狀810之相關邊緣。 如上文所提及,在某些實施例中,該等相關形狀之相關邊 緣係該等相關形狀之鄰接指示設計規則違反之標記之相關 邊緣之邊緣。相關形狀810之頂部及底部邊緣825及830被 識別為將在對該寬度違反之一解決方案應用於形狀810時 移動之相關邊緣。 圖9圖解說明在某些實施例中對由參照圖8所述之形狀 81〇所犯之寬度違反之三項實例性設計解決方案。該圖藉 助形狀81〇(未展示於此圖中)之相關邊緣825及830來圖解說 明解決方案1至3。由相關形狀81 〇所犯之寬度違反之規則 值繪不為一雙向箭頭905。相關形狀810之佈局值繪示為一 雙向箭頭910。 如上文所提及’一寬度違反之規則值係要求一設計佈局 中之形狀具有之一最小寬度。一寬度違反之佈局值係該 設計佈局之一相關形狀(亦即,違反該設計規則之一形狀) 之寬度。如所示’相關形狀81〇(未展示於此圖中)之佈局值 159846.doc
S -26· 201224817 短於該規則值且因此應調整該相關邊緣之寬度以滿足所要 求之規則值。在此等實例中,該規則值係〇 〇7〇個單位且 該佈局值係0.065個單位。該規則值與該佈局值之間的差 為0.005個單位,亦即,形狀81〇之寬度比所要求之最小寬 度短0.005個單位。 如所示,解決方案1建議藉由使形狀81〇之上部邊緣825 向上朝離開底部邊緣83〇的方向移動由該規則值與該佈局 值之間的差界定之一長度(例如,〇.005個單位)來增大形狀 8 1〇之寬度。對該寬度違反之解決方案2建議使形狀81〇之 底部邊緣830向下(亦即’朝離開頂部邊緣825的方向)移動 由該差界定之一長度(在此實例中為0.005個單位)。解決方 案3建議使上部邊緣825向上移動由該差的一半(例如, 0.0025個單位)並使底部邊緣83〇移動由該差的另一半(例 如,0.025個單位)界定之一長度。類似於針對上文參照圖6 所述之空間違反之解決方案3,亦可具有用於移動該等相 關邊緣之距離之諸多其他組合,只要形狀8丨〇之經調整寬 度為至少由該規則值界定之最小寬度。舉例來說,一解決 方案可建議使上部邊緣825向上移動該差的五分之一(例 如’ 0.001個單位)並使底部邊緣83〇向下移動該差的五分之 四(例如,0.004個單位)。 圖10圖解說明在對由形狀810所犯之寬度違反之該三個 解決方案中之每一者應用於設計佈局8〇〇時該佈局之實 例。不同於對一空間違反之設計解決方案,在某些實施例 中,對一寬度違反之設計解決方案不需要使該等相關形狀 159846.doc •27· 201224817 移動某些距離》 如所示,解決方案1移動相關形狀810之上部邊緣以便使 形狀810之寬度增大至由該寬度違反之規則值界定之寬 度。因此,使形狀810之側邊緣延長與形狀810之寬度增大 之長度相同之長度《該形狀之大小亦相應地增大。 解決方案2在應用於佈局800時使該形狀之底部邊緣向下 移動由該規則值與該佈局值之間的差界定之一長度。解決 方案3使該上部邊緣向上移動並使該底部邊緣向下移動以 使得形狀810之寬度變成等於由該規則值界定之寬度。 C.面積違反 圖11圖解說明由一設計佈局1100中之一形狀1110所犯之 一面積違反之一實例。特定而言,圖11圖解說明分四個階 段1101至1104來識別一相關形狀、該相關形狀之相關邊緣 及指示面積違反之一標記1105之相關邊緣。圖11圖解說明 佈局1100包括形狀1110及其他形狀。為了簡便起見,圖U 中未展示可能在設計佈局800上之額外形狀及標記。 如階段1101中所示’標記1105之所有四個邊緣皆正交於 該佈局之形狀之邊緣且與形狀1110之邊緣重合。在某些實 施例中’此一標記指示形狀111 〇之面積或大小小於一設計 約束要求一設計佈局中之一形狀具有之一最小面積或大 小。儘管標記1105繪示為在階段1101中包封形狀111〇之一 空心矩形’但標記1105之邊緣與形狀111 〇之邊緣重合。換 句話說’標記1105及形狀1110具有相同之幾何形狀且該標 記及該形狀之頂點具有相同之座標。 159846.doc •28·
S 201224817 在階段1102中,識別標記1105之相關邊緣。如上文所提 及’ S亥標記之相關邊緣係正交於該設計佈局中之形狀之邊 緣之邊緣。因所有四個邊緣1115至1130皆正交於佈局1100 之形狀之邊緣’故其係標記1105之用於識別一組相關形狀 及該組相關形狀之相關邊緣之相關邊緣。 在階段11 03中,識別佈局11 〇〇之相關形狀。如上文所提 及’該等相關形狀係鄰接該標記之相關邊緣之形狀。形狀 liio因形狀liio之所有四個邊緣皆鄰接標記11〇5之相關邊 緣1115至113 0而被識別為犯面積違反之相關形狀。一相關 形狀係將在對面積違反之一解決方案應用於佈局11〇〇時改 變之形狀。 在階段1104中,識別所識別出相關形狀丨丨丨〇之相關邊 緣。如上文所提及,在某些實施例中,該等相關形狀之相 關邊緣係s玄專相關形狀之鄰接指示設計規則違反之標記之 相關邊緣之邊緣。相關形狀111 〇之所有四個邊緣113 5至 1150被識別為將在對該面積違反之一解決方案應用於形狀 1110時移動之相關邊緣。形狀11 i 0之相關邊緣與標記丨丨〇 5 之邊緣重合’儘管形狀111〇繪示為標記11〇5内之一空心矩 形以便使形狀1110之邊緣在該圖中可見。 圖12圖解說明對由上文參照圖u所述之形狀ni〇所犯之 面積違反之七項實例性設計解決方案。該圖藉助相關形狀 1110(未展示於此圖中)之相關邊緣U35至1150來圖解說明 解決方案1至7。 如下文所提及,一面積違反之規則值係要求一設計佈局 159846.doc -29- 201224817 中之一形狀具有之一最小面積或大小。一面積違反之佈局 值係該設計佈局之一相關形狀(亦即,違反該設計規則之 一形狀)之面積或大小。相關形狀1110(未展示於此圖中)之 佈局值小於該規則值且因此應調整該相關邊緣之面積以滿 足所要求之規則值。在此等實例中,該規則值係〇 027個 平方單位且該佈局值係0·0189個平方單位(其中長度為 0.270個單位且高度為〇 〇7〇個單位)。該規則值與該佈局值 之間的差為0.0081個平方單位,亦即,形狀mo之面積或 大小小於所要求之最小大小〇 〇〇81個平方單位。 如圖12中所示,解決方案1建議藉由使形狀111〇之上部 邊緣1135向上(亦即,朝離開底部邊緣U4〇的方向)移動某 一長度來使形狀1110之面積增大至由該規則值界定之面 積。在某些實施例令,此長度可藉由求解用於計算一矩形 之一面積之一代數方程來計算出。舉例來說,解決方案i 藉由將由該規則值與該佈局值之間的差界定之面積(例 如,0.0081個平方單位)除以上部邊緣1135之長度(亦即, 形狀1110之當前寬度,例如〇.27〇個單位)來計算出該長度 (例如,0.030個單位)。 解決方案2建議使形狀1110之底部邊緣114〇向下(亦即, 朝離開頂部邊緣1135的方向)移動解決方案i建議使上部邊 緣1135向上移動之相同長度(亦即,〇〇3〇個單位)。因此, 形狀1110之面積在將解決方案2應用於該形狀之後將為由 該規則值界定之面積。解決方案3建議使上部邊緣丨丨”向 上移動解決方案1建議使上部邊緣1135移動之長度的一半 159846.doc
S -30· 201224817 (例如,0.015個單位)並使底部邊緣114〇移動另一半(例 如,0.015個單位)。亦可具有用於移動上部及底部邊緣之 距離之諸多其他組合,只要侧邊緣丨丨45之經調整長度使形 狀1110之當前面積增大至等於由該規則值界定之面積之一 面積。 解決方案4建議藉由使形狀丨丨丨〇之左側邊緣丨145向左(亦 即.,朝離開右側邊緣1150的方向)移動某一長度來使形狀 1110之面積增大至由該規則值界定之面積。此長度亦可藉 由求解用於計算一矩形之一面積之一代數方程來計算出。 舉例來說,某些實施例藉由將由該規則值與該佈局值之間 的差界定之面積(例如,0·0081個平方單位)除以左側邊緣 Π45之當前長度(例如,〇〇7〇個單位)來計算出該長度(例 如,0.1155個單位)。 解決方案5建議使形狀1110之右側邊緣U5〇向右(亦即, 朝離開左側邊緣1145的方向)移動解決方案4建議使左側邊 緣1145向左移動之相同長度(例如,〇 1155個單位)。因 此,形狀mo之面積在將解決方案5應用於形狀111〇之後 將為由該規則值界定之面積。解決方案6建議使左侧邊緣 1145向左移動解決方案4建議使左側邊緣〗145向左移動之 長度的一半(例如,〇.〇575個單位)並使右側邊緣ιΐ5〇移動 該長度的另一半(例如,0.0575個單位卜亦可具有用於移 動左側及右侧邊緣之距離之諸多其他組合,只要上部邊緣 1135之經調整長度使形狀111〇之面積增大至等於由該規則 值界定之面積之一面積。 159846.doc 31 201224817 解決方案7建議使形狀Ul〇之所有四個邊緣至⑴〇 朝離開形狀111 〇之中心的方向移動以使得形狀⑴〇之面積 在應用解決方案7之後等於由該規則值界定之面積。亦可 具有用於移動該等邊緣之長度之諸多組合且此等長度可藉 由求解用於計算-矩形之—面積之—代數方程來計算出。 在某些實施例中,解決方案7具有兩個部分。解決方案7之 第部分建議使左側及右側邊緣1145及11 50中之每一者朝 離開形狀111 〇之中心的方向移動小於解決方案4建議使左 側邊緣1145移動之長度(例如,0.1155個單位)的一半(例 如,〇.0575個單位)之一長度(例如,0.030個單位)。使形狀 U10之所得面積增加藉由將當前高度(例如,〇 〇7〇個單位) 乘以使忒寬度增大之長度(例如,〇 〇6〇個單位)所計算出之 一面積(例如,0.0042個平方單位)。 解决方案7之第二部分則建議使上部邊緣丨丨3 5及底部邊 緣1140中之每一者朝離開形狀丨丨1〇之中心的方向移動以使 得形狀liio之最終面積增加由該規則值(例如,〇〇271個平 方單位)與該佈局值(例如,0.0189個平方單位)之間的差界 定之面積(例如,0.0081個平方單位)。因藉由應用該解決 方案之第一部分來增加形狀111〇之面積,故第二部分建議 使上部邊緣1135及底部邊緣114〇中之每一者朝離開形狀 1110之中心的方向移動藉由將剩餘面積(例如,0.0039個平 方單位)除以上部邊緣1135之經調整長度(亦即,0.330個單 位)(亦即,在應用該解決方案之第一部分之後形狀111〇之 經調整寬度’例如0.330個單位)所計算出之長度(例如,
S 159846.doc 201224817 〇.0118個單位)的一半(例如,〇〇〇59個單位)。 圖13圖解說明當對由形狀111〇所犯之面積違反之該七個 解決方案中之每一者應用於設計佈局11 00時該佈局之實 例。如同對一寬度違反之該等解決方案,在某些實施例 . 中,對一面積違反之該等解決方案不要求使該等相關形狀 . 移動某些距離。而是,對一面積違反之該等解決方案建議 藉由移動一組相關邊緣來擴大該相關形狀。 如所示,解決方案1使相關形狀1110之上部邊緣向上移 動如上文參照圖12所述之所計算出之長度以便使形狀111〇 之面積增大至由面積違反之規則值界定之一面積。解決方 案2使該形狀之底部邊緣向下移動解決方案1使該上部邊緣 向上移動之相同長度。解決方案3使該上部邊緣及該底部 邊緣兩者朝離開形狀1110之中心的方向移動。形狀111〇在 應用解決方案1、2或3之後具有相同尺寸但佔據該設計佈 局之該層中之不同位置。換句話說,該形狀在應用解決方 案1至3中之一者之後具有該設計佈局之該層中之不同座 標。 解決方案4使相關形狀111 〇之左側邊緣向左移動如上文 參照圖12所述之所計算出之長度。解決方案5使相關形狀 1110之右側邊緣向右移動解決方案4使該左側邊緣移動之 相同長度。解決方案6使該左侧邊緣及該右側邊緣兩者朝 離開形狀1110之中心的方向移動。形狀1110在應用解決方 案4、5或6之後具有相同尺寸但佔據該設計佈局之該層之 不同位置。解決方案7使形狀1110之所有四個邊緣朝離開 I59846.doc -33- 201224817 該形狀之中心的方向移動如上文參照圖12所述之某些所計 算出之距離》 D·邊緣違反 圖Μ圖解說明由一設計佈局14〇〇中之形狀141〇及1415所 犯之一邊緣違反之一實例。特定而言,圖14圖解說明在某 些實施例中分四個階段丨4〇丨至丨4〇4來識別相關形狀、該等 相關形狀之相關邊緣及指示邊緣違反之一標記14〇5之相關 邊緣。圖14圖解說明佈局14〇〇包括形狀141〇及1415以及另 一形狀。為了簡便起見,圖14中未圖解說明可能在設計佈 局1400上之額外形狀及標記。 如階段1401中所示,標記14〇5佔據由形狀1410及1415形 成之一向内拐角。在某些實施例中,此一標記指示形成該 向内拐角之邊緣之部分之總長度小於一設計約束要求一設 計佈局中之一向内拐角沿著該拐角之該等邊緣具有之一長 度。 在階段1402中,識別標記1405之相關邊緣。如上文所提 及,一設計佈局之一層中之所有形狀之所有邊緣皆彼此垂 直或平行。在某些實施例中,該標記之相關邊緣係正交於 該設計佈局中之該等形狀之邊緣之邊緣。因所有四個邊緣 1420至1435皆正交於佈局1400之形狀之邊緣,故其係標記 1405之用於識別一組相關形狀及該組形狀之相關邊緣之相 關邊緣。 在階段1403中,識別佈局1400之相關形狀。如上文所提 及,該等相關形狀係鄰接該標記之相關邊緣之形狀。形狀 159846.doc • 34· 201224817 1410及1415因形狀1410之底部邊緣及形狀1415之左側邊緣 之部分分別鄰接標記1405之相關邊緣1420及1435而被識別 為犯邊緣違反之相關形狀。相關形狀係將在對該邊緣違反 之一解決方案應用於佈局1400時改變之形狀。 在階段1404中,識別所識別出相關形狀1410及1415之相 關邊緣。如上文所述,該等相關形狀之相關邊緣係該等相 關形狀之鄰接指示設計規則違反之標記之相關邊緣之邊 緣。形狀1410之左側邊緣1440因左側邊緣1440鄰接標記 1405之左側邊緣1430(亦即,因為形狀1410之左側邊緣 1440之底端與標記1405之左側邊緣1430之頂端重疊)而被 識別為一相關邊緣。形狀1410之底部邊緣1445及形狀1415 之左側邊緣1450亦因底部邊緣1445及左側邊緣1450分別鄰 接標記1405之頂部邊緣1420及右側邊緣1435而被識別為相 關邊緣。形狀1415之底部邊緣1455因其鄰接標記1405之底 部邊緣1425而被識別為一相關邊緣。 圖15圖解說明對由上文參照圖14所述之形狀141〇及1415 所犯之邊緣違反之六項實例性設計解決方案。圖丨5藉助相 關形狀1410及1415(未展示於此圖中)之相關邊緣144〇至 1455來圖解說明解決方案1至6。 如上文所提及,在某些實施例中,一邊緣違反之規則值 係形成一設計佈局中之一向内拐角之一組形狀之邊緣之最 小長度。一邊緣違反之佈局值係形成該拐角之該組形狀之 邊緣之部分之長度。當該佈局值小於該規則值時,在某些 實施例中,用以糾正一邊緣違反之設計解決方案建議移動 159846.doc •35· 201224817 該等相關邊緣以便除去由該等相關形狀形成之向内拐角 (亦即’以便該等相關形狀不再形成彼向内拐角)。 舉例來說,解決方案1建議使形狀1410之左側邊緣1440 向右移動標記1405之上部邊緣1420之長度。當解決方案1 應用於佈局1400時,左側邊緣1440將與形狀1415之左側邊 緣1450部分重合且由此去除由形狀141〇之底部邊緣1445及 形狀1415之左側邊緣1450形成之向内拐角。 解決方案2建議使形狀1410之底部邊緣1445向下移動標 記1405之左側邊緣1430之長度(亦即,該向内拐角之垂直 長度)以使得底部邊緣1445與形狀141 5之底部邊緣1455重 合。解決方案3建議使形狀141 5之左側邊緣1450向左移動 標記1420之上部邊緣1420之長度以使得形狀1415之左側邊 緣1450與形狀1410之左側邊緣1440重合。解決方案4建議 使形狀1415之底部邊緣1455向上移動標記1405之左側邊緣 1430之長度以使得形狀1415之左側邊緣1455與形狀1410之 底部邊緣1445重合。因此,對該邊緣違反之解決方案1至4 建議移動該等相關邊緣中之一者以便除去由相關形狀1410 及1415形成之向内拐角。 解決方案5建議使形狀1410之左側邊緣1440向右(亦即, 朝向形狀1415之左側邊緣1450)移動並使形狀1415之左側 邊緣1450向左(亦即’朝向形狀1410之左侧邊緣1440)移動 以使得該兩個邊緣相互交匯且重合。可具有用於移動該兩 個邊緣之距離之諸多組合。舉例來說,使形狀1410之左側 邊緣1440向右移動標記1405之上部邊緣1420之長度的一半 159846.doc •36· 201224817 (亦即,該向内拐角之寬度的一半)且使形狀丨4丨5之左側邊 緣1450向左移動上部邊緣1420之長度的一半。 解決方案6建議使形狀1410之底部邊緣1445向下移動並 使形狀1415之底部邊緣14 5 5向上移動以使得該兩個邊緣相 互交匯且重合。如同解決方案5,亦可具有用於移動該兩 個底部邊緣之距離之諸多組合。舉例來說,使形狀丨4丨〇之 底部邊緣1445向下移動標記1405之左側邊緣143〇之長度的 一半(亦即,該向内拐角之長度的一半)且使形狀1415之底 部邊緣1455向上移動左側邊緣143〇之長度的一半。因此, 對該邊緣達反之解決方案5至6建議使一對該等相關邊緣彼 此相向移動以除去由該等相關形狀形成之向内拐角。 圖16圖解說明當對由形狀1410及141 5所犯之邊緣違反之 該六個解決方案中之每一者應用於設計佈局14〇〇時該佈局 之實例。> 同對-寬度違反之該等解決方案,肖一邊緣違 反之某些解決方案不需要使該等相關形狀移動某些距離。 而疋’某些此等解決方案建議藉由移動該等相關邊緣來擴 大或縮小該等相關形狀之大小。 上如所示,解決方案i使形狀141〇之左側邊緣向右移動標 記1405之上部邊緣之長度而不移動形狀1410本身(亦即, 不移動形狀141G之任何其他邊緣)。因此,由形狀141〇及 1415形成之向内拐角自佈局1400除去,但形狀141〇之大小 縮小。雖然可藉由以這樣―财式來應㈣決方案^以使 形狀H1G隨著該形狀之左側邊緣向左移動而移動來除去該 向内扣角,但某些實施例不移動形狀141〇本身而僅僅縮小 159846.doc -37- 201224817 該形狀之大小以便不致使該形狀接觸或太接近於另一形 狀。 解決方案2使形狀1410之底部邊緣向下移動以除去該向 内拐角而不移動形狀1410之任何其他邊緣。形狀141〇因移 動形狀1410之底部邊緣而擴大。解決方案3使形狀〗415之 左側邊緣向左移動並擴大形狀1415之大小而不是使該形狀 向左移動以便不與該設計佈局中之另一形狀分開1415。解 決方案4使形狀1415之底部邊緣向上移動以除去該向内拐 角。形狀141 5因使該底部邊緣向上移動而縮小。 解決方案5使形狀1410之左側邊緣向右移動並使形狀 14 15之左側邊緣向左移動以使得該向内拐角自佈局14〇〇除 去。形狀1410之大小縮小且形狀1415因應用解決方案$而 不移動該等相關形狀本身而擴大。同樣地,解決方案6使 形狀1410之底部邊緣向下移動並使形狀1415之底部邊緣向 上移動以便除去該向内拐角。形狀141〇擴大而形狀1415之 大小縮小。 章節I中已闡述產生糾正設計規則違反之設計解決方案 之若干實例。章節Π現在要闡述在產生對由某些形狀所犯 之一設計規則違反之設計解決方案之前變換該等形狀之座 標。 π·變換座標 對於本發明之某些實施例,具有層及形狀之設計佈局以 資料形式儲存於諸如設計佈局存放庫205之一存放庫中。 在某些實施例中,該等設計佈局及其層及形狀之此等資料 159846.doc
S •38· 201224817 由一 S免計軟體應用程式分析且被轉換成可由諸如設計解決 方案產生器220之軟體應用程式操縱之軟體對象。在某些 實施例中,此等軟體對象可自一個設計佈局帶入至另—設 計佈局中。因此,當正使用該軟體應用程式之一設計工程 師創建一新的設計佈局時,該應用程式允許該設計工程師 帶進針對另一設計佈局創建且存在於另一設計佈局中之形 狀並再利用該新創建設計佈局中之該等形狀。 在某些實施例中’表示一設計佈局中之形狀及層之軟體 對象形成該設計佈局中之一階層式結構。舉例來說,在表 示該設計佈局之-軟體對象了,存I表示設計佈局中之層 之若干軟體對象。在該等層中之每—者下,在某些實施例 中,存在表示組織成該層Μ之若干層級之形&之軟體對 象。當針對該設計佈局之一層倉j建形㈣,纟#該等形狀 之軟體對象被置於表示該層之軟體對象下之頂層中。當形 狀自-個設計佈局帶人至另-設計佈局㈣,表示該:形 狀之軟體對象最力被置於該階層中之頂層之下的一層中。 在某些情形中,當該等形狀剛好自第二佈局帶入至第一 設計佈局中時’該等形狀將具有其在第二設計佈局中呈有 之屬性。舉例來說’該等形狀在該等形狀最初帶入第一設 計佈局時具有其相對於第二佈局中之座標之原點之座標。 然而’當該等形狀被放置之位置具有相對於第—佈局中之 座標之原點之不同座標時,必須變換該等形狀之座標以使 得經變換座標之值正確絲示相對於第—設計佈局之原點 之位置。在某些實施例中,一曰 159846.doc -39· 201224817 (例如,座;^)變換成第一設計佈局之屬性,則表示該等形 狀之軟體對象移至該階層中之該層之頂層。 在產生對一第一設計佈局之一層中之一設計違反之設計 解決方案之前,帶入至第一設計佈局中之形狀之屬性自第 一设计佈局之屬性變換至第一設計佈局之屬性。圖丨7圖解 說明變換一設計佈局1700中之一形狀之座標之一實例。特 定而言,圖17圖解說明分三個階段17〇6至17〇8來變換自一 設計佈局1701之一層帶入至一設計佈局17〇2之一層中之形 狀1705之座標。圖17圖解說明繪示為具有一粗邊框之一矩 形之形狀1705 »設計佈局1701及1702之座標之原點係繪示 為包括形狀1705之矩形之佈局之左下角(分別為171〇及 1715) 〇 在階段1706,形狀1705存在於設計佈局1701之一層中。 如所示,在此實例中’形狀1705之左下角之座標為(2, 1)。 在階段1707 ’形狀1705帶入至設計佈局1702中且最初具 有表示該拐角相對於設計饰局1 7 01之座標之原點之位置之 座標(2,1)。然而’因形狀175相對於設計佈局1702之座標 之原點之位置不同’故座標(2,1)未正確地表示設計佈局 1702中之形狀1705之左下角之位置。在此階段,表示形狀 1705之一軟體對象位於由表示設計佈局1702中之形狀及層 之軟體對象形成之一階層式結構之頂層之下的一層中。 在階段1708,變換該拐角之座標以正確地表示該拐角相 對於設計佈局1702之座標之原點之位置。在此階段,表示
159846.doc -40- S 201224817 形狀175之軟體對象此刻上移至該階層式結構之頂層且因 此可用於產生對設計佈局17〇2中之一設計違反之設計解決 方案。 在某些情形中,一第二設計佈局之一層中之所有形狀共 同帶入至一第一設計佈局中。在此等情形中,使用適當之 數學公式來變換該等形狀之座標。舉例來說,當第一設計 佈局及第二設計佈局之座標軸之定向相同但表示第二設計 佈局之座標之原.點之位置不冑第一設計佈局之座標之原點 之位置重合時,用以變換該等形狀之座標之公式為:
Xnew-X〇ffset + X0丨d ;及 Ynew = Y〇ffset +Y〇id J 其中(xnew Ynew)係第一設計佈局中之一形狀之經變換座標 且(X〇ld, Yold)係第二設計佈局中之該形狀之座標。“及 Y〇ffset係基於第二佈局之原點相對於第一設計佈局之原點 之位置計算出之偏移。使用此等公式,可變換形狀1705之 座標。在此實施例中,用於變換形狀17〇5之左下角之座標 之偏移為(+2, +2),因為若將設計佈局17〇1之整個層帶入 至設計佈局17〇2中則設計佈局17G1之座標之原點將位於設 計佈局衝中具有座標(2, 2)之—位置處。當設計佈局 1701之形狀17G5之座標為(2,丨)時,經變換座標為(彳,3), 如階段1708中所示。 ’ 在某些實施例中,針對不同變換情形使用不同公式。舉 例來說’當第二設計佈局之座標轴之定向相對於第一設計 佈局之座標軸逆時針旋轉9G度且第—設計佈局及第二 I59846.doc 201224817 佈局之座標之原點之位置不重合時,欲用於變換該等座標 之公式為:
Xnew==X〇ffset-Y〇id i Bl Ynew = Y〇ffset + X〇ld。 使用此等公式,形狀17〇5之左下角之經變換座標為(2_1 = 1, 2+2=4)。 ΐ第一設計佈局之座標軸之定向相對於第一設計佈局之 座標軸逆時針旋轉180度且第一設計佈局及第二設計佈局 之座標之原點之位置不重合時:
Xnew==X〇ffset_X〇id ;及 Ynew = Y〇ffset-Y〇ld。 使用此等公式,形狀17〇5之左下角之經變換座標為(2_2 = 〇, 2-1=1)〇 當第二設計佈局之座標轴之定向相對於第一設計佈局之 座標軸逆時針旋轉270度且第一設計佈局及第二設計佈局 之座標之原點之位置不重合時:
Xnew = Xoffset + Y〇丨d ;及
Ynew^Yoffset-XoM。 使用此等公式,形狀17〇5之左下角之經變換座標為 (2+1=3, 2-2 = 0)。 當第二設計佈局之座標軸之定向在χ軸上翻轉且第一設 汁佈局及第二設計佈局之座標之原點之位置不重合時欲 用於變換該等座標之公式為:
Xnew=X0ffset+X0ld ;及 159846.doc -42- 201224817
Ynew_Y〇ffset_Y〇ld。 使用此等公式’形狀1705之左下角之經變換座標為 (2+2=4, 2-1 = 1) ° 當第二設計佈局之座標軸之定向在y轴上翻轉且第一設 計佈局及第二設計佈局之座標之原點之位置不重合時,欲 用於變換該等座標之公式為:
Xnew=X0ffsefXold ;及
Ynew=Y〇ffset+Y〇ld。 使用此等公式,形狀1705之左下角之經變換座標為(2_2=〇, 2+1=3)。 上文針對某些實施例所述之座標及公式係基於笛卡兒座 標系統。然而,熟習此項技術者將認識到,亦可在其他實 施例中使用其他座標系統(例如,極座標系統)。 ΠΙ.使用設計解決方案 某些實施例從針對-設計佈局中之—設計違反所產生之 若干設特決㈣巾_ —設計解決Μ並基㈣選定設 ^決變該設計佈局。不同實施例以不同的方式 依序解決方案之—選擇°舉例來說,某些實施例 依序檢驗料職生設計解 決方案在應用該解決方案時是否=之二者以判定該解 反並選擇不對該設計佈巧…成任何新的設計規則違 一解決方宰成任何新的設計規則違反之第 鮮决方案。在某些情形中, 生設計解決方案巾之每 sx計違反之該等所產 違反。在此等情形中,多個新的設計規則 某些貫施例選擇此等設計解決方案 I59846.doc -43· 201224817 中之一者,將該選定解決方案應用於該組形狀,並產生對 應於由該選定設計解決方案所造成之新的設計規則違反之 一組標記。某些此類實施例選擇造成最小數目個新的設計 違反之一設計解決方案。 A.軟體模組 在某些實施例中,上文所述之處理程序實施為在諸如一 電腦、具有電子組件之一裝置等等之一特定機器上運行之 軟體。圖1 8概念性地圓解說明在某些實施例中之若干軟體 模組之實例性架構。特定而言,圖丨8圖解說明此等模組產 生對一設計佈局中之一設計規則違反之設計解決方案,選 擇一設计解決方案,並將該選定解決方案應用於該設計佈 局。圖18圖解說明上文參照圖2所述之設計佈局存放庫 205、標記存放庫21〇、設計約束存放庫215、設計解決方 案產生器220及设計解決方案存放庫245。圖18亦圖解說明 一設計最佳化器1805,該設計最佳化器包括一設計解決方 案分析器1810、一標記產生器1815及一佈局修改器182〇。 在某些實施例中,某些此等模組係獨立軟體應用程式。 在其他實施例中,某些此等模組係一軟體應用程式之部 分。舉例來說,在某些實施例中,設計解決方案產生器 220及設計最佳化器丨8〇5中之每一者係單獨軟體應用程式 之部分。在其他實施例中,設計解決方案產生器22〇及設 計最佳化器1805係產生並使用設計解決方案之一單個軟體 應用程式之部分。而且’在某些其他實施例中,設計解決 方案產生器220及設計修改器1805内之該等模組中之僅某 159846.doc 201224817 些模組係一軟體應用程式之部分。 在某些實施例中,設計最佳化器1 805係一模組,該模組 接收對由一設計佈局中之一組形狀所犯之一設計規則違反 之設計解決方案,選擇一設計解決方案來使用,並基於該 選定設計解決方案來改變該設計佈局。在某些情形中,該 設計最佳化器選擇在應用於該佈局時在該佈局中造成新的 设汁違反之一設計解決方案。在某些實施例中,設計最佳 化器1 805針對該等新的設計違反產生標記並將其存放於標 記存放庫210中。 在某些實施例中,設計最佳化器18〇5之設計解決方案分 析器1 81 0從自其設計解決方案存放庫245擷取或接收之若 干設計解決方案中選擇一設計解決方案。設計解決方案分 析器1810將該選定設計解決方案發送至佈局修改模組182〇 以供修改器182〇根據該選定設計解決方案來改變該佈局。 在某些情形中,設計解決方案分析器181〇識別由該等選定 設計解決方案所造成之新的設計規則違反。設計解決方案 分析器181G將關於該等新的設計規則違反之資訊發送至標
記產生器1815以供產生器1815針對該等新的違反產生: 記。 T 為了選擇-設計解決方案,在某些實施例中,設計解決 方案分析器181G藉由將該等㈣取設計解決方案依序應用 於包括違反該設計規狀該組形狀之料佈局來檢驗該等 所擷取設計解決方案。設計解決 决方案分析器1810自設計佈 局存放庫205擷取該設計佈局。每一 %田°又6十解決方案應用 159846.doc •45- 201224817 於該所摘取設計佈局時,設計解決方案分析器181()根據其 自設計約束存放庫215擷取之設計規則來驗證該設計佈局 並識別由該所應用設計解決方案所造成之任何新的設計規 則違反。 當在應用一設計解決方案時該設計佈局中未識別出任何 新的U又4違反時,在某些實施例巾,設計解決方案分析器 1810選擇彼解決方案並將其發送至佈局修改器。 在某些此類實施例中,一旦選擇一設計解決方案,則設計 解決方案分析器181〇不檢驗該等設計解決方案中之其餘方 案另選擇為,代替選擇不造成任何新的設計規則違反 之第一設計解決方案,在某些實施例中,設計解決方案分 析器1810首先識別不造成任何新的設計違反之所有設計解 決方案並基於某些準則選擇此等設計解決方案中之一者來 發送至佈局修改H182G。舉例來說,設計解決方案分析器 1810選擇要求改變最小數目個形狀之—設計解決方案。作 為另一實例,設計解決方案分析器181〇選擇不要求改變表 示該設計佈局中之-IC組件(例如,_通孔)之—特定類型 之一形狀之一設計解決方案。 在某些情形中,當針對該設計違反所產生之所有設計解 決方案皆造成新的設計違反時,設計解決方案181()基於某 些準則選擇彼等設計解決方案中之一者。舉例來說,設計 解決方案分析器1810選擇造成最小數目個新的設計違反之 一設計解決方案。設計解決方案分析器181〇亦可使用其用 來從不造成新的設計違反之設計解決方案《巾選擇一設計 159846.doc -46·
S 201224817 解決方案之相同準則。 在某些實施例中,標記產生器丨8丨5基於其自設計解決方 案分析器1810接收之關於設計違反之資訊產生標記。此資 訊包括所違反設計規則之標識、包括違反該設計規則之該 組形狀之設計佈局之標識、該佈局之在其上違反該規則之 該層之標識及該設計佈局上之該組形狀中之該等形狀之位 置資訊(例如,座標)等等。標記產生器1815將該等所產生 標記存放於標記存放庫21〇中。 在某些實施例中,佈局修改器22〇使用其自設計解決方 2分析181〇接收之一設計解決方案來改變含有一設計規則 延反之設計佈局。佈局修改器22〇根據該所接收設計解決 方案來修改該設計佈局並將該經修改佈局存放於設計佈局 存放庫205中。 在此實例中,設計解決方案分析器181〇經由設計解決方 案存放庫245接收或擷取由設計解決方案產生器22()所產生 之一組設計解決方案。設計解決方案產生器22〇檢驗該組 中之該等設計解財案巾之每-者關㈣設計解決方案 是否因將該料方㈣詩該設計佈局而在純計佈局中 造成任何新的設計違反。設計解決方案分析器i8ig隨後選 擇不造成任何新的輯収之第—設計解決方案並將其發 送至佈局修改器182〇。該佈局修改器根據該選定設計解決 方案來改變該設計佈局並該經改變佈局存放於設計佈局存 放庫205中。 當所有設計解決方案皆造成新的料違反時,設計解決 159846.doc 201224817 方案分析器1810選擇建議改變最小數目個該等形狀之一設 計解決方案。設計解決方案分析器181〇隨後將關於該等新 的設計違反之資訊發送至標記產生器1815。在接收到該資 訊之後,標記產生器181 5針對該等新的設計規則違反中之 每一者產生一標記並將該等標記存放於標記存放庫21〇 中11又什解決方案分析器1810亦將該選定設計解決方案發 送至佈局修改器1 82〇。佈局修改器丨82〇根據該選定設計解 決方案來改變該設計佈局並將該經改變佈局存放於設計佈 局存放庫205中。 B·用以產生並使用設計解決方案之處理程序 圖19概念性地圖解說明某些實施例之產生對一設計佈局 中之一設計規則違反之設計解決方案並使用該等設計解決 方案來糾正該設計佈局中之該設計規則違反之一處理程序 1900。在某些實施例中,該處理程序係由包括設計解決方 案產生器220及設計最佳化器18〇5之一軟體應用程式實施 或者係由在其上執行設計解決方案產生器220及設計最佳 化器1805之一系統實施。處理程序19係在一使用者執行該 軟體程式或運行該系統以便修改含有一設計規則違反之一 設計佈局時實施。 如所示’處理程序1900擷取或接收(在19〇5處)指示該設 計佈局中之一組形狀違反一設計規則之一標記。如上所 述,在某些實施例中,一標記包括指示一設計佈局中之一 組形狀未遵守一設計約束(亦即,違反一設計規則)之資 料。上文參照圖2詳細闡述一標記。該處理程序自諸如上 159846.doc
S -48· 201224817 文參照圖2所述之標記存放庫21〇之一存放庫擷取或接收該 標記。 接下來,該處理程序基於該所接收標記來產生(在191〇 處)若干設計解決方案。上文參照圖4闡述處理程序19〇〇實 施以產生設計解決方案之一實例性組操作。在某些實施例 中,該處理程序將該等所產生設計解決方案存放於諸如上 文參照2所述之設計解決方案存放庫245之一存放庫中。 處理程序1900隨後選擇(在1915處)該等所產生設計解決 方案中之下一設計解決方案。該處理程序擷取該存放庫中 之該設計解決方案及含有該設計違反之該設計佈局。在某 些實施例中,該處理程序根據該設計解決方案來改變該設 計佈局而不認可對該設計佈局所做之改變(亦即,不將該 設計佈局保存為已改變或不將該經改變佈局存放至諸如上 文參照圖18所述之設計佈局存放庫2〇5之一存放庫中)。 基於該經改變設計佈局,該處理程序判定(在咖處)該 設計解決方案Μ在該設計佈局巾造成任何新的設計違 反。為了判定,該處理程序摘取設計規則並根據該等所操 取設計規則來驗證該經改變設計佈局。當該處理程序判定 (在1920處)該設計解決方案在該設計佈局中造成—或多個 新的設計違反時,該處理程序進行至下文將進—步 1925。 在處理程序1900判定(在192〇處)該設計解決方案未在該 設計佈局中造成任何新的設計違反之後,該處理程序基於 該設計解決方案來修改(在1935處)該設計佈局。在某^實 159846.doc •49· 201224817 施例中,該處理程序藉由認可對該設計佈局所做的改變來 修改該設計佈局。該處理程序隨後結束。 當處理程序1900判定(在192〇處)該設計解決方案在該設 計佈局中造成-或多個新的設計違反時,該處理程序判定 T 1925處)是否有任何所產生設計解決方案剩下待驗證。 S有更多設計解決方案剩下時,該處理程序循環經過操作 1915及1920以便繼續檢驗剩餘的設計解決方案。 否則,該處理程序從所有所產生設計解決方案中選擇 (在1930處)叹计解決方案並針對由該選定設計解決方案 所造成之新的設計違反產生新的標記^處理程序丨刪在不 同實施例中以不同的方式選擇一設計解決方案。舉例來 5 I處理程序選擇造成最小數目個新的設計違反之一設 °十解決方案。作為另—實例,在某些實施例中,該處理程 序選擇要求最小數目個形狀改變之-設計解決方f。作為 第一實例,在某些實施例中,該處理程序選擇不要求改 變表示該設計佈局中之一IC組件(例如,一通孔)之一特定 類型之—形狀之-設計解決方案。在m施财,處理 程序ι_儲存所產生(在1925處)之標記儲存於諸如上文參 照圖2及圖18所述之標記存放庫210之一存放庫中。 另一選擇為或視需要,當處理程序19〇〇判定(在1925處) 不再有所產生設計解決方案剩下時,在某些實施例中,該 處理程序讓使用者來決定是否使用該等所產生設計解決方 案中之任一者以及使用該等所產生解決方案中之哪一者。 在某些此類實施例中,該處理程序通知使用者(例如,經 159846.doc 201224817 由一彈出訊息或一訊息日誌)針對該設計違反之所有所產 生没§十解決方案皆造成新的設計規則違反且結束。 在處理程序1900基於該選定設計解決方案來修改(在 1930處)該設計佈局並針對由該選定設計解決方案所造成 之新的設計規則違反產生標記之後,該處理程序進行至 1905以擷取一標記。 熟習此項技術者將認識到,處理程序19〇〇係用於接收一 才示§己、基於該標記來產生設計解決方案、選擇一設計解決 方案並應用該選定設計解決方案來糾正一設計違反之操作 之一概念性表示形式。處理程序19〇〇之具體操作可不按所 不及所述確切次序實施。該等具體操作可不實施為一系列 連續操作,且不同具體操作可實施為不同實施例。而且, 該處理程序可使用若干子處理程序或作為一較大巨集處理 程序之部分來實施。 舉例來說,在某些實施例中,處理程序19〇〇係由正在一 或多個電腦上執行之一或多個設計軟體應用程式實施。特 定而言,在1905處接收一標記及在191〇處產生設計解決方 案可由在一個電腦上運行之一個設計軟體應用程式實施, 且在1915、1920及1925處選擇一設計解決方案及在1935及 1930處修改設計解決方案可由在相同或不同電腦上運行之 另一設計軟體應用程式實施。 C·資料結構 圖20圖解說明由本發明之某些實施例所使用之標記、設 計解決方案、設計約束及設計佈局之實例性資料結構。 159846.doc 201224817 如所不,在某些實施例中,一標記之一資料結構2〇〇5包 括對所違反之一設計規則之一參考2006、對其中違反該設 。十規則之設計佈局之-參考2〇〇7、該設計佈局之在其上違 反該叹计規則之該層之一標識及該標記之座標。在某些實 施例中,一標記之資料結構2〇〇5包括一設計規則之資料結 構2010,而不是具有對一設計佈局之資料結構之一參 考0 > —— 在某些實施例巾設計規則之資料結構2〇1〇包括 則類型(例如’一最小空間規則、一最小寬度規則 小面積規則、-最小邊緣規則等等)及對應於該規則類^ 之—規則值(例如,兩個形狀之間的一最小距離、一形狀 之最小寬度、一形狀之一最小大小、形成一向内拐角之 邊緣之一最小長度等等)。 在某二實施例中’-設計解決方案之__資料結構】5包 括對其中包括關於該解決方案可糾正之設計規則違反之資 訊之標記之一參考2016。資料結構2〇15亦包括需要改變 (例如移動、縮小、擴大等等)之相關形狀及其針對該形 狀之每-邊緣之新的經改變座標之—清單。在某些實施例 中’―設計解決方案之資料結構2〇15包括該標記,而不是 具有對資料結構2005之一參考。 在某二實施例中’一设計佈局之一資料結構2〇2〇包括位 ㈣設計佈局中之層之—清單。該清單中之該等層中之每 -者包括關於該層之座標系統及若干組座標之一清單之資 訊。在某些實施例中’第—組座標係該層上之一段或形狀 159846.doc
S -52· 201224817 之頂點之一組座標。 VI.電臈系統 諸多上述處理科及模為崎於-非暫時 ==讀::存媒體(亦稱作「電腦可讀媒體」或「機器 可s賣媒體」)上之一 4且如人+私Μ占 ,,且扣令之軟體處理程序。此等指令俜 由一或多個計算元件執行, 寻扣7係 钒仃堵如一或多個處理器之一或多 個處理單元或其他計算元件,如專用積體電路(「臟 及現場可程式化閘陣列(「FpGA」)。執行此等指令致使該 組計算元件實施該等指令中所指示之動作。電腦意味具有 其最廣泛意義,且可包括具有—處理器之任何電子裝置。 非暫時性電腦可讀媒體$眘彳丨4 铞體之實例包括但不限於光碟唯讀記憶 體(「CD-ROM」)、快閃磁碟機、隨機存取記憶體 (「RAM」)晶片、硬磁碟機、可抹除可程式化唯讀記憶體 (「EPROM」)等等。該等電腦可讀媒體不包括無線或藉由 有線連接傳遞之載波及/或電子信號。 在本說明書巾’術語「軟體」包括可讀取至記憶體中供 一或多個處理器處理之駐存於唯讀記憶體中之韌體及儲存 於磁性儲存器中之應用程式。此外,在某些實施例中,多 個軟體創作可實施為一較大程式之部分同時保持截然不同 的軟體創作《在某些實施例中,多個軟體創作亦可實施為 單獨的程式。最後,共同實施本文中所述之一軟體創作之 單獨程式之任何組合皆歸屬於本發明之範疇。在某些實施 例中,s亥#軟體程式在經安裝以操作一或多個電腦系統時 界定執行並實施該等軟體程式之該等操作之一或多個具體 159846.doc -53· 201224817 機器實施方案。 圖21概念性地圖解說明用來實施本發明之某些實施例之 一電腦系統2100 ^此一電腦系統包括各種類型之非暫時性 電腦可讀媒體及各種其他類型之非暫時性電腦可讀媒體之 介面。電腦系統2100包括一匯流排211〇、至少一個處理單 元(例如,一處理器)2120、一系統記憶體2130、一唯讀記 憶體(R0M)2140、一永久性儲存裝置2150、輸入裝置 2170、輸出裝置2180及一網路連接219〇。電腦系統21〇〇之 組件係自動基於數位及/或類比輸入信號來實施操作之電 子裝置。 熟習此項技術者將認識到,電腦系統21〇〇可體現為其他 具體形式,而此並不背離本發明之主旨。舉例來說,該電 腦系統可藉助單獨或組合使用各種具體裝置來實施。舉例 而言’一本端個人電腦(PC)可包括輸入裝置217〇及輸出裝 置2180 ’而一遠端pc可包括其他裝置2no至2150,其中該 本端PC經由該本端pc經由其網路連接219〇存取之—網路 連接至該遠端PC(其中該遠端pc亦經由一網路連接連接至 該網路)。 匯流排2110籠統地表示以通信方式連接電腦系統21〇〇之 眾多内部裝置之所有系統、周邊及晶片組匯流排。在某些 情況下,匯流排2110可包括無線及/或光學通信通路以補 充或代替有線連接。舉例而言,輸入裝置217〇及/或輸出 裝置2180可使用一無線局域網(W_LAN)連接、Bluet〇〇ti^ 或某一其他無線連接協定或系統耦合至系統21 〇〇。 159846.doc -54- 201224817 匯流排2110以通信方式連接(舉例而言)處理器2i2〇與系 統記憶體2130、ROM 2140及永久性儲存裝置215〇。自此 等不同記憶體單元,處理器2120擷取用以執行之指人及用 以處理之資料以便執行某些實施例之處理程序。在某些實 施例中’該處理器包括一 FPGA、—ASIC或用於執=令 之各種其他電子組件^ 7 ROM 214。儲存處理器212〇及電腦系統之其他模組需要 之靜態資料及指令。另-方面,永久性儲存裝置215〇係一 讀寫記憶體裝置。此裝置係即使在電腦系統2刚關閉時亦 能儲存指令及資料之非揮發性記憶體單元。本發明之某此 實施例使用大容量儲存裝置(諸如磁碟或光碟及其對應: 磁碟機)作為永久性儲存裝置215〇。 其他實施例使用一可抽換式儲存裝置(諸如一軟磁碟、 快閃磁碟機或CD-ROM)作為該永久性儲存裝置。如同永久 性儲存裝置2150,系統記憶體係一讀寫記憶體裝置。 然而,不同於錯存裝置215〇,系統記憶體213〇係一揮發性 憶體’諸如一隨機存取記憶體⑽”該系統記 憶體儲存處理器在運行時需要之某些指令及資料。在某些 實施例中,用於實施本發明之處理程序之該等組 ==儲存於系統記憶體㈣、永久性儲存裝置⑽及/ 中,而言,該等不同記憶體單元包 括根據某些貫施例用於處理多媒體項目之指令。 匿:排简連接至輸入裝置217。及輸出裝置218〇。輸 、170使仔使用者能夠向該電腦系統傳遞資訊及選擇 I59846.doc -55· 201224817 命令》該等輸入裝置包括字母數字式鍵盤及指標裝置(亦 稱作「游標控制裝置」)。該等輸出裝置亦包括音訊輸入 裝置(例如,麥克風、midi樂器)及視訊輸入裝置(例如, 視訊攝影機、靜物攝影機、光學掃描裝置等等)。輸出骏 置2180包括列印機、顯示靜止或移動影像之電子顯示裝置 及播放由該電腦系統所產生之音訊之電子音訊裝置。舉例 來說’此等顯示裝置可顯示一 GUI »該等顯示裝置包括諸 如陰極射線管(「CRT」)、液晶顯示器(r LCD」)、電漿顯 示面板(「PDP」)、表面傳導電子發射體顯示器(亦稱作— 「表面電子顯不器」或「SED」)等等之裝置。該等音訊裝 置包括一 PC之音訊卡及揚聲器、一蜂巢式電話上之一揚聲 器、一Bluetooth®耳塞式耳機等等。某些或所有此等輸出 裝置可無線或光學連接至該電腦系統。 最後,如圖21中所示,匯流排211〇亦經由一網路配接器 (未展示)將電腦2100耦合至—網路219〇。以此方式該電 腦可作為一電腦網路(諸如一區域網路(「LAN」)、一廣域 網路(「WAN」)、一内部,網路或諸如網際網路之一網路網 路)之部分。舉例而言,電腦21〇〇可耦合至一網頁伺服器 (網路219〇)以便在電腦21()()±執行之'網頁㈣器能夠在 使用者與在該網頁㈣器中操作之—⑽互動時與該網頁 飼服器互動。 熟習此項技術者應認識到,電腦系統21〇〇之任一或所有 該等組件可與本發明結合❹。此外,熟習此項技術者將 知曉’任何其⑽驗態亦可與本發明或本發明之組件結 I59846.doc ^ -56 -
S 201224817 合使用。舉例來說’上文參照圖2及圖18所述之設計解決 方案產生器220及ex ef最佳化器可使用具有電子組件 之計算系統2100來實施。 儘管已參照眾多具體細郎闡述了本發明,但熟習此項技 術者將認識到,本發明可體現為其他具體形式,而此並不 背離本發明之主旨。此外’雖然所展示之實例將諸多個別 模組圖解說明為單獨區塊’但熟習此項技術者將認識到, 某些實施例可將此等模組組合成一單個功能區塊或元件。 熟習此項技術者亦將認識到,某些實施例可將一特定模組 劃分成多個模組。 因此’熟習此項技術者將理解,本發明不受限於前述說 明性細節,而是應由隨附申請專利範圍界定。 【圖式簡單說明】 圖1圖解說明在某些實施例中針對一設計規則違反之設 計解決方案。 圖2圖解說明某些實施例之一設計解決方案產生器及一 設計修改器。 圖3概念性地圖解說明某些實施例用來產生設計解決方 案並改變一設計佈局之一處理程序。 圖4概念性地圖解說明某些實施例用來產生設計解決方 案之一處理程序。 圖5至7圖解說明在某些實施例中針對一空間違反產生並 應用設計解決方案。 圖8至10圖解說明在某些實施例中針對一寬度違反產生 159846.doc •57· 201224817 並應用設計解決方案。 中針對一面積違反產生 圖11至13圖解說明在某些實施例 並應用設計解決方案。 圖14至16圖解說明在某些實施例中針對-邊緣違反產生 並應用設計解決方案。 圖17圖解說明在某些實施例中變換—形狀之座標。 圖18圖解說明某些實施例之一設計解決方案產生器及 設計最佳化器。 圖19概念性地圖解說明某些實施例用來產生並使用設計 解決方案之一處理程序。 圖20圖解說明某些實施例之資料結構。 圖2 1圖解說明用來實施本發明之某些實施例之一電腦系 統。 【主要元件符號說明】 100 設計佈局 105 標記 110 形狀 115 形狀 120 形狀 125 雙向箭頭 205 設計佈局 210 標記 215 設計約束 220 設計解決方案產生器 159846.doc
S 201224817 225 佈局分析器 230 標記分析器 235 設計約束分析1§ 240 解決方案產生模組 245 設計解決方案 250 設計修改is 500 設計佈局 501 階段 502 階段 503 階段 504 階段 505 標記 510 形狀 515 形狀 520 形狀 525 頂部邊緣 530 底部邊緣 535 提示框 540 邊緣 545 邊緣 550 邊緣 605 雙向箭頭 610 雙向箭頭 800 設計佈局 159846.doc -59- 201224817 801 階段 802 階段 803 階段 804 階段 805 標記 810 形狀 815 頂部邊緣 820 底部邊緣 825 相關邊緣 830 相關邊緣 905 雙向箭頭 910 雙向箭頭 1100 設計佈局 1101 階段 1102 階段 1103 階段 1104 階段 1105 標記 1110 形狀 1115 邊緣 1120 邊緣 1125 邊緣 1130 邊緣 1135 邊緣 159846.doc 201224817 1140 邊緣 1145 邊緣 1150 邊緣 1400 設計佈局 1401 階段 1402 階段 1403 階段 1404 階段 1405 標記 1410 形狀 1415 形狀 1420 邊緣 1425 邊緣 1430 邊緣 1435 邊緣 1440 相關邊緣 1445 相關邊緣 1450 相關邊緣 1455 相關邊緣 1701 設計佈局 1702 設計佈局 1705 形狀 1706 階段 1707 階段 159846.doc 201224817 1708 階段 1710 左下角 1715 左下角 1805 設計最佳化器 1810 設計解決方案分析器 1815 標記產生器 1820 佈局修改器 2005 資料結構 2006 參考 2007 參考 2010 資料結構 2015 資料結構 2016 參考 2020 資料結構 2100 電腦系統 2110 匯流排 2120 處理單元 2130 系統記憶體 2140 唯讀記憶體 2150 永久性儲存裝置 2170 輸入裝置 2180 輸出裝置 2190 網路連接 159846.doc -62- s
Claims (1)
- 201224817 七、申請專利範圍: 一層上之一組形狀所 法’該方法包含: 一種用於修正由一電路設計佈局之 犯之一設計規則違反之電腦實施方 資訊之一標記來產生一組 解決方案⑴包含移動該組 基於包含該設計規則違反之 設計解決方案,該組中之每— 形狀中之一形狀之至少一個邊緣,及(ii)當應用於該組形 狀時,致使該組形狀滿足由該等形狀所違反之一設計規 則;及 將該組所產生設計解決方案中之一設計解決方案應用 於該組形狀。 2. 如請求項!之方法,纟中該標記包含⑴該所違反設計規 則之一規則類型及一規則值,及(ii)該組形狀在其上違反 該設計規則之-組層中之-層之—標識,其中該規則值 量化由該设計規則所強加之一設計要求β 3. 如喷求項1之方法,其中該標記表示為該設計佈局中之 該層上之具有複數個邊緣之一幾何形狀。 4. 如凊求項3之方法’其中產生該組設計解決方案包含: 識別該組形狀之一組相關邊緣,每一相關邊緣鄰接該 標記之一邊緣; 識別⑴該所違反設計之量化由該設計規則所強加之一 設計要求之—規則值,及⑼該組形狀之量化該組形狀之 一幾何屬性之一佈局值;及 識别每》又4解決方案之—或多個邊緣移動,每—邊 移動用於移動该組形狀之一相關邊緣,以便在該解決 159846.doc 201224817 方案應用於該組形狀時將該佈局值改變為大於或等於該 規則值。 5. 如請求項3之方法,其中該所違反設計規則要求兩個形 狀分開至少由該規則界定之一距離,其中該所產生組中 之一設計解決方案包含使一第一形狀之鄰接該標記之— 邊緣之一第一邊緣或一第二形狀之鄰接該標記之一邊緣 之一第二邊緣離開彼此移動,以使得該第一邊緣與該第 二邊緣彼此分開至少該距離。 6. 如請求項3之方法,其中該所違反設計規則要求一形狀 之兩個邊緣分開由該規則值界定之一距離,其中該所產 生組中之一設計解決方案包含使該形狀之鄰接該標記之 一邊緣之一第一邊緣或該形狀之鄰接該標記之一邊緣之 一第二邊緣離開彼此移動,以使得該第一邊緣與該第二 邊緣彼此分開至少該距離。 7·如請求項1之方法,其中一所產生設計解決方案指定一 組座標’該組座標表示當該解決方案應用於該組形狀時 該形狀之該邊緣移動至的該層中之一位置。 8· 一種儲存用於修正由一電路設計佈局之一層上之一組形 狀所犯之一設計規則違反的一設計自動化應用程式的非 暫時性電腦可讀媒體,該應用程式包含用於以下操作之 若干組指令: 基於包含該設計規則違反之資訊之一標記來產生一組 。又汁解決方案,該組中之每一解決方案⑴包含移動該組 形狀中之一形狀之至少一個邊緣,及(ϋ)當應用於該組形 159846.doc 2 S 201224817 狀時,致使該組形狀滿足由該等形狀所違反之一設計規 則;及 將該組所產生設計解決古安士 > * 鮮决方案中之一設計解決方案應用 於該組形狀。 9. 10 11. 12. 13. 如請求項8之非暫時性電腦可讀媒體,其中該標記表示 為該設計佈局中之該層上之具有複數個邊緣之—幾何形 狀0 .如請求項9之非暫時性電腦可讀媒體,其中該組形狀形 成向内知角且該標記佔據該向内拐角,其中該所違反 設計規則要求該組形狀沿著該組中之形成該向内拐角之 該等形狀之邊緣具有至少由該規則界定之一長度,其中 該所產生組中之一設古+缸# ^人 。十解決方案包含移動一第一形狀之 鄰接該標記之一邊续夕 ^ 瓊緣之—第一邊緣或一第二形狀之鄰接 該標記之一邊緣之一笛_ j从 第一邊緣,以使得該組形狀不再形 成該向内拐角。 非暫時性f腦可讀媒體,其中—設計解決 方案包含移動該組形狀中之一形狀之鄰接該標記之一邊 緣之一邊緣,以便縮小或擴大該形狀之大小。 月长項8之非暫時性電腦可讀媒體,其中一設計解決 方案包3移動一形狀之—整體以便移動該形狀之鄰接該 標記之一邊緣之一邊緣。 如月长項8之非暫時性電腦可讀媒體,其中該應用程式 進步包含用於以下操作之若干組指令: 依序檢驗該組中之每一設計解決方案直至發現在應用 159846.doc 201224817 於該佈局中之該組形肤 特定設計解決㈣為止;、的設計違反之一 將該特定設計解決方案 該設計解決方案。4疋為用以應用於該組形狀之 14.:::項8之非暫時性電腦可讀媒體,其中該應用程式 7含-㈣令q於針對因將該設計解決方案應 _狀而產生之—M新的設計規則違反產生一組 新的標記。 15 · —種系統,其包含: 一處理器’其用於執行若干組指令;及 己隐體’其用於儲存用於修正由—電路設計佈局之 層上之一組形&所犯之一設計規則$反的—電腦程 式,*亥電腦程式包含用於以下操作之若干組指令: 基於包含該設計規則違反之資訊之一標記來產生一組 设汁解決方案’該組中之每一解決方案⑴包含移動該組 形狀中之一形狀之至少一個邊緣,及(ii)當應用於該組形 狀寺致使該組形狀滿足由該等形狀所違反之一設計規 則;及 將該組所產生設計解決方案中之一設計解決方案應用 於該組形狀。 16. 如請求項15之系統,其中該標記表示為該設計佈局十之 該層上之具有複數個邊緣之一幾何形狀。 17. 如請求項16之系統,其中該所違反設計規則要求該組中 之一形狀具有至少由該設計規則界定之一大小,其中該 159846.doc -4- 201224817 18. 19. 20. _』且中之°又δ十解決方案包含移動該形狀之鄰接該 ' 邊緣之至)一個邊緣,以便使該形狀之該大小 增大為至少與由該設計規則界定之該大小—樣大。 如請求項16之系統,其中該所產生組中之_設計解決方 案匕3移動該形狀之鄰接該標記之邊緣之所有邊緣以 便使該形狀之該大小增大為至少與由該設計規則界定之 该大小一樣大。 如請求項16之线,其中—設計解決方案包含移動該組 形狀中之形狀之鄰接該標記之一邊緣之一邊緣而不移 動該形狀之任何其他邊緣。 如請求項16之系統,其中產生該組設計解決方案包含變 換該組形狀中之一形狀之座標,以使得該等經變換座標 表示當該形狀被自另一設計佈局帶入至該佈局中時該組 形狀在其上犯該設計規則違反之該佈局中之該形狀之一 位置。 159846.doc
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/948,755 US9256708B2 (en) | 2010-11-17 | 2010-11-17 | Method and system for automatic generation of solutions for circuit design rule violations |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201224817A true TW201224817A (en) | 2012-06-16 |
| TWI476617B TWI476617B (zh) | 2015-03-11 |
Family
ID=46049008
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW100141866A TWI476617B (zh) | 2010-11-17 | 2011-11-16 | 自動產生違反電路設計規則解決方案的方法及其系統 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US9256708B2 (zh) |
| TW (1) | TWI476617B (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9613175B2 (en) | 2014-01-28 | 2017-04-04 | Globalfoundries Inc. | Method, computer system and computer-readable storage medium for creating a layout of an integrated circuit |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8726208B2 (en) * | 2011-07-19 | 2014-05-13 | Taiwan Semiconductor Manufacturing Company, Ltd. | DFM improvement utility with unified interface |
| US8516402B1 (en) | 2011-08-22 | 2013-08-20 | Cadence Design Systems, Inc. | Method and apparatus for automatically fixing double patterning loop violations |
| US8473874B1 (en) | 2011-08-22 | 2013-06-25 | Cadence Design Systems, Inc. | Method and apparatus for automatically fixing double patterning loop violations |
| US8719737B1 (en) * | 2012-06-29 | 2014-05-06 | Cadence Design Systems, Inc. | Method and apparatus for identifying double patterning loop violations |
| US8661371B1 (en) | 2012-12-21 | 2014-02-25 | Cadence Design Systems, Inc. | Method and apparatus for fixing double patterning color-seeding violations |
| US9165104B1 (en) | 2012-12-21 | 2015-10-20 | Cadence Design Systems, Inc. | Method and apparatus for identifying double patterning color-seeding violations |
| US8775983B1 (en) | 2012-12-21 | 2014-07-08 | Cadence Design Systems, Inc. | Layout fixing guideline system for double patterning odd cycle violations |
| US9026970B2 (en) * | 2013-03-07 | 2015-05-05 | Freescale Semiconductor, Inc. | Prioritized design for manufacturing virtualization with design rule checking filtering |
| US10409934B1 (en) * | 2014-01-30 | 2019-09-10 | Cadence Design Systems, Inc. | System, method, and computer program product for static and dynamic phase matching in an electronic circuit design |
| US9405879B2 (en) * | 2014-04-01 | 2016-08-02 | Taiwan Semiconductor Manufacturing Co., Ltd. | Cell boundary layout |
| US10346573B1 (en) | 2015-09-30 | 2019-07-09 | Cadence Design Systems, Inc. | Method and system for performing incremental post layout simulation with layout edits |
| US10255402B1 (en) | 2016-09-27 | 2019-04-09 | Cadence Design Systems, Inc. | System and method for instance snapping |
| US10311201B2 (en) * | 2017-08-07 | 2019-06-04 | Globalfoundries Inc. | Alignment key design rule check for correct placement of abutting cells in an integrated circuit |
| US11010529B2 (en) * | 2019-09-16 | 2021-05-18 | Taiwan Semiconductor Manufacturing Company Limited | Integrated circuit layout validation using machine learning |
| KR20250057957A (ko) * | 2019-11-15 | 2025-04-29 | 어플라이드 머티어리얼스, 인코포레이티드 | 설계 파일 내에서의 계층적 구조 정보의 보존 |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5923566A (en) * | 1997-03-25 | 1999-07-13 | International Business Machines Corporation | Phase shifted design verification routine |
| US6083275A (en) * | 1998-01-09 | 2000-07-04 | International Business Machines Corporation | Optimized phase shift design migration |
| US6721938B2 (en) | 2001-06-08 | 2004-04-13 | Numerical Technologies, Inc. | Optical proximity correction for phase shifting photolithographic masks |
| DE10224953B4 (de) | 2002-06-05 | 2005-06-16 | Infineon Technologies Ag | Verfahren zur Beseitigung von Phasenkonfliktzentren bei alternierenden Phasenmasken sowie Verfahren zur Herstellung von alternierenden Phasenmasken |
| US7100134B2 (en) | 2003-08-18 | 2006-08-29 | Aprio Technologies, Inc. | Method and platform for integrated physical verifications and manufacturing enhancements |
| US7155689B2 (en) | 2003-10-07 | 2006-12-26 | Magma Design Automation, Inc. | Design-manufacturing interface via a unified model |
| US7418693B1 (en) * | 2004-08-18 | 2008-08-26 | Cadence Design Systems, Inc. | System and method for analysis and transformation of layouts using situations |
| US7266803B2 (en) | 2005-07-29 | 2007-09-04 | Taiwan Semiconductor Manufacturing Company, Ltd. | Layout generation and optimization to improve photolithographic performance |
| KR100934865B1 (ko) | 2008-07-17 | 2009-12-31 | 주식회사 하이닉스반도체 | 설계 패턴 레이아웃의 분리 방법 및 이를 이용한 노광마스크 제조 방법 |
| US8473874B1 (en) * | 2011-08-22 | 2013-06-25 | Cadence Design Systems, Inc. | Method and apparatus for automatically fixing double patterning loop violations |
| US8516402B1 (en) * | 2011-08-22 | 2013-08-20 | Cadence Design Systems, Inc. | Method and apparatus for automatically fixing double patterning loop violations |
| US8719737B1 (en) * | 2012-06-29 | 2014-05-06 | Cadence Design Systems, Inc. | Method and apparatus for identifying double patterning loop violations |
| US8661371B1 (en) * | 2012-12-21 | 2014-02-25 | Cadence Design Systems, Inc. | Method and apparatus for fixing double patterning color-seeding violations |
-
2010
- 2010-11-17 US US12/948,755 patent/US9256708B2/en active Active
-
2011
- 2011-11-16 TW TW100141866A patent/TWI476617B/zh not_active IP Right Cessation
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9613175B2 (en) | 2014-01-28 | 2017-04-04 | Globalfoundries Inc. | Method, computer system and computer-readable storage medium for creating a layout of an integrated circuit |
| TWI608371B (zh) * | 2014-01-28 | 2017-12-11 | 格羅方德半導體公司 | 用於產生積體電路佈局之方法、電腦系統及電腦可讀取儲存媒體 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20120124536A1 (en) | 2012-05-17 |
| TWI476617B (zh) | 2015-03-11 |
| US9256708B2 (en) | 2016-02-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TW201224817A (en) | Method and system for automatic generation of solutions for circuit design rule violations | |
| JP4572669B2 (ja) | レイアウトルール生成システム、レイアウトシステム及びレイアウトルール生成方法並びにレイアウトルール生成プログラム | |
| US9852251B2 (en) | Manipulating parameterized cell devices in a custom layout design | |
| US10248751B2 (en) | Alternative hierarchical views of a circuit design | |
| US8661371B1 (en) | Method and apparatus for fixing double patterning color-seeding violations | |
| CN101681393B (zh) | 用于布局验证的基于模式片断的热点数据库系统 | |
| US8893069B2 (en) | Method of schematic driven layout creation | |
| US8645902B1 (en) | Methods, systems, and computer program products for implementing interactive coloring of physical design components in a physical electronic design with multiple-patterning techniques awareness | |
| US10339246B2 (en) | Schematic overlay for design and verification | |
| US10515180B1 (en) | Method, system, and computer program product to implement snapping for an electronic design | |
| US9563737B1 (en) | Method, system, and computer program product for checking or verifying shapes in track patterns for electronic circuit designs | |
| US20150261909A1 (en) | Notch detection and correction in mask design data | |
| US8677300B2 (en) | Canonical signature generation for layout design data | |
| US8718382B2 (en) | Scalable pattern matching between a pattern clip and a pattern library | |
| US9378327B2 (en) | Canonical forms of layout patterns | |
| US8732631B2 (en) | System and methods for handling verification errors | |
| US10055533B2 (en) | Visualization of analysis process parameters for layout-based checks | |
| US8935649B1 (en) | Methods, systems, and articles of manufacture for routing an electronic design using spacetiles | |
| JP5810701B2 (ja) | 光近接効果補正方法、設計方法及び設計装置 | |
| US8549457B1 (en) | Method and system for implementing core placement | |
| JP7676837B2 (ja) | 情報処理装置及び情報処理プログラム | |
| Dai et al. | Systematic physical verification with topological patterns | |
| US9075932B1 (en) | Methods and systems for routing an electronic design using spacetiles | |
| CN103135970A (zh) | 产品局部报告系统及方法 | |
| US9026974B2 (en) | Semiconductor integrated circuit partitioning and timing |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |