TWI803481B - 產生積體電路的電路模塊的佈局的方法,及其電腦程式產品、非暫時性儲存媒體,及積體電路 - Google Patents
產生積體電路的電路模塊的佈局的方法,及其電腦程式產品、非暫時性儲存媒體,及積體電路 Download PDFInfo
- Publication number
- TWI803481B TWI803481B TW107106756A TW107106756A TWI803481B TW I803481 B TWI803481 B TW I803481B TW 107106756 A TW107106756 A TW 107106756A TW 107106756 A TW107106756 A TW 107106756A TW I803481 B TWI803481 B TW I803481B
- Authority
- TW
- Taiwan
- Prior art keywords
- cell
- routing
- metal
- cells
- placement
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 239000002184 metal Substances 0.000 claims abstract description 277
- 238000013461 design Methods 0.000 claims abstract description 34
- 238000012512 characterization method Methods 0.000 claims description 24
- 238000007667 floating Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004519 manufacturing process Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000015572 biosynthetic process Effects 0.000 description 11
- 238000003786 synthesis reaction Methods 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 9
- 238000002955 isolation Methods 0.000 description 5
- 230000003071 parasitic effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 229940004975 interceptor Drugs 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
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/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
- 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/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- 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/12—Timing analysis or timing optimisation
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)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
描述了一種用於產生積體電路的電路模塊的佈局的電腦實施方法。該方法包括以下步驟:接收界定電路模塊的邏輯操作的輸入資料;及存取提供界定電路元件的複數個細胞元的細胞元庫,以參照輸入資料來判定要用來實施電路模塊的細胞元。接著藉由判定經判定的細胞元的位置及執行路由操作以判定要在複數個金屬層內提供以互連經判定的細胞元的路由路徑,來採用安置及路由工具以產生佈局。細胞元庫提供在至少一個金屬層中界定一或更多個多餘金屬區段的細胞元,該一或更多個多餘金屬區段需要符合設計規則但未由細胞元使用每個細胞元具有細胞元定義資料,且一或更多個細胞元的細胞元定義資料經佈置為將至少一個多餘金屬區段識別為可用於路由。在執行路由操作期間,安置及路由工具接著參照經判定的細胞元的細胞元定義資料,以便在判定路由路徑時針對路由考慮任何多餘金屬區段的可用性。這可顯著增加安置及路由工具在判定適當的路由路徑時可用的選項。
Description
本技術係關於積體電路的領域,且具體而言關於產生用於此類積體電路的電路模塊的佈局的技術。電路模塊可表示整個積體電路或積體電路內的組件。
在半導體積體電路的設計中,已知要提供自動化工具,該等自動化工具使用經計劃的電路模塊的功能設計及提供一組細胞元(該等細胞元界定電路元件,且是用於依據功能設計來拼湊電路模塊的佈局的「建造模塊」)的細胞元庫來產生電路模塊的佈局,該功能設計識別該電路模塊要執行的邏輯操作(例如呈現該設計的閘級網表或暫存器轉移等級的表示的形式)。
具體而言,自動化工具可採取安置及路由工具的形式,該工具將所需的細胞元安置在平面佈置圖內且接著執行路由操作以判定要在許多金屬層內提供的路由路徑來互連各個細胞元,使得該等細胞元將共同執行電路模塊的所需邏輯操作。
隨著所需的電路模塊的複雜性增加,在可用的金屬層內容納所有需要的路由路徑變得越來越困難,且有時候的情況是,電路模塊所需的面積可能大於原本會需要的面積以便針對要提供的所有各個路由路徑提供充足的空間。
據此,期望提供用於將所需的路由路徑容納在電路模塊的佈局內的改良技術。
在一個實例中,提供了一種產生積體電路的電路模塊的佈局的電腦實施方法,該方法包括以下步驟:接收界定該電路模塊的邏輯操作的輸入資料;存取提供界定電路元件的複數個細胞元的細胞元庫,以參照該輸入資料來判定要用來實施該電路模塊的該等細胞元;及藉由判定該等經判定的細胞元的位置及執行路由操作以判定要在複數個金屬層內提供以互連該等經判定的細胞元的路由路徑,來採用安置及路由工具以產生該佈局;該細胞元庫提供在至少一個金屬層中界定一或更多個多餘金屬區段的細胞元,該一或更多個多餘金屬區段需要符合設計規則但未由該細胞元使用,每個細胞元具有細胞元定義資料,且一或更多個細胞元的該細胞元定義資料將至少一個多餘金屬區段識別為可用於路由;在執行該路由操作期間,致使該安置及路由工具參照該等經判定的細胞元的該細胞元定義資料,以便在判定所述路由路徑時針對路由考慮任何多餘金屬區段的可用性。
在另一示例佈置中,提供了一種非暫時性儲存媒體上的電腦程式產品,該電腦程式產品用於控制電腦執行如上文所闡述的產生電路模塊的佈局的方法。
在另一實例中,提供了一種非暫時性儲存媒體,該非暫時性儲存媒體儲存細胞元庫,該細胞元庫包括界定電路元件的複數個細胞元,該細胞元庫提供在至少一個金屬層中界定一或更多個多餘金屬區段的細胞元,該一或更多個多餘金屬區段需要符合設計規則但未由該細胞元使用,每個細胞元具有細胞元定義資料,且一或更多個細胞元的該細胞元定義資料將至少一個多餘金屬區段識別為可用於路由至安置及路由工具。
在又一進一步的實例中,提供了一種積體電路,該積體電路包括:由細胞元庫的細胞元形成的複數個互連的電路元件,該細胞元庫提供了在至少一個金屬層中界定一或更多個多餘金屬區段的細胞元,該一或更多個多餘金屬區段需要符合設計規則但未由該細胞元使用,每個細胞元具有細胞元定義資料,且一或更多個細胞元的該細胞元定義資料將至少一個多餘金屬區段識別為可用於路由;該複數個互連的電路元件是由路由路徑所互連的,且至少一個路由路徑併入由所述至少一個金屬層內的多餘金屬區段提供的一部分。
在參照附圖來論述實施例之前,提供了以下的實施例說明。
隨著用來製造積體電路的製程縮小到越來越小的幾何形狀,這可能造成施加了許多設計約束以確保可由製造積體電路的製造廠獲取令人滿意的產率水準。例如,在先進的CMOS製程中,可在用於製造積體電路的金屬層中的一或更多者上施加設計規則。例如,已知要在第一金屬層(在本文中稱為金屬零(M0)層)上施加設計規則,以確保在M0層內觀察到規則的網格圖案。具體而言,該等設計規則可能需要在規則的網格上提供金屬區段且需要該等金屬區段完全佔據進行切割以隔離特定金屬區段之處以外的經分配的網格軌道。此設計規則約束通常意指,除了細胞元形成電力網、內部網路或輸入及輸出針腳所需的金屬區段以外,可提供額外的多餘金屬區段。一般而言,在製造最終的積體電路時,此等多餘的金屬區段處於電浮動的狀態下。
因此,在受此等設計規則所約束的金屬層內,唯一的空白空間是各個金屬區段之間由設計規則所施加的隔離空間。在將路由操作執行為安置及路由過程的部分時,路由路徑一般是在M0層上方的連續的金屬及通路層內提供。因電路模塊的複雜性增加,故所需的路由路徑的數量及複雜性亦增加,且這可能使得在可用的金屬層內提供所有所需的路由路徑的任務非常複雜。
依據本文中所述的技術,在細胞元被界定在細胞元庫內時,可佈置細胞元定義資料以將至少一個多餘的金屬區段識別為是可用於路由的。這意味著,在接收界定電路模塊的邏輯操作的輸入資料之後,及在存取了提供複數個細胞元的細胞元庫以參照輸入資料來判定要用來實施電路模塊的細胞元之後,安置及路由工具可接著使用此細胞元定義資料來潛在地增加在設計必要的路由路徑時可用的自由度。具體而言,安置及路由工具將藉由以下步驟來產生佈局:判定所需的細胞元相對於彼此的位置,及執行路由操作以判定要在各個細胞元之間提供的路由路徑以將所需的細胞元互連。在所使用的細胞元中的至少一者已在其細胞元定義資料內將一或更多個多餘的金屬區段識別為可用於路由時,則在安置及路由工具執行路由操作時,該安置及路由工具可在決定要使用的路由路徑時考慮這些多餘的金屬區段。具體而言,若想要的話,可使用此等多餘的金屬區段中的一或更多者以在細胞元之間形成路由路徑的部分。
因此,路由操作亦可使用已被標記為可用於路由的任何多餘金屬區段來形成所需的路由路徑的某些部分,而不是受限於可用於形成路由路徑的普通金屬層(例如金屬一(M1)層及金屬二(M2)層)。這可在判定路由路徑時提供顯著強化的彈性,且因此緩解了可能原本存在的路由路徑約束。這可實現顯著的益處,例如減少電路模塊的整體面積需求。
應注意,安置及路由工具並不需要使用被識別為可用於路由的任何多餘金屬區段,但能夠在認為適當的時候使用彼等多餘金屬區段中的一或更多者。
在一個實施例中,一旦佈局已產生,則將使得已在路由路徑內採用的彼等金屬區段以外的任何多餘金屬區段在隨後由該佈局製造的電路模塊中處於電浮動狀態。因此,是以標準的方式來處置任何未使用的多餘金屬區段。
存在著如由細胞元定義資料所識別的多餘金屬區段的可用性來評價安置及路由工具的許多方式。例如,在一個實施例中,該方法進一步包括以下步驟:將如從細胞元定義資料所推導的每個經判定的細胞元的摘要圖提供給安置及路由工具。摘要圖將所述至少一個金屬層中的每個金屬區段識別為下列中的一者:路由路徑可連接到的輸入/輸出針腳;必需保持與路由路徑隔離的遮斷物;及可用於路由的多餘金屬區段。
因此,安置及路由工具可具備經更改的摘要圖,該摘要圖不僅識別路由路徑需要連接到的輸入及輸出針腳以及在路由操作期間不能連接到(且必需保持與路由路徑隔離)的遮斷物,且亦引進新的金屬區段的類別,亦即可用於路由的多餘金屬區段。如先前所述,安置及路由工具具有使用此等多餘金屬區段來形成路由路徑的部分的選項,因此增加了安置及路由工具在建構路由路徑時可用的變化數量。
存在著可由安置及路由工具處理的不可用於路由的任何多餘金屬區段的許多方式。在一個實施例中,不可用於路由的任何此等多餘金屬區段在摘要圖中被識別為遮斷物。或者,可僅僅省略該等多餘金屬區段,且在摘要圖內不表示該等多餘金屬區段。
取決於用來製造電路模塊的半導體製程,含有一或更多個多餘金屬區段的至少一個金屬層可採取各種形式。然而,在一個實施例中,至少一個金屬層是金屬零(M0)層。如先前所述,在先進的CMOS製程中,設計規則可能施加的是,M0層被金屬區段完全佔據,其中唯一的空間是各個金屬區段之間由設計規則施加的隔離間隔,且據此,通常的情況是,多餘金屬區段具備M0層。亦如先前所論述的,此等多餘金屬區段通常僅被省略,且在最終製造的電路模塊中處於電浮動狀態下。然而,上述的技術允許重新規劃彼等多餘金屬區段中的至少一些部分來增加安置及路由工具在建構電路模塊內的路由路徑時可用的自由度。
如先前所述,亦可在M0層內提供各種其他的金屬區段。例如,在界定有源電路元件的細胞元內,M0層可進一步提供下列中的一或更多者:電源金屬區段,用來連接到電壓源;輸入金屬區段,用來將有源電路元件連接到輸入訊號路由路徑;輸出金屬區段,用來將有源電路元件連接到輸出訊號路由路徑;及內部金屬區段,用來互連有源電路元件的組件。此內部金屬區段對於安置及路由工具而言將不可用來用作路由路徑的一部分。
在執行安置及路由操作時,安置及路由工具一般執行模塊定時分析以確保所判定的路由路徑滿足電路模塊的定時需求。如將很好地了解的,安置及路由過程一般是迭代的過程,且一般將在安置及路由過程期間執行模塊定時分析多次,使得候選的路由路徑在做出關於是否使用彼等候選的路由路徑的最終決定之前經受定時分析。
若多餘的金屬結構用作路由路徑的一部分,則將變更細胞元的定時特性,而不是使其處於電浮動。具體而言,取決於多餘金屬區段是否處於電浮動狀態下,或多餘金屬區段是否連接到路由路徑且因此在考慮寄生電容問題時有效地接地,各個金屬區段之間的寄生電容將改變。
在一個實施例中,該方法進一步包括以下步驟:在路由操作期間,在考慮採用至少一個多餘金屬區段來形成路由路徑的一部分時,執行定時判定操作以考慮由於使用該至少一個多餘金屬區段而造成的訊號定時上的改變。
存在著可執行定時判定操作的許多方式。在一個實施例中,細胞元庫針對每個細胞元提供假設任何的多餘金屬區段處於電浮動的相關聯定時特徵化資料(timing characterisation data),且對於至少一個多餘金屬區段在細胞元定義資料中被識別為可用於路由的每個細胞元而言,細胞元庫提供至少一個額外的定時特徵化資料組以供安置及路由工具在執行所述定時判定操作時使用。因此,在此等實施例中,細胞元庫本身可不僅針對所有多餘金屬區段處於電浮動的標準情況,且亦針對至少一個多餘金屬區段用作路由路徑的一或更多個其他情境,而提供預定的定時特徵化資料。每次多餘金屬區段用作路由路徑時,這都將增加細胞元內的寄生電容,且據此一般而言將劣化定時效能。
在一個實施例中,可針對具有可用來用作路由路徑的多餘金屬區段的相關細胞元來規定一個以上的額外定時特徵化資料組,以例如俘獲使用彼等多餘金屬區段的不同程度。然而,在一個簡化的實施例中,對於至少一個多餘金屬區段在細胞元定義資料中被識別為可用於路由的每個細胞元而言,細胞元庫提供了一個額外的定時特徵化資料組以供安置及路由工具在執行所述定時判定操作時使用,所述一個額外的組假設了細胞元的所有可用的多餘金屬區段皆用於路由路徑的最壞情況的定時。因此,在此實施例中,移除了產生多個額外的定時特徵化資料組的需求,但每當細胞元內的至少一個多餘金屬區段用於路由時就假設最壞情況的定時。已發現到,在一些實際的情況中,此最壞情況的定時特徵化資料是充分的,由於通常最壞情況的定時特徵化將不與真實定時顯著不同,因為可用的多餘金屬區段的數量(或它們的長度)可能受到限制。
然而,在一替代性實施例中,安置及路由工具可經佈置為在所述定時判定操作期間執行受影響的細胞元的即時(on-the-fly)定時特徵化以考慮關於受影響的細胞元中的至少一個多餘金屬區段中的哪一者要形成路由路徑的一部分的訊號定時上的改變,而不是針對相關的細胞元提供多個定時特徵化資料組。此方法具有的益處是,其僅考慮實際用來形成路由路徑的一部分的多餘金屬區段,且因此可增加定時判定操作的準確度。然而,此方法將增加路由操作的複雜性,且增加了執行路由分析以判定要使用的適當路由路徑組所花費的時間。
安置及路由工具可用的細胞元庫可採取各種形式。例如,細胞元庫可界定定制細胞元,或可界定標準細胞元。在一些實施例中,可使得多個細胞元庫可用於安置及路由工具。在一個特定的實施例中,細胞元為標準細胞元,且安置及路由工具藉由將所判定的細胞元安置在具有通用列高的複數個列內來判定所判定的細胞元的位置。藉由使用標準細胞元,這可簡化安置及路由的考量,由於細胞元中的每個被約束為具有通用的列高或彼通用列高的倍數。
細胞元定義資料經佈置為將至少一個多餘金屬區段識別為可用於路由的細胞元庫的細胞元可採取各種形式。在一個實施例中,細胞元為有源細胞元(active cell),該等有源細胞元識別有源地執行為了實施電路模塊的整體邏輯操作需求所需的一或更多個邏輯計算的電路元件。然而,作為一替代方案,或除此之外,細胞元中識別此等多餘金屬區段的一或更多者可為非有源細胞元(inactive cell)(亦稱為結束細胞元(finishing cell))。此等非有源細胞元的實例為填充細胞元、實施解耦電容器的細胞元等等。有時,此類細胞元僅用來增加電路佈局的整體平面佈置,且因此提供了用於容納路由路徑的更多整體面積。儘管此等非有源細胞元並不有助於電路模塊的所需邏輯操作,且因此並不具有在路由操作期間需要由安置及路由工具連接到的輸入及輸出針腳,但它們一般而言仍將具有至少一個金屬層,該至少一個金屬層的佈局受先前所述的設計規則約束。因此,例如,為了完全佔據M0層,且歸因於彼等金屬區段可能主要是多餘金屬區段的細胞元的非有源本質,此非有源細胞元的M0層可能仍然需要提供規則的金屬區段網格。據此,藉由將彼等多餘金屬區段中的一或更多者標記為可用於路由,這實現安置及路由工具重新規劃彼等細胞元,且具體而言依需要利用彼等細胞元內的多餘金屬區段來容納路由路徑的部分。
被識別為可用於路由的多餘金屬區段可採取各種形式。例如,它們可僅僅是在單一金屬層內延伸的金屬條。然而,在更複雜的系統中,多餘金屬區段本身可跨多個金屬層而延伸,例如由不同金屬層中由金屬通路互連的多個金屬條形成。
在一個實施例中,可藉由進一步包括以下步驟來擴充上述的方法:將電路模塊的佈局併入積體電路的佈局內,及由積體電路的佈局製造積體電路。
在一個示例佈置中,可在非暫時性儲存媒體上提供電腦程式產品以控制電腦執行用於產生電路模塊的佈局的上述方法。此電腦程式產品可因此例如採取經更改的安置及路由工具的形式,該經更改的安置及路由工具能夠考慮細胞元定義資料內將至少一個多餘金屬區段識別為可用於路由的資訊的存在,以增加在執行路由操作時可用的選項。
在另一示例實施例中,可在非暫時性儲存媒體上提供經更改的細胞元庫,該細胞元庫包括界定電路元件的複數個細胞元,該細胞元庫提供在至少一個金屬層中界定一或更多個多餘金屬區段的細胞元,該一或更多個多餘金屬區段需要符合設計規則但未由該細胞元使用,每個細胞元具有細胞元定義資料,且一或更多個細胞元的細胞元定義資料將至少一個多餘金屬區段識別為可用於路由至安置及路由工具。
在又一進一步的示例實施例中,可提供一種積體電路,該積體電路包括由細胞元庫的細胞元形成的複數個互連的電路元件,該細胞元庫提供在至少一個金屬層中界定一或更多個多餘金屬區段的細胞元,該一或更多個多餘金屬區段需要符合設計規則但未由該細胞元使用。每個細胞元具有細胞元定義資料,且一或更多個細胞元的細胞元定義資料將至少一個多餘金屬區段識別為可用於路由。複數個互連的電路元件是由路由路徑所互連的,且至少一個路由路徑併入由所述至少一個金屬層內的多餘金屬區段提供的一部分。因此,在此積體電路內,至少一個路由路徑的至少一部分可藉由其他金屬層中的一者內的多餘金屬區段來提供,而不是路由路徑受限於針對此等路由路徑所保留的普通金屬層。
現將參照圖式來描述特定的實施例。
第1圖是繪示在一個實施例中用來產生電路模塊的佈局的組件的方塊圖。提供了電路模塊的邏輯定義10。這可採取各種形式,例如經計劃的電路模塊的功能設計的閘級網表或RTL表示,因此識別了電路模塊的邏輯操作。將此邏輯定義10提供到合成工具30,該合成工具亦有權存取一或更多個細胞元庫20、25。細胞元庫中的每個將提供複數個細胞元,且每個個別的細胞元可規定相關聯的電路元件的佈局。相關聯的電路元件的大小及複雜性將取決於細胞元庫內的細胞元的類型而變化。例如,個別的細胞元可界定基本的建造模塊結構(例如反及閘、反或閘(NOR gate)等等),或可界定包括較大數量的互連電晶體的更複雜的電路元件。進一步地,細胞元可為定制的細胞元,或可為標準細胞元。
如熟習該項技術者將理解的,在使用標準細胞元時,可將它們佈局在平面佈置圖內,認為該平面佈置圖包括了複數個標準細胞元列,每個具有通用的列高,如第2圖中示意性地繪示。具體而言,複數個標準細胞元列50、55、60、65可定位在平面佈置圖內,且個別的標準細胞元70、75、80、85、90、95可由安置及路由工具安置在彼等列內且接著互連以提供電路模塊的所需邏輯操作。不是所有的細胞元都需要是需要互連的有源細胞元。例如,一些細胞元可為非有源細胞元,諸如填充細胞元或實施解耦電容器的細胞元。每個標準細胞元被約束為具有等於列高的高度(如在標準細胞元70、75、80、85、90的實例中)或列高的倍數(如在第2圖中所示的標準細胞元95的實例中)。
儘管使用標準細胞元可簡化在設計電路模塊的佈局時所執行的安置及路由操作,這對於要使用的標準細胞元而言並不是需求,且在其他實施例中,合成工具30可用的至少一個細胞元庫20、25可包括不被約束為符合特定列高的定制細胞元庫。
合成工具30接收電路模塊的邏輯定義10,且參照可用的細胞元庫(或多個細胞元庫)來判定要用來建構電路模塊的所需功能性的細胞元。由第1圖中的合成工具所執行的合成操作30是以標準的方式來執行的,且據此在本文中不再進一步詳細論述。一旦合成操作已執行,輸出被傳遞到安置及路由工具35,此輸出識別要使用的細胞元及互連彼等細胞元以產生執行電路模塊的所需邏輯操作的電路系統所需的方式。
安置及路由工具35接著藉由以下步驟來產生電路佈局:判定由合成工具所識別的各種細胞元的位置,及執行路由操作以判定要在複數個金屬層內提供的路由路徑以互連彼等細胞元,使得該等細胞元將執行電路模塊的所需邏輯操作。第3圖是示意性地圖示可在一個實施例中提供的各種金屬層的橫截面立面圖。而第2圖中的平面佈置佈局可被認為是在x及y維度上延伸,第3圖中所示的高度在z維度上延伸。在基板105上,提供了許多組件水平層110以形成結構組件,該等結構組件形成細胞元的電路元件(多個電路元件)。因此,在組件水平層內,將例如形成各種電晶體。金屬零(M0)層115接著容納許多金屬區段,該等金屬區段將用來向細胞元的組件提供電力,且用來形成要由安置及路由工具連接到先前所述的路由路徑的輸入及輸出針腳。此外,一些金屬區段可為內部金屬區段(在本文中亦稱為內部網路),該等內部金屬區段用來互連組件水平層110內的不同組件,但保持與各種金屬層中所提供的路由路徑隔離。
如第3圖中所示,可在組件水平層上方提供許多金屬層及介入通路層。在此特定實例中,在M0層上方提供了兩個額外的金屬層(在本文中稱為金屬一(M1)層125及金屬二(M2)層135)。每個金屬層藉由在第3圖中所示的介入通路層V0 120及V1 130內提供的金屬通路連接來連接到相鄰的金屬層。儘管在第3圖中僅圖示三個金屬層,將理解到,在其他實施例中,亦可提供額外的金屬層。
通常,細胞元將界定M0層115的金屬區段,但將不界定較高金屬層處的任何金屬區段。然而,這並不是需求,且更複雜的細胞元可界定較高金屬層(例如M1層125)處的一或更多個金屬區段。然而,出於本文中所述的實施例的目的,將假設,細胞元佈局終止於M0層115處的金屬區段佈局。在此實施例中,後續的M1金屬層125及M2金屬層135接著用於路由路徑以互連各個細胞元。
如熟習該項技術者將了解的,相鄰金屬層中的金屬區段一般是在垂直的方向上延展。例如,若M0層115中的金屬區段被認為在x維度上延伸,則M1層125中的金屬區段將在y維度上延伸,而M2層135中的金屬區段將在x維度上延伸。通路層120、130中的金屬連接則將在z維度上在相鄰的金屬層之間延伸,以將一個層中的金屬區段與相鄰層中的金屬區段連接。安置及路由工具負責執行路由操作以判定如何使用各種金屬層來產生必要的路由路徑以依需要互連細胞元,進而實現由邏輯定義10所規定的電路模塊的功能性。
第4圖是示意性地繪示依據一個實施例的可在細胞元150的M0層佈局內提供的金屬區段的圖解。在此實例中,假設所施加的設計規則需要M0層中的金屬區段依循規則網格並完全佔據需要切割以隔離不同金屬區段之處以外的經分配的網格軌道。如第4圖中所示,所有金屬區段皆在x維度上延伸,其中電力網區段155、160跨細胞元的整個寬度而延伸。這確保了在以諸如第2圖中所繪示的佈置方式安置細胞元時,電力網可跨標準細胞元列的整個長度而延伸。
亦如第4圖中所示,在兩個電力網之間提供了額外的金屬區段。M0佈局內的唯一的空白空間是由設計規則所施加的各個區段之間的隔離間隔。如可見的,此隔離間隔包含了細胞元末端處的間隔以便將各個金屬區段與相鄰細胞元中的金屬區段隔離。進一步地,存在著用來依需要將細胞元內的金屬區段彼此隔離的間隔以便實現不同的金屬區段與不同的功能相關聯。例如,金屬區段162、164、166中的多者可用作輸入針腳,且將路由路徑提供給彼等輸入針腳以向彼等各個輸入針腳提供輸入訊號。類似地,金屬區段172、174中的一或更多者可與輸出針腳相關聯,且再次將藉由安置及路由工具而具有連接到該等金屬區段的路由路徑,以從細胞元向電路模塊內的適當位置傳輸輸出訊號,以例如向一或更多個其他的細胞元提供輸入。
亦如第4圖中所示,金屬區段182、184、186中的一或更多者可表示內部網路,如先前所論述的,該等內部網路用來互連細胞元內的內部組件,但不用於連接到路由路徑,且確實必須保持與此等路由路徑隔離。
可如何使用各種輸入針腳、輸出針腳、及內部網路的實例參照反及閘的特定實例而示意性地繪示在第5圖中。反及閘由在供應電壓與輸出節點240之間並聯連接的兩個PMOS電晶體200、205以及在輸出路徑240與接地電壓源VSS之間串聯佈置的兩個NMOS電晶體210、215組成。圖示了四個輸入節點220、225、230、235,且節點220、230可共享M0佈局內的一個輸入針腳,而類似地,兩個輸入節點225、235可共享相同的輸入節點。輸出節點240將連接到M0佈局內的輸出針腳。兩個NMOS電晶體210、215之間的互連245表示將連接到M0佈局內的內部網路中的一者的內部節點。
在任何特定的細胞元佈局設計內,並非被提供為符合設計規則的所有金屬區段皆將需要用作輸入針腳、輸出針腳或內部網路。這些金屬區段因此形成了多餘金屬區段(在本文中亦稱為多餘網路),其實例由第4圖中的元件符號192、194表示。
依據已知的安置及路由機制,此等多餘網路192、194將由安置及路由工具省略,且彼等金屬結構將在經製造的電路模塊內處於電浮動狀態下。然而,如將由後文中的實施例的論述所理解的,依據所述的實施例,安置及路由工具35的操作經更改為使得在一些實例中其可利用多餘網路來增加可用於判定用來互連各個細胞元的合適路由路徑的彈性。
回到第1圖,依據所述的實施例,細胞元庫20、25內的每個細胞元將具有相關聯的細胞元定義資料,且在一個實施例中該細胞元定義資料經補充為使得一或更多個細胞元可將它們的多餘金屬區段中的至少一者識別為可用於路由。使用此手段的程度可能取決於實施例而變化。例如,在一個實施例中,許多不同類型的細胞元可經佈置為將它們的多餘金屬區段中的一或更多者識別為可用於路由,而在替代性實施例中,此手段可被約束為僅與某些類型的細胞元關聯而使用。類似地,並不存在著將細胞元的所有多餘金屬區段識別為可用於路由的需求,且反而只有特定細胞元內的多餘金屬區段的子組可被識別為可用於路由。
如第1圖中所示,在安置及路由工具35在執行其安置及路由操作時,其有權存取關於來自細胞元庫20、25的所需細胞元的資訊,且彼資訊將包含上述的細胞元定義資料。據此,若由安置及路由工具所使用的細胞元中的任一者具有將至少一個多餘金屬區段識別為可用於路由的相關聯的細胞元定義資料,則可使得彼事實可用於安置及路由工具。
存在著可使得此資訊可用於安置及路由工具的許多方式,但在第6圖中繪示了一個機制。具體而言,在細胞元庫內,每個細胞元可包含提供細胞元的佈局的所有細節的細胞元圖300,且可單獨提供關於細胞元的各種特性的資訊,該等特性諸如是定時、電力消耗、輸入電容等等。在一個實施例中,所有這些特性在特定的檔案305內規定,該檔案在一個實施例中被稱為自由檔案(liberty file)。細胞元佈局圖300將包含細胞元的所有細節,且據此將包含識別是否使得彼細胞元內的任何多餘金屬區段可用於路由的先前所述的細胞元定義資料。
然而,安置及路由工具35並不需要細胞元圖300的所有細節,反而是僅需要摘要圖,該摘要圖提供由安置及路由工具所需要的特色資訊以辨別如何建構細胞元之間的路由路徑。此摘要圖310示於第6圖中,且有時候亦稱為LEF圖。在細胞元的標準摘要圖中,由細胞元所提供的金屬結構中的每個將被識別為針腳315或遮斷物320。針腳是用來向細胞元提供輸入或從細胞元提供輸出的彼等金屬區段,且據此為需要由安置及路由工具所判定的路由路徑連接到的金屬結構。遮斷物320為應保持與由安置及路由工具產生的路由路徑隔離的彼等金屬區段。例如,先前所述的內部網路將在摘要圖310內被識別為遮斷物320。在先前已知的安置及路由機制中,任何多餘網路在摘要圖310內一般會被識別為遮斷物或被省略。
然而,依據所述的實施例,在摘要圖310內提供了另一結構類別以識別已使得細胞元可用於路由的彼等多餘金屬區段。在本文中所述的實施例中,此等金屬區段將被認為存在於M0等級內,且在第6圖中稱為「M0_路由」區段325。然而,在更複雜的系統中,這些多餘金屬區段不需要被約束為存在於單一的金屬層內,且實際上可跨多個金屬層而延伸,在該情況下,它們將由多個金屬層內由金屬通路互連的一系列的金屬條形成。
摘要圖310將因此將每個金屬區段分類為針腳、遮斷物或可用於路由的多餘金屬區段。摘要圖亦將俘獲金屬層或內有彼等各種結構的層。在使用此摘要圖的情況下,安置及路由工具可接著執行經更改的安置及路由操作,進而允許其利用此等多餘金屬區段的可用性來增加可用於創建所有所需的路由路徑的選項。
參照第7A圖及第7B圖的流程圖藉由實例的方式來說明併入此經更改的安置及路由操作的用於產生電路模塊的佈局的方法。在步驟400處,獲取界定電路模塊的邏輯操作的輸入資料,例如作為網表或RTL表示。在步驟405處,亦提供細胞元庫資訊作為輸入。此後,在步驟410處,合成工具30執行合成操作以判定要用來實施電路模塊的所需功能的細胞元。此合成操作亦將給出關於需要如何互連細胞元以執行電路模塊的所需功能性的指示。
在步驟415處,將接著起始安置及路由操作,此後在步驟420處,將判定合成工具已識別的細胞元中的任一者是否為將一或更多個多餘金屬區段識別為可用於路由的細胞元。若不是此種情況,則以標準方式執行安置及路由操作,如由方框425所表示。在第7A圖中所繪示的特定實例中,假設的是,標準程序涉及在M1及更高的金屬層內形成所有路由路徑,且據此將沒有路由路徑延伸到M0層中。
在執行標準的安置及路由程序的期間,將執行標準的模塊定時分析操作。具體而言,在識別候選的路由路徑時,可執行定時分析操作以判定使用此等路由路徑是否將實現電路模塊滿足所需的定時需求。例如,可規定電路模塊的操作速度,且為了達到彼操作速度,使訊號路由路徑中的每個的定時是在某些定時限制內將是必要的。在一個實施例中,細胞元中的每個的定時特性可經預先特徵化且作為細胞元庫資訊的部分提供,例如形成先前參照第6圖所論述的自由檔案305的部分。彼資訊可接著由安置及路由工具在評估在各個細胞元之間延伸的訊號路徑的定時時參考。
若在步驟420處,判定細胞元中已由合成工具識別的一或更多者確實將多餘金屬區段識別為可用於路由,則過程繼續進行到步驟430,在步驟430處,執行經更改的安置及路由程序以在路由期間利用藉由使用多餘金屬區段(其在此特定實例中被假設為存在於M0層內)而可用的額外自由度。
如將由熟習該項技術者所理解的,安置及路由程序為迭代的過程,該迭代的過程涉及評估許多不同的候選路由路徑,例如考慮先前所述的定時分析,以產生將提供各個細胞元之間的所有所需的訊號路由的一組路由路徑。在此過程期間,安置及路由工具可在步驟430處考慮候選的路由路徑,在該等候選的路由路徑處,彼等路徑的部分是由M0層內的多餘金屬區段所提供的。據此,這藉由增加可用於提供訊號路由路徑的選項數量而提供了顯著強化的彈性。
然而,提供一或更多個多餘金屬區段的細胞元的定時特性將取決於彼等金屬區段是否處於電浮動或替代地它們中的一或更多者是否用來形成路由路徑的一部分而變化,且因此從考慮寄生電容問題的觀點來看是有效地接地的。
據此,如在步驟435處所指示的,每當多餘區段用於路由路徑中時,所執行的定時分析將經更改的定時特徵化資料用於相關的細胞元。在一個實施例中,與細胞元相關聯而產生的自由檔案305可包含許多不同的定時特徵化資料組。具體而言,除了基於所有多餘金屬區段將處於電浮動的假設的正常定時特徵化資料以外,可基於多餘金屬區段中的一或更多者用於路由路徑中的假設來產生至少一個額外的定時特徵化資料組。產生多少額外的定時特徵化資料組將取決於實施例而變化。一般而言,用於路由路徑的多餘金屬區段越多,對細胞元的定時特性的不利影響就越大。據此,可產生多個不同的定時特徵化資料組,進而作出關於所使用的多餘金屬區段的數量的不同假設,且安置及路由工具可取決於如何使用多餘區段而選擇適當的特徵化資料組。
在一替代性實施例中,假設細胞元中已被使得可用於路由的所有多餘區段實際上用於路由路徑的最壞情況的定時,則只有一個額外的定時特徵化資料組可包括在自由檔案內。在一些實施方式中,此簡化可能是足夠的。例如,被使得可用於路由的多餘金屬區段的數量可能是相對小的,或它們的長度可能受到限制,且據此假設最壞情況的定時將不顯著影響定時計算的準確度。
然而,在一替代性實施例中,安置及路由工具可在步驟435處經佈置為執行特別考慮哪些多餘金屬區段實際上用於路由路徑的細胞元即時特徵化。具體而言,可向安置及路由工具個別地識別個別多餘金屬區段中的每個,且每個個別的多餘區段將接著取決於其路由用途而被認為是處於浮動或接地的,其中接著執行計算以擷取精確的寄生電容,且因此特徵化細胞元的定時。
此即時定時特徵化方法可在判定各個路由路徑的定時時提供改良的準確度,但將增加安置及路由操作的複雜性,並增加執行安置及路由過程所花費的時間。
無論過程是否經由步驟430、435或步驟425進行,一旦已由安置及路由工具產生佈局,則在步驟440處輸出彼佈局。此後,可在步驟445處執行一或更多個標準驗證步驟,以確保已執行的安置及路由過程還未引入任何非預期的異常。
在一些實例中,佈局是由先前的步驟所產生的電路模塊將是積體電路的整體。然而,在一替代性實施例中,電路模塊本身可能是積體電路的組件,在該情況下,在步驟450處,可將彼電路模塊併入到積體電路設計內。將理解到,此步驟可以各種方式達成,且實際上可能涉及針對表示積體電路的新的輸入資料組而重複執行第7A圖及第7B圖的過程,其中彼輸入資料中的一些部分有效地界定了剛剛產生的電路模塊的佈局。
一旦已完成了積體電路佈局,則在步驟455處,可依據該佈局製造積體電路。
將理解到,可在步驟440處以各種方式輸出佈局,但在一個實施例中,此步驟將涉及在電腦可讀取媒體上將佈局記錄為佈局資料。
第8圖示意性地繪示在多個細胞元500、505、510之間建立的一些路由路徑。具體而言,在第一細胞元500的輸出針腳512處所呈現的輸出訊號路由經過第一路由路徑到細胞元505內的輸入針腳514,且經由第二路由路徑路由到細胞元510的輸入針腳516。如第8圖中所示,從針腳512到針腳516的路由路徑使用金屬一層及金屬二層與相關聯的通路連接的標準組合。然而,從輸出針腳512延伸到輸入針腳514的路由路徑具有利用M0層中的多餘金屬區段的部分520,藉此釋放了M2路由資源以供他用。
應注意到,假設在M0層中存在著延伸過彼路徑的多餘金屬區段而實現在第8圖中所示的兩個豎直的M1區段之間作出連接,則M2區段525原則上亦可由M0層中的等效區段替換。
第9圖示意性地繪示可用來實施上述技術(且具體而言針對積體電路產生電路模塊的佈局)的類型的一般用途電腦600。一般用途電腦600包括全經由通用匯流排622連接的中央處理單元602、隨機存取記憶體604、唯讀記憶體606、網路介面卡608、硬式磁碟機610、顯示驅動器612及監視器614、以及具有鍵盤618及滑鼠620的使用者輸入/輸出電路616。操作時,中央處理單元602將執行電腦程式指令,該等電腦程式指令可儲存在隨機存取記憶體604、唯讀記憶體606及硬式磁碟機610中的一或更多者中,或可經由網路介面卡608動態下載。可經由顯示驅動器612及監視器614向使用者顯示所執行的處理的結果。可從鍵盤618或滑鼠620經由使用者輸入/輸出電路616接收用於控制一般用途電腦600的操作的使用者輸入。將理解到,可以各種不同的電腦語言撰寫電腦程式。可將電腦程式儲存及分佈在記錄媒體上或動態下載到一般用途電腦600。在適當的電腦程式的控制下操作時,一般用途電腦600可執行上述的佈局產生技術且可被認為形成用於執行上述技術的設備。一般用途電腦的架構可相當大地變化,且第9圖僅是一個實例。
從上述的實施例,將看到,此等實施例提供了實現重複使用多餘金屬區段以提供額外的路由資源的機制,藉此在電路模塊的佈局的設計期間在各個細胞元之間建立路由路徑時向安置及路由工具提供了強化的彈性,該等多餘金屬區段需要在一或更多個金屬層中提供以滿足由先進的CMOS製程所需要的設計規則。可接著調整定時分析操作以考慮此等多餘金屬區段確實用於路由的情況。
在本申請案中,詞語「經配置為...」用來意指設備的元件具有能夠進行所界定的操作的配置。在此上下文下,「配置」意指硬體或軟體互連的佈置或方式。例如,設備可具有提供所界定操作的專用硬體,或處理器或其他處理裝置可經程式化為執行該功能。「經配置為」並不暗示的是,需要以任何方式改變設備元件以提供所界定的操作。
儘管已參照附圖在本文中詳細描述本發明的說明性實施例,要了解到,本發明不限於彼等精確的實施例,且熟習該項技術者可在該等實施例中作出各種改變、添加及更改而不脫離如由隨附申請專利範圍所界定的本發明的範疇及精神。例如,可將附屬項的特徵與獨立項的特徵進行各種組合而不脫離本發明的範疇。
10‧‧‧邏輯定義20‧‧‧細胞元庫25‧‧‧細胞元庫30‧‧‧合成工具35‧‧‧安置及路由工具50‧‧‧標準細胞元列55‧‧‧標準細胞元列60‧‧‧標準細胞元列65‧‧‧標準細胞元列70‧‧‧標準細胞元75‧‧‧標準細胞元80‧‧‧標準細胞元85‧‧‧標準細胞元90‧‧‧標準細胞元95‧‧‧標準細胞元105‧‧‧基板110‧‧‧組件水平層115‧‧‧金屬零(M0)層120‧‧‧介入通路層V0125‧‧‧M1金屬層130‧‧‧介入通路層V1135‧‧‧M2金屬層150‧‧‧細胞元155‧‧‧電力網區段160‧‧‧電力網區段162‧‧‧金屬區段164‧‧‧金屬區段166‧‧‧金屬區段172‧‧‧金屬區段174‧‧‧金屬區段182‧‧‧金屬區段184‧‧‧金屬區段186‧‧‧金屬區段192‧‧‧多餘網路194‧‧‧多餘網路200‧‧‧PMOS電晶體205‧‧‧PMOS電晶體210‧‧‧NMOS電晶體215‧‧‧NMOS電晶體220‧‧‧輸入節點225‧‧‧輸入節點230‧‧‧輸入節點235‧‧‧輸入節點240‧‧‧輸出路徑245‧‧‧互連300‧‧‧細胞元圖305‧‧‧自由檔案310‧‧‧摘要圖315‧‧‧針腳320‧‧‧遮斷物325‧‧‧「M0_路線」區段400‧‧‧步驟405‧‧‧步驟410‧‧‧步驟415‧‧‧步驟420‧‧‧步驟425‧‧‧步驟430‧‧‧步驟435‧‧‧步驟440‧‧‧步驟445‧‧‧步驟450‧‧‧步驟455‧‧‧步驟500‧‧‧細胞元505‧‧‧細胞元510‧‧‧細胞元512‧‧‧針腳514‧‧‧針腳516‧‧‧針腳520‧‧‧多餘金屬區段的部分525‧‧‧M2區段600‧‧‧一般用途電腦602‧‧‧中央處理單元604‧‧‧隨機存取記憶體606‧‧‧唯讀記憶體608‧‧‧網路介面卡610‧‧‧硬式磁碟機612‧‧‧顯示驅動器614‧‧‧監視器616‧‧‧使用者輸入/輸出電路618‧‧‧鍵盤620‧‧‧滑鼠622‧‧‧通用匯流排
將僅藉由實例的方式進一步參照如附圖中所繪示的本技術的實施例來描述本技術,在該等附圖中:
第1圖是示意性地繪示依據一個實施例在產生電路模塊的佈局時所使用的組件的方塊圖;
第2圖示意性地繪示依據一個實施例的標準細胞元在標準細胞元列內的位置;
第3圖示意性地繪示可在一個實施例中提供的各個金屬層及相關聯的通路層;
第4圖是示意性地繪示在一個實施例中可在細胞元的金屬零(M0)佈局內提供的各個金屬區段的圖解;
第5圖繪示用於反及閘(NAND gate)的示例電路元件的輸入針腳、輸出針腳及內部網路;
第6圖繪示依據一個實施例的可由細胞元庫提供的細胞元的各種視圖;
第7A圖及第7B圖提供了繪示依據一個實施例的方法的流程圖;
第8圖示意性地繪示第7A圖及第7B圖中所闡述的方法的應用如何導致依據一個實施例將多餘的(superfluous)M0金屬區段用作路由路徑的一部分;及
第9圖示意性地繪示可用來實施本技術的類型的一般用途電腦。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無
400‧‧‧步驟
405‧‧‧步驟
410‧‧‧步驟
415‧‧‧步驟
420‧‧‧步驟
425‧‧‧步驟
430‧‧‧步驟
435‧‧‧步驟
Claims (17)
- 一種產生一積體電路的一電路模塊的一佈局的電腦實施方法,包括以下步驟:接收界定該電路模塊的一邏輯操作的輸入資料;存取提供界定電路元件的複數個細胞元的一細胞元庫,以參照該輸入資料來判定要用來實施該電路模塊的該等細胞元;以及藉由判定該等經判定的細胞元的一位置及執行一路由操作以判定要在複數個金屬層內提供以互連該等經判定的細胞元的路由路徑,來採用一安置及路由工具來產生該佈局;該細胞元庫提供在至少一個金屬層中界定一或更多個多餘金屬區段的細胞元,該一或更多個多餘金屬區段需要符合設計規則但未由該細胞元使用,每個細胞元具有細胞元定義資料,且一或更多個細胞元的該細胞元定義資料將至少一個多餘金屬區段識別為可用於路由,其中含有所述一或更多個多餘金屬區段的所述至少一個金屬層包含:一金屬0(M0)層;在執行該路由操作期間,致使該安置及路由工具參照該等經判定的細胞元的該細胞元定義資料,以便在判定所述路由路徑時針對路由考慮任何多餘金屬區段的可用性。
- 如請求項1所述的方法,其中:在執行該路由操作期間,採用至少一個多餘金屬區段來形成一路由路徑的一部分。
- 如請求項2所述的方法,其中該等路由路徑內所採用的彼等多餘金屬區段以外的該等多餘金屬區段為將在該電路模塊中處於一電浮動狀態下的金屬區段。
- 一種產生一積體電路的一電路模塊的一佈局的電腦實施方法,包括以下步驟:接收界定該電路模塊的一邏輯操作的輸入資料;存取提供界定電路元件的複數個細胞元的一細胞元庫,以參照該輸入資料來判定要用來實施該電路模塊的該等細胞元;以及藉由判定該等經判定的細胞元的一位置及執行一路由操作以判定要在複數個金屬層內提供以互連該等經判定的細胞元的路由路徑,來採用一安置及路由工具來產生該佈局;該細胞元庫提供在至少一個金屬層中界定一或更多個多餘金屬區段的細胞元,該一或更多個多餘金屬區段需要符合設計規則但未由該細胞元使用,每個細胞元具有細胞元定義資料,且一或更多個細胞元的該細胞元定義資料將至少一個多餘金屬區段識別為可用於路由; 在執行該路由操作期間,致使該安置及路由工具參照該等經判定的細胞元的該細胞元定義資料,以便在判定所述路由路徑時針對路由考慮任何多餘金屬區段的可用性;及將如從該細胞元定義資料所推導的每個經判定的細胞元的一摘要圖提供給該安置及路由工具,該摘要圖將所述至少一個金屬層中的每個金屬區段識別為下列中的一者:一輸入/輸出針腳,其中一路由路徑可連接到該輸入/輸出針腳;一遮斷物,該遮斷物必須保持與該等路由路徑隔離;以及一多餘金屬區段,該多餘金屬區段可用於路由。
- 如請求項4所述的方法,其中不可用於路由的任何多餘金屬區段在所述摘要圖中被識別為一遮斷物。
- 如請求項1所述的方法,其中在界定一有源電路元件的細胞元內,該M0層進一步提供下列中的一或更多者:一電源金屬區段,該電源金屬區段該用來連接到一電壓源;一輸入金屬區段,該輸入金屬區段用來將該有源電路元件連接到一輸入訊號路由路徑; 一輸出金屬區段,該輸出金屬區段用來將該有源電路元件連接到一輸出訊號路由路徑;以及一內部金屬區段,該內部金屬區段用來互連該有源電路元件的部件,且對於該安置及路由工具而言不可用來用作一路由路徑的一部分。
- 一種產生一積體電路的一電路模塊的一佈局的電腦實施方法,包括以下步驟:接收界定該電路模塊的一邏輯操作的輸入資料;存取提供界定電路元件的複數個細胞元的一細胞元庫,以參照該輸入資料來判定要用來實施該電路模塊的該等細胞元;以及藉由判定該等經判定的細胞元的一位置及執行一路由操作以判定要在複數個金屬層內提供以互連該等經判定的細胞元的路由路徑,來採用一安置及路由工具來產生該佈局;該細胞元庫提供在至少一個金屬層中界定一或更多個多餘金屬區段的細胞元,該一或更多個多餘金屬區段需要符合設計規則但未由該細胞元使用,每個細胞元具有細胞元定義資料,且一或更多個細胞元的該細胞元定義資料將至少一個多餘金屬區段識別為可用於路由; 在執行該路由操作期間,致使該安置及路由工具參照該等經判定的細胞元的該細胞元定義資料,以便在判定所述路由路徑時針對路由考慮任何多餘金屬區段的可用性;在該路由操作期間,在考慮採用至少一個多餘金屬區段來形成一路由路徑的一部分時,執行一定時判定操作以考慮由於使用該至少一個多餘金屬區段而造成的訊號定時上的一改變。
- 如請求項7所述的方法,其中:該細胞元庫針對每個細胞元提供假設任何多餘金屬區段處於電浮動的相關聯的定時特徵化資料;以及針對至少一個多餘金屬區段在該細胞元定義資料中被識別為可用於路由的每個細胞元,該細胞元庫提供至少一個額外的定時特徵化資料組以供該安置及路由工具在執行所述定時判定操作時使用。
- 如請求項8所述的方法,其中:針對至少一個多餘金屬區段在該細胞元定義資料中被識別為可用於路由的每個細胞元,該細胞元庫提供一個額外的定時特徵化資料組以供該安置及路由工具在執行所述定時判定操作時使用,所述一個額外的組假設了該細胞元的所有可用的多餘金屬區段皆用於路由路徑的一最壞情況的定時。
- 如請求項7所述的方法,其中: 該安置及路由工具在所述定時判定操作期間執行一受影響的細胞元的一即時定時特徵化,以考慮關於該受影響的細胞元中的該至少一個多餘金屬區段中的哪一者要形成一路由路徑的一部分的訊號定時上的一改變。
- 如請求項1所述的方法,其中該等細胞元為標準細胞元,且該安置及路由工具藉由將該等經判定的細胞元安置在具有一通用列高的複數個列內來判定該等經判定的細胞元的該位置。
- 如請求項1所述的方法,其中細胞元定義資料將至少一個多餘金屬區段識別為可用於路由的至少一個細胞元為缺少輸入金屬區段及輸出金屬區段的一非有源細胞元。
- 如請求項1所述的方法,其中被識別為可用於路由的所述至少一個多餘金屬區段延伸過多個金屬層。
- 如請求項1所述的方法,進一步包括以下該等步驟:將該電路模塊的該佈局併入到一積體電路的一佈局內;以及由該積體電路的該佈局製造該積體電路。
- 一種在一非暫時性儲存媒體上的電腦程式產品,該電腦程式產品用於控制一電腦執行如請求項1所述的產生一電路模塊的一佈局的該方法。
- 一種非暫時性儲存媒體,其儲存一細胞元庫,該細胞元庫包括界定電路元件的複數個細胞元,該細胞元庫提供在至少一個金屬層中界定一或更多個多餘金屬區段的細胞元,該一或更多個多餘金屬區段需要符合設計規則但未由該細胞元使用,每個細胞元具有細胞元定義資料,且一或更多個細胞元的該細胞元定義資料將至少一個多餘金屬區段識別為可用於路由至一處理器執行的安置及路由工具,該處理器執行的安置及路由工具經配置以藉由判定來自該細胞元庫的選擇的細胞元的一位置,以及藉由參照要用來實施一電路模塊的選擇的該等細胞元的細胞元定義資料,以便在判定互連該等經選擇的細胞元的路由路徑時針對路由考慮任何多餘金屬區段的可用性,產生一電路模塊的一佈局,其中含有所述一或更多個多餘金屬區段的所述至少一個金屬層包含:一金屬0(M0)層。
- 一種積體電路,包括:由一細胞元庫的細胞元形成的複數個互連的電路元件,該細胞元庫提供在至少一個金屬層中界定一或更多個多餘金屬區段的細胞元,該一或更多個多餘金屬區段需要符合設計規則但未由該細胞元使用,每個細 胞元具有細胞元定義資料,且一或更多個細胞元的該細胞元定義資料將至少一個多餘金屬區段識別為可用於路由,其中含有所述一或更多個多餘金屬區段的所述至少一個金屬層包含:一金屬0(M0)層;該複數個互連的電路元件是由路由路徑所互連的,且至少一個路由路徑併入由所述至少一個金屬層內的一多餘金屬區段所提供的一部分。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/447,716 | 2017-03-02 | ||
US15/447,716 US10452804B2 (en) | 2017-03-02 | 2017-03-02 | Technique for distributing routing into superfluous metal section of an integrated circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201837760A TW201837760A (zh) | 2018-10-16 |
TWI803481B true TWI803481B (zh) | 2023-06-01 |
Family
ID=63355212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107106756A TWI803481B (zh) | 2017-03-02 | 2018-03-01 | 產生積體電路的電路模塊的佈局的方法,及其電腦程式產品、非暫時性儲存媒體,及積體電路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10452804B2 (zh) |
TW (1) | TWI803481B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11538757B2 (en) * | 2019-10-29 | 2022-12-27 | Qualcomm Incorporated | Integrated circuit with circuit cells having lower intercell routing metal layers |
US11475198B2 (en) * | 2021-01-13 | 2022-10-18 | Arm Limited | Method and system for designing an integrated circuit, and an integrated circuit |
TWI774364B (zh) * | 2021-05-11 | 2022-08-11 | 瑞昱半導體股份有限公司 | 能夠朝向布局邊緣形成寄生電容的半導體電容陣列布局 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5461576A (en) * | 1993-09-01 | 1995-10-24 | Arcsys, Inc. | Electronic design automation tool for the design of a semiconductor integrated circuit chip |
TW200421134A (en) * | 2003-04-01 | 2004-10-16 | Taiwan Semiconductor Mfg | A method of IC design and integration |
US20100100861A1 (en) * | 2008-10-21 | 2010-04-22 | Arm Limited | Modifying integrated circuit layout |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8490042B2 (en) * | 2009-08-31 | 2013-07-16 | Synopsys, Inc. | Performing routing optimization during circuit design |
US9871039B2 (en) * | 2015-12-28 | 2018-01-16 | Arm Limited | Resistance mitigation in physical design |
-
2017
- 2017-03-02 US US15/447,716 patent/US10452804B2/en active Active
-
2018
- 2018-03-01 TW TW107106756A patent/TWI803481B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5461576A (en) * | 1993-09-01 | 1995-10-24 | Arcsys, Inc. | Electronic design automation tool for the design of a semiconductor integrated circuit chip |
TW200421134A (en) * | 2003-04-01 | 2004-10-16 | Taiwan Semiconductor Mfg | A method of IC design and integration |
US20100100861A1 (en) * | 2008-10-21 | 2010-04-22 | Arm Limited | Modifying integrated circuit layout |
Also Published As
Publication number | Publication date |
---|---|
TW201837760A (zh) | 2018-10-16 |
US10452804B2 (en) | 2019-10-22 |
US20180253523A1 (en) | 2018-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10503859B2 (en) | Integrated circuit design and/or fabrication | |
US10796053B2 (en) | Computer implemented system and method for generating a layout of a cell defining a circuit component | |
KR102423040B1 (ko) | 3차원 집적회로 디자인을 생성하는 방법 | |
CN103778273B (zh) | 产生包含标准单元及存储器实例的集成电路布图的方法 | |
US11288432B2 (en) | Computer implemented system and method for generating a layout of a cell defining a circuit component | |
TWI803481B (zh) | 產生積體電路的電路模塊的佈局的方法,及其電腦程式產品、非暫時性儲存媒體,及積體電路 | |
TWI796277B (zh) | 設計積體電路的方法及積體電路設計系統 | |
US8860458B2 (en) | Integrated circuits with logic regions having input and output bypass paths for accessing registers | |
WO2006136845A2 (en) | Integrated circuit routing and compaction | |
KR102527749B1 (ko) | 3d 집적 회로용 폴딩 블록들 및 복제 핀들을 갖는 지적 재산 블록 설계 | |
KR20180092692A (ko) | Beol을 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템 | |
US9904752B2 (en) | Methods for distributing power in layout of IC | |
KR20230133901A (ko) | 집적 회로의 회로부 할당 | |
US9293450B2 (en) | Synthesis of complex cells | |
US7194717B2 (en) | Compact custom layout for RRAM column controller | |
Uppula et al. | Impact on the Physical Design flow, due to Repositioning the Macros in the Floorplan stage of Video decoder at Lower Technologies | |
US11829698B2 (en) | Guided power grid augmentation system and method | |
CN113779923A (zh) | 具有最佳化胞元布置的装置布局 | |
JP2002313918A (ja) | 半導体集積回路の設計方法 |