TWI632476B - 建立閘道器模型子模板之系統與方法 - Google Patents
建立閘道器模型子模板之系統與方法 Download PDFInfo
- Publication number
- TWI632476B TWI632476B TW106116493A TW106116493A TWI632476B TW I632476 B TWI632476 B TW I632476B TW 106116493 A TW106116493 A TW 106116493A TW 106116493 A TW106116493 A TW 106116493A TW I632476 B TWI632476 B TW I632476B
- Authority
- TW
- Taiwan
- Prior art keywords
- vertices
- wiring
- line segment
- computer
- vertex
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本發明揭露一用以通過在一平的表面上之一第一佈線區佈線多個導體的電腦實施方法。該方法包括接收代表被相對的兩個縱側所界定之第一佈線區的資料,該相對的兩個縱側其中每一側各具有一不同數目之多個第一頂點。該第一佈線區具有一個或多個障礙。該方法更進一步包括在該相對的兩個縱側至少一側上決定一個或多個位置以新增一個或多個第二頂點,並將該第一佈線區分解成多個之第二佈線區,每個佈線區均不包括該一個或多個障礙之任何一障礙。該方法更進一步包括使用該多個第一頂點及該新增之一個或多個第二頂點對第二佈線區之每一佈線區內該多個導體進行一閘道模型佈線。
Description
本發明係有關於電子設計自動化(EDA)的一種方法和系統。更具體地說,本發明有關用於分解一平面佈局,如平板顯示器(FPD),之閘道模型佈線(GMR)模板成複數個之平衡子模板的技術。
佈線器係一種電腦輔助設計(CAD) 工具,用以自動產生相關於平面上之導線佈線的數位圖樣。在美國專利號 7,779,379 中描述一種根據一閘道模型佈線(GMR)模板將導線在一走廊區內自動佈線的方法。該佈線模板儲存相關於使用者所定義之限制條件,如走廊區之形狀及位置,或是導線佈線之限制條件,如導線終端及鋸齒邊緣之位置,或是導體之寬度、間隔、排列、電組值及其他導體特徵。
在原本的閘道模型佈線模板產生流程中,使用者只能選擇一起始齒邊緣或一終端齒邊緣以產生模板及相關閘道段。然而,使用者應小心產生一“平衡”之閘道模型佈線模板,否則閘道模型佈線模板之產生可能會失敗。“平衡”意旨一閘道模型佈線模板之縱向相對邊(非鋸齒邊緣邊)具有相同數目之邊緣。使用者不一定第一時間意識到非平衡模板將可能導致模板產生失敗,尤其是當模板角落具有方線改變之小邊緣。
另一問題是使用者針對一個閘道模型佈線模板只能定義一佈線模式或是電阻限制條件。然而,可能存在一些關鍵網絡,如計時器或是電源/接地網絡,需根據不同之限制條件佈線在模板中一預設之區域內以使訊號完整及符合該些關鍵網之規格。再者,也有可能有導線佈線須繞過之障礙形狀。因此,現有之自動化閘道模型佈線模板產生技術還是需要許多人力介入。
因此,需要有方式能夠自動產生平衡之閘道模型佈線模板,且兼顧不同網域所需之限制條件並同時能夠繞過障礙形狀佈線。
根據本發明一實施例,提出了一種用於通過在一平的表面上之一第一佈線區佈線多個導體的電腦實施方法。該方法包括當電腦被調用以執行佈線時,接收代表該被相對的兩個縱側所界定之該第一佈線區的資料,該對相對縱側其中每一邊各具有一不同數目之多個第一頂點。該第一佈線區包括一個或多個障礙。該方法更進一步包括使用電腦在該相對的兩個縱側中至少一側上決定一個或多個位置以新增一個或多個第二頂點,並將該第一佈線區分解成多個之第二佈線區,每個佈線區不包括一個或多個障礙中的任何一個。該方法更進一步包括使用電腦,利用該多個第一頂點及該新增之一個或多個第二頂點對該多個第二佈線區之每一佈線區內該多個導體進行一閘道模型佈線。
根據本發明一實施例,該電腦實施方法更進一步包括轉換代表該第一佈線區之資料以使該相對的兩個縱側中之每一側具有一相同數目之該多個第一頂點及該新增之一個或多個第二頂點。根據本發明一實施例,該多個第一頂點中每一頂點以及該一個或多個第二頂點中每一頂點均不位於該相對的兩個縱側其中一側之一端部上。根據一實施例,該電腦實施方法的方法還包括將多個第一頂點分離成設置在相對的兩個縱側之一第一側上的一第一多個頂點,且設置在相對的兩個縱側之一第二側上的一第二多個頂點,第一側與第二側相對設置。
根據本發明一實施例,該電腦實施方法更進一步包括產生一第一線段,其中該第一線段連接於該第一多個頂點中之一頂點以及該第二多個頂點中之一頂點之間。該第一線段相關聯於由所述第一線段與鄰接所述第一線段的所述相對的兩個縱側其中之一的至少一邊緣之間所形成的一最小角度。
根據本發明一實施例,該電腦實施方法更進一步包括產生連接於該第一多個頂點中之一頂點以及該第二多個頂點中之一頂點之間的一第一線段。該第一線段緊鄰於該第一多個頂點中最接近該第二多個頂點其中之一頂點的一頂點。
根據本發明一實施例,該電腦實施方法更進一步包括產生連接於該第一多個頂點中之一頂點以及該第二多個頂點中之一頂點之間的一第一線段。該第一線段由小於最接近第二多個頂點其中之一的第一多個頂點中的一頂點之間的距離兩倍之一長度所定義。
根據本發明一實施例,該電腦實施方法更進一步包括產生多個線段,該多個線段中之每一線段連接於一不同對的第一多個頂點中之一頂點及第二多個頂點中之一頂點之間。該方法更進一步包括找出多個第一頂點中,保持未連接於先前產生多個線段中的任何一線段之至少一未連接的頂點,。該至少一未連接之頂點位於該第一側上。該方法更進一步包括在該第二側上新增一個或多個第二頂點,並產生連接於該至少一未連接之頂點與該一個或多個第二頂點間的一第一線段。
根據本發明一實施例,該第一線段設置在先前產生的多個線段之一緊鄰對之間但不相交於該緊鄰對。根據一實施例,該第一線段根據閘道模型佈線,與一閘道相關聯。根據一實施例,用於新增一個或多個第二頂點之一個或多個位置根據一第一邊緣的長度和一第二邊緣的長度的一第一比值來設置。該至少一未連接頂點連接於第一邊緣和第二邊緣之間。
根據本發明一實施例,該第一比值等於一第三邊緣的長度和一第四邊緣的長度的一第二比值。該一個或多個第二頂點連接於第三邊緣和第四邊緣之間。
根據本發明一實施例,分解動作根據與該多個導體中之一導體相關的一預定特徵執行。該多個導體與該多個第二佈線區中的一佈線區相關聯。
根據本發明一實施例,分解動作根據該複數個第二佈線區中一佈線區中之一第一橫向邊的一第一長度與另一佈線區中之一第二橫向邊之一第二長度的一預定比值來執行。該第一橫向邊和該第二橫向邊是共線的。
根據本發明一實施例,該一個或多個障礙中之一障礙由一第一多個頂點定義。該方法還包括根據該第一多個頂點中之至少一頂點的一位置來劃分該第一佈線區的一第一部份,以便形成將該第一部份分成一第二部份和一第三部份的一橫向線段。該橫向線段不穿過該一個或多個障礙中任一障礙的一內部。
根據本發明一實施例,劃分該第一佈線區的該第一部份將形成多個橫向線段。該多個橫向線段中的每一個線段包括設置在該第一多個頂點中一個不同的頂點的一點。該多個橫向線段中沒有一個穿過一個或多個障礙中任何一個的一內部。
根據本發明一實施例,該第一部份由一第一橫向邊與相對該第一橫向邊的一第二橫向邊所界定。當該第二橫向邊設置成平行於第一橫向邊時,該橫向線段設置成平行於該第一橫向邊。
根據本發明一實施例,該第一部份由一第一橫向邊與相對該第一橫向邊的第二橫向邊所界定。當該第一橫向邊的一第一共線延伸部與該第二橫向邊的一第二共線延伸部在一第一點相交時,則該橫向線段被設置成使得該橫向線段的一第三共線延伸部與該第一點相交。根據一實施例,該橫向線段的一部份在閘道模型佈線執行期間為一閘道。
根據本發明一實施例,該電腦實施方法更進一步包括根據該第一多個頂點中一頂點劃分該第二部份,以形成劃分該第二部份的一縱向線段。該縱向線段的一第一端設置在該第一多個頂點中之一頂點。
根據本發明一實施例,該電腦實施方法更進一步包括根據該多個第二佈線區中一佈線區之一第一橫向邊的一第一長度與另一佈線區之一第二橫向邊之一第二長度的一預定比值劃分該第二部份,以形成劃分第二部份的一縱向線段。該第一橫向邊和該第二橫向邊是共線的。
根據本發明一實施例,提出了一種用於通過在一平的表面上之一佈線區佈線多個導體的電腦實施方法。該方法包括當電腦被調用以執行佈線時,接收代表該被相對的兩個縱側所界定之該佈線區的資料,該相對的兩個縱側其中每一側各具有一不同數目之多個第一頂點,並使用該電腦在該相對的兩個縱側中至少一側上決定一個或多個位置以新增一個或多個第二頂點。該方法更進一步包括使用電腦,利用該多個第一頂點及該新增之一個或多個第二頂點對該佈線區內之該多個導體進行一閘道模型佈線。
根據本發明一實施例,提出了一種用於通過在一平的表面上之一第一佈線區佈線多個導體的電腦實施方法。該方法包括當電腦被調用以執行佈線時,接收包括該一個或多個障礙之該第一佈線區的資料,並使用電腦將該第一佈線區分解成多個第二佈線區,每個佈線區不包括一個或多個障礙中的任何一個。該方法更進一步包括使用電腦對該多個第二佈線區中之每一佈線區進行一閘道模型佈線。
根據本發明一實施例,提出了一種用於通過在一平的表面上之一第一佈線區佈線多個導體的一系統。該系統被設置以接收代表該被相對的兩個縱側所界定之該第一佈線區的資料,該相對的兩個縱側其中每一側各具有一不同數目之多個第一頂點。該第一佈線區包括至少一個或多個障礙。該系統被設置以在該相對的兩個縱側中至少一側上決定一個或多個位置以新增一個或多個第二頂點,並將該第一佈線區分解成多個第二佈線區,每個佈線區不包括一個或多個障礙中的任何一個。該系統更進一步被設置以利用該多個第一頂點及該新增之一個或多個第二頂點對該第一佈線區內之該多個導體進行一閘道模型佈線。
根據本發明一實施例,該系統更進一步被設置以轉換代表該第一佈線區之資料以使該相對的兩個縱側中之每一側具有一相同數目之該多個第一頂點及該新增之一個或多個第二頂點。根據本發明中一實施例,該系統更進一步被設置以將該多個第一頂點分離成設置在相對的兩個縱側之一第一側上的一第一多個頂點,且設置在相對的兩個縱側之一第二側上的一第二多個頂點,其中該第一側與第二側相對設置。
根據本發明一實施例,該系統更進一步被設置以產生連接於該第一多個頂點中之一頂點以及該第二多個頂點中之一頂點之間的一第一線段。該第一線段相關聯於由所述第一線段與鄰接所述第一線段的所述相對的兩個縱側其中之一的至少一邊緣之間所形成的一最小角度。
根據本發明一實施例,該系統更進一步被設置以產生連接於該第一多個頂點中之一頂點以及該第二多個頂點中之一頂點之間的一第一線段。該第一線段緊鄰於該第一多個頂點中最接近該第二多個頂點其中之一頂點的一頂點。
根據本發明一實施例,該系統更進一步被設置以產生連接於該第一多個頂點中之一頂點以及該第二多個頂點中之一頂點之間的一第一線段。該第一線段由小於最接近第二多個頂點其中之一的第一多個頂點中的一頂點之間的距離兩倍之一長度所定義。
根據本發明一實施例,該系統更進一步被設置以產生多個線段,該多個線段中之每一線段連接於一不同對的第一多個頂點中之一頂點及該第二多個頂點中之一頂點之間並找出多個第一頂點中,保持未連接於先前產生多個線段中的任何一線段之至少一未連接的頂點。該至少一未連接之頂點位於該第一側上。該系統更進一步被設置以在該第二側上新增一個或多個第二頂點,並產生連接於該至少一未連接之頂點與該一個或多個第二頂點之一第一線段。
根據本發明一實施例,該一個或多個障礙中之一障礙由一第一多個頂點定義。該系統更進一步被設置以根據該第一多個頂點中之至少一頂點的一位置來劃分該第一佈線區的一第一部份,以便形成將該第一部份分成一第二部份和一第三部份的一橫向線段。該橫向線段不穿過一個或多個障礙中任一障礙的一內部。
根據本發明一實施例,該系統更進一步被設置以根據該第一多個頂點中之一頂點劃分該第二部份,以形成劃分該第二部份的一縱向線段。該縱向線段的一第一端設置在該第一多個頂點中之一頂點。
根據本發明一實施例,該系統更進一步被設置以根據該多個第二佈線區中一佈線區中之一第一橫向邊的一第一長度與另一佈線區中之一第二橫向邊之一第二長度的一預定比值劃分該第二部份,以形成劃分第二部份的一縱向線段。該第一橫向邊和該第二橫向邊是共線的。
根據本發明一實施例,提出了一種用於通過在一平的表面上之一佈線區佈線複數個導體的電腦實施方法。該方法包括當電腦被調用以執行佈線時,接收代表該被相對的兩個縱側所界定之該佈線區的資料,該相對的兩個縱側其中每一側各具有一不同數目之多個第一頂點,並使用該電腦在該相對的兩個縱側中至少一側上決定一個或多個位置以新增至少一第二頂點。該方法更進一步包括使用電腦,利用該多個第一頂點及該新增之一個或多個第二頂點對該佈線區內之該頂個導體進行一閘道模型佈線。
根據本發明一實施例,提出了一種用於通過在一平的表面上之一第一佈線區佈線多個導體的電腦實施方法被揭露。該方法包括當電腦被調用以執行佈線時,接收包括該一個或多個障礙之該第一佈線區的資料,並使用電腦將該第一佈線區分解成多個第二佈線區,每個佈線區不包括一個或多個障礙中的任何一個。該方法更進一步包括使用電腦對該第二佈線區中之每一佈線區進行一閘道模型佈線。
圖1描繪積體電路(IC)或是平板顯示器(FPD)設計和製造過程的簡化示例性步驟。該方法起始步驟為產品構想100,該構想被電子設計自動化(EDA)軟體110所實現。最終之設計透過製造步驟150及包裝和組裝步驟160可產生晶片或 是平板顯示器(FPD)170。一使用電子設計自動化(EDA)軟體110之設計流程之示例性步驟在下方被描述以供參考。舉例來說,一實際之積體電路之設計流程中之步驟順序可能有別於下方描述之順序。
在系統設計112中,一設計者描述將被實作之功能。該設計者也可作沙盤推演以改進功能及檢視成本。此外,硬體 - 軟體架構分區可在此步驟執行。在設計和功能驗證114中,可創造一硬體描述語言(HDL)設計並檢視其功能準確性。
在合成和設計116中,硬體描述語言(HDL)代碼可以轉換為網表,可以針對目標技術進行優化。此外,可以設計和實施測試以檢查成品晶片。在網表驗證118中,可以檢查網表是否符合時序限制和與硬體描述語言(HDL)代碼的對應關係。在設計規劃120中,可以構建和分析晶片的總體平面圖,以進行時序和頂層佈線。接下來,在實體實現122中,可以執行佈置和佈線。
在分析和提取124中,可以在電晶體層級驗證電路功能。在實體驗證126中,可以檢查設計以校正任何功能,製造,電氣或光刻問題。在解析度提升128中,可以對佈局執行幾何操作,以提高設計的可製造性。最後,在掩模數據準備130中,設計可下線140以產生掩模而完成成品晶片。本發明的實施例可以用於,舉例來說,實體實現步驟122。
一基於電腦之佈線工具,閘道模型佈線使用戶能夠創建和存儲一組可調整佈線模板。每個模板包括一組定義一平面佈線空間的走廊參數值,以下稱為區域或走廊,通過該區域或走廊可以佈線未指定數量的導體。每個模板還包括一組限制條件參數值,以控制通過走廊被佈線的導體的各種屬性。為了創建通過特定走廊(例如在OLED面板上的FPD)佈線特定導體組的計劃,使用者選擇該複數個佈線模板其中之一並編輯模板參數以調整其定義之佈線形狀走廊形狀以匹配OLED面板中可用走廊的形狀,或者改變由模板強加之至少一佈線限制條件。然後,該使用者引導該佈線工具自動產生一計畫,該計畫以滿足所選擇之該佈線模板所強加的限制條件的方式在OLED面板上通過走廊佈線該特定數量的導體。導體可在該佈線區中的一個或多個障礙的周圍被佈線,如下面將更詳細描述的。
圖2為根據本發明一實施例之使用一電子設計自動化(EDA)工具通過在一平的表面上之一佈線區佈線多個導體,描繪的一簡化示例性流程圖200。該平面可為一積體電路(IC)或平板顯示器(FPD)。該流程圖200包括,當電腦執行佈線時,透過圖29所示的電腦系統2900接收代表該由相對的兩個縱側所界限定之一佈線區的資料。佈線區可以包括一個或多個障礙,如將在下面更詳細描述的。
圖3為根據本發明一實施例,原始頂點P1、P2-P10分成兩組頂點310、320之後,描繪的一第一佈線區300的一簡化示例性佈局。第一佈線區300可以是所描繪的一不規則多邊形,或具有正交邊界邊的一正多邊形(未示出)。第一佈線區300可以由邊界邊緣定義,該些邊界邊緣可以由表示為點或原始頂點P1、P2-P10的走廊參數值來定義。例子中該些邊界邊緣包括相對的兩個縱側和兩個相對的末端邊緣,稱為起始齒330和終端齒340。起始齒330和終端齒340各自包括被稱為齒的位置,用於將在佈線區內佈線的導體連接到平的表面上路佈線區外的範圍(參見例如圖28及其相關描述)。起始齒330包括兩個相對端T333和T337。起始齒330包括兩個相對端T343和T347。
相對的兩個縱側中的其中一側可以包括六個原始頂點P1-P6和七個相關聯的串聯連接的邊界邊緣,其包括,、、、、、、。相對的兩個縱側中的另一邊可以包括四個原始頂點P7-P10和五個相關聯的串聯連接的邊界邊緣,其可以包括,、、、。
在此上下文中,“縱向”是指大致平行或沿著在第一佈線區300中與佈線的導體的長度方向的方向。根據閘道模型佈線,該第一佈線區300中的導體將在起始齒330和終端齒340的邊界間沿著縱向方向佈線並且不跨過相對的兩個縱側被佈線。應當理解,在第一佈線區300內佈線的多個導體中不同的導體可以採用一鋸齒形或曲折的路徑,並且每個導體各自連接在它們各自的末端,這些端部設置在起始齒330和終端齒340 (參見例如圖28及其相關描述)。
圖3所示的示例中,當圖3是正像閱讀時縱向方向大致水平,被選擇僅僅是為了更好地解釋實施例。然而,應當理解,具有更複雜形狀的佈線區(例如L形或甚至U形)能夠使用閘道模型佈線。因此,根據佈線區的形狀和沿著佈線區內的佈線路徑的位置,一縱向路徑或方向可以採取不同的角度。例如說,對於一L形佈線區來說,一縱向方向可沿著正像閱讀L形上部大致在垂直方向運行,而縱向方向可沿著正像閱讀L形底部大致在水平的方向運行。
同時參閱圖2和3,當代表該該第一佈線區的資料被相對的兩個縱側所界定,該相對的兩個縱側中的每一側具有一不同數目之多個原始頂點P1、P2-P10時,也就是該第一佈線區的情況,那麼第一佈線區300為不平衡,將在閘道模型佈線期間引起問題。為了防止由不平衡的一佈線區域所引起的問題,流程圖200將包括一步驟215,決定相對的兩個縱側中至少一側上的一個或多個位置上以新增一個或多個輔助頂點的,如以下更詳細描述的。
在一實施例中,該多個原始頂點中的每一頂點以及該一個或多個輔助頂點中的每一個頂點皆不設置於相對的兩個縱側之一的一端部,即T333、T337、T343、T347。在一實施例中,該代表該佈線區的數據將被變換,以使相對的兩個縱側中的每一側包括一相同數目的多個原始頂點以及所新增的一個或多個輔助頂點。
因此,對於第一佈線區300來說,可以在包括四個原始頂點P7-P10的相對縱側上再新增兩個輔助頂點,使原始頂點加上輔助頂點的總數為6,從而輕易地平衡第一佈線區300。然而,這種將所有輔助頂點新增到相對縱側的唯一一邊上的簡單方法,可能產生一種閘道模型佈線結果,也就是導體將被迫產生不想要的之尖銳曲折,因這種方法產生的可能極端之閘道角度。在一實施例中,該相對的兩個縱側上之每一側均新增輔助頂點中之至少一個,以便減少佈線導體中的彎曲量。
圖4為根據本發明一實施例,用於決定如先前描繪圖2中的輔助頂點的位置,描繪的一簡化示例性流程圖。同時參閱圖3-4,流程圖描繪在步驟405中,工具將個原始頂點P1、P2-P10分離成設置在相對的兩個縱側的第一側上的一第一組頂點310,以及設置在相對的兩個縱側的第二側上之一第二組頂點320。第一組頂點310可以包括原始頂點P1,P2-P6。第二組頂點320可以包括原始頂點P7、P8-P10。接下來,在步驟410中,該工具產生多個線段,該多個線段中每一線段連接於一不同對的第一組頂節點310中的一頂點與第二組頂點320中的一頂點之間,其在以下步驟中完成。首先,該工具產生連接於該第一組頂點310中的一個頂點與第二組頂點320中的一個頂點之間的一第一線段,其中該第一線段緊鄰於該第一多個頂點中最接近該第二多個頂點其中之一頂點的一頂點。
圖5為根據本發明一實施例,描繪先前描繪在圖3中的第一佈線區300在選擇一候選橫向線段(P5P8)後的簡化示例性佈局500。佈局500包括與第一佈線區300相同的元件和功能,除以下之例外。該工具識別最接近該第二多個頂點中一頂點之該第一多個頂點中的一頂點,在該示例中為P5、P8,然後連接P5、P8以形成一個線段。連接為一線段,可能是臨時的,如下所解釋。
“橫向” 在此上下文中粗略地意味著跨過相對的兩個縱側之間的佈線區或是跨過縱向方向。因此,線段是為一橫向線段的一候選之一示例。橫向線段可能成為閘道模型佈線的閘道。
走廊參數值可以定義一個或多個“閘道”,每個“閘道”在一對頂點之間跨越第一佈線區300,其中該對頂點設置在佈線區不同之相對縱側上,使得閘道將走廊或佈線區劃分成一組地磚。閘道在下文中也可以被稱之為橫向線段。閘道可以包括類似於齒的屬性,該屬性部分地控制穿過該閘道的導體的佈線。在一實施例中,在閘道模型佈線期間,一橫向線段的一部份可作為一閘道。舉例來說,一連續的橫向線段可以被劃分為多個共線橫向線段,每個線段成為用於不同子模板的一單獨閘道,如以下參閱圖20-28所述。相反地,縱向線段不是閘道,而是可以作為閘道模型佈線模板或子模板的邊緣。
圖6為根據本發明一實施例,在識別了多個候選橫向線段之後,描繪先前描繪在圖5中的佈局500的簡化示例性佈局600。佈局500包括與佈局圖500相同的元素和功能,除以下例外。該工具生成緊鄰相鄰片段的所有可能線段,包括片段、、及。此時,該工具已產生連接於在第一組頂點310其中一頂點與該第二組頂點320其中一頂點之間,將被用作一閘道的一第一永久線段之候選線段。該候選永久線段緊鄰於該第一多個頂點310中最接近該第二多個頂點320其中之一頂點的一頂點。
圖7為根據本發明一實施例,在識別與多個候選橫向線段(P5P8)中的一個相關聯的角度之後,描繪先前描繪在圖6中的佈局600的簡化示例性佈局700。佈局700包括與佈局600相同的元件和功能,除以下例外。對於線段以及緊鄰線段的線段,該工具分別計算每個線段與相關該線段的每個緊鄰邊緣之間的角度。舉例來說,如果選擇線段,角度為∠a,∠b,∠c和∠d。舉例來說,∠a是與邊緣之間的角度,∠b是線段與邊緣之間的角度,以此類推。
接下來,該工具選擇上述5個線段中之一,如線段,將被用作為一閘道的一第一永久線段,並滿足以下兩個規則。第一個規則是該第一永久段的長度應小於最短候選線段之長度的兩倍,亦即<*2。換句話說,該工具產生連接於該第一組頂點310中的一頂點與該第二組頂點320中的一頂點之間的一第一線段,使得該第一線段由小於最接近該第二組頂點320中一頂點之該第一組頂點310中一頂點之間距離的兩倍之一長度所定義。
第二個規則是該第一個永久線段,應該符合min(π-∠a-∠b,π-∠c-∠d)。換句話說,該工具產生連接於該第一組頂點310中的一頂點與該第二組頂點320中的一頂點之間的一第一線段,使得該第一線段與由所述第一線段與鄰接所述第一線段的所述相對的兩個縱側其中之一的至少一邊緣之間所形成的一最小角度相關聯。、、、、中唯一滿足上述第一線段之兩個規則為,因此成為該第一永久橫向線段或閘道。
圖8為根據本發明一實施例,在識別出多個橫向線段之後,描繪先前描繪在圖7中的佈局700的簡化示例性佈局800。佈局800包括與佈局700相同的元件和功能,除以下例外。圖5-7所描述的步驟對於剩餘的未連接頂點P1-P5、P7、P9-P10的重複執行,直到沒有未連接的頂點。舉例來說,選擇剩餘未連接頂點P1-P5、P7、P9-P10集合中的下一個最接近的候選線段作為下一個閘道之一候選,並且以相似的方式對其鄰近之頂點進行評估。然後,佈局800包括在步驟的第一次迭代中確定的永久線段或閘道,以及在剩餘的步驟迭代中確定的永久線段。
應注意的是,在第一組頂點310中,此時保持著三個未連接的頂點P2、P3、P4。在第二組頂點320中,此時保持一個未連接的頂點P7。頂點P7從與一閘道連接切斷,當先前創建閘道時。
圖9為根據本發明一實施例,在識別出多個輔助頂點A1-A4和另外的橫向線段、、、之後,描繪先前描繪在圖8中的佈局800的簡化示例性佈局900。佈局900包括與佈局800圖相同的元素和功能,除以下例外。同時參閱圖4和圖8-9,流程圖描繪在步驟415中,工具發現原始頂點中未連接到先前產生的多個線段中(例如、、)的任一線段之至少一頂點,例如說P2、 P3、 P4。該至少一未連接之頂點,例如說 P2-P4,設置在該相對的兩個縱側中與該第一組頂點310相關聯之該第一側上。接下來,該工具將該一個或多個輔助頂點A1-A3新增至該相對的兩個縱側中與該第二組頂點320相關聯之該第二側上。
接下來,在步驟425中,該工具產生一第一線段,例如說,該第一線段連接於該至少一未連接之頂點P2和該一個或多個輔助頂點A1之間,其完成如下。用於新增一個或多個輔助頂點A1-A3的一個或多個位置被設置在上,根據一第一邊緣的長度和第二邊緣的長度的一第一比率,其中至少一個未連接頂點P2連接在第一邊緣和第二邊緣之間。對於輔助頂點A1-A3,將用於添加一個或多個輔助頂點A1-A3的一個或多個位置設置在,根據與兩個相對縱向側上邊緣長度的比率相配一長度比率規則,結果:::=:::。相似地,與P7相反地增加A4,使得:=:。 因此,永久段或閘道,,,連接並完成。
圖10為根據本發明一實施例,描繪具有問題橫向線段、的一第二佈線區1000的一簡化示例性佈局圖。該第二佈線區是上述實施例在一些佈線區配置下可能產生一相交閘道問題的一示例。該第二佈線區1000由兩個齒緣、,該相對的兩個縱側的一第一側上的邊界邊緣、、以及該相對的兩個縱側的一第二側上的邊界邊緣、、所界定。
在這個例子中,邊界邊緣,,的交點形成直角。該第二佈線區是上述實施例在一些佈線區配置下可能產生一相交閘道問題的一示例。閘道、因為輔助頂點A5、A6的位置交叉或相交而因此有問題。交叉問題的根本原因是角度∠A5P14P15大於180度且∠P14P15A6的角度無效,因為延伸到第二佈線區1000之外。下面描述的後處理步驟可用以解決上述相交問題。
圖11為根據本發明一實施例,在解決問題橫向線段問題之一第一步驟後,描繪先前描繪在圖10中的第二佈線區1000的簡化示例性佈局1100。佈局1100包括與第二佈線區1000相同的元件和功能,除以下例外。該工具首先擴展段以形成共線段,其中點O在原始邊緣上。如此一來,角度∠OP14P15等於180度。
圖12為根據本發明一實施例,在移動問題橫向線段中較短之橫向線段後,描繪先前描繪在圖11中的佈局1100的一簡化示例性佈局1200。佈局1200包括與佈局1100相同的元件和功能,除以下例外。輔助頂點A5已被該工具移動到原始邊緣上的點O右側的最小佈局單位處。如此一來,角度∠A5P14P15小於180度。新的永久閘道使用A5的新位置連接。
圖13為根據本發明一實施例,在移動問題橫向線段中較長之橫向線段的並解決先前的問題之後,描繪先前描繪在圖12中的佈局1200的一簡化示例性佈局1300。佈局1300包括與佈局1200相同的元件和功能,除以下例外。接下來,該工具根據長度比例規則:=:.計算原始邊緣上A6的一新位置。新的永久閘道使用A6的新位置連接。上述後處理步驟的結果解決了第二佈線區1000的原始閘道相交問題。
同時參閱圖2和圖9,上述實施例已經完成了決定步驟215。接下來,如果步驟220不希望製作子佈線區,則該工具使用原始頂點P1-P10和輔助頂點A1-A4在該第一佈線區域300中執行步驟225,對導體進行一閘道模型佈線(GMR)(參見圖28描述)。然而,如果步驟220希望進行製作子佈線區域,則該工具將佈線區分解為多個子佈線區,每個子佈線區不包括以另一佈線區示例所示的一個或多個障礙中的任何一障礙。在此上下文中,子佈線區可以與子模板相關聯,請參閱如下圖27之描述所解釋的。
圖14描繪了第三佈線區1400的一簡化示例性佈局,該佈線區域包括多個障礙1405、1410、1415,其可以由本發明的實施例來操作。第三佈線區1400由起始齒1420,終端齒1425,該相對的兩個縱側中該一第一側上之五個邊界邊緣、、、、以及該相對的兩個縱側中該一第二側上之六個邊界邊緣、、、、、所界定。由於該第三佈線區1400的相對的兩個縱側具有不同數目之邊緣和原始頂點,因此該第三佈線區1400不平衡。
圖15為根據本發明一實施例,在平衡之後,描繪先前描繪在圖14中的第三佈線區1400的簡化示例性佈局1500。佈局1500包括與該第三佈線區1400相同的元件和功能,除以下例外。因為第三佈線區1400不平衡,可施加圖2-13中之參考的實施例以平衡第三佈線區域1400,使得之後進行一閘道模型佈線沒有問題。應注意的是,平衡過程在上新增一輔助頂點A7,以便形成線段或閘道,,使得相對的兩個縱側之頂點和邊緣的數目相等,從而平衡佈局1500描繪的第三佈線區1400。佈局1500包括橫向線段、、、、在閘道模型佈線中將成為閘道。
還要注意的是,佈局1500被多個閘道劃分成包括地磚1430、1435的多個地磚,其中每個地磚包括障礙區域。地磚1430的特徵在於頂點P18、A7、P23、P24。地磚1435的特徵在於頂點P17、P18、P24、P25。佈局1500的閘道模型佈線將需要防止佈線器通過障礙佈線任何導體,如下所述。然而,現在該第三佈線區1400已被平衡為佈局1500,佈局1500可用於描繪根據本發明的以下實施例形成子模板。
圖16為根據本發明一實施例,如先前描繪在圖2中,用於將佈線區分解成的多個子佈線區,描繪的一簡化示例性流程圖230。同時參閱圖14-16,流程圖230描繪的定義障礙1405、1410、1415障礙頂點。
圖17根據本發明一實施例,在用多個向橫線段,如、、、劃分該第三佈線區之該部份後,描繪先前描繪在圖15中的該第三佈線區1400,即佈局1500,之一部份,即地磚1430、1435的簡化示例性佈局1700。圖17描繪障礙區域1405由包括障礙頂點P29、P34、P35之多個障礙頂點所定義。應注意的是,只要頂點的數目等於或大於三個頂點,由該工具所支持的一障礙區域形狀不限於任何特定形狀,形狀取向或定義頂點的數目。
同時參閱圖16-17,該工具在步驟1605裡根據障礙頂點中之至少一個的一位置,如 P29、P34,劃分該佈線區,如佈局1500,之一第一部份,如地磚1430,以形成一橫向線段,如,將該第一部份,如地磚1430,劃分成一第二部份以及一第三部份,其中該第二部份特徵在於頂點A7、P23、P27、P26,該第三部份特徵在於頂點P28、P26、P34、P29,使得該橫向線段不穿過任何障礙的一內部,如障礙1405。該第一部份,如地磚1430,由相對的第一橫向邊及第二橫向邊所界定,如、。
在步驟1610裡,如果該第二橫向邊設置成平行於該第一橫向邊,則橫向線段,如、在步驟1615中設置成平行於該第一橫向邊。由於個別存在相關的障礙頂點P34、P29,該工具可識別出可以觸發橫向線段、的放置。換句話說,劃分該佈線區,如佈局1500之該第一部份,如地磚1430,形成多個橫向線段、,其中該多個橫向線段、中的每一橫向線段包括設置在該多個障礙頂點P34、P29中之一個不同頂點之一點。此外,多個橫向線段、均不穿過該一個或多個障礙1405中任何一障礙的一內部。
因此,在一實施例中,原始閘道可以被劃分為兩個共線段,如中與障礙1405重疊處之虛線所示。應注意的是,橫向線段,由幾何形狀明確設置,因為該工具將頂點P26,P27,P28放置在地磚1430的相對縱側上,形成由障礙頂點P34,P29處開始,結束或相交的線段,且形成平行於第一橫向邊之線段的獨特位置。
參閱圖17中的地磚1435,在步驟1610裡,如果橫向邊不設置成平行於橫向邊,那麼由幾何得知,橫向邊的一共線延伸部1705與橫向邊的一共線延伸部1710在一點1715處相交。之後,該工具在步驟1620中設置橫向線段,使得橫向線段的一共線延伸部1720與點1715相交。橫向線段在障礙頂點P31處結束,因為橫向線段不能進入障礙1415。應注意,一橫向線段可以在一障礙中與點1715相對的一側開始,例如在與障礙1410相關聯的障礙頂點P32,因為每個障礙頂點將具有一相關聯的橫向線段,如。因此,當所有橫向線段被製成閘道模型佈線的閘道或終端邊緣時,構建子模板的框架是為橫向方完成。以下實施例將描述構建子模板的框架如何在縱向方向完成。
程序#2.1。參閱圖15,透過迭代地選擇和添加新的頂點到不同的先前創建的終端邊緣和橫向線段來定義新的縱向線段將被添加的位置,即可完成構建子模板的框架中之縱向方向。如果一選擇的終端邊緣或橫向線段不與一障礙區域相交,如起始齒1420,終端齒1425或橫向線段,、、、,則執行以下步驟。一預定數目的子模板,例如三個,以及該些子模板橫向寬度的一預定子模板比值,例如2:1:1,由該工具所接收,例如從工具使用者或從其他工具接收。
在一實施例中,分解動作係根據與該多個導體其中之一相關聯的一預定特性執行,其又與該多個子佈線區其中之一相關聯。換句話說,該工具可以從提供給工具的預定特性,例如由閘道模型佈線使用的每個子模板中的導體寬度和/或數目,自動產生子模板比值資訊。舉例來說,一用以佈線兩條非常寬的導體(例如電力線和地線)的一第一子模板的橫向寬度可被自動被分配一比值2。一只用以佈線一個諸如時鐘信號線的中等寬度導體之一第二子模板可自動被分配一比值1,並且等於只佈線諸如數字信號線的窄導體的之一第三子模板的比值。因此,對於這兩個子模板,子模板比值在工具內自動產生為2:1:1(參見圖28的描述)。
圖18為根據本發明一實施例,在識別出與一預定子模板比值相關聯的頂點之後,描繪先前描繪在圖17中的地磚1430、1435的簡化示例佈局1800。佈局1800包括與佈局1700相同的元素和功能,除以下例外。同時參閱圖17和18,該工具選擇橫線段,以新增頂點。因為該預定子模板數目為三個,所以該工具將新增兩個額外的頂點,名稱上歸納為頂點P1和頂點P2(請勿與先前描述的頂點相同名稱混淆)。頂點A7被歸納為頂點A,頂點P23被歸納為頂點B.
同時參閱圖16和18,流程圖230描繪了該工具在步驟1625中根據一子佈線區之一第一橫向邊,如,之一第一長度,如兩單位,與另一子佈線區之一第二橫線邊,如,之一第二長度,如一單位,之預定子模板比值,如 2:1:1,劃分該第二區域部份,即以頂點A7、P23,P27、P26為特徵之區域,以形成將該第二部份分成第四部份與第五部份(圖20中示出)的一縱向線段。該第一橫向邊與該第二橫邊是共線的。換句話說,P1和P2按照::= 2 : 1 : 1定義的預定子模板比值在橫向線段設置。
圖19為根據本發明一實施例,在標註頂點A、P1、P2、B之後,描繪先前描繪在圖18中的佈局1800的的簡化示例性佈局1900。佈局1900包括與佈局1800相同的元素和功能,除以下例外。同時參閱圖18和19,佈局1900包括與佈局1800相同的元件和功能,除以下例外。工具接下來分別將頂點A、P1、P2、B分別標註為L0、L1、L2、L3,並選擇另一個橫向線段,如來評估。
程序#2.2。如果選擇的終端邊緣或橫向線段,如,,在一單一障礙頂點P34處被劃分為至少兩個共線橫向線段,如,,,則執行以下步驟。頂點P26被歸納為頂點A,頂點P34被歸納為頂點O,頂點P27被歸納為頂點B。應注意的是,橫向線段和對應於相同的子模板,因為它們可以在由頂點L0、L3、B、A(從頂點點A7、P23、P27、P26重新命名)為特徵且仍然需要被一縱向線段劃分的一區域中連接而沒有任何障礙。頂點O將為的一個分割頂點。縱向線段將由該工具選擇集合{L0,L1,L2,L3}中滿足MINIMUM of ABS(/-/)的一個頂點Lx確定,在本例中選擇Lx = L1。
圖20為根據本發明一實施例,在使用結束於多個障礙頂點O其中一頂點之一縱向線段,劃分由頂點L0、L3、B、A(從頂點A7、P23、P27、P26重新命名)為特徵的第二區域部份後,描繪先前描繪在圖19中的佈局1900的簡化示例性佈局2000。佈局2000包括與佈局1900相同的元素和功能,除以下例外。同時參閱圖16和20,流程圖230描繪了該工具在步驟1630中根據障礙頂點O其中之一對該第二區域部份,意即L0、L3、B、A為特徵的區域,進行劃分以形成將該第二區域部份劃分成第四區域部份和第五區域部份,即分別為區域2005及區域2010的一縱向線段。區域2005的特徵在於頂點L0、L1、O、A,而區域2010的特徵在於頂點L1、L3、B、O。如上所述,縱向線段的一端設置在障礙頂點O其中一個.
圖21為根據本發明一實施例,根據預定的第二比值,以另一個縱向線段將以頂點L0、L3、B、A(從頂點A7、P23、P27、P26重新命名)為特徵的該第二區域部份進一步劃分後,描繪先前在圖20中描繪的佈局2000的簡化示例性佈局2100。同時參閱圖20和21,佈局2100包括與佈局2000相同的元件和功能,除以下例外。對於橫向線段,該工具使用上述過程,其中預定的子模板比值根據比例:= 1 : 1來決定一新頂點P1在橫向線段上的的配置。換句話說,預定子模板比值等於一邊緣長度與一邊緣長度的一比值,其中一個過多頂點P1連接在邊緣和邊緣之間。
應注意的是,在該示例中,區域2005可以被分配為三個子模板的一個子模板2105中的一子地磚,如較淺的實心灰色圖案所示,而不是未分配的模板區域中的較暗的實心灰色填充圖案,如區域2005。還要注意的是,區域2010現在被劃分為區域2115和區域2120。區域2115可以被指派為三個子模板的一第二子模板2115中的一子地磚,如對角線交叉陰影填充圖案所示。區域2120可以被指派為三個子模板的一第三子模板2120中的一子地磚,如水平/垂直交叉陰影填充圖案所示。
圖22為根據本發明一實施例,在一第二次標註以頂點L0、L3、B、A(從頂點A7、P23、P27、P26重命名)為特徵的第二區域部份後,描繪先前描繪在圖21中的佈局2100的簡化示例性佈局2200。同時參閱圖21和22,佈局2200包括與佈局2100相同的元件和功能,除以下例外。該工具接下來將頂點A、O、P1、B分別標註為L0、L1、L2、L3,並選擇下一個橫向線段進行評估,如。
程序#2.3。如果一選取的終端邊緣或橫向線段由一障礙1405分成至少兩個分離的橫向線段,例如,則執行以下步驟。頂點P28、P29、P36、P24分別被歸納為相關的頂點A、B、C、D。
圖23為根據本發明一實施例,在使用圍繞著障礙1405另一縱向線段,更進一步分割以頂點L0、L1、B、A(從頂點P26、P34、P29、P28重新命名)為特徵的第二區域部份及以頂點L1、L3、D、C(從頂點P34、P27、P24、P36重命名)為特徵的區域部份,描繪先前描繪在圖22中的佈局2200的簡化示例性佈局2300。同時參閱圖22和23,佈局2300包括與佈局2200相同的元件和功能,除以下例外。該工具分別確定橫向線段,如何對應於哪個子模板。橫向線段對應於橫向線段,因為沒有其他障礙頂點。橫向線段對應於橫向線段,因為沒有其他障礙頂點。對於,,該工具遵循步驟#2.2,以確定頂點P1的位置,使得比例:= 1 : 1。如上所述的填充圖處所示,三個所得到的子地磚將分配至三個子模板2105、2115、2120。
圖24為根據本發明一實施例,使用多個縱向線段圍繞著第二障礙1415更進一步分割地磚1430、1435後,描繪先前描繪在圖23中的佈局2300的簡化示例性佈局2400。同時參閱圖23和24,佈局2400包括與佈局2300相同的元件和功能,除以下例外。工具繼續迭代地重複步驟#2.1,#2.2,#2.3選擇橫向線段,產生新的縱向線段並將所得到的子地磚分配給用上述填充代碼描繪的三個子模板2105、2115、2120直到具有頂點L0、L1、L2的橫向線段。橫向線段,已被選擇來進行評估。三個子模板2105、2115、2120避免障礙1405並開始繞過障礙1415。
圖25為根據本發明一實施例,使用圍繞著第二障礙1415多個縱向線段之一更進一步分割地磚1430、 1435後,描繪先前描繪在圖24中的佈局2400的簡化示例性佈局2500。同時參閱圖24和25,佈局2500包括與佈局2400相同的元件和功能,除以下例外。工具繼續迭代地選擇重複步驟#2.1,#2.2,#2.3選擇橫向線段,生成新的縱向線段並將所得到的子地磚分配給用上述填充代碼描繪的三個子模板2105、2115、2120直到到具有頂點A、P1、B、C的橫向線段。三個子模板2105、2115、2120避免障礙1405以及障礙1415,使得沒有子模板包括任何障礙區域。
圖26為根據本發明一實施例,在完成將瓷磚1430、1435分成三個子模板2105、2115、2120之後,描繪先前描繪在圖25中的佈局2500的簡化示例佈局2600。同時參閱圖25和26,佈局2600包括與佈局2500相同的元件和功能,除以下例外。該工具已經完成連接所有小四邊形或子地磚以形成地磚1430、1435的特定子模板,同時確保沒有子模板包含任何障礙1405、1415、1410。
圖27為根據本發明一實施例,在將佈局1500分成三個子模板2105、2115、2120之後,描繪先前描繪在圖15中的佈局1500的簡化示例性佈局2700。同時參閱圖2、15、26和27,佈局2700包括與佈局1500和佈局2600相同的元件和功能,除以下例外。如果步驟220中確定要製造子佈線模板,則該該工具在步驟230中分解佈線區,例如佈局1500,成多個子佈線模板2105、2115、2120,其中每個子佈線模板不包括一個或多個障礙1405、1415、1410中的任何一障礙。該工具已經完成了連接佈局1500所有原始地磚中的所有小四邊形或片子地磚以形成地磚1430、1435的特定子模板,同時確保沒有子模板包含任何障礙1405、1415、1410。
圖28為根據本發明一實施例,在使用三個子模板2105、2115、2120將多個導體2805、2810、2815、2820進行佈線之後,描繪先前描繪在圖27中的佈局2700的簡化示例性佈局2800。同時參閱圖2、 15、27和28,佈局2800包括與佈局1500和佈局2800相同的元件和功能,除以下例外。在分解步驟230之後,該工具使用原始頂點的一部份以及新增之一個或多個輔助頂點在每個子佈線模板2105、2115、2120中對該至少一導體2805、2810、2815、2820進行一閘道模型佈線(GMR)。該佈線還使用了上述多個新增的橫向和縱向線段。所有的橫向線段作為閘道。
原始佈線區透過輔助頂點A7自動平衡。此外,每個子佈線模板可被派定不同的佈線參數。例如,子佈線模板2105被設置為將兩個導體2805、2810從包括起始齒2820的起始齒1420自動佈線到終端齒1425。導體2805、2810是用於佈局2800的閘道模型佈線中最寬的導體。同時,子佈線模板2115被設置為將一個中等寬度的導體2815自動地從起始齒1420佈線到包括終端齒2825的終端齒1425。同時,子佈線模板2120被設置為自動地將一個窄寬度導體2820從起始齒1420佈線到終端齒1425。因此,障礙1405、1415、1410周圍的佈線問題被解決了,因為每個子佈線模板2105、2115、2120均排除任何障礙區域,且使用者同時能夠針對原始閘道模型佈線模板下的分層的各個子佈線模板來指定不同的佈線模式或限制條件。結果是改善的閘道模型佈線佈線流程和平板顯示器(FPD)佈局生產率。
可選擇地,如果在步驟210中原始佈線模板已初步平衡,則該工具可以執行步驟230對佈線區進行分解,然後執行步驟245如上所述針對每一子佈線區域中至少一導體進行一閘道模型佈線(GMR),但不使用用來平衡佈線模板所需的輔助頂點。
圖29為可包含本發明實施例的一電腦系統之一方塊圖。圖29僅為本發明一實施例的說明,它並未限制描述於權利要求項中發明的範圍。本領域的普通技術人員可辨認出其它的變型、修改、和替換。
在一實施例中,電腦系統2900通常包括一個顯示器2910、一個電腦2920、使用者輸出裝置2930、使用者輸入裝置2940、通訊介面2950,和類似的裝置。
如圖29所顯示,電腦2920會包括一個處理器2960透過一個匯流排子系統2990與許多周邊裝置溝通。這些周邊裝置可包括使用者輸出裝置2930、使用者輸入裝置2940、通訊介面2950和一個儲存子系統,像是隨機存取記憶體(RAM) 2970和磁碟機2980。
使用者輸出裝置2930,包括所有可能用以輸入資訊至電腦系統2920的裝置和機制。這些裝置包括一個鍵盤、一個輔助鍵盤、一個與顯示幕結合的觸碰螢幕、聲音輸入裝置,像是語音辨識系統、麥克風和其他型式的輸入裝置。在不同的實施例中,使用者輸出裝置2930通常以一個電腦滑鼠、一個軌跡球、一個軌跡板、一個搖桿、無線搖控器、繪圖板、語音控制系統、眼球追蹤系統,和其他類似的裝置具體化。使用者輸出裝置2930通常允許一個使用者,透過一個命令像是按下一個按鈕的類似動作,來選取出現在顯示器2910上的物件、圖像、文字。
使用者輸入裝置2940,包括所有能夠自電腦2920輸出資訊的可能裝置和機制。這些裝置包括一個顯示器(例如,顯視器2910)、非視覺的顯示器,像是語音輸出裝置等。
通訊介面2950提供一個介面給其他通訊網絡連線和裝置。通訊介面2950可做為自其他系統接收資料和傳送資料給其他系統的一個介面。多個實施例中的通訊介面2950一般包括一個Ethernet卡、一個數據機(電話、衛星、有線電視、ISDN)、(非同步)數字用戶線(DSL)單元、FireWire介面、USB介面、和其他類似介面。例如,通訊介面2950可耦合到一個電腦網絡連線、到一個FireWire匯流排、或其他類似裝置。在其他的實施例中,通訊介面2950會實體地與電腦2920的主機板整合,也可能是個軟體程式,像是DSL軟體或其他類似裝置。
在不同的實施例中,電腦系統2900還可包括透過像是HTTP、TCP/IP、RTP/RTSP 協定和其他類似軟體在一個網絡連線進行通訊的軟體。在本發明的替代實施例中,其他的通訊軟體和傳輸協定也可被使用,例如IPX、UDP或其他類似軟體。
在一些實施例中,電腦2920包括一個或多個來自Intel®的Xeon®微處理器,做為處理器2960。更在一實施例中,電腦2920包括一個以UNIX為基礎的作業系統。
隨機存取記憶體(RAM) 2970和磁碟機2980均為實體媒介的範例,它們會被設定來儲存資料,像是本發明的多個實施例,包括可執行的電腦程式碼、人類可讀程式碼,和其他類似資料。其他形式的實體媒介包括軟式磁碟、可移動式硬碟機、光學儲存媒介像是唯讀記憶光碟(CD-ROM)、數位多功能影音光碟(DVD)和條碼、半導體記憶體像是閃存記憶體、唯讀記憶體(ROM)、電池供電的揮發性記憶體、網絡連線儲存裝置,和其他類似裝置。隨機存取記憶體(RAM) 2970和磁碟機2980,可被設定儲存基本的程式設計和資料結構,以為本發明提供功能。
提供本發明功能的軟體程式碼模組和指令,會被儲存在RAM 2970和磁碟機2980之內。這些軟體模組可被處理器2960所執行。隨機存取記憶體(RAM)和磁碟機2980也可提供一貯存庫來儲存資料用於本發明上。
隨機存取記憶體(RAM) 2970和磁碟機2980會包括許多記憶體,包括一主要的隨機存取記憶體(RAM)來儲存程式執行時的指令和資料,以及一唯讀記憶體(ROM)來儲存固定的指令。這些指令會被處理器2960所讀取,當這些指令執行時,會使電腦執行在不同實施例中所描述的動作。隨機存取記憶體(RAM) 2970和磁碟機2980可包括一個檔案儲存子系統做為程式和資料檔案持續儲存(非揮發性)的地方。隨機存取記憶體(RAM) 2970和磁碟機2980也可包括可移動的儲存系統,像是可移動的閃存記憶體。
匯流排子系統2990提供一個機制,讓電腦2920不同的組件和子系統之間,可以依預設的方式彼此間進行通訊。雖然匯流排子系統2990在電路圖上以一個單一匯流排來顯示,不同實施例的匯流排子系統可能會使用多個匯流排。
圖29是能夠體現本發明一電腦系統的代表。對本領域普通技術人員明顯瞭解,有許多其他硬體和軟體設定均適合用於本發明。例如,電腦可以是桌上型、攜帶型、機架式或平板型式。除此之外,此電腦也可以是一連串的網絡連線電腦。更可預期使用其他的微處理器,像是Pentium™ 或 Itanium™微處理器;來自Advanced Micro Devices, Inc的Opteron™ 或AthlonXP™微處理器,和其他的類似微處理器。更可預期使用其他的作業系統,像是來自Microsoft Corporation 的Windows®、WindowsXP®、WindowsNT®Further或其他類似的作業系統,來自Sun Microsystems的Solaris,LINUX、UNIX,和其他類似的作業系統。在其他的實施例中,上述的技藝也可能實作在一個晶片或一個輔助處理機板中。
本發明的不同實施例,可以以邏輯形式於軟體或硬體或兩者的組合來實現。此邏輯可做為一組指令儲存於一電腦可讀或機器可讀的儲存媒介中,所述指令適於引導一電腦系統的一處理器去執行在本發明的實施例中揭露的一組步驟。此邏輯可形成適於引導一資訊處理裝置執行在本發明的實施例中揭露的一組步驟的一電腦程式產品產品之一部分。基於本文提供的公開內容和教導,本領域普通技術人員將理解實現本發明的其它方式和/或方法。
本文描述的數據結構和代碼可部份地或完全地存儲在一電腦可讀存儲媒介和/或一硬體模組和/或硬體設備上。電腦可讀存儲媒介包括但不限於揮發性記憶體、非揮發性記憶體、磁性及光學存儲器、諸如磁碟機、磁帶、光碟片(CD),數位多功能影音光碟(DVD)或現在已知或稍後開發的能夠存儲代碼和/或數據的其他媒介。 本文描述的硬體模組或裝置包括但不限於專用集成電路(ASIC)、現場可編程門陣列(FPGA)、專用或共享處理器和/或現在已知或以後開發的其他硬體模組或裝置。
本文描述的方法和過程可以部份地或完全體現為存儲在電腦可讀存儲媒介或裝置中的代碼和/或數據,使得當一電腦系統讀取和執行代碼和/或數據時,電腦系統執行相關的方法和過程。方法和過程也可以部分或完全體現在硬體模組或設備中,使得當硬體模組或設備被啟動時,它們執行相關聯的方法和過程。本文公開的方法和過程可使用代碼、數據和硬體模組或設備的一組合來實現。
本發明的上述實施例是說明性的,並非限制性的。各種選擇和等同物是可能的。儘管已經參考三個子模板作為一示例來描述本發明,但應當理解,本發明不受子模板的數目的限制。儘管已經參考具有某些形狀的原始模板作為一示例來描述本發明,但應當理解,本發明不受原始模板的形狀的限制。儘管已經參考具有某些形狀、位置或數目的障礙區域作為一示例來描述本發明,但應當理解,本發明不受障礙區域的形狀、位置或數量的限制。儘管已經參考具有某些閘道模型佈線約束的子模板作為一示例描述本發明,但應當理解,本發明不受閘道模型佈線約束的類型的限制。另外,本發明的技術和系統適用於各種用於設計,測試和/或製造系統的電子設計自動化(EDA)工具和方法,其特徵在於保存的、信號流和事件或數字方程式之一組合。因此,本發明的範圍不應參照上述描述來確定,而是應參考未決權利要求及其全部範圍或等同物來確定。
100‧‧‧產品構想
110‧‧‧電子設計自動化軟體
112‧‧‧系統設計
114‧‧‧設計和功能驗證
116‧‧‧合成和設計
118‧‧‧網表驗證
120‧‧‧設計規劃
122‧‧‧實體實現
124‧‧‧分析和提取
126‧‧‧實體驗證
128‧‧‧解析度提升
130‧‧‧掩模數據準備
140‧‧‧下線
150‧‧‧製造步驟
160‧‧‧組裝步驟
170‧‧‧平板顯示器
235‧‧‧閘道模型佈線
300‧‧‧第一佈線區
310‧‧‧頂點
320‧‧‧頂點
330‧‧‧起始齒
340‧‧‧終端齒
410‧‧‧複數個線段
415‧‧‧原始頂點
425‧‧‧第一線段
500‧‧‧佈局
600‧‧‧佈局
700‧‧‧佈局
800‧‧‧佈局
900‧‧‧佈局
1000‧‧‧第二佈線區
1100‧‧‧佈局
1200‧‧‧佈局
1300‧‧‧佈局
1400‧‧‧第三佈線區
1405‧‧‧障礙
1410‧‧‧障礙
1415‧‧‧障礙
1420‧‧‧起始齒
1425‧‧‧終端齒
1430‧‧‧地磚
1435‧‧‧地磚
1500‧‧‧佈局
1605‧‧‧步驟
1700‧‧‧佈局
1705‧‧‧共線延伸部
1710‧‧‧共線延伸部
1715‧‧‧點
1720‧‧‧共線延伸部
1800‧‧‧佈局
1900‧‧‧佈局
2000‧‧‧佈局
2005‧‧‧第四區域部份
2100‧‧‧佈局
2105‧‧‧子佈線模板
2010‧‧‧第五區域部份
2115‧‧‧子佈線模板
2120‧‧‧子佈線模板
2200‧‧‧佈局
2300‧‧‧佈局
2400‧‧‧佈局
2500‧‧‧佈局
2600‧‧‧佈局
2700‧‧‧佈局
2800‧‧‧佈局
2805‧‧‧導體
2810‧‧‧導體
2815‧‧‧導體
2820‧‧‧導體
2825‧‧‧終端齒
2900‧‧‧電腦系統
2910‧‧‧顯示器
2920‧‧‧電腦
2930‧‧‧輸出裝置
2940‧‧‧輸入裝置
2950‧‧‧通訊介面
2960‧‧‧處理器
2970‧‧‧隨機存取記憶體
2990‧‧‧匯流排子系統
2980‧‧‧磁碟機
A‧‧‧頂點
B‧‧‧頂點
C‧‧‧頂點
D‧‧‧頂點
A1‧‧‧輔助頂點
A2‧‧‧輔助頂點
A3‧‧‧輔助頂點
A4‧‧‧輔助頂點
A5‧‧‧輔助頂點
A6‧‧‧輔助頂點
A7‧‧‧輔助頂點
L0‧‧‧頂點
L1‧‧‧頂點
L2‧‧‧頂點
L3‧‧‧頂點
O‧‧‧頂點
P1‧‧‧原始頂點
P2‧‧‧原始頂點
P3‧‧‧原始頂點
P4‧‧‧原始頂點
P5‧‧‧原始頂點
P6‧‧‧原始頂點
P7‧‧‧原始頂點
P8‧‧‧原始頂點
P9‧‧‧原始頂點
P10‧‧‧原始頂點
P14‧‧‧頂點
P15‧‧‧頂點
P16‧‧‧頂點
P17‧‧‧頂點
P18‧‧‧頂點
P19‧‧‧頂點
P20‧‧‧頂點
P21‧‧‧頂點
P22‧‧‧頂點
P23‧‧‧頂點
P24‧‧‧頂點
P25‧‧‧頂點
P26‧‧‧頂點
P27‧‧‧頂點
P28‧‧‧頂點
P29‧‧‧頂點
P30‧‧‧頂點
P31‧‧‧頂點
P32‧‧‧頂點
P33‧‧‧頂點
P34‧‧‧頂點
P35‧‧‧頂點
P36‧‧‧頂點
T11‧‧‧頂點
T12‧‧‧頂點
T13‧‧‧頂點
T16‧‧‧頂點
T17‧‧‧頂點
T18‧‧‧頂點
T19‧‧‧頂點
T333‧‧‧相對端
T343‧‧‧相對端
T337‧‧‧相對端
T347‧‧‧相對端
110‧‧‧電子設計自動化軟體
112‧‧‧系統設計
114‧‧‧設計和功能驗證
116‧‧‧合成和設計
118‧‧‧網表驗證
120‧‧‧設計規劃
122‧‧‧實體實現
124‧‧‧分析和提取
126‧‧‧實體驗證
128‧‧‧解析度提升
130‧‧‧掩模數據準備
140‧‧‧下線
150‧‧‧製造步驟
160‧‧‧組裝步驟
170‧‧‧平板顯示器
235‧‧‧閘道模型佈線
300‧‧‧第一佈線區
310‧‧‧頂點
320‧‧‧頂點
330‧‧‧起始齒
340‧‧‧終端齒
410‧‧‧複數個線段
415‧‧‧原始頂點
425‧‧‧第一線段
500‧‧‧佈局
600‧‧‧佈局
700‧‧‧佈局
800‧‧‧佈局
900‧‧‧佈局
1000‧‧‧第二佈線區
1100‧‧‧佈局
1200‧‧‧佈局
1300‧‧‧佈局
1400‧‧‧第三佈線區
1405‧‧‧障礙
1410‧‧‧障礙
1415‧‧‧障礙
1420‧‧‧起始齒
1425‧‧‧終端齒
1430‧‧‧地磚
1435‧‧‧地磚
1500‧‧‧佈局
1605‧‧‧步驟
1700‧‧‧佈局
1705‧‧‧共線延伸部
1710‧‧‧共線延伸部
1715‧‧‧點
1720‧‧‧共線延伸部
1800‧‧‧佈局
1900‧‧‧佈局
2000‧‧‧佈局
2005‧‧‧第四區域部份
2100‧‧‧佈局
2105‧‧‧子佈線模板
2010‧‧‧第五區域部份
2115‧‧‧子佈線模板
2120‧‧‧子佈線模板
2200‧‧‧佈局
2300‧‧‧佈局
2400‧‧‧佈局
2500‧‧‧佈局
2600‧‧‧佈局
2700‧‧‧佈局
2800‧‧‧佈局
2805‧‧‧導體
2810‧‧‧導體
2815‧‧‧導體
2820‧‧‧導體
2825‧‧‧終端齒
2900‧‧‧電腦系統
2910‧‧‧顯示器
2920‧‧‧電腦
2930‧‧‧輸出裝置
2940‧‧‧輸入裝置
2950‧‧‧通訊介面
2960‧‧‧處理器
2970‧‧‧隨機存取記憶體
2990‧‧‧匯流排子系統
2980‧‧‧磁碟機
A‧‧‧頂點
B‧‧‧頂點
C‧‧‧頂點
D‧‧‧頂點
A1‧‧‧輔助頂點
A2‧‧‧輔助頂點
A3‧‧‧輔助頂點
A4‧‧‧輔助頂點
A5‧‧‧輔助頂點
A6‧‧‧輔助頂點
A7‧‧‧輔助頂點
L0‧‧‧頂點
L1‧‧‧頂點
L2‧‧‧頂點
L3‧‧‧頂點
O‧‧‧頂點
P1‧‧‧原始頂點
P2‧‧‧原始頂點
P3‧‧‧原始頂點
P4‧‧‧原始頂點
P5‧‧‧原始頂點
P6‧‧‧原始頂點
P7‧‧‧原始頂點
P8‧‧‧原始頂點
P9‧‧‧原始頂點
P10‧‧‧原始頂點
P14‧‧‧頂點
P15‧‧‧頂點
P16‧‧‧頂點
P17‧‧‧頂點
P18‧‧‧頂點
P19‧‧‧頂點
P20‧‧‧頂點
P21‧‧‧頂點
P22‧‧‧頂點
P23‧‧‧頂點
P24‧‧‧頂點
P25‧‧‧頂點
P26‧‧‧頂點
P27‧‧‧頂點
P28‧‧‧頂點
P29‧‧‧頂點
P30‧‧‧頂點
P31‧‧‧頂點
P32‧‧‧頂點
P33‧‧‧頂點
P34‧‧‧頂點
P35‧‧‧頂點
P36‧‧‧頂點
T11‧‧‧頂點
T12‧‧‧頂點
T13‧‧‧頂點
T16‧‧‧頂點
T17‧‧‧頂點
T18‧‧‧頂點
T19‧‧‧頂點
T333‧‧‧相對端
T343‧‧‧相對端
T337‧‧‧相對端
T347‧‧‧相對端
參考以下詳細描述和附圖,可以更好地理解本發明實施例的性質和優點。 圖1描繪了一積體電路(IC)或是平板顯示器(FPD)設計和製造過程的簡化示例性步驟。 圖2為根據本發明一實施例之使用一電子設計自動化(EDA)工具通過在一平的表面上之一佈線區佈線多個之導體,描繪的一簡化示例性流程圖。 圖3為根據本發明一實施例,原始頂點分成兩組頂點後,描繪的一第一佈線區之一簡化示例性佈局圖。 圖4為根據本發明一實施例,描繪決定先前描繪在圖2中之輔助頂點位置之一簡化示例性流程圖。 圖5為根據本發明一實施例,在選定一候選橫向線段後,描繪先前描繪在圖3中的佈局之簡化示例性佈局。 圖6為根據本發明一實施例,在識別多個橫向線段後,描繪先前描繪在圖5中的佈局之簡化示例性佈局。 圖7為根據本發明一實施例,在識別出相關於該多個橫向線段中之一橫向線段之角度後,描繪先前描繪在圖6中的佈局之簡化示例性佈局。 圖8為根據本發明一實施例,在識別出多個橫向線段後,描繪先前描繪在圖7中的佈局之簡化示例性佈局。 圖9為根據本發明一實施例,在識別出多個輔助頂點及附加之橫向線段後,先前描繪在圖8中的佈局之簡化示例性佈局。 圖10為根據本發明一實施例,描繪具有問題橫向線段之一第二佈線區之一簡化示例性布局。 圖11為根據本發明一實施例,在解決橫線段問題之的一第一步驟後,描繪先前描繪在圖10中的第二佈線區之一簡化示例性佈局。 圖12為根據本發明一實施例,在移動問題橫向線段中較短之橫向線段後,描繪先前描繪在圖7中的佈局之一簡化示例性之局。 圖13為根據本發明一實施例,在移動問題橫向線段中較長之橫向線段,並解決先前問題後,描繪先前描繪在圖12中的佈局之一簡化示例性佈局。 圖14為根據本發明一實施例,描繪包括多個障礙形狀之一第三佈線區的一簡化示例性佈局。 圖15為根據本發明一實施例,描繪先前描繪在圖14中的該第三佈線區之佈局在平衡後之簡化示例性佈局。 圖16為根據本發明一實施例,用於將先前描繪在圖2中的佈線區分解成多個子佈線區,描繪之一簡化示例性流程圖。 圖17為根據本發明一實施例,在將該第三佈線區之部分用橫向線段劃分後,描繪先前描繪在圖15中的該第三佈線區之一部份之簡化示例性佈局。 圖18為根據本發明一實施例,在識別出相關於一預設子模板比值之頂點後,描繪先前描繪在圖17中的地磚之簡化示例性佈局。 圖19為根據本發明一實施例,在標示頂點之後,描繪先前描繪在圖18中的佈局的簡化示例性佈局。 圖20為根據本發明一實施例,在該區域部份被結束於該多個障礙其中一障礙之一縱向線段劃分後,描繪先前描繪在圖19中的佈局的簡化示例性佈局。 圖21為根據本發明一實施例,按照第二預設比值,使用另一縱向線段更進一步劃分區域部份後,描繪先前描繪在圖20中的佈局的簡化示例性佈局。 圖22為根據本發明一實施例,在該區域部份第二次標註後,描繪先前描繪在圖21中的佈局的簡化示例性佈局。 圖23為根據本發明一實施例,在使用圍繞著一第一障礙的另外縱向線段,更進一步劃分第二區域部份後,描繪先前描繪在圖22中的佈局的簡化示例性佈局。 圖24為根據本發明一實施例,在使用圍繞著一第二障礙多個縱向線段及一第三標註更進一步劃分該些地磚後,描繪先前描繪在圖23中的佈局的簡化示例性佈局。 圖25為根據本發明一實施例,在使用一多個縱向線段之一繞著第二障礙更進一步劃分地磚後,描繪先前描繪在圖24中的佈局的簡化示例性佈局。 圖26為根據本發明一實施例,在將瓷磚分解成三個子模板之後,描繪先前描繪在圖25中的佈局的簡化示例佈局。 圖27為根據本發明一實施例,在將該第三佈線區分解成三個子模板之後,描繪先前描繪在圖15中的該第三佈線區的簡化示例性佈局。 圖28為根據本發明一實施例,在使用三個子模板將一多個導體進行佈線後,描繪先前描繪在圖27中的佈局的簡化示例性佈局。 圖29可包括本發明實施例之一電腦系統的一方塊圖。
Claims (46)
- 一種用於通過在一平的表面上之一第一佈線區佈線複數個導體的電腦實施方法,該方法包含:當該電腦被調用以執行佈線時,使用該電腦接收代表被相對的兩個縱側所界定之第一佈線區的資料,其中該相對的兩個縱側中之每一側具有一不同數目之複數個第一頂點,且該第一佈線區具有一個或多個障礙;使用該電腦,在該相對的兩個縱側之至少一側上決定一個或多個位置以新增一個或多個第二頂點;使用該電腦,將該第一佈線區分解成複數個第二佈線區,該複數個第二佈線區中的每一佈線區皆不包含該一個或多個障礙之任一障礙;以及使用該電腦,利用該複數個第一頂點以及該新增之一個或多個第二頂點在該複數個第二佈線區中之每一佈線區對該複數個導體進行一閘道模型佈線(GMR)。
- 如申請專利範圍第1項所述之方法,更包括轉換該第一佈線區之資料以使該相對的兩個縱側中之每一側具有一相同數目之該複數個第一頂點以及該新增之一個或多個第二頂點。
- 如申請專利範圍第1項所述之方法,其中該複數個第一頂點中之每一頂點以及該一個或多個第二頂點中之每一頂點皆不設置於該相對的兩個縱側其中一側之一終點上。
- 如申請專利範圍第3項所述之方法,更包含將該複數個第一頂點分離成設置於該相對的兩個縱側之一第一側上之一第一複數個頂點以及設置於該相對的兩個縱側之一第二側上之一第二複數個頂點,所述第一側與所述第二側相對設置。
- 如申請專利範圍第4項所述之方法,更包含產生連接於該第一複數個頂點中之一頂點以及該第二複數個頂點中之一頂點之間的一第一線段,其中該第一線段相關聯於由所述第一線段與鄰接所述第一線段的所述相對的兩個縱側其中之一的至少一邊緣之間所形成的一最小角度。
- 如申請專利範圍第4項所述之方法,更包含產生連接於該第一複數個頂點中之一頂點以及該第二複數個頂點中之一頂點之間的一第一線段,其中該第一線段緊鄰於該第一複數個頂點中最接近該第二複數個頂點其中之一頂點的一頂點。
- 如申請專利範圍第4項所述之方法,更包含產生連接於該第一複數個頂點中之一頂點以及該第二複數個頂點中之一頂點之間的一第一線段,其中該第一線段由小於最接近該第二複數個頂點其中之一頂點的該第一複數個頂點中的一頂點之間的距離兩倍之一長度所定義。
- 如申請專利範圍第4項所述之方法,更包含:產生複數個線段,每一線段連接於一不同對的該第一複數個頂點中之一頂點及該第二複數個頂點中之一頂點之間;找出該複數個第一頂點中保持未連接於先前產生該複數個線段中任何一線段之至少一未連接頂點,其中該至少一未連接之頂點設置於該第一側上;將該一個或多個第二頂點新增至該第二側上;以及產生連接於該至少一未連接頂點與該一個或多個第二頂點間的一第一線段。
- 如申請專利範圍第8項所述之方法,其中該第一線段設置在先前產生的該複數個線段之一緊鄰對之間但不相交於該緊鄰對。
- 如申請專利範圍第8項所述之方法,其中根據閘道模型佈線,該第一線段與一閘道相關聯。
- 如申請專利範圍第8項所述之電腦實施方法,其中用於新增該一個或多個第二頂點之一個或多個位置是根據一第一邊緣的長度和一第二邊緣的長度的一第一比值來設置,其中該至少一未連接頂點連接於該第一邊緣和該第二邊緣之間。
- 如申請專利範圍第11項所述之電腦實施方法,其中該第一比值等於一第三邊緣的之長度和一第四邊緣之一長度的一第二比值,其中該一個或多個第二頂點連接於該第三邊緣和該第四邊緣之間。
- 如申請專利範圍第1項所述之電腦實施方法,其中根據與該複數個導體中之一導體相關的一預定特徵執行分解,其中該複數個導體與該複數個第二佈線區中的一佈線區相關聯。
- 如申請專利範圍第1項所述之電腦實施方法,其中根據該複數個第二佈線區中一佈線區之一第一橫向邊的一第一長度與另一佈線區之一第二橫向邊之一第二長度的一預定比值來執行分解,其中該第一橫向邊和該第二橫向邊是共線的。
- 如申請專利範圍第1項所述之電腦實施方法,其中該一個或多個障礙其中一個被一第一複數個頂點所定義,該方法更包含:根據該第一複數個頂點中之至少一頂點的一位置來劃分該第一佈線區的一第一部份,以便形成將該第一部份分成一第二部份和一第三部份的一橫向線段,其中該橫向線段不穿過該一個或多個障礙中任何一個的一內部。
- 如申請專利範圍第15項所述之電腦實施方法,其中劃分該第一佈線區的該第一部份將形成複數個橫向線段,其中該複數個橫向線段中之每一個包括設置在該第一複數個頂點中一個不同頂點的一點,其中該複數個橫向線段中沒有一個橫線段穿過該一個或多個障礙中任一障礙的一內部。
- 如申請專利範圍第15項所述之電腦實施方法,其中該第一部份由一第一橫向邊與相對該第一橫向邊的一第二橫向邊所界定,其中當該第二橫向邊設置成平行於第一橫向邊時,該橫向線段設置成平行於該第一橫向邊。
- 如申請專利範圍第15項所述之電腦實施方法,其中該第一部份由一第一橫向邊與相對該第一橫向邊的一第二橫向邊所界定,其中,當該第一橫向邊的一第一共線延伸部與該第二橫向邊的一第二共線延伸部在一第一點相交時,則該橫向線段被設置成使得該橫向線段的一第三共線延伸部與該第一點相交。
- 如申請專利範圍第15項所述之電腦實施方法,其中該橫向線段的一部份在閘道模型布線執行期間為一閘道。
- 如申請專利範圍第15項所述之電腦實施方法,更包含:根據該第一複數個頂點中之一頂點劃分該第二部份,以形成劃分該第二部份的一縱向線段,其中該縱向線段的一第一端設置在該第一複數個頂點中之一頂點。
- 如申請專利範圍第15項所述之電腦實施方法,更包含:根據該複數個第二佈線區中一佈線區中之一第一橫向邊的一第一長度與另一佈線區之一第二橫向邊之一第二長度的一預定比值劃分該第二部份,以形成劃分該第二部份的一縱向線段,其中該第一橫向邊和該第二橫向邊是共線的。
- 一種用於通過在一平的表面上之一佈線區佈線複數個導體的電腦實施方法,該方法包括:當該電腦被調用以執行佈線時,使用該電腦接收代表該被相對的兩個縱側所界定之佈線區的資料,其中該相對的兩個縱側中之每一側具有一不同數目之複數個第一頂點;使用該電腦,在該相對的兩個縱側之至少一側上決定一個或多個位置以新增一個或多個第二頂點;以及使用該電腦,利用該複數個第一頂點以及所新增之一個或多個第二頂點在該佈線區中對該複數個導體進行一閘道模型布線(GMR)。
- 一種用於通過在一平的表面上之一第一佈線區佈線複數個導體的電腦實施方法,該方法包括:當該電腦被調用以執行佈線時,使用該電腦接收包含一個或多個障礙該第一佈線區的資料;使用該電腦,將該第一佈線區分解成複數個第二佈線區,該複數個第二佈線區中的每個佈線區不包含該一個或多個障礙中之任一障礙;以及使用該電腦,在該複數個第二佈線區中之每一佈線區進行一閘道模型布線(GMR)。
- 一種用於通過在一平的表面上之一第一佈線區佈線複數個導體的系統,該系統被設置以:當該電腦被調用以執行佈線時,接收代表該被相對的兩個縱側所界定之第一佈線區的資料,其中該相對的兩個縱側中之每一側具有一不同數目之複數個第一頂點,且該第一佈線區包括一個或多個障礙;在該相對的兩個縱側之至少一側上決定一個或多個位置以新增一個或多個第二頂點;將該第一佈線區分解成複數個第二佈線區,該複數個第二佈線區中的每個佈線區皆不包含該一個或多個障礙之任一障礙;以及利用該複數個第一頂點以及所新增之一個或多個第二頂點,對在該第一佈線區中之該複數個導體進行一閘道模型布線(GMR)。
- 如申請專利範圍第24項所述之系統,更被設置以轉換該代表該第一佈線區之資料以使該相對的兩個縱側中之每一側具有一相同數目之該複數個第一頂點以及該新增之一個或多個第二頂點。
- 如申請專利範圍第24項所述之系統,其中該複數個第一頂點中之每一頂點以及該一個或多個第二頂點中之每一頂點皆不設置於該相對的兩個縱側其中一側之一終點上。
- 如申請專利範圍第24項所述之系統,更被設置為將該複數個第一頂點分離成設置於該相對的兩個縱側之一第一側上之一第一複數個頂點以及設置於該相對的兩個縱側之一第二側上之一第二複數個頂點,所述第一側與所述第二側相對設置。
- 如申請專利範圍第27項所述之系統,更被設置以產生連接於該第一複數個頂點中之一頂點以及該第二複數個頂點中之一頂點之間的一第一線段,其中該第一線段相關聯於由所述第一線段與鄰接所述第一線段的所述相對的兩個縱側其中之一的至少一邊緣之間所形成的一最小角度。
- 如申請專利範圍第27項所述之系統,更被設置以產生連接於該第一複數個頂點中之一頂點以及該第二複數個頂點中之一頂點之間的一第一線段,其中該第一線段緊鄰於該第一複數個頂點中最接近該第二複數個頂點其中之一頂點的一頂點。
- 如申請專利範圍第27項所述之系統,更被設置以產生連接於該第一複數個頂點中之一頂點以及該第二複數個頂點中之一頂點之間的一第一線段,其中該第一線段由小於最接近該第二複數個頂點其中之一的該第一複數個頂點中的一頂點之間的距離兩倍之一長度所定義。
- 如申請專利範圍第27項所述之系統,更被設置以:產生複數個線段,每一線段連接於一不同對的該第一複數個頂點中之一頂點及該第二複數個頂點中之一頂點之間;找出該複數個第一頂點中保持未連接於先前產生該複數個線中任何一線段之至少一未連接頂點,該至少一未連接之頂點位於該第一側上;將該至少一個或多個第二頂點新增至該第二側上;以及產生連接於該至少一未連接頂點與該一個或多個第二頂點間的一第一線段。
- 如申請專利範圍第31項所述之系統,其中該第一線段設置在先前產生的該複數個線段之一緊鄰對之間但不相交於該緊鄰對。
- 如申請專利範圍第31項所述之系統,其中該第一線段根據閘道模型佈線與一閘道相關。
- 如申請專利範圍第31項所述之系統,其中用於新增該一個或多個第二頂點之一個或多個位置根據一第一邊緣的長度和一第二邊緣的長度的一第一比值來設置,其中該至少一未連接頂點連接於該第一邊緣和該第二邊緣之間。
- 如申請專利範圍第34項所述之系統,其中該第一比值等於一第三邊緣的之長度和一第四邊緣之一長度的一第二比值,其中該一個或多個第二頂點連接於該第三邊緣和該第四邊緣之間。
- 如申請專利範圍第24項所述之系統,其中該分解根據與該複數個導體中之一導體相關的一預定特徵執行,其中該複數個導體與該複數個第二佈線區中的一佈線區相關聯。
- 如申請專利範圍第24項所述之系統,其中該分解根據該複數個第二佈線區中一佈線區中之一第一橫向邊的一第一長度與一另一佈線區域中之一第二橫向邊之一第二長度的一預定比值來執行,其中該第一橫向邊和該第二橫向邊是共線的。
- 如申請專利範圍第24項所述之系統,其中該一個或多個障礙中任何一個被一第一複數個頂點所定義,該系統更被設置以:根據該第一複數個頂點中之至少一頂點的一位置來劃分該第一佈線區的一第一部份,以便形成將該第一部份分成一第二部份和一第三部份的一橫向線段,其中該橫向線段不穿過該一個或多個障礙中任何一個的一內部。
- 如申請專利範圍第38項所述之系統,其中劃分該第一佈線區的該第一部份將形成複數個橫向線段,其中該複數個橫向線段中之每一個橫向線段包括設置在該第一複數個頂點中一個不同的頂點的一點,其中該複數個橫向線段中沒有一個橫線段穿過該一個或多個障礙中任何一個的一內部。
- 如申請專利範圍第38項所述之系統,其中該第一部份由一第一橫向邊與相對該第一橫向邊的一第二橫向邊所界定,其中當該第二橫向邊設置成平行於第一橫向邊時,該橫向線段設置成平行於該第一橫向邊。
- 如申請專利範圍第38項所述之系統,其中該第一部份由一第一橫向邊與相對該第一橫向邊的一第二橫向邊所界定,其中當該第一橫向邊的一第一共線延伸部與該第二橫向邊的一第二共線延伸部在一第一點相交時,則該橫向線段被設置成使得該橫向線段的一第三共線延伸部與該第一點相交。
- 如申請專利範圍第38項所述之系統,其中該橫向線段的一部份在閘道模型佈線執行期間為一閘道。
- 如申請專利範圍第38項所述之系統,更被設置以:根據該第一複數個頂點中之一頂點劃分該第二部份,以形成劃分該第二部份的一縱向線段,其中該縱向線段的一第一端設置在該第一複數個頂點中之一頂點處。
- 如申請專利範圍第38項所述之系統,更被設置以:根據該複數個第二部線區中一佈線區中之一第一橫向邊的一第一長度與一另一佈線區中之一第二橫向邊之一第二長度的一預定比值劃分該第二部份,以形成劃分該第二部份的一縱向線段,其中該第一橫向邊和該第二橫向邊是共線的。
- 一種使用以通過在一平的表面上之一佈線區佈線複數個導體的電腦實施方法,該方法包括:當該電腦被調用以執行佈線時,使用該電腦接收代表該被相對的兩個縱側所界定之佈線區的資料,該相對的兩個縱側中之每一側具有一不同數目之複數個第一頂點;使用該電腦,在該相對的兩個縱側之至少一側上決定一個或多個位置以新增一個或多個第二頂點;以及使用該電腦,利用該複數個第一頂點以及所新增之一個或多個第二頂點在該佈線區中對該複數個導體進行一閘道模型布線(GMR)。
- 一種使用用於通過在一平的表面上之一第一佈線區佈線複數個導體的電腦實施方法,該方法包括:當該電腦被調用以執行佈線時,使用該電腦接收包含一個或多個障礙之該第一佈線區的資料;使用該電腦,將該第一佈線區分解成複數個第二佈線區,該複數個第二佈線區中的每個佈線區皆不包含該一個或多個障礙之任一障礙;以及使用該電腦,在該複數個第二佈線區中之每一佈線區進行一閘道模型佈線(GMR)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662338455P | 2016-05-18 | 2016-05-18 | |
US62/338,455 | 2016-05-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201802714A TW201802714A (zh) | 2018-01-16 |
TWI632476B true TWI632476B (zh) | 2018-08-11 |
Family
ID=60326227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106116493A TWI632476B (zh) | 2016-05-18 | 2017-05-18 | 建立閘道器模型子模板之系統與方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10990743B2 (zh) |
TW (1) | TWI632476B (zh) |
WO (1) | WO2017201343A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017201343A1 (en) * | 2016-05-18 | 2017-11-23 | Synopsys, Inc. | Creating gateway model routing sub-templates |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050181835A1 (en) * | 2004-02-13 | 2005-08-18 | Richard Lau | Service impact analysis and alert handling in telecommunications systems |
TWM383200U (en) * | 2009-09-17 | 2010-06-21 | Mao Bang Electronic Co Ltd | Stacked electronic circuit structure for chip |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5535292A (en) | 1993-12-30 | 1996-07-09 | University Of South Florida | VLSI architectures for polygon recognition |
US6324674B2 (en) * | 1998-04-17 | 2001-11-27 | Lsi Logic Corporation | Method and apparatus for parallel simultaneous global and detail routing |
US7124390B2 (en) * | 2003-07-25 | 2006-10-17 | Mentor Graphics Corporation | Generating a split power plane of a multi-layer printed circuit board |
US7779379B2 (en) * | 2006-06-12 | 2010-08-17 | Springsoft Usa, Inc. | Template-based gateway model routing system |
US9269189B1 (en) | 2012-10-03 | 2016-02-23 | Autodesk, Inc. | Conversion of T-spline models to trim-free T-spline models: functional case |
US9019267B2 (en) | 2012-10-30 | 2015-04-28 | Apple Inc. | Depth mapping with enhanced resolution |
US8990756B2 (en) * | 2012-11-22 | 2015-03-24 | Synopsys Taiwan Co., LTD. | Gateway model routing with slits on wires |
JP2014215941A (ja) * | 2013-04-30 | 2014-11-17 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 経路情報の処理方法、コンピュータ・プログラム及びコンピュータ。 |
US9066161B2 (en) | 2013-10-30 | 2015-06-23 | Airstone Labs, Inc. | Systems and methods for physical link routing |
US9970775B2 (en) * | 2013-11-21 | 2018-05-15 | Red Hat Israel, Ltd. | Determining alternative route by navigation system |
WO2017201343A1 (en) | 2016-05-18 | 2017-11-23 | Synopsys, Inc. | Creating gateway model routing sub-templates |
-
2017
- 2017-05-18 WO PCT/US2017/033415 patent/WO2017201343A1/en active Application Filing
- 2017-05-18 TW TW106116493A patent/TWI632476B/zh active
- 2017-05-18 US US16/302,594 patent/US10990743B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050181835A1 (en) * | 2004-02-13 | 2005-08-18 | Richard Lau | Service impact analysis and alert handling in telecommunications systems |
TWM383200U (en) * | 2009-09-17 | 2010-06-21 | Mao Bang Electronic Co Ltd | Stacked electronic circuit structure for chip |
Also Published As
Publication number | Publication date |
---|---|
TW201802714A (zh) | 2018-01-16 |
WO2017201343A1 (en) | 2017-11-23 |
US10990743B2 (en) | 2021-04-27 |
US20190294751A1 (en) | 2019-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107025320B (zh) | 考虑复杂着色规则的多重图案化布局分解 | |
US7380227B1 (en) | Automated correction of asymmetric enclosure rule violations in a design layout | |
TWI643082B (zh) | 一種佈線出一解決路徑之方法及系統 | |
JP2006259943A (ja) | 集積回路のレイアウト設計システム及びその方法並びにプログラム | |
US9208277B1 (en) | Automated adjustment of wire connections in computer-assisted design of circuits | |
CN114730353A (zh) | 使用具有金属线的单元进行电路设计 | |
CN114556352A (zh) | 用于执行自动布线的方法和系统 | |
US10902175B1 (en) | Cross-hierarchical block pin placement | |
TWI632476B (zh) | 建立閘道器模型子模板之系統與方法 | |
US9721056B2 (en) | Method for wire widening in circuit routing system | |
Liu et al. | Synergistic topology generation and route synthesis for on-chip performance-critical signal groups | |
US8296702B2 (en) | Rectilinear covering method with bounded number of rectangles for designing a VLSI chip | |
US20230351087A1 (en) | Using machine trained network during routing to modify locations of vias in an ic design | |
JP2008310562A (ja) | 回路シミュレーション用の抵抗網作成装置、及び抵抗網作成プログラム | |
US10885260B1 (en) | Fin-based fill cell optimization | |
Yan et al. | BSG-route: A length-constrained routing scheme for general planar topology | |
US20150302137A1 (en) | Expanded Canonical Forms Of Layout Patterns | |
TW201924013A (zh) | 孔柱結構及其製造的方法 | |
TW201030546A (en) | System and method of connecting a macro cell to a system power supply | |
US9293450B2 (en) | Synthesis of complex cells | |
JP2005235804A (ja) | 半導体装置の設計方法及びプログラム | |
US10372870B2 (en) | Homotopy optimized parasitic extraction | |
US20200134129A1 (en) | Capacitance extraction for floating metal in integrated circuit | |
JP5059657B2 (ja) | マクロ内端子配線を考慮したネットリストによって信号の遅延時間を予測する設計方法、及び、プログラム | |
JP4544631B2 (ja) | トランジスタモデル生成装置、および、トランジスタモデル生成方法 |