TWI625639B - 用於產生積體電路佈局的電腦實施方法、電腦、電腦可讀取儲存媒體以及藉由該方法所製造的積體電路 - Google Patents
用於產生積體電路佈局的電腦實施方法、電腦、電腦可讀取儲存媒體以及藉由該方法所製造的積體電路 Download PDFInfo
- Publication number
- TWI625639B TWI625639B TW103130437A TW103130437A TWI625639B TW I625639 B TWI625639 B TW I625639B TW 103130437 A TW103130437 A TW 103130437A TW 103130437 A TW103130437 A TW 103130437A TW I625639 B TWI625639 B TW I625639B
- Authority
- TW
- Taiwan
- Prior art keywords
- standard
- boundary
- edge
- unit
- integrated circuit
- 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
- G06F30/394—Routing
-
- 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/392—Floor-planning or layout, e.g. partitioning or placement
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)
- Architecture (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
一種產生積體電路佈局之方法,該方法包含以下步驟:在容許邊界衝突的同時決定選自標準單元庫的標準單元之置放,在該等邊界衝突中緊接於彼此置放標準單元之不相容邊界區域。在決定標準單元之間的路由連接之後,產生積體電路佈局。積體電路佈局之產生包括將至少一個不相容邊界區域映射至替代邊界區域以消除至少一個邊界衝突之映射步驟。
Description
本發明係關於積體電路領域。更特定言之,本發明係關於一種產生積體電路佈局的方法。
可提供自動化工具用於產生積體電路佈局。標準單元庫定義不同類型的標準單元,該等標準單元可經選擇包括在積體電路佈局中。系統設計者可向自動化設計系統提供待產生之電路佈局之功能定義,且該自動化設計系統可隨後藉由從庫中選擇滿足所需功能定義的標準單元來產生積體電路佈局。
已知提供一些標準單元,該等標準單元具有邊界區域,該等邊界區域與相鄰單元之邊界區域具有有限相容性。一些單元可具有彼此不相容的邊界區域,使得在積體電路佈
局中無法緊接於彼此置放此類單元。因此,當決定積體電路之單元置放時,自動化設計系統可考慮相鄰邊界區域之相容性。舉例而言,該系統可選擇單元,使得僅具有相容邊界區域的單元被緊接於彼此置放。然而,如此限制了單元置放及與單元連接之路由的靈活性,從而可降低電路佈局之效率。又,可能在相鄰單元之不相容邊界區域之間置放填充物區域,使得仍可緊接於彼此置放該等單元。然而,填充物區域增加了積體電路佈局之面積,此舉並非所欲。本技術設法解決該等問題。
從一態樣看,本發明提供一種使用定義複數個標準單元之標準單元庫產生積體電路佈局之電腦實施方法,各個標準單元定義潛在功能組件以便包括在積體電路佈局中;該方法包含以下步驟:在容許一或更多個邊界衝突的同時決定選自標準單元庫的標準單元之置放,在該等衝突中於置放之鄰接標準單元中鄰接於彼此置放不相容邊界區域,該等不相容邊界區域包含在積體電路佈局中無法鄰接於彼此置放的邊界區域;決定置放中的標準單元之間的路由連接;以及基於置放及路由連接產生積體電路佈局,其中該產生之步驟包含映射步驟,在映射步驟中,針對邊界衝突中之至少一者,將置放中的不相容邊界區域中之至少一者映射至積體電路佈局中的替代邊界區域,以消除邊界衝突。
該方法在容許一或更多個邊界衝突的同時決定選自
單元庫的標準單元之置放,在該等衝突中於置放之鄰接標準單元中鄰接於彼此置放不相容區域。此舉與將不允許邊界衝突下的此置放之已知系統形成比較。映射步驟係在佈局產生方法中稍後提供,在該映射步驟中,針對邊界衝突中之至少一者,將置放中的不相容邊界區域中之至少一者映射至替代邊界區域以消除邊界衝突。此技術提供若干優勢。藉由在置放及路由後提供映射步驟,置放及路由步驟變得較不複雜,因為該等步驟不需要考慮鄰接單元之邊界區域之相容性。又,此技術允許在選擇於單元置放中置放哪些單元方面更加靈活,如此可例如容許標準單元之間的連接之較好路由。又,藉由在容許邊界衝突的同時置放標準單元,但稍後將不相容邊界區域映射至替代邊界區域以消除衝突,可能在無需於不相容邊界區域之間使用填充物區域的情況下置放標準單元,從而減小最終積體電路佈局之面積。
決定標準單元之置放之步驟可包括在置放中置放反射單元,該反射單元包含來自標準單元庫的選定標準單元之反射版本。提供當在置放中置放單元時反射來自庫的單元之能力係有用的,因為此可允許更有效率地將連接路由至單元,從而釋放其他路由的空間。然而,若待反射之單元在單元之不同邊緣處具有不同邊界區域,則反射該單元可引入邊界衝突,若未反射單元,則原本不會存在該衝突,因為反射可引發邊界區域位置交換。因此,在已知積體電路佈局設計中,一直難以引入反射單元且亦不需要添加填充物區域來消除邊界衝突。相比之下,本技術可容許由置放中的反射單元
引發的此類邊界衝突,及隨後一旦已決定置放及路由則將不相容邊界區域映射至替代邊界區域以消除衝突。因此,仍可在無需複雜修改單元置放步驟或路由步驟及無需填充物區域增加電路面積的情況下實現反射單元置放之益處。單元之反射可關於任何軸。舉例而言,反射可關於水平、垂直或對角地將單元一分為二的軸。
在置放步驟中,可在不相容邊界區域直接鄰接彼此的情況下置放標準單元。因此,邊界衝突不約束單元置放,及可稍後藉由映射步驟消除該衝突。
一些單元可僅在可引發與其他單元衝突的單元之一側上具有邊界區域。其他單元可在單元之兩個或更多個側上具有此類邊界區域。因此,一些單元可具有發生於單元之多個邊緣處的邊界衝突。
對於映射步驟,可能僅將標準單元之邊界區域映射至替代邊界區域,而單獨留下標準單元之其餘者。然而,由於邊界區域與單元之其餘者之間的互連可為複雜的,用替代標準單元替換具有不相容邊界區域的整個標準單元可更簡單,該替代標準單元包括替代邊界區域及對應於與原始標準單元相同的功能組件。舉例而言,單元庫可定義對應於相同功能組件的標準單元之多個版本,各個版本具有邊界區域之不同排列。映射步驟可隨後用替代版本中之一者替換目標標準單元以消除邊界衝突。
在標準單元之相對邊緣處提供具有邊界區域的替代標準單元可特別有用,該等相對邊緣與目標標準單元之對應
邊界區域相反。因此,若目標標準單元具有在第一邊緣處的第一邊界區域及在第二邊緣處的第二邊界區域,替代標準單元可具有在第二邊緣處的第一邊界區域及在第一邊緣處的第二邊界區域,但具有與目標標準單元相同的功能組件。此舉係用於目標標準單元為來自上文所論述之庫的單元之反射版本的情況中。若單元之反射已引發第一邊緣及第二邊緣之一或兩者處的邊界衝突,則通常用具有相反邊界區域的替代標準單元替換目標標準單元可消除衝突。
因此,對於給定功能組件,含有針對相同組件定義標準單元之兩個不同版本的特性化資訊對單元庫而言可為有用。第一版本具有一邊緣處的第一邊界區域、相對邊緣處的第二邊界區域及兩個邊緣之間的給定功能組件。替代版本具有與第一版本相比反射之功能組件,但邊界區域處於與第一版本相同的位置。上文所論述之目標標準單元可對應於第一版本之反射形式,且因此該庫將不需要含有定義此反射形式的進一步特性化資料,因為第一版本可隱含識別反射目標標準單元。因此,可藉由在映射階段處用單元之第二版本替換目標標準單元消除邊界衝突,該等邊界衝突藉由反射該單元之第一版本以產生用於置放之目標標準單元引入。
通常,單元可具有多個邊緣,該等邊緣具有有限相容性之邊界區域。在此情況中,在映射步驟處替換標準單元以消除一個邊界衝突可引入替換單元之另一邊緣處的另一衝突。因此,可有時需要用替代單元替換置放之多個標準單元以消除邊界衝突,當已消除其他邊界衝突時該等邊界衝突已
自其他單元行波傳送。
當鄰接於彼此置放兩個不相容邊界區域時可引發邊界衝突。為了消除邊界衝突,僅替換不相容邊界區域中之一者可能是足夠的。舉例而言,可用與不相容邊界區域之另一者相容的替代邊界區域替換不相容邊界區域中的一者。在其他場合,用相容替代者替換不相容邊界區域之兩者可更簡單。舉例而言,取決於包括不相容邊界區域的單元之其他邊界區域,用替代者替換不相容邊界區域兩者可為較佳,例如,若僅替換一者將引發其他邊界衝突行波傳送至上文所論述之其他單元。
可在產生積體電路佈局之方法之各種階段執行映射步驟。在一實例中,可在用於輸出積體電路佈局以便設計規則驗證或製造規則驗證的「流式輸出」步驟處執行映射步驟。設計或製造規則驗證可包含各種檢查,用於確保製造時所產生積體電路佈局將正確執行功能。在流式輸出階段執行映射步驟係有利的,因為在此點處需要比置放或路由階段更少的資料來特性化置放單元。若在置放或路由步驟處已執行使用上文所論述的標準單元之替代版本之映射步驟,則此將需要完全模製單元之各個版本用於置放/路由,此舉將增加資料之體積及標準單元庫之複雜性。然而,在流式輸出步驟處,可使用較少資料定義單元之替代版本,使得單元庫之實施更有效率。
在一些實例中,可僅存在兩種不同類型邊界區域。舉例而言,可認為相對類型之邊界區域彼此相容,而可認為
相同類型之邊界區域不相容。在此情況中,除了各個單元邊界處存在何種邊界類型之指示外,電腦實施設計可需要極少特性化邊界區域之相容性的資訊。
然而,在其他實例中,可存在兩個以上類型之邊界區域,且決定不同類型邊界區域是否相容可更加複雜。因此,該方法可使用相容性資訊以指示不同類型之不同邊界區域之相容性。映射步驟可基於相容性資訊識別邊界衝突及決定替代邊界區域。
儘管本技術提供一種用於處理鄰接標準單元之不相容邊界區域之間衝突的改良技術,但不一定對單元置放中發生的每一邊界衝突使用此技術。對於一些邊界衝突,可能首先使用諸如在邊界之間插入填充物區域或藉由調整單元置放之已知技術避免邊界衝突。因此,可能對單元置放中發生之邊界衝突中的僅一些使用映射步驟。
該方法可包含輸出所產生佈局之步驟。舉例而言,可藉由將佈局儲存於記錄媒體上或將佈局輸出至外部裝置來輸出所產生佈局。製造商可隨後製造具有所產生積體電路佈局的積體電路。
從另一態樣看,本發明提供一種儲存標準單元庫的電腦可讀取儲存媒體,該儲存媒體包含定義複數個標準單元以便包括在積體電路佈局中之資訊,各個標準單元包含第一邊緣及與第一邊緣相對的第二邊緣;該複數個標準單元包含:第一標準單元,該第一標準單元包含第一邊緣處的第一
邊界區域、第二邊緣處的第二邊界區域及第一邊緣與第二邊緣之間的預定功能組件;以及第二標準單元,該第二標準單元包含第一邊緣處的第一邊界區域、第二邊緣處的第二邊界區域及第一邊緣與第二邊緣之間的預定功能組件之反射版本。
為了使得標準單元之不相容邊界區域之間能夠消除邊界衝突,標準單元庫可包含具有相同功能組件的標準單元之第一版本及第二版本。該第一版本可具有第一階段處的第一邊界區域、與第一邊緣相對的第二邊緣處的第二邊界區域及第一邊緣與第二邊緣之間的預定功能組件。第二標準單元具有與第一標準單元一樣相對於第一邊緣及第二邊緣的相同位置中的邊界區域,但具有相對於第一標準單元中的對應功能組件所反射之功能組件(例如,可關於水平、垂直或對角地將單元一分為二的軸反射功能組件)。
在一些實例中,積體電路佈局之設計中的置放步驟可具有標準單元之第一版本及第二版本兩者供選擇。在此情況中,單元庫可包含控制資訊,該控制資訊用於控制第一標準單元及第二標準單元兩者之置放及連接路由。在此情況中,藉由插入翻轉第二標準單元而非第一標準單元之反射版本,可在置放步驟處避免邊界衝突。
另一方面,在其他實例中,僅第一標準單元可用於置放及路由(不論處於非反射形式或反射形式),且第二標準單元可隨後在後續映射步驟處替換第一標準單元之反射版本以便消除邊界衝突。在此情況中,標準單元庫可包含控制
資訊,該控制資訊用於僅控制第一標準單元而非第二標準單元之置放及連接路由。此方法可更有效率,因為可藉由在佈局產生過程之稍後階段插入而非需要在置放/路由階段完全複製單元之模型來減少定義第二標準單元之特性化資料的量。
儲存單元庫的儲存媒體可為非暫態儲存媒體,諸如(例如)隨機存取記憶體、快閃記憶體、磁性儲存媒體或光碟。
本技術之進一步態樣、特徵及優勢將自示例性實施例之以下描述顯而易見,將結合隨附圖式閱讀該等實施例。
2‧‧‧標準單元
4‧‧‧標準單元
6‧‧‧標準單元
8‧‧‧標準單元
10‧‧‧功能電路系統
12‧‧‧邊界區域
20‧‧‧標準單元
22‧‧‧連接
24‧‧‧Y軸
26‧‧‧空間
28‧‧‧X軸
29‧‧‧Z軸
30‧‧‧單元
32‧‧‧空間
40‧‧‧功能需求
42‧‧‧單元庫
44‧‧‧標準單元
50‧‧‧置放步驟
52‧‧‧單元置放
54‧‧‧行
56‧‧‧列
58‧‧‧路由步驟
60‧‧‧連接
62‧‧‧流式輸出步驟
68‧‧‧目標單元
70‧‧‧替代單元
72‧‧‧鄰接單元
80‧‧‧第一形式
82‧‧‧第二形式
86‧‧‧反射版本
87‧‧‧連接
90‧‧‧功能組件
92‧‧‧第一邊緣
94‧‧‧第二邊緣
96‧‧‧反射功能組件
100‧‧‧邊界違規
102‧‧‧單元
104‧‧‧單元
106‧‧‧單元
108‧‧‧單元
200‧‧‧步驟
202‧‧‧步驟
204‧‧‧步驟
206‧‧‧步驟
208‧‧‧步驟
210‧‧‧步驟
212‧‧‧步驟
300‧‧‧通用電腦
302‧‧‧中央處理單元
304‧‧‧隨機存取記憶體
306‧‧‧唯讀記憶體
308‧‧‧網路介面卡
310‧‧‧硬碟機
312‧‧‧顯示驅動器
314‧‧‧監視器
316‧‧‧使用者輸入/輸出電路
318‧‧‧鍵盤
320‧‧‧滑鼠
322‧‧‧匯流排
第1A圖至第1D圖圖示具有不同類型邊界區域之標準單元之實例;第2A圖及第2B圖圖示在置放於積體電路佈局中之前反射標準單元之實例;第3圖圖示可發生在鄰接標準單元之邊界區域之間的邊界衝突之實例;第4圖示意性圖示使用標準單元庫產生積體電路佈局之示例性方法;第5A圖及第5B圖示意性圖示標準單元之第一形式及第二形式;第6圖圖示將一或更多個不相容邊界區域映射至替代邊界區域之第一實例;第7圖圖示將不相容邊界區域映射至相容替代邊界區域之第二實例;
第8圖圖示產生積體電路佈局之方法;以及第9圖示意性圖示用於執行該方法的電腦系統之實例。
第1A圖至第1D圖圖示用於潛在包括於積體電路佈局中的標準單元2、4、6、8之四個實例。各個標準單元包含功能電路系統10,該功能電路系統可包含積體電路之任何組件。舉例而言,功能電路系統10可為邏輯閘(諸如及閘(AND gate)或或閘(OR gate))、加法器或乘法器。在圖式中將使用字母F表示功能組件。各個標準單元包括在標準單元邊緣處的邊界區域12。儘管第1A圖至第1D圖圖示單元之左邊緣及右邊緣處的邊界區域12,但在其他實例中,代替左邊緣及右邊緣,或除左邊緣及右邊緣之外,可存在位於頂邊緣及底邊緣處之邊界區域。
積體電路設計規則或其他約束可引發不同類型之邊界區域12彼此不相容,使得在積體電路佈局中無法鄰接彼此置放該等邊界區域。舉例而言,可存在一種製造規則,該規則防止單元之相同層中的金屬線比某一最短距離更靠近,以例如確保所製造電路之正確功能性。因此,若鄰接單元具有金屬線接近於單元之邊緣傳遞的邊界區域,則此金屬線可與鄰接單元之邊界區域中的類似金屬線衝突,從而違反製造規則。第1A圖至第1D圖圖示單元之相同層中的金屬線之不同排列之實例。在第1A圖中,單元2在邊界區域12中沒有金屬線,且因此該單元之邊界區域12可與任何其他邊界區域12
相容。然而,第1B圖至第1D圖之單元4、6、8在邊界區域12中具有不同排列之金屬線。若緊接於彼此置放單元,該兩個單元皆具有在對應位置處進入邊界區域12的金屬線,則如此可引發邊界衝突。舉例而言,第1B圖之標準單元4之左邊緣處的邊界區域B1與相同類型之鄰接標準單元4之右手邊緣處的邊界區域B2相容。然而,邊界區域B1將不與第1C圖所示之邊界區域C2或第1D圖所示之邊界區域D相容,因為鄰接單元將在邊界區域之下半部分皆具有金屬線,此金屬線將比所需最短距離更接近。
儘管可藉由要求所有單元避免在如第1A圖之邊界區域中延伸的金屬線來避免邊界衝突,但允許一些標準單元延伸至邊界區域係有用的,因為此舉使得單元在寬度上更小成為可能,以增加設計有此類單元之積體電路之功能密度。因此,使用可發生邊界衝突的單元可較佳。
除延伸至邊界區域12中的標準單元之金屬線或其他組件之排列外,對於為何標準單元之某些邊界區域彼此不相容可存在其他原因。舉例而言,在半導體之鄰接區域之摻雜濃度中可存在差異。在由英國劍橋的ARM Limited提交申請之美國專利申請案US2010/0115484 A1中提供關於不同類型單元邊界的更多資訊,該申請案之內容以引用之方式併入本文。
有時,當在積體電路佈局中置放標準單元時可需要反射標準單元。舉例而言,第2A圖圖示包含三個組件A、B、C的標準單元20之一實例。在第2A圖之實例中,需要將組
件C連接至單元20之左側的標準單元,而需要將組件A、B連接至單元20之右側的標準單元。然而,此意謂連接22必須越過單元20之其他組件到達鄰接單元,且因此連接22用盡單元20中路由連接可用的很多空間。
如第2B圖所示,藉由關於Y軸24反射標準單元20,儘管將組件A、B、C路由至如前所述之單元20之任一側處的相同單元,但不再需要路由連接越過單元20中的大部件。舉例而言,反射意謂組件C現比第2A圖更接近於待連接之左鄰接單元。此意謂可縮短連接22中的一些,產生在標準單元20上方路由額外連接的空間26,該空間在第2A圖中原本不可能。因此,當在積體電路佈局中置放單元時,翻轉標準單元可為有用。儘管第2A圖及第2B圖圖示關於Y軸24的反射,但在其他實例中,反射可關於第2B圖所指示之X軸28或對角線Z軸29或另一軸。較佳地,反射可關於將單元20一分為二的軸。
然而,若待反射之標準單元具有與其他邊界區域有限相容性的邊界區域12,則反射該單元可引入額外邊界衝突,若未反射該單元,則原本不會發生該等邊界衝突。舉例而言,可存在第1B圖所示之類型4之標準單元行,在該行中各個單元具有左手側的邊界區域B1及右手側的邊界區域B2。在單元之非反射形式中,可鄰接於彼此置放此類單元,因為在各個邊界處,區域B1及B2彼此相容(區域B2之上半部分中的金屬線與區域B1下半部分中的金屬線不衝突)。然而,如第3圖所示,若關於Y軸反射單元30中的兩者,則
針對該等單元30交換邊界區域B1、B2,且因此當相同區域B1或相同區域B2之兩者鄰接於彼此時發生邊界衝突。通常,藉由在如第3圖所示之鄰接單元之間插入空間32已解決此問題,但此增加了積體電路之面積。或者,藉由防止如第2A圖及第2B圖所示之反射可解決此問題。然而,此限制了單元置放及路由中的設計自由,例如消除了使第2B圖所示之連接路由更有效率的幾率。避免反射可需要對單元的輸入與輸出,該等輸入與輸出以複雜方式越過彼此路由以到達適宜插針。
第4圖圖示產生積體電路佈局之方法,該方法容許在置放上翻轉單元而無需在衝突單元之間插入額外空間。使用電腦(例如,EDA(Electronic Design Automation;電子設計自動化)工具)實施該方法。電腦可例如為下文關於第9圖所論述之電腦。電路設計者指定待設計之積體電路的一些功能需求40。舉例而言,功能需求可提供所欲電路之閘水平表示或使用電路之高水平表示(諸如使用暫存器傳送語言(Register Transfer Language;RTL))。舉例而言,在藉由實施方法的電腦可讀取之記錄媒體上提供單元庫42。單元庫42包括定義標準單元44的資料,各個標準單元對應於待包括在積體電路設計中的潛在功能組件。在置放步驟50處,從庫42中選擇標準單元44以滿足輸入功能需求40,且產生包括選定單元44的單元置放52。舉例而言,單元置放52可包含選自庫42的單元44之各種行54及列56。在單元置放52中置放標準單元前,置放步驟反射來自庫42的一些標準單元44。在圖式中,使用向後字母F指示反射標準單元,與此相反,使
用正常字母F指示非反射單元。與先前設計過程不同,置放步驟50容許置放單元及反射之單元,使得其邊界衝突(此在第4圖中藉由解釋標記指示)。因此,不需要置放步驟考慮鄰接單元之邊界是否彼此相容。置放步驟50置放單元,使得邊界直接彼此鄰接,而無需介入填充物區域。
在路由步驟58處,決定單元之間的各種連接60。舉例而言,連接60可實施由單元置放52之不同單元表示的組件之間的功能關係。在流式輸出步驟62處,流式輸出單元置放52以便設計規則驗證或製造規則驗證。設計/製造規則驗證包含一或更多個步驟以檢查藉由置放及路由步驟所產生的積體電路佈局是否符合各種規則,該等規則控制可如何製造積體電路。舉例而言,驗證可檢查單元之相同層中不存在比最短距離更接近之兩個金屬線,因為此可在製造積體電路時阻礙積體電路適當地執行功能。若積體電路設計驗證失敗,則被退回置放步驟50以產生新的置放。
流式輸出步驟62包括映射步驟,該映射步驟用於將置放單元之不相容邊界區域映射至替代邊界區域以消除邊界衝突,且因此產生最終積體電路佈局。在第4圖中所示之實例中,用替代單元70替換單元置放52之目標單元68,該替代單元具有與目標單元68相同的功能組件,但具有不同的邊界區域排列以避免與鄰接單元72衝突。藉由在流式輸出步驟62處用替代單元替換單元,可在無邊界衝突下產生最終積體電路佈局,無需遭受單元置放步驟50處的複雜性或增加電路面積。
為了啟用第4圖所示之映射,向庫42提供替代形式之標準單元係有用的,該替代形式之標準單元提供相同功能性,但具有功能組件之元件相對於彼此及邊界區域不同的相對位置。第5A圖及第5B圖圖示一實例。第5A圖圖示具有介於標準單元之第一邊緣92處的第一邊界區域B1與標準單元之第二邊緣94處的第二邊界區域B2之間之預定功能組件90的標準單元之第一形式80。第5B圖圖示標準單元之第二形式82,其中邊界區域B1及B2仍分別處於第一邊緣92及第二邊緣94處,但用反射功能組件96替換功能組件90,該反射功能組件關於Y軸相對於標準單元之第一形式80中的功能組件90被反射。反射功能組件96不需要為第一形式80中的功能組件90之精確鏡像。使反射成翻轉功能組件之元件之相對位置足夠(例如,在第2A圖及第2B圖之實例中,組件C在非反射形式中處於元件A與B之右側及在反射形式中處於元件A與B之左側)。又,如第5A圖之實例所示,功能組件90可具有待連接至單元之右手邊緣處的邊界區域B2的部分P及待連接至左手邊緣處的邊界區域B1的部分Q。在單元之第二形式82中,部分P及Q之相對位置可隨反射功能組件90而變化,但部分P及Q可仍需要分別連接至右手及左手邊緣。因此,單元之第二形式82之連接87可不為單元之第一形式80之對應連接87之鏡像。
第6圖圖示第5A圖及第5B圖所示之標準單元之第一形式及第二形式如何可為有用之實例。如第6圖之上半部分所示,在單元置放50及路由52處,可由單元庫42使用標
準單元之第一形式80以控制單元置放52。單元庫42可選擇包括第一形式80或第一形式之反射版本86之任一者,在該第一形式中關於單元置放52中的電線存取反射整個單元(包括被反射之邊界區域)。由於反射單元86係單元之全反射,自動化設計系統可自第一形式80決定反射單元,而無需針對置放/路由階段模製任何額外單元。然而,儘管此反射可幫助連接路由,但該反射在單元邊界處引入邊界違規94。
如第6圖之下半部分所示,在流式輸出步驟期間,藉由提供標準單元之第二形式82,可將在置放及路由後所形成的第一形式80之反射版本86映射至第二形式82以消除邊界違規。可使用相對較少特性化資料(例如,所需的唯一模型檢視可為CDL或GDS2)定義單元替代單元之第二形式82,從而避免需要在置放或路由步驟處提供相同單元之兩個或兩個以上完全模型。
第7圖圖示將邊界區域映射至替代邊界區域之第二實例。在此實例中,可存在多個可用單元供選擇,而非僅在單元之兩種形式之間選擇。舉例而言,在單元可具有第1A圖至第1D圖所示不同類型之邊界區域的情況下,則可發生一系列不同類型邊界違規。第7圖之上半部分圖示一實例,其中在單元邊界C2-B1及D-B1處發生邊界違規100,因為金屬曝露物在沿Y軸的對應點處從邊界之兩側進入邊界區域。如第7圖之下半部分所示,藉由將具有邊界類型B1、B2的單元102映射至具有邊界類型C1、C2的單元104及將具有邊界類型B1、B2的單元106映射至具有邊界類型A、A的單元108可
消除該等邊界違規。
儘管第7圖圖示在映射步驟中替換整個單元之一實例,但亦可能提供一系統,該系統可僅替換單元中的單元邊界部分,而不替換單元中的其餘部分。因此,可存在針對映射階段的相同單元可實施之多個邊緣類型。
又,可能根據需要將具有多個邊界類型的單元與僅具有單個邊界類型的單元及不具有任何邊界類型限制的其他單元混合,僅僅藉由在置放步驟中將單元置放在所欲位置(忽略任何邊界違規)及隨後若需要在稍後步驟中將邊界區域映射至替代邊界區域。
第8圖係圖示產生積體電路佈局之方法的流程圖。在步驟200處,輸入待產生之積體電路之功能描述。在步驟202處,決定來自庫42的標準單元之置放52。置放步驟包括關於軸可選翻轉(反射)一或更多個單元,例如以改良路由效率。置放步驟允許置放單元以使得存在緊接於彼此置放不相容邊界區域之邊界衝突。在步驟204處,決定路由連接60與單元置放52之不同單元互連。在步驟206處,將與鄰接邊界區域衝突的一或更多個不相容邊界區域映射至消除衝突的替代邊界區域。此步驟可使用相容性資訊,該資訊指示何種類型之單元邊界與其他類型單元邊界衝突,以決定何處發生邊界衝突及如何使用替代邊界區域消除衝突。在步驟208處,在如步驟206中的邊界區域映射至替代區域的情況下,使單元置放52流式輸出用於設計規則驗證及/或製造規則驗證。設計規則驗證與製造規則驗證類似,但可對於符合任何設計/製
造約束執行略有不同的檢查。在步驟210處,例如使用儲存媒體或通訊裝置輸出流式輸出積體電路佈局。隨後可將該佈局供應給製造商或製造裝置,且在步驟212處,將積體電路製造成用以上步驟產生的佈局。儘管在第8圖中將步驟206與208圖示為單獨步驟,但在其他實例中,該等步驟可組合於相同步驟中。
第9圖示意性圖示通用電腦300之實例,該通用電腦可用於實施上文所描述之技術且特定而言為積體電路之佈局之產生。通用電腦300包括中央處理單元302、隨機存取記憶體304、唯讀記憶體306、網路介面卡308、硬碟機310、顯示驅動器312及監視器314及具有鍵盤318及滑鼠320之使用者輸入/輸出電路316,該等元件全部經由共同匯流排322連接。在操作中,中央處理單元302可執行電腦程式指令,該等指令可儲存於隨機存取記憶體304、唯讀記憶體306及硬碟機310中之一或更多者中,或經由網路介面卡308動態下載。所執行之處理的結果可經由顯示驅動器312及監視器314顯示給使用者。可自鍵盤318或滑鼠320經由使用者輸入輸出電路316接收控制通用電腦300之操作的使用者輸入。應將瞭解,可以各種不同電腦語言寫入電腦程式。電腦程式可儲存及分散於記錄媒體上或動態下載至通用電腦300。當在適宜電腦程式之控制下操作時,通用電腦300可執行上文所描述之技術且可被認為形成用於執行上文所描述技術之設備。通用電腦300之架構可存在相當大的變化且第9圖僅為一個實例。
儘管已在本文中描述本技術之特定實施例,但將顯而易見的是,本發明並不限於此等特定實施例,且可在本發明之範疇內進行許多修改及添加。舉例而言,可在不脫離本發明之範疇的情況下進行以下從屬申請專利範圍之特徵之各種組合。
Claims (15)
- 一種使用定義複數個標準單元的一標準單元庫產生一積體電路佈局之電腦實施方法,各個標準單元定義一潛在功能組件以便包括在該積體電路佈局中;該方法包含以下步驟:在容許一或更多個邊界衝突的同時決定選自該標準單元庫的標準單元之一置放,在該等衝突中於該置放之鄰接標準單元中鄰接於彼此置放不相容邊界區域,該等不相容邊界區域包含該積體電路佈局中無法鄰接於彼此置放的邊界區域;決定該置放中的該等標準單元之間的路由連接;以及基於該置放及該等路由連接產生該積體電路佈局,其中該產生之步驟包含一映射步驟,在該映射步驟中,針對該等邊界衝突中之至少一者,將該置放中的該等不相容邊界區域中之至少一者映射至該積體電路佈局中的一替代邊界區域以消除該邊界衝突;其中該映射步驟包含以下步驟:用該積體電路佈局中的一替代標準單元替換該置放之一目標標準單元,該目標標準單元包含該等不相容邊界區域中之該至少一者,該替代標準單元包含該替代邊界區域及與該目標標準單元相同的功能組件;其中該替代標準單元包含與該目標標準單元相同地定向的該功能組件。
- 如請求項1所述之方法,其中該決定該置放之步驟包含以下步驟:在該置放中置放一反射單元,該反射單元包含來自該標準單元庫的一選定標準單元之一反射版本。
- 如請求項2所述之方法,其中藉由反射該選定標準單元之該功能組件及邊界區域以形成該反射單元來形成該反射單元。
- 如請求項1所述之方法,其中該決定該置放之步驟包含以下步驟:在該置放中直接鄰接彼此置放具有至少一個邊界衝突的該等不相容邊界區域之該等標準單元。
- 如請求項1所述之方法,其中該目標標準單元包含該標準單元之一第一邊緣處的一第一邊界區域,及與該第一邊緣相對的該標準單元之一第二邊緣處的一第二邊界區域;以及該替代標準單元包含該標準單元之該第一邊緣處的該第二邊界區域,及該標準單元之該第二邊緣處的該第一邊界區域。
- 如請求項5所述之方法,其中該目標標準單元包含來自該標準單元庫的一選定標準單元之一反射版本,該選定標準單元包含該第一邊緣處的該第二邊界區域、該第二邊緣處的該第一邊界區域及該第一邊緣與該第二邊緣之間的一預定功能組件;以及該替代標準單元包含該第一邊緣與該第二邊緣之間的該預定功能組件之一反射版本。
- 如請求項1所述之方法,其中在用於輸出該積體電路佈局以便設計規則驗證或製造規則驗證的一步驟處執行該映射步驟。
- 如請求項1所述之方法,其中該映射步驟基於相容性資訊將該等不相容邊界區域中之該至少一者映射至該替代邊界區域,該相容性資訊指示複數個不同類型之邊界區域之間的相容性。
- 如請求項1所述之方法,該方法包含輸出該所產生積體電路佈局之一步驟。
- 如請求項1所述之方法,該方法包含製造具有該所產生積體電路佈局的一積體電路之一步驟。
- 一種電腦,該電腦經配置以執行如請求項1所述之方法。
- 一種儲存一標準單元庫的電腦可讀取儲存媒體,該儲存媒體包含定義複數個標準單元以便包括在一積體電路佈局中之資訊,各個標準單元包含一第一邊緣及與該第一邊緣相對的一第二邊緣;該複數個標準單元包含:一第一標準單元,該第一標準單元包含該第一邊緣處的一第一邊界區域、該第二邊緣處的一第二邊界區域及該第一邊緣與該第二邊緣之間的一預定功能組件;以及一第二標準單元,該第二標準單元包含該第一邊緣處的該第一邊界區域、該第二邊緣處的該第二邊界區域及該第一邊緣與該第二邊緣之間的該預定功能組件之一反射版本。
- 如請求項12所述之電腦可讀取儲存媒體,其中該標準單元庫包含控制資訊,該控制資訊用於控制該第一標準單元及該第二標準單元兩者之置放及連接路由。
- 如請求項12所述之電腦可讀取儲存媒體,其中該標準單元庫包含控制資訊,該控制資訊用於控制該第一標準單元而非該第二標準單元之置放及連接路由。
- 如請求項14所述之電腦可讀取儲存媒體,其中該標準單元庫包含控制資訊,該控制資訊用於在置放及連接路由後控制用該第二標準單元對該第一標準單元之一反射版本之替換。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/039,224 | 2013-09-27 | ||
| US14/039,224 US8959472B1 (en) | 2013-09-27 | 2013-09-27 | Considering compatibility of adjacent boundary regions for standard cells placement and routing |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201514742A TW201514742A (zh) | 2015-04-16 |
| TWI625639B true TWI625639B (zh) | 2018-06-01 |
Family
ID=51752472
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW103130437A TWI625639B (zh) | 2013-09-27 | 2014-09-03 | 用於產生積體電路佈局的電腦實施方法、電腦、電腦可讀取儲存媒體以及藉由該方法所製造的積體電路 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US8959472B1 (zh) |
| KR (1) | KR102407458B1 (zh) |
| CN (1) | CN104517004B (zh) |
| GB (1) | GB2520123A (zh) |
| TW (1) | TWI625639B (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI765371B (zh) * | 2019-10-15 | 2022-05-21 | 台灣積體電路製造股份有限公司 | 積體電路裝置設計方法、系統及非暫態電腦可讀媒體 |
Families Citing this family (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9348963B1 (en) * | 2014-09-30 | 2016-05-24 | Cadence Design System, Inc. | Automatic abutment for devices with horizontal pins |
| US9734276B2 (en) * | 2014-10-22 | 2017-08-15 | Samsung Electronics Co., Ltd. | Integrated circuit and method of designing layout of the same |
| US10204920B2 (en) | 2015-04-09 | 2019-02-12 | Samsung Electronics Co., Ltd. | Semiconductor device including polygon-shaped standard cell |
| US9690896B2 (en) | 2015-04-09 | 2017-06-27 | Samsung Electronics Co., Ltd. | Method for manufacturing a semiconductor device and semiconductor device manufactured by the same |
| KR102321605B1 (ko) | 2015-04-09 | 2021-11-08 | 삼성전자주식회사 | 반도체 장치의 레이아웃 설계 방법 및 그를 이용한 반도체 장치의 제조 방법 |
| US9773772B2 (en) | 2015-04-09 | 2017-09-26 | Samsung Electronics Co., Ltd. | Semiconductor device and method of fabricating the same |
| US9698056B2 (en) * | 2015-04-09 | 2017-07-04 | Samsung Electronics., Ltd. | Method for designing layout of semiconductor device and method for manufacturing semiconductor device using the same |
| US9928333B2 (en) | 2015-07-30 | 2018-03-27 | Samsung Electronics Co., Ltd. | Methods of designing a layout of a semiconductor device including field effect transistor and methods of manufacturing a semicondutor device using the same |
| KR102415952B1 (ko) | 2015-07-30 | 2022-07-05 | 삼성전자주식회사 | 반도체 소자의 레이아웃 설계 방법, 및 그를 이용한 반도체 소자의 제조 방법 |
| US10114918B2 (en) | 2016-01-27 | 2018-10-30 | Arm Limited | Physical placement control for an integrated circuit based on state bounds file |
| US10678985B2 (en) * | 2016-08-31 | 2020-06-09 | Arm Limited | Method for generating three-dimensional integrated circuit design |
| US10496783B2 (en) * | 2017-04-19 | 2019-12-03 | Mentor Graphics Corporation | Context-aware pattern matching for layout processing |
| US10572615B2 (en) * | 2017-04-28 | 2020-02-25 | Synopsys, Inc. | Placement and routing of cells using cell-level layout-dependent stress effects |
| US10741539B2 (en) * | 2017-08-30 | 2020-08-11 | Taiwan Semiconductor Manufacturing Co., Ltd. | Standard cells and variations thereof within a standard cell library |
| US10503859B2 (en) * | 2017-08-30 | 2019-12-10 | Arm Limited | Integrated circuit design and/or fabrication |
| KR102596528B1 (ko) | 2018-01-15 | 2023-11-01 | 삼성전자주식회사 | 반도체 장치 |
| CN110660792B (zh) * | 2019-09-30 | 2022-03-18 | 上海华力微电子有限公司 | Fdsoi标准单元的填充图形的生成方法以及版图布局方法 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW200602921A (en) * | 2004-06-28 | 2006-01-16 | Ibm | System for coloring a partially colored design in an alternating phase shift mask |
| TW200915122A (en) * | 2007-07-23 | 2009-04-01 | Synopsys Inc | Architectural physical synthesis |
| US20100281446A1 (en) * | 2009-04-30 | 2010-11-04 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated Circuit Design using DFM-Enhanced Architecture |
| US20110084312A1 (en) * | 2009-10-13 | 2011-04-14 | Tela Innovations, Inc. | Methods for Cell Boundary Encroachment and Layouts Implementing the Same |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7028285B2 (en) * | 2000-07-05 | 2006-04-11 | Synopsys, Inc. | Standard cell design incorporating phase information |
| JP2004362420A (ja) * | 2003-06-06 | 2004-12-24 | Renesas Technology Corp | 自動配置装置 |
| JP2006165065A (ja) * | 2004-12-02 | 2006-06-22 | Matsushita Electric Ind Co Ltd | 半導体集積回路及びそのレイアウト方法、並びにスタンダードセル |
| EP1907957A4 (en) * | 2005-06-29 | 2013-03-20 | Otrsotech Ltd Liability Company | INVESTMENT METHODS AND SYSTEMS |
| US7989849B2 (en) * | 2006-11-15 | 2011-08-02 | Synopsys, Inc. | Apparatuses and methods for efficient power rail structures for cell libraries |
| US7526744B2 (en) * | 2007-01-31 | 2009-04-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Integrated circuit design method for efficiently generating mask data |
| US8631383B2 (en) * | 2008-06-30 | 2014-01-14 | Qimonda Ag | Integrated circuits, standard cells, and methods for generating a layout of an integrated circuit |
| US8136072B2 (en) | 2008-11-03 | 2012-03-13 | Arm Limited | Standard cell placement |
| US7919792B2 (en) * | 2008-12-18 | 2011-04-05 | Taiwan Semiconductor Manufacturing Company, Ltd. | Standard cell architecture and methods with variable design rules |
| US8255837B2 (en) * | 2009-02-03 | 2012-08-28 | Taiwan Semiconductor Manufacturing Company, Ltd. | Methods for cell boundary isolation in double patterning design |
| JP2011124423A (ja) * | 2009-12-11 | 2011-06-23 | Toshiba Corp | セルライブラリ、レイアウト方法およびレイアウト装置 |
| US8423946B1 (en) * | 2010-05-25 | 2013-04-16 | Marvell International Ltd. | Circuitry having programmable power rails, architectures, apparatuses, and systems including the same, and methods and algorithms for programming and/or configuring power rails in an integrated circuit |
| US8756550B2 (en) * | 2011-09-19 | 2014-06-17 | Texas Instruments Incorporated | Method to ensure double patterning technology compliance in standard cells |
| KR20130035578A (ko) * | 2011-09-30 | 2013-04-09 | 삼성전자주식회사 | Dpl 공정을 위한 표준셀 라이브러리의 생성 방법 및 이를 이용한 dpl 마스크 생성방법 |
-
2013
- 2013-09-27 US US14/039,224 patent/US8959472B1/en active Active
-
2014
- 2014-09-02 GB GB1415488.4A patent/GB2520123A/en not_active Withdrawn
- 2014-09-03 TW TW103130437A patent/TWI625639B/zh active
- 2014-09-18 KR KR1020140124060A patent/KR102407458B1/ko active Active
- 2014-09-25 CN CN201410497838.6A patent/CN104517004B/zh active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW200602921A (en) * | 2004-06-28 | 2006-01-16 | Ibm | System for coloring a partially colored design in an alternating phase shift mask |
| US7378195B2 (en) * | 2004-06-28 | 2008-05-27 | International Business Machines Corporation | System for coloring a partially colored design in an alternating phase shift mask |
| TW200915122A (en) * | 2007-07-23 | 2009-04-01 | Synopsys Inc | Architectural physical synthesis |
| US20100281446A1 (en) * | 2009-04-30 | 2010-11-04 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated Circuit Design using DFM-Enhanced Architecture |
| US20110084312A1 (en) * | 2009-10-13 | 2011-04-14 | Tela Innovations, Inc. | Methods for Cell Boundary Encroachment and Layouts Implementing the Same |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI765371B (zh) * | 2019-10-15 | 2022-05-21 | 台灣積體電路製造股份有限公司 | 積體電路裝置設計方法、系統及非暫態電腦可讀媒體 |
| US11568126B2 (en) | 2019-10-15 | 2023-01-31 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated circuit device design method and system |
| US12039250B2 (en) | 2019-10-15 | 2024-07-16 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated circuit device design method and system |
Also Published As
| Publication number | Publication date |
|---|---|
| CN104517004B (zh) | 2019-11-01 |
| TW201514742A (zh) | 2015-04-16 |
| US8959472B1 (en) | 2015-02-17 |
| CN104517004A (zh) | 2015-04-15 |
| KR102407458B1 (ko) | 2022-06-10 |
| KR20150035405A (ko) | 2015-04-06 |
| GB201415488D0 (en) | 2014-10-15 |
| GB2520123A (en) | 2015-05-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI625639B (zh) | 用於產生積體電路佈局的電腦實施方法、電腦、電腦可讀取儲存媒體以及藉由該方法所製造的積體電路 | |
| US8051400B2 (en) | Modifying integrated circuit layout | |
| US6536023B1 (en) | Method and system for hierarchical metal-end, enclosure and exposure checking | |
| KR100939786B1 (ko) | 제조능력을 위한 디자인 | |
| US8984465B1 (en) | Methods, systems, and articles of manufacture for automatically assigning track patterns to regions for physical implementation of an electronic design | |
| US8397190B2 (en) | Method for manipulating and repartitioning a hierarchical integrated circuit design | |
| US9104830B1 (en) | Methods, systems, and articles of manufacture for assigning track patterns to regions of an electronic design | |
| CN108140059B (zh) | 用于基于布局的检查的分析过程参数的可视化 | |
| JP2004086682A (ja) | 機能ブロック設計方法および機能ブロック設計装置 | |
| JP6316311B2 (ja) | パターンベースの電源グランド(pg)ルーティングおよびビア生成 | |
| US11675726B2 (en) | Interconnect repeater planning and implementation flow for abutting designs | |
| JP2006301961A (ja) | 半導体集積回路の自動フロアプラン手法 | |
| JP2006155524A (ja) | 半導体集積回路の検証方法、検証装置および検証プログラム | |
| US20160027768A1 (en) | Synthesis of complex cells | |
| US11042684B1 (en) | Dynamic width-space patterns for handling complex DRC rules | |
| CN103678755B (zh) | 产生线路模型的系统及方法 | |
| US7418675B2 (en) | System and method for reducing the power consumption of clock systems | |
| JP5791797B2 (ja) | Lsi設計装置及びlsi設計方法及びプログラム | |
| TWI871828B (zh) | 設計積體電路的方法、非暫時性電腦可讀取媒體以及對積體電路進行設計變更的電腦實施系統 | |
| JPWO2006025412A1 (ja) | 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置 | |
| US8065648B1 (en) | Method and apparatus for modeling an integrated circuit in a computer aided design system | |
| JP2004157627A (ja) | 配置配線プログラムおよび半導体装置の製造方法 | |
| chip Schematic | CMOS VLSI Design Lab 4: Full Chip Assembly |