TWI738336B - 邊界單元的布局方法及裝置以及積體電路 - Google Patents
邊界單元的布局方法及裝置以及積體電路 Download PDFInfo
- Publication number
- TWI738336B TWI738336B TW109115889A TW109115889A TWI738336B TW I738336 B TWI738336 B TW I738336B TW 109115889 A TW109115889 A TW 109115889A TW 109115889 A TW109115889 A TW 109115889A TW I738336 B TWI738336 B TW I738336B
- Authority
- TW
- Taiwan
- Prior art keywords
- boundary
- virtual
- type
- units
- cells
- Prior art date
Links
- 210000003888 boundary cell Anatomy 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 title claims description 29
- 210000004027 cell Anatomy 0.000 claims abstract description 37
- 238000012545 processing Methods 0.000 claims description 21
- 238000013461 design Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 8
- 230000036961 partial effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
- H01L27/0203—Particular design considerations for integrated circuits
- H01L27/0207—Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique
-
- 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
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
- H01L27/04—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Power Engineering (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Architecture (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
可以提供邊界單元。確定電路的第一功能單元的邊界。將第一複數個第一類型的虛擬單元沿著該確定的邊界的第一部分放置。該第一部分在第一方向上延伸。該些第一類型的虛擬單元中的每一個都包括第一預定尺寸。將第二複數個第二類型的虛擬單元沿著該確定的邊界的第二部分放置。該第二部分在第二方向上延伸。該些第二類型的虛擬單元中的每一個都包括第二預定尺寸。該些第二預定尺寸不同於該些第一預定尺寸。
Description
一種邊界單元的布局方法及裝置以及積體電路,特別是關於複數個虛擬單元的一種邊界單元的布局方法及裝置以及積體電路。
積體電路通常包括具有復雜相互關係的數千個部件。該些電路通常使用稱為電子設計自動化(EDA)的高度自動化過程進行設計。EDA從以硬體描述語言(HDL)提供的功能規格開始,一直繼續到電路設計規格,電路設計規格包括被稱為單元的基本電路部件的規格、單元的實體佈置,以及使單元互連的佈線。該些單元使用特定的積體電路技術來實施邏輯功能或其他電子功能。
EDA可以分為一系列階段,諸如合成、放置、佈線等。該些步驟可能涉及從單元庫中選擇功能單元或IP/區塊。通常,使用各種單元組合的大量不同電路設計可以滿足電路的功能規格。經選擇用於實施所需功能的各種功能單元在將該些單元佈置在平面圖(floor plan)中的整合過程流中合併。
該些功能單元可以具有不同的邊界形狀,並且合併
過程可包括許多設計規則和限制,該些規則和限制指定單元如何相對於彼此佈置,此可使整合過程複雜化。例如,此類設計規則可以在佈局中指定禁用或空白空間(豎直和水平方向)、建立間距要求等。
本揭示文件提供一種邊界單元布局方法,其包括:確定第一功能單元的一邊界;將第一複數個第一類型的虛擬單元沿著確定的邊界的第一部分放置,其中該一部分在第一方向上延伸,並且其中第一類型的虛擬單元中的每一個均包括第一預定尺寸;以及將第二複數個第二類型的虛擬單元沿著確定的邊界的第二部分放置,該邊界的第二部分在第二方向上延伸,其中第二類型的虛擬單元中的每一個均包括第二預定尺寸,並且其中第二預定尺寸不同於第一預定尺寸。
本揭示文件提供一種積體電路,其包括第一功能單元、第一複數個虛擬單元、第二複數個虛擬單元以及一或多個虛擬單元。第一複數個虛擬單元沿著一邊界的在第一方向上圍繞第一功能單元延伸的各部分放置,第一複數個虛擬單元放置為彼此鄰接。第二複數個虛擬單元,沿著該邊界的在第二方向上圍繞第一功能單元延伸的第二部分放置,第二複數個虛擬單元放置為彼此鄰接。一或多個虛擬單元沿著邊界的一或多個剩餘部分放置,從而形成圍繞第一功能單元的虛擬單元的環。
本揭示文件提供一種邊界單元布局裝置,其包括記
憶體元件以及處理器。處理器連接到記憶體元件,其中處理器可操作用於:確定圍繞一電路的第一單元的第一邊界;將一第一複數個第一類型的虛擬單元沿著第一邊界的在第一方向上的第一部分放置,其中第一類型的虛擬單元中的每一個均包括第一預定尺寸;將第二複數個第二類型的虛擬單元沿著第一邊界的在第二方向上的第二部分放置,其中第二類型的虛擬單元中的每一個均包括第二預定尺寸,其中第二預定尺寸不同於第一預定尺寸,並且其中第二方向不同於第一方向;以及將第三複數個第一類型的虛擬單元沿著第一邊界的一剩餘部分放置。
102:功能單元
104A:第一虛擬邊界單元
104B:第二虛擬邊界單元
104C:第三虛擬邊界單元
104D:第四虛擬邊界單元
104E:第五虛擬邊界單元
104F:第六虛擬邊界單元
104G:第七虛擬邊界單元
104H:第八虛擬邊界單元
104I:第九虛擬邊界單元
104J:第十虛擬邊界單元
104K:第十一虛擬邊界單元
104L:第十二虛擬邊界單元
104M:第十三虛擬邊界單元
104N:第十四虛擬邊界單元
202:第一DFBC結構(DFBC1)
204:第二DFBC結構(DFBC2)
302:邊界
304A:部分
304B:部分
304C:部分
306A:部分
306B:部分
306C:部分
308A:間隙
308B:間隙
308C:間隙
310A:額外的DFBC1
310B:額外的DFBC1
310C:額外的DFBC1
402:單元邊界
404:單元邊界
406:單元邊界
408:單元邊界
500:方法
510:操作
520:操作
530:操作
540:操作
600:處理系統
610:處理單元
612:輸入/輸出設備
614:顯示器
616:局域網(LAN)或廣域網(WAN)
620:中央處理單元(CPU)
622:記憶體
624:大容量儲存設備
626:視訊配接器
628:I/O介面
630:匯流排
640:網路介面
當結合附圖閱讀時,從以下詳細描述可以最好地理解本揭露的各態樣。應注意,根據行業中的標準實踐,各種特徵未按比例繪製。實際上,為了論述的清楚性,可以任意地增大或縮小各種特徵的尺寸。
第1圖為根據一些實施例所繪式的示例圖,圖示了由虛擬邊界單元界定的功能單元。
第2A圖和第2B圖圖示了根據一些實施例的用於虛擬邊界單元的預定結構的實例。
第3A圖、第3B圖和第3C圖圖示了根據一些實施例的用於在功能單元周圍放置虛擬邊界單元的填充序列。
第4A圖、第4B圖、第4C圖和第4D圖圖示了根據一些實施例的相鄰功能單元對虛擬邊界單元的共享。
第5圖圖示了根據一些實施例的用於在功能單元周圍放置虛擬邊界單元的方法。
第6圖為根據一些實施例所繪式的處理系統的實例的方塊圖。
以下揭露內容提供了用於實施所提供標的的不同特徵的許多不同實施例或實例。以下描述了部件和佈置的特定實例以簡化本揭露內容。當然,該些僅僅是實例,而並且意欲為限制性的。例如,在以下描述中在第二特徵上方或之上形成第一特徵可以包括第一特徵和第二特徵形成為直接接觸的實施例,並且亦可以包括可以在第一特徵與第二特徵之間形成額外特徵,使得第一特徵和第二特徵可以不直接接觸的實施例。另外,本揭露可以在各種實例中重複參考數字及/或字母。該重複是為了簡單和清楚的目的,並且本身並不表示所論述的各種實施例及/或配置之間的關係。
此外,在此可以使用空間相對術語,諸如「下方」、「以下」、「下部」、「上方」、「上部」等來簡化描述,以描述如圖中所示的一個元件或特徵與另一元件或特徵的關係。除了圖中所示的取向之外,空間相對術語意欲包括使用或操作中的裝置/元件的不同取向。設備可以以其他方式取向(旋轉90度或在其他方向上),並且可以類似地相應解釋在此使用的空間相對描述詞。
第1圖為圖示由虛擬邊界單元圍繞的功能單元的
示例圖。例如,並且如第1圖所示,功能單元102被複數個虛擬邊界單元104圍繞,該複數個虛擬邊界單元104為例如第一虛擬邊界單元104A、第二虛擬邊界單元104B、第三虛擬邊界單元104C、第四虛擬邊界單元104D、第五虛擬邊界單元104E、第六虛擬邊界單元104F、第七虛擬邊界單元104G、第八虛擬邊界單元104H、第九虛擬邊界單元104I、第十虛擬邊界單元104J、第十一虛擬邊界單元104K、第十二虛擬邊界單元104L、第十三虛擬邊界單元104M和第十四虛擬邊界單元104N。
複數個虛擬邊界單元104在功能單元102周圍延伸,從而在功能單元102周圍形成環。儘管功能單元102被圖示為被十四個虛擬邊界單元104A-104N圍繞,但是對於本領域一般技藝人士而言,在閱讀本揭示之後將顯而易見的是,虛擬邊界單元的數量不限於十四個並且可以基於功能單元102的尺寸而變化。
功能單元102可以是標準單元並且可以包括整個元件,諸如電晶體、二極體、電容器、電阻器或電感器,或者可以包括經佈置以實現某種特定功能的多個元件的群組,該些元件為諸如反相器、正反器、記憶體單元或放大器等。除了使功能設計更易概念化之外,功能單元102的使用亦可以減少IC內佈局特徵的設計規則檢查(design rule checking,DRC)的驗證時間,因為可以在DRC中對整個佈局中重複的功能單元102進行一次檢查,而不是單獨檢查每個實例。在示例性實施例中,功能單元102
可以包括可重用單元,該可重用單元具有可為實體專有的邏輯、單元或積體電路佈局設計。此類功能單元102可以用作特殊應用積體電路(Application Specific Integrated Circuit,ASIC)設計或現場可編程閘控陣列(Field Programmable Gate Array,FPGA)設計內的構建區塊。
複數個虛擬邊界單元104有時在本文中稱為「虛擬友好邊界單元」(Dummy-Friendly Boundary Cell,DFBC)。使用術語「虛擬」是因為在功能單元102或包含功能單元102的晶片的功能中未利用DFBC。複數個虛擬邊界單元104可具有一或多個預定結構(亦被稱為標準虛擬單元),以促進圍繞功能單元102的應用。第2A圖和第2B圖圖示了用於複數個虛擬邊界單元104的此類預定結構的實例。例如,並且如第2A圖和第2B圖所示,在某些實施方式中,第一DFBC結構(DFBC1)202可以具有預定的高度(y)和長度(x)尺寸,而第二DFBC結構(DFBC2)204可以具有相同的長度(x)尺寸且高度尺寸為第一DFBC的兩倍(2y)。
儘管在第2A圖和第2B圖中圖示了複數個虛擬邊界單元104的僅兩種預定結構,但是在閱讀本揭示之後,對於本領域技藝人士將顯而易見的是,可以定義兩種以上的預定結構。此外,對於本領域技藝人士而言,在閱讀本揭示之後將顯而易見的是,預定結構不限於矩形或小室形狀,而是可以包括其他形狀。
在示例實施例中,複數個虛擬邊界單元104的預定結構(亦即,DFBC1 202和DFBC2 204的結構)可為在標準庫中預定義的。標準單元庫是儲存標準虛擬單元(例如DFBC1 202和DFBC2 204)的定義的資料庫。電腦輔助設計(computer aided design,CAD)工具(例如,電子設計自動化(EDA)工具)可以利用標準虛擬單元來促進IC佈局的形成。可以使用一組特徵來定義DFBC1 202和DFBC2 204。通作為非限制性實例,特征可以包括每個分區的大小/形狀等等。
藉由在功能單元102周圍放置複數個標準虛擬單元(亦即,DFBC1 202和DFBC2 204),在功能單元102周圍創建包括複數個虛擬邊界單元104的環。第3A圖、第3B圖和第3C圖圖示了用於放置DFBC1 202和DFBC2的填充序列。填充序列開始於在第一方向上放置第一複數個DFCB1 202。例如,並且如第3A圖所示,第一複數個DFCB1 202沿著邊界302的在水平方向上延伸的各部分(圖示為304A、304B和304C)放置。第一複數個DFBC1 202一個接一個地放置,從而形成連續鏈,該連續鏈在水平方向上延伸並覆蓋邊界302的在水平方向上延伸的每個部分。第一複數個DFBC1 202放置在prBoundary 302的內部並且與該prBoundary 302相距包括設計規則檢查(DRC)值的一半的距離(亦即,y/2)。邊界302可以是放置及佈線(place and route,PR)邊界,其可以表示在其中完成電路元件的放置並且標
準單元的佈線受約束的區域。
在第一方向上放置第一複數個DFBC1 202之後,填充序列繼續行進以在第二方向上放置第二複數個DFBC 204。例如,並且如第3B圖所示,第二複數個DFBC2 204沿著邊界302的在豎直方向上延伸的各部分(圖示為306A、306B和306C)放置。第二複數個DFBC2 204一個接一個地放置,從而形成連續鏈,該連續鏈在水平方向上延伸並覆蓋邊界302的在水平方向上延伸的每個部分。第二複數個DFBC2 202中的每一個亦被放置在與邊界302相距包括DRC值的值的一半的距離(亦即,y/2)處。
繼續到第3C圖,隨後在放置第一複數個DFBC1 202和第二複數個DFBC2 204之後,用額外的DFBC1 202(指定為310A、310B和310C)填充邊界302周圍的任何間隙(指定為308A、308B和308C)。例如,額外的DFBC1 202放置在間隙308A、308B和308C中,從而形成複數個DFBC1 202和DFBC2 204的連續鏈或環。額外DFBC1 202亦被放置在距離邊界包括DRC值的值的一半的距離(y/2)處。
在示例實施例中,DCBC1 202和DFBC2 204中的每一者可以在x方向或y方向中的任一者上與另一個DFBC1 202和DFBC2 204鄰接。另外,DFBC1 202和DFBC2 204藉由分別乘以DFBC1 202和DFBC2 204的高度而經歷豎直擴展。高度的乘法可包括將DFBC1
202或DFBC2 204單元放置在另一個DFBC1 202或DFBC2 204的頂部上。以該方式,虛擬邊界單元可以用於各種各樣的功能單元形狀,包括矩形、U形、L形、Z形、十字形等。在一些態樣中,根據需要組合虛擬邊界單元DFBC1 202和DFBC2 204以圍繞功能單元的周邊。
在一些實例中,虛擬邊界單元104的各部分可以在相鄰功能單元之間「共享」。此可導致減小的晶片大小且更有效地利用平面圖中的空間。在一些實施例中,僅相同類型的虛擬邊界單元104以該方式重疊。例如,DFBC1 202可以在相鄰功能單元之間共享,並且DFBC2 204可以在相鄰功能單元之間共享。第4A圖、第4B圖、第4C圖和第4D圖圖示了DFBC1 202和DFBC2 204的共享。例如,第4A圖和第4B圖圖示了DFBC1 202在兩個單元邊界(圖示為402和404)之間的共享。在另一方面,第4C圖和第4D圖圖示了DFBC1 202和DFBC 204在兩個單元邊界(圖示為406和408)之間的共享。儘管未圖示,但是DFBC2 204亦可以在兩個單元邊界之間共享。然而,在此類實例中,DFBC1 202單元可能不允許與DFBC2 204重疊,且不允許在相鄰功能單元之間共享。
第5圖圖示了用於在功能單元102周圍放置虛擬邊界單元104的方法500。方法500可以由處理裝置600實施,如下面關於第6圖更詳細描述的。下文將更詳細地描述實施方法500的各階段的方式。
參照第6圖以及第3A圖至第3C圖,從操作510
處開始,確定電路的第一功能單元的邊界。例如,確定功能單元102的邊界302。所確定的邊界302可以是功能單元102的PR邊界。在示例實施例中,根據功能單元102的佈局、電路的佈局或包括功能單元102的晶片的佈局來確定邊界302。
移至操作520,將第一複數個第一類型的虛擬單元沿著確定的邊界的第一部分放置。例如,將第一複數個DFBC1 202沿著邊界302的水平部分放置。將第一複數個DFBC1 202放置在邊界302內距邊界302預定距離處。將第一複數個DFBC1 202放置為彼此鄰接並形成在第一方向上延伸的鏈,該鏈覆蓋邊界302的在水平方向上延伸的部分。第一複數個DFBC1 202中的每一個包括第一預定尺寸。例如,第一預定尺寸可以具有預定的高度(y)和長度(x)尺寸。將第一複數個第一類型的單元放置在與邊界302相距包括DRC值的值的一半的距離(亦即,y/2)處。
行進到操作530,將第二複數個第二類型的虛擬單元沿著確定的邊界的第二部分放置。例如,將第二複數個DFBC2 204沿著邊界302的豎直部分放置。將第二複數個DFBC2 204放置在邊界302內距邊界302預定距離處。將第二複數個DFBC2 204放置為彼此鄰接並形成鏈,該鏈在第二方向上延伸並覆蓋邊界302的在豎直方向上延伸的部分。第二複數個DFBC2 204中的每一個包括第二預定尺寸。第二預定尺寸不同於第一預定尺寸。例如,
第二預定尺寸可以具有預定的高度(2y)和長度(x)尺寸。將第二複數個DFBC2 204放置在與邊界302相距包括DRC值的值的一半的距離(亦即,y/2)處。
行進到操作540,將第三複數個第一類型的虛擬單元沿著邊界的剩餘部分放置。例如,將額外的DFBC1 202放置在沿著邊界302的未被第一複數個DFBC1 202和第二複數個DFBC2 204覆蓋的間隙308A、308B和308C中。儘管方法500描述了在第一方向和第二方向上放置虛擬單元,但是對於本領域技藝人士將顯而易見的是,可以在第三方向或第四方向上放置虛擬單元。因此,可以取決於邊界的形狀在任何方向上放置虛擬單元,以在功能單元102周圍形成環。
虛擬邊界單元104的使用因此沿著具有重複的DFBC結構的功能單元102輪廓提供了可預測的佈局環境。在一些實施例中,DFBC環結構能夠直接鄰接在任何類型的功能單元之間,並且DFBC結構可以適合於多種形狀的功能單元。如前所述,在不同功能單元之間共享DFBC可以減小晶片面積。
DFBC結構提供的可預測環境有助於滿足整合過程流需求(空白空間、最小空間、禁用區等)。功能區塊之間的間隙處的均勻性得到改善,並且允許相鄰功能區塊共享或重疊DFBC可以提供更有效的空間利用。隨後可以將該些「通用」或標準DFBC放置為圍繞各種功能單元邊界形狀。提供此類虛擬邊界單元可以簡化整合過程,從而允
許在滿足各種設計和間距規則的同時合併功能單元。
第6圖為根據本文揭示的一些實施例所繪式的處理系統600的實例的方塊圖。根據本文論述的各種過程,處理系統600可以用於實施EDA系統。處理系統600包括處理單元610,諸如台式電腦、工作站、膝上型電腦、為特定應用定製的專用單元、智能電話或平板電腦等。處理系統600可以配備有顯示器614和一或多個輸入/輸出設備612,例如滑鼠、鍵盤、觸摸屏、列印機等。處理單元610亦包括連接到匯流排630的中央處理單元(CPU)620、記憶體622、大容量儲存設備624、視訊配接器626和I/O介面628。
匯流排630可以是包括記憶體匯流排或記憶體控制器、周邊匯流排或視訊匯流排在內的任何類型的幾種匯流排架構中的一或多種。CPU 620可以包括任何類型的電子資料處理器,並且記憶體622可以包括任何類型的系統記憶體,諸如靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)或唯讀記憶體(ROM)。
大容量儲存設備624可以包括被配置為儲存資料、程式和其他資訊並使資料、程式和其他資訊可經由匯流排630存取的任何類型的儲存設備。大容量儲存設備624可以包括例如硬碟驅動器、磁碟驅動器、光碟驅動器、快閃記憶體等中的一或多者。
如本文所用的術語電腦可讀取媒體可以包括電腦儲存媒體,諸如上述的系統記憶體和儲存設備。電腦儲存
媒體可以包括以任何用於儲存資訊的方法或技術實施的揮發性和非揮發性、可移動和不可移動媒體,諸如電腦可讀取指令、資料結構或程式模組。記憶體622和大容量儲存設備624是電腦儲存媒體實例(例如,記憶體儲存設備)。大容量儲存設備624可以進一步儲存標準單元的庫。
電腦儲存媒體可包括RAM、ROM、電子可抹除唯讀記憶體(electrically erasable read-only memory,EEPROM)、快閃記憶體或其他記憶體技術、CD-ROM、數位通用磁碟(digital versatile disk,DVD)或其他光學儲存設備、磁帶盒、磁帶、磁碟儲存設備或其他磁性儲存設備,或可用於儲存資訊並可由處理設備600存取的任何其他製品。任何此類電腦儲存媒體都可以是處理設備600的一部分。電腦儲存媒體不包括載波或其他傳播或調制的資料信號。
通訊媒體可以由電腦可讀取指令、資料結構、程式模組或諸如載波或其他傳輸機制等調制資料信號中的其他資料來體現,並且包括任何資訊傳遞媒體。術語「調制資料信號」可以描述具有以將資訊編碼在信號中的方式設定或改變的一個或多個特征的信號。舉例而言而非限制,通訊媒體可以包括諸如有線網路或直接有線連接等有線媒體,以及諸如聲學、射頻(RF)、紅外和其他無線媒體等無線媒體。
視訊配接器626和I/O介面628提供用於將外部輸入和輸出設備耦合到處理單元610的介面。如第6圖所
示,輸入和輸出設備的實例包括耦合到視訊配接器626的顯示器614,以及耦合到I/O介面128的I/O設備112,諸如滑鼠、鍵盤、列印機等。其他設備可以耦合到處理單元610,並且可以利用額外或更少的介面卡。例如,串行介面卡(未圖示)可以用於為列印機提供串行介面。處理單元610亦可以包括網路介面640,該網路介面640可以是到局域網(LAN)或廣域網(WAN)616的有線鏈路,和/或無線鏈路。
處理系統600的實施例可以包括其他部件。例如,處理系統600可以包括電源、電纜、母板、可移動儲存媒體、殼體等。該些其他部件儘管未圖示,但被認為是處理系統600的一部分。
在一些實例中,由CPU 620執行軟體代碼以分析使用者設計,以便創建實體積體電路佈局。可以由CPU 620經由匯流排630從記憶體622、大容量儲存設備624等或從網路介面640遠端地存取軟體代碼。此外,在一些實例中,基於功能積體電路設計來創建實體積體電路佈局,該功能積體電路設計可以根據由軟體代碼實施的種方法和過程經由I/O介面628接收和/或儲存在記憶體622或624中。
根據示例實施例,一種邊界單元布局方法包括:確定電路的第一功能單元的邊界;將第一複數個第一類型的虛擬單元沿著該確定的邊界的第一部分放置,其中該第一部分在第一方向上延伸,並且其中該些第一類型的虛擬單
元中的每一個均包括第一預定尺寸;已經將第二複數個第二類型的虛擬單元沿著該確定的邊界的第二部分放置,其中該第二部分在第二方向上延伸,其中該些第二類型的虛擬單元中的每一個均包括第二預定尺寸,並且其中該第二預定尺寸不同於該第一預定尺寸。
在示例實施例中,該些第一類型的虛擬單元和該些第二類型的虛擬單元不包含功能電路。該些第一類型的虛擬單元為基於第一標準虛擬友好邊界單元,並且該些第二類型的虛擬單元為基於第二標準虛擬友好邊界單元。藉由分別乘以該第一標準虛擬友好邊界單元和該第二標準虛擬友好邊界單元的高度,該些第一類型的虛擬單元和該些第二類型的虛擬單元經歷豎直擴展。
根據實施例,該方法進一步包括將第三複數個第一類型的虛擬單元沿著該邊界的剩餘部分放置。將該第三複數個第一類型的虛擬單元放置在該邊界的該剩餘部分中包括:將該第三複數個第一類型的虛擬單元放置在沿著該邊界的未被該第一複數個該第一類型的虛擬單元和該第二複數個該第二類型的虛擬單元覆蓋的間隙中。該第二方向與該第一方向正交。
在示例實施例中,該方法進一步包括:確定該電路的第二功能單元的另一邊界,該第二功能單元鄰接該第一單元;以及將第三複數個第一類型的虛擬單元沿著該第二功能單元的該另一邊界的第一部分放置,其中該第一類型的虛擬單元的至少一部分在該第一複數個該些第一類型的
虛擬單元與該第三複數個該些第一類型的虛擬單元中是共用的。
根據示例實施例,該方法進一步包括:確定該電路的第二功能單元的另一邊界,該第二功能單元鄰接該第一單元;以及將第四複數個第二類型的虛擬單元沿著該第二功能單元的該另一邊界的第二部分放置,其中該第二類型的虛擬單元的至少一部分在該第二複數個該些第二類型的虛擬單元與該第四複數個該些第二類型的虛擬單元中是共用的。
在示例實施例中,一種積體電路包括:第一功能單元;第一複數個虛擬單元,該第一複數個虛擬單元沿著邊界的在第一方向上延伸的一部分放置,該第一複數個虛擬單元放置為彼此鄰接;第二複數個虛擬單元,該第二複數個虛擬單元沿著該邊界的在第二方向上圍繞該第一功能單元延伸的第二部分放置,該第二複數個虛擬單元放置為彼此鄰接;以及一或多個虛擬單元,該一或多個虛擬單元沿著該邊界的一或多個剩餘部分放置,從而形成圍繞該第一功能單元的虛擬單元的環。
根據示例實施例,該虛擬單元環放置與該邊界相距包括一設計規則檢查值的一半值的一距離處,且該邊界是一放置及佈線邊界。根據示例實施例,該第一複數個虛擬單元包括一第一類型的虛擬單元,該些第一類型的虛擬單元具有第一預定尺寸,並且其中該第二複數個虛擬單元包括具有第二預定尺寸的一第二類型的虛擬單元,並且其中
該些第二預定尺寸不同於該些第一預定尺寸。根據示例實施例,該些第二類型的虛擬單元中的每一個的一高度是該些第一類型虛擬單元中的每一個的該高度的約兩倍,且該些虛擬單元的至少一部分是與該電路的一第二單元的一邊界共享的。
根據示例實施例,其中藉由乘以虛擬單元的高度,該些虛擬單元經歷豎直擴展。
根據示例實施例,一種邊界單元布局裝置包括:記憶體元件;以及處理器,該處理器連接到該記憶體元件,其中該處理器可操作以:確定圍繞電路的第一單元的第一邊界;將第一複數個第一類型的虛擬單元放置在該第一邊界的在第一方向上的第一部分中,其中該些第一類型的虛擬單元中的每一個均包括第一預定尺寸;將第二複數個第二類型的虛擬單元放置在該第一邊界的在第二方向上的第二部分中,其中該些第二類型的虛擬單元中的每一個均包括第二預定尺寸,並且其中該第二預定尺寸不同於該第一預定尺寸,並且其中該第二方向不同於該第一方向;以及將第三複數個第一類型的虛擬單元放置在該第一邊界的剩餘部分中。
根據示例實施例,該處理器進一步操作用於:確定圍繞該電路的一第二單元的一第二邊界,其中該第一邊界和該第二邊界共享一共用部分;以及將大量該些第一類型的虛擬單元和該些第二類型的虛擬單元沿著該第二邊界和該共用部分放置。根據示例實施例,該些第一類型的虛擬
單元和該些第二類型的虛擬單元放置在該第一邊界內部與該第一邊界相距一預定距離處,且該些第二類型的虛擬單元中的每一個的一高度是該些第一類型虛擬單元中的每一個的該高度的約兩倍。
先前概述了若干實施例的特徵,使得本領域技藝人士可以更好地理解本揭露的各態樣。本領域技藝人士應當理解,他們可以容易地使用本揭露作為設計或修改其他製程和結構的基礎,以實現與本文介紹的實施例相同的目的及/或實現與本文介紹的實施例相同的優點。本領域技藝人士亦應當認識到,此類等同構造不脫離本揭露的精神和範圍,並且在不脫離本揭露的精神和範圍的情況下,他們可以在本文中進行各種改變、替換和變更。
500:方法
510:操作
520:操作
530:操作
540:操作
Claims (10)
- 一種邊界單元布局方法,包括:確定一第一功能單元的一邊界;將一第一複數個一第一類型的虛擬單元沿著該確定的邊界的一第一部分放置,其中該一部分在一第一方向上延伸,並且其中該些第一類型的虛擬單元中的每一個均包括一第一預定尺寸;將一第二複數個一第二類型的虛擬單元沿著該確定的邊界的一第二部分放置,該邊界的該第二部分在一第二方向上延伸,其中該些第二類型的虛擬單元中的每一個均包括一第二預定尺寸,並且其中該些第二預定尺寸不同於該些第一預定尺寸;以及將一第三複數個該些第一類型的虛擬單元沿著該邊界的一剩餘部分放置,包含將該第三複數個該些第一類型的虛擬單元放置在沿著該邊界的未被該第一複數個該些第一類型的虛擬單元和該第二複數個該些第二類型的虛擬單元覆蓋的間隙中,從而形成圍繞該第一功能單元的虛擬單元的環,其中該第一複數個該些第一類型的虛擬單元和該第二複數個該些第二類型的虛擬單元放置在該確定的邊界內部與確定的邊界相距一預定距離處。
- 如請求項1所述之邊界單元布局方法,其中該些第一類型的虛擬單元為基於一第一標準虛擬友好邊界 單元,並且該些第二類型的虛擬單元為基於一第二標準虛擬友好邊界單元,其中藉由分別乘以該第一標準虛擬友好邊界單元和該第二標準虛擬友好邊界單元的高度,該些第一類型的虛擬單元和該些第二類型的虛擬單元經歷豎直擴展。
- 如請求項1所述之邊界單元布局方法,其中該些第二類型的虛擬單元中的每一個的一高度是該些第一類型虛擬單元中的每一個的一高度的約兩倍。
- 如請求項1所述之邊界單元布局方法,進一步包括:確定該電路的一第二功能單元的另一邊界,該第二功能單元鄰接該第一單元;以及將一第四複數個該些第二類型的虛擬單元沿著該第二功能單元的該另一邊界的一第二部分放置,其中該些第二類型的虛擬單元的至少一部分在該第二複數個該些第二類型的虛擬單元與該第四複數個該些第二類型的虛擬單元中是共用的。
- 一種積體電路,包括:一第一功能單元;一第一複數個虛擬單元,該第一複數個虛擬單元沿著一邊界的在一第一方向上圍繞該第一功能單元延伸的各部分 放置,該第一複數個虛擬單元放置為彼此鄰接;一第二複數個虛擬單元,該第二複數個虛擬單元沿著該邊界的在一第二方向上圍繞該第一功能單元延伸的一第二部分放置,該第二複數個虛擬單元放置為彼此鄰接;以及一或多個虛擬單元,該一或多個虛擬單元沿著該邊界的一或多個未被該第一複數個虛擬單元和該第二複數個虛擬單元覆蓋的剩餘部分放置,從而形成圍繞該第一功能單元的虛擬單元的環,其中該第一複數個虛擬單元和該第二複數個虛擬單元放置在該邊界內部與該邊界相距一預定距離處。
- 如請求項5所述之積體電路,其中該第一複數個虛擬單元包括一第一類型的虛擬單元,該些第一類型的虛擬單元具有一第一預定尺寸,並且其中該第二複數個虛擬單元包括具有一第二預定尺寸的一第二類型的虛擬單元,並且其中該些第二預定尺寸不同於該些第一預定尺寸。
- 如請求項5所述之積體電路,其中該些第二類型的虛擬單元中的每一個的一高度是該些第一類型虛擬單元中的每一個的該高度的約兩倍。
- 一種邊界單元布局裝置,包括:一記憶體元件;以及一處理器,該處理器連接到該記憶體元件,其中該處理 器可操作用於:確定圍繞一電路的一第一單元的一第一邊界;將一第一複數個一第一類型的虛擬單元沿著該第一邊界的在一第一方向上的一第一部分放置,其中該些第一類型的虛擬單元中的每一個均包括一第一預定尺寸;將一第二複數個一第二類型的虛擬單元沿著該第一邊界的在一第二方向上的一第二部分放置,其中該些第二類型的虛擬單元中的每一個均包括一第二預定尺寸,其中該第二預定尺寸不同於該第一預定尺寸,並且其中該第二方向不同於該第一方向;以及將一第三複數個一第一類型的虛擬單元沿著該第一邊界的未被該第一複數個該些第一類型的虛擬單元和該第二複數個該些第二類型的虛擬單元覆蓋的一剩餘部分放置,從而形成圍繞該第一功能單元的虛擬單元的環,其中該第一複數個該些第一類型的虛擬單元和該第二複數個該些第二類型的虛擬單元放置在該第一邊界內部與該第一邊界相距一預定距離處。
- 如請求項8所述之邊界單元布局裝置,其中該處理器進一步操作用於:確定圍繞該電路的一第二單元的一第二邊界,其中該第一邊界和該第二邊界共享一共用部分;以及將大量該些第一類型的虛擬單元和該些第二類型的虛擬單元沿著該第二邊界和該共用部分放置。
- 如請求項8所述之邊界單元布局裝置,其中該些第二類型的虛擬單元中的每一個的一高度是該些第一類型虛擬單元中的每一個的該高度的約兩倍。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962848290P | 2019-05-15 | 2019-05-15 | |
US62/848,290 | 2019-05-15 | ||
US16/577,432 US11062074B2 (en) | 2019-05-15 | 2019-09-20 | Boundary cell |
US16/577,432 | 2019-09-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202044099A TW202044099A (zh) | 2020-12-01 |
TWI738336B true TWI738336B (zh) | 2021-09-01 |
Family
ID=73231201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109115889A TWI738336B (zh) | 2019-05-15 | 2020-05-13 | 邊界單元的布局方法及裝置以及積體電路 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11062074B2 (zh) |
KR (1) | KR102260798B1 (zh) |
CN (1) | CN111950224A (zh) |
TW (1) | TWI738336B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200701027A (en) * | 2005-02-24 | 2007-01-01 | Icera Inc | Logic cell layout architecture with shared boundary |
TWI372432B (en) * | 2007-12-20 | 2012-09-11 | King Yuan Electronics Co Ltd | A semiconductor device testing system and tseting method thereof |
US20140325466A1 (en) * | 2013-03-11 | 2014-10-30 | Taiwan Semiconductor Manufacturing Company, Ltd. | Stretch Dummy Cell Insertion in FinFET Process |
TWI636525B (zh) * | 2015-12-16 | 2018-09-21 | 台灣積體電路製造股份有限公司 | 半導體裝置及其布局方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002158278A (ja) * | 2000-11-20 | 2002-05-31 | Hitachi Ltd | 半導体装置およびその製造方法ならびに設計方法 |
JP4620942B2 (ja) | 2003-08-21 | 2011-01-26 | 川崎マイクロエレクトロニクス株式会社 | 半導体集積回路のレイアウト方法、そのレイアウト構造、およびフォトマスク |
US7932566B2 (en) * | 2008-12-31 | 2011-04-26 | Taiwan Semiconductor Manufacturing Company, Ltd. | Structure and system of mixing poly pitch cell design under default poly pitch design rules |
JP5235936B2 (ja) * | 2010-05-10 | 2013-07-10 | パナソニック株式会社 | 半導体装置及びそのレイアウト作成方法 |
US20140167815A1 (en) * | 2012-12-18 | 2014-06-19 | Broadcom Corporation | Area reconfigurable cells of a standard cell library |
US8869090B2 (en) * | 2013-03-11 | 2014-10-21 | Taiwan Semiconductor Manufacturing Company, Ltd. | Stretch dummy cell insertion in FinFET process |
KR102321605B1 (ko) | 2015-04-09 | 2021-11-08 | 삼성전자주식회사 | 반도체 장치의 레이아웃 설계 방법 및 그를 이용한 반도체 장치의 제조 방법 |
US10204920B2 (en) | 2015-04-09 | 2019-02-12 | Samsung Electronics Co., Ltd. | Semiconductor device including polygon-shaped standard cell |
TWI695283B (zh) * | 2015-08-05 | 2020-06-01 | 聯華電子股份有限公司 | 半導體佈局結構及其設計方法 |
KR102678555B1 (ko) * | 2016-10-05 | 2024-06-26 | 삼성전자주식회사 | 변형 셀을 포함하는 집적 회로 및 그 설계 방법 |
US10157922B2 (en) * | 2016-11-28 | 2018-12-18 | Taiwan Semiconductor Manufacturing Co., Ltd. | Interconnect metal layout for integrated circuit |
US11094685B2 (en) | 2016-11-29 | 2021-08-17 | Taiwan Semiconductor Manufacturing Co., Ltd. | Static random access memory device |
US10402534B2 (en) * | 2017-09-28 | 2019-09-03 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated circuit layout methods, structures, and systems |
US10872189B2 (en) * | 2017-12-13 | 2020-12-22 | Taiwan Semiconductor Manufacturing Co., Ltd. | Uni-gate cell design |
-
2019
- 2019-09-20 US US16/577,432 patent/US11062074B2/en active Active
- 2019-10-31 KR KR1020190137924A patent/KR102260798B1/ko active IP Right Grant
-
2020
- 2020-03-06 CN CN202010150137.0A patent/CN111950224A/zh active Pending
- 2020-05-13 TW TW109115889A patent/TWI738336B/zh active
-
2021
- 2021-07-12 US US17/373,124 patent/US11709986B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200701027A (en) * | 2005-02-24 | 2007-01-01 | Icera Inc | Logic cell layout architecture with shared boundary |
TWI372432B (en) * | 2007-12-20 | 2012-09-11 | King Yuan Electronics Co Ltd | A semiconductor device testing system and tseting method thereof |
US20140325466A1 (en) * | 2013-03-11 | 2014-10-30 | Taiwan Semiconductor Manufacturing Company, Ltd. | Stretch Dummy Cell Insertion in FinFET Process |
TWI636525B (zh) * | 2015-12-16 | 2018-09-21 | 台灣積體電路製造股份有限公司 | 半導體裝置及其布局方法 |
Also Published As
Publication number | Publication date |
---|---|
US11062074B2 (en) | 2021-07-13 |
US11709986B2 (en) | 2023-07-25 |
KR20200133170A (ko) | 2020-11-26 |
CN111950224A (zh) | 2020-11-17 |
US20200364315A1 (en) | 2020-11-19 |
TW202044099A (zh) | 2020-12-01 |
US20210342513A1 (en) | 2021-11-04 |
KR102260798B1 (ko) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kahng et al. | VLSI physical design: from graph partitioning to timing closure | |
TWI782217B (zh) | 積體電路 | |
US10713410B2 (en) | Method for legalizing mixed-cell height standard cells of IC | |
US9817937B2 (en) | Area efficient power switch | |
CN105975644B (zh) | 设计半导体集成电路的方法、***及计算机程序产品 | |
CN101187957A (zh) | 设计集成电路的公共时钟域中的多个锁存器的布图的***和方法 | |
TWI749670B (zh) | 電子架構設計佈局建置系統、電子架構設計佈局建置方法及非暫態電腦可讀取媒體 | |
US9454634B1 (en) | Methods, systems, and computer program product for an integrated circuit package design estimator | |
US8863062B2 (en) | Methods and apparatus for floorplanning and routing co-design | |
TWI738336B (zh) | 邊界單元的布局方法及裝置以及積體電路 | |
US7269818B2 (en) | Circuit element function matching despite auto-generated dummy shapes | |
KR20170094744A (ko) | 집적 회로 및 상기 집적 회로의 제조를 위한 컴퓨터 구현 방법 | |
US20210264081A1 (en) | Methods of designing semiconductor devices, design systems performing the same and methods of manufacturing semiconductor devices using the same | |
US20230315968A1 (en) | Boundary cell | |
JP6316311B2 (ja) | パターンベースの電源グランド(pg)ルーティングおよびビア生成 | |
US20230267261A1 (en) | Design system, design method and method of manufacture of semiconductor device | |
US20230237236A1 (en) | Method of designing layout of semiconductor integrated circuit, method of designing and manufacturing semiconductor integrated circuit using the same, and design system performing same | |
CN113779923A (zh) | 具有最佳化胞元布置的装置布局 | |
US10509888B1 (en) | System and method for forming integrated device | |
Altwaijry et al. | A swarm random walk based method for the standard cell placement problem | |
JP2007005651A (ja) | セル配置方法、プログラムおよび半導体装置の製造方法 |