TW202305946A - 自動化標準胞元設計之方法 - Google Patents
自動化標準胞元設計之方法 Download PDFInfo
- Publication number
- TW202305946A TW202305946A TW111112149A TW111112149A TW202305946A TW 202305946 A TW202305946 A TW 202305946A TW 111112149 A TW111112149 A TW 111112149A TW 111112149 A TW111112149 A TW 111112149A TW 202305946 A TW202305946 A TW 202305946A
- Authority
- TW
- Taiwan
- Prior art keywords
- segments
- devices
- transistor
- minimum number
- circuit
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 120
- 238000013461 design Methods 0.000 title description 47
- 238000009792 diffusion process Methods 0.000 claims description 32
- 229910021420 polycrystalline silicon Inorganic materials 0.000 claims description 26
- 229920005591 polysilicon Polymers 0.000 claims description 26
- 230000005669 field effect Effects 0.000 claims description 14
- 238000013507 mapping Methods 0.000 claims description 8
- 238000004519 manufacturing process Methods 0.000 claims description 5
- 238000003860 storage Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 description 55
- 239000010410 layer Substances 0.000 description 25
- 239000004065 semiconductor Substances 0.000 description 24
- 230000000295 complement effect Effects 0.000 description 17
- 230000003071 parasitic effect Effects 0.000 description 10
- 238000000605 extraction Methods 0.000 description 9
- 239000002184 metal Substances 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 239000002135 nanosheet Substances 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 239000013078 crystal Substances 0.000 description 4
- 238000012938 design process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 235000013599 spices Nutrition 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000001459 lithography Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- -1 oxide Substances 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 229920002120 photoresistant polymer Polymers 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005389 semiconductor device fabrication Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 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/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/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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Architecture (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
在一實施例中,一方法包含:接收表示一電路的資料,包含裝置、輸入、輸出、及功率源之佈置;基於所接收的該資料,決定最小段數;基於二個以上之該等裝置之間共享的共同特徵部,將該等裝置分組成N段,其中
N等於該最小段數;以及產生被分組的該等裝置之個別部分,以形成代表該電路之物理具現的一物理佈局,使得當該等個別部分係整合在一起時,該等個別部分形成該電路之物理具現。
Description
[相關申請案的交互參照]本申請案主張以下優先權:2021年3月31日提出的美國申請案第17/219,539號,該申請案是2020年12月15日提出的美國非臨時專利申請案第 17/122,689 號的部分繼續申請案,該部分繼續申請案請求2020 年 4 月 9 日提交的美國臨時申請案第 63/007,705 號的優先權。這些申請案透過引用整體併入本文。
本揭露大致關聯於半導體裝置及方法,且在特定實施例之中關聯於自動化標準胞元設計之方法。
積體電路可以包括一種或多種類型的電晶體。平面電晶體是一種非常常見的電晶體技術。平面電晶體是使用傳統的平面(逐層)製造製程所製造的,且其中電晶體接合面在一個平面中到達半導體表面。例如,圖 1 顯示了示例性平面電晶體 100。
非平面電晶體,也稱為三維(3D)電晶體,是電晶體接面在不同平面中到達半導體表面的電晶體,例如凸起的源極到汲極通道,例如由三面閘極電晶體、或從源極到汲極的凸起通道(稱為鰭)所例示,例如,如鰭式場效電晶體(FET)( FinFET )所例示。 FinFET的閘極擺置於通道的兩側、三側、或四側,或環繞在通道周圍,形成雙閘極結構。圖2A和2B顯示了示例性3D三面閘極電晶體200和FinFET 250。
非平面電晶體的另一個示例是奈米片(NS)電晶體(也稱為橫向閘極環繞(LGAA)電晶體。圖3顯示了示例。
互補式FET(CFET)是另一種類型的非平面3D電晶體,其中例如兩個FET(例如nFET和pFET )垂直堆疊,具有形成水平通道的垂直共同閘極。例如,圖4示出了示例性CFET 400。從圖4可以看出,CFET具有導致對FET端子的簡化接取的優點,這可以導致更小的佈局。
圖5示出了示例性垂直電晶體(VFET)500,其中每個電晶體的源極-閘極-汲極係垂直堆疊。VFET被稱為垂直電晶體,因為通道是垂直的,如圖5所示。
根據一實施例,一方法包含:接收表示一電路的資料,包含裝置、輸入、輸出、及功率源之佈置;基於所接收的該資料,決定最小段數;基於二個以上之該等裝置之間共享的共同特徵部,將該等裝置分組成N段,其中
N等於該最小段數;以及產生被分組的該等裝置之分離部分,以形成代表該電路之物理具現的一物理佈局,使得當該等分離部分係整合在一起時,該等分離部分形成該電路之物理具現。
根據一實施例,一種計算裝置,用於產生標準胞元庫的標準胞元佈局,該計算裝置包含:一處理器;及一非瞬態電腦可讀取儲存媒體,耦合至該處理器並且儲存可由該處理器執行的一程式,該程式包含用於以下者的指令:接收表示一電路的資料,包含裝置、輸入、輸出、及功率源之佈置;基於所接收的該資料而決定最小段數;基於在二以上之該等裝置之間共享的共同特徵部而將該等裝置分組成
N段,其中
N等於該最小段數;以及產生被分組的該等裝置之分離部分,以形成代表該電路之物理具現的一物理佈局,使得當該等分離部分係整合在一起時,該等分離部分形成該電路之物理具現。
根據一實施例,一種方法,包含:接收表示一電路的資料,包含裝置、輸入、輸出、及功率源之佈置,其中該電路包含複數節點,且其中該等裝置包含複數的n型場效電晶體(nFET)及複數p型場效電晶體(pFET);自所接收的該資料識別該電路之pFET及nFET;基於所接收的該資料識別該複數節點之不同節點;基於所接收的該資料而為所識別的該等節點之每一者指定一端子計數以形成複數端子計數,其中各端子計數指示耦合至所識別的該等節點之對應節點的該等裝置之端子的數量;基於具有奇數計數的該複數端子計數之端子計數之數量,決定最小段數;以及基於二個以上之該等裝置之間共享的共同特徵部,將該等裝置分組成N段,其中
N等於該最小段數;以及產生被分組的該等裝置之分離部分,以形成代表該電路之物理具現的一物理佈局,使得當該等分離部分係整合在一起時,該等分離部分形成該電路之物理具現。
下面詳細討論揭露的實施例的製作和使用。然而,應當理解,本發明提供了許多可應用的發明概念,這些概念可以體現在各種各樣的特定環境中。所討論的具體實施例僅用於說明製造和使用本發明的具體方式,並不限制本發明的範圍。
下面的描述說明了各種具體細節,以根據描述提供對幾個示例實施例的深入理解。這些實施例可以在沒有一個或多個具體細節的情況下獲得,或者可以藉由其他方法、組件、材料及相似者獲得。在其他情況下,未詳細示出或描述已知結構、材料或操作,以免混淆實施例的不同態樣。在本說明書中對「實施例」的引用表示與該實施例相關地描述的特定配置、結構或特徵被包括在至少一個實施例中。因此,可能出現在本說明書的不同點的諸如「在一個實施例中」之類的短語不一定完全指涉同一實施例。此外,可以在一個或多個實施例中以任何適當的方式組合特定的構造、結構或特徵。
本發明的實施例將在特定背景中描述用於在FinFET裝置、CFET裝置或3D CFET裝置中生成標準邏輯胞元設計的方法。本發明的實施例可以用於其他類型的電晶體技術,例如其他類型的3D電晶體,例如VFET和三面閘極電晶體。
在本發明的一個實施例中,電路設計基於電路網表被自動轉換為相應的物理佈局。在一些實施例中,在轉換為物理佈局之前,基於對應於標準胞元的網表自動生成和優化標準胞元的擺置和路由。在根據標準胞元的網表以優化的方式自動佈置和路由裝置(例如電晶體)之後,生成標準胞元的物理佈局。
開發新的半導體技術節點,例如10奈米節點(N10)、7奈米節點(N7)、或5奈米節點(N5),涉及生成模型和胞元庫,以便可以使用新節點設計電路和裝置。例如,圖6顯示了示例性半導體技術設計流程600的流程圖。
在步驟602期間,定義半導體技術節點。例如,在步驟602期間,選擇要為技術節點實現的基本標準胞元及位元胞元的類型,並且識別連接性(例如,軌道計劃、線堆疊、和功率輸送網絡)和設計規則、輪廓和弧線路由。
在步驟604期間,為半導體節點手動生成製程設計套件(PDK)。 PDK 是一組庫(library)和相關資料,例如模型檔案、物理變化規則檔案等,允許使用特定的半導體技術節點設計電路和裝置。例如,在步驟604期間,生成設計規則手冊(DRM)和設計規則檢查(DRC)檔案。
在步驟606期間,將在步驟602期間識別的基本標準胞元手動佈置以創建標準胞元庫608。標準胞元庫通常在步驟606期間手動優化以例如使得胞元占用最少的空間量並且使得可以在步驟622期間由佈置和路由 (PNR) 工具加以使用。
在步驟610期間,標準胞元的性能在測試台模擬環境中被仿真。在步驟610期間仿真標準胞元有利地允許在半導體節點開發週期的早期測試標準胞元。
在步驟612期間,執行標準胞元的寄生萃取,並且在步驟614期間基於寄生萃取的結果更新PDK。例如,在步驟 614 期間,PDK 用前段製程 (FEOL) 更新並包括寄生電阻和電容。
在步驟616期間,生成包含來自寄生萃取的結果的標準胞元的網表。
在步驟618期間,使用技術計算機輔助設計(TCAD)來生成Spice模型。在步驟620期間,在步驟618期間生成的Spice模型與在步驟616期間生成的網表一起使用以表徵標準胞元(例如)在製程、電壓和溫度(PVT)上的變化。
在步驟622期間,由設計網表定義的數位電路(例如,以Verilog或VHDL編寫)被合成(放置在佈局中)並基於使用來自標準胞元庫608的標準胞元的連接資訊(來自步驟602)加以路由。
在步驟624期間,例如出於優化目的,對使用在步驟622期間接收的設計網表予以設計的區塊進行功率性能面積(PPA)評估。
當使用方法600開發新的半導體節點時,反饋迴路可能圍繞各個步驟而存在。例如,如果在執行步驟604和606之後,有大量的DRC錯誤,則庫的架構可能不得不改變。在構建標準胞元庫608時實現可接受的擺置密度也可以是一個迭代製程。例如,在步驟606的一個或多個迭代之後,標準胞元庫的第一版本可以在實現最終的更高的擺置密度(例如,75%)之前實現低擺置密度(例如,60%)。
設計規則和製程修改可能還需要基於來自步驟 620 的結果而進行,並且如果在步驟 624 期間未滿足 PPA 目標,則可能需要進行額外的更改。因此,在某些情況下,執行方法600之步驟可能會持續數月,例如六個月或更長。由於某些步驟的長前置時間,因此一些反饋迴路被省略,造成在執行之後標準胞元的設計有效地固定,這可能導致優化程度較低的解決方案,並且可能需要限制性的設計規則。
隨著半導體節點的尺寸越來越小(例如,從N7到N5,再到N3,甚至更小),路由壅塞度可能增加,這可能會增加設計標準胞元庫的複雜性。隨著半導體節點過渡到更小的節點,非平面電晶體的使用以及3D整合的使用(例如使用例如任何類型的電晶體堆疊)也變得越來越可能。執行堆疊電晶體和/或非平面電晶體的佈局和路由可能需要考慮多個擺置和路由選項以實現具有例如高擺置密度和/或易於藉由自動路由工具擺置的最佳佈局。因此,隨著半導體技術節點變得更小,手動評估用於優化標準胞元佈局的所有佈局選項以及手動設計標準庫的標準胞元可能變得過於複雜、過於昂貴和/或過於耗時而無法有效或實用地執行。因此,較小的裝置本身可能無法保證更好的微縮、功率、性能、和/或成本。
在本發明的一個實施例中,基於技術定義自動生成具有優化佈局的標準胞元庫。在一些實施例中,藉由自動生成標準胞元的佈局,新的半導體技術節點可以基於在佈置及路由的背景中生成的標準胞元(而不是隔離地,在佈置及路由之前)進行評估,以例如,與手動執行標準胞元的佈局相比在顯著更少的時間(例如,幾週對幾個月)內確定微縮、功率、性能、和成本。例如,圖7A示出了根據本發明實施例的實施例半導體技術設計流程700的流程圖。
如圖7A所示,設計流程700類似於設計流程600,但包括用於自動生成標準胞元的步驟702。藉由自動生成標準邏輯胞元,一些實施例有利地顯著減少了用於生成優化的標準胞元庫的時間量(例如,從幾個月到幾週),例如,藉由省略一個或多個步驟604、606、及614的執行,而在步驟702期間自動生成標準胞元庫和相關的PDK。
例如,在一些實施例中,PDK中的設計規則(步驟604)被替換為用於標準胞元自動生成(在步驟702期間)的指令(例如,規則)。在一些實施例中,由於用於自動生成標準胞元(在步驟702中)的指令(例如,程式化指令)的行為係比在步驟606期間執行手動胞元佈局的人類設計者更可預測,可能僅需要(例如,實質上)更少的規則。此外,先進的技術節點可能受到高度限制。因此,在一些實施例中,可能更有效率的是:指示自動標準胞元生成系統(在步驟702中)以設計標準胞元的佈局,而不是指示人類在手動佈局設計(步驟606)期間要避免什麼以符合先進節點的限制的例如廣泛規則列表。
因此,在一些實施例中,可以消除PDK中的設計規則檢查平臺(DRC),因為標準胞元可以藉由建構而正確地生成。例如,在一些實施例中,標準胞元的自動胞元生成可以正確且系統地生成受到優化並符合半導體節點需求的佈局。因此,在一些實施例中,將手動佈局標準胞元之步驟(步驟606)去除並在步驟702期間用自動佈局標準胞元替換該步驟,將有利地允許在(例如,實質上)更短的時間框架中符合半導體節點要求的標準胞元的優化和正確佈局。
在一些實施例中,可以藉由在仿真(步驟610)中直接運行電阻和電容萃取來去除步驟614。在一些實施例中,在步驟610期間執行這種寄生萃取係藉由例如在步驟702期間成生的輸出的一致性而有利地加以允許。即使在一些實施例中,在步驟610期間執行寄生萃取可能比在步驟614期間運行抽象萃取平臺更耗時,在步驟610期間執行寄生萃取可以有利地為早期迭代優化提供效率。
標準胞元(例如,標準庫608和708的)是標準化布林邏輯函數的物理表示。標準胞元的一個示例是半加器,它被配置為將兩個二進制數相加。標準胞元的其他示例包括 NAND閘、NOR閘、D型正反器、算術邏輯單元(ALU)等。在一些實施例中,標準胞元庫可以包括超過50個標準胞元,例如在50及100個標準胞元之間,例如80個標準胞元。
在一些實施例中,方法700可以在耦合到記憶體的計算裝置中實現,該記憶體用於儲存可由該製程執行的程式,並且其中該程式包括用於執行方法700的指令。舉例而言,圖7B示出了根據本發明的實施例的計算裝置750。如圖所示,計算裝置750包括耦合到記憶體754、顯示器756、和通信介面758的處理器752。在一些實施例中,處理器752可以實現為通用處理器、應用特定積體電路(ASIC)、微處理器、或可以解譯和執行儲存在記憶體754中之指令的其他處理邏輯。
顯示器756被配置以顯示例如佈局圖(例如,在步驟702期間生成者)。顯示器756可以是電腦螢幕並且可以以本領域已知的任何方式實現。
記憶體754被配置為儲存包括用於執行例如方法700的指令的程式。記憶體754還被配置為將在方法700期間(例如在步驟702期間)生成的中間或最終輸出的數位檔案(例如包括標準胞元庫708的佈局資訊的數位檔案)臨時或永久地儲存。記憶體754可以以本領域已知的任何方式實現,例如,作為非揮發性記憶體。
通信介面758被配置為向例如其他計算裝置和/或其他儲存媒介傳輸在方法700期間(例如在步驟702期間)生成的中間或最終輸出,例如包括標準胞元庫708的佈局資訊的數位檔案。
在一些實施例中,方法700的一個或多個步驟可以在不同的計算裝置中實施。
圖8A-8D示出了根據本發明之實施例的半加器胞元的四種不同表示。圖 8A 顯示了一個半加器的真值表,其中 A 和 B 分別是第一和第二輸入,且C 和 S 分別是輸出進位以及和。圖8B示出了在CMOS電路中實現圖8A的真值表的示意圖800。
圖8C示出了實現電路800的網表。在一些實施例中,連接性列表是例如可儲存在數位檔案中的用於實現標準胞元設計的期望邏輯行為所需的電子組件的設計或佈局的抽象表示。
如圖 8C 所示,網表包括電路 800 的所有組件(在此示例中為電晶體),該網表指明每個電晶體的閘極、輸入、和輸出信號。網表還包括對功率源(VDD和VSS)的參照,其中功率源可以理解為能夠向電晶體傳輸功率的節點或軌道。在一些實施例中,網表(也稱為連接性列表)包括電晶體名稱,該名稱參照電晶體的輸入、輸出、和閘極信號的連接。例如,M13 電晶體是位於圖 8B 最右側的 NMOS 電晶體,連接到 VSS (GND)、節點 N4 、及進位輸出。如圖8B所示,節點N4提供電晶體M3、M4、M5、M6、M8、和M12之間的共同電特性、特徵、或連接。其餘節點代表圖 8B 所示電晶體之間的共同連接。在一些實施例中,圖8C的網表可以擴展為包括其他電路細節,例如電晶體的類型(n型或p型)。
圖8D示出了電路800的示例性物理佈局,採用5.5T(即,胞元高度=5.5金屬軌道) FinFET設計。在一些實施例中,網表(例如,如圖8C所示)是用於執行步驟702的輸入資料。例如,在一些實施例中,生成網表是用於將存在於理論或虛擬模型(例如,圖 8B)中的電路設計轉換為物理具現或物理佈局(例如,圖 8D)的第一步。
圖9示出了根據本發明實施例的用於基於網表自動生成標準胞元之物理佈局的實施例方法900之流程圖。步驟702可以作為方法900執行並且可以由計算裝置750實現。
方法900可以理解為包括裝置擺置步驟(步驟902、904、906、908、910、912、914和918)和裝置路由步驟(步驟916和920)的方法。在一些實施例中,裝置擺置步驟可以自動執行(例如,如方法900中所述),而擺置步驟可以以習用方式執行。在一些實施例中,可以自動執行裝置路由步驟(例如,如方法900中所述),而擺置步驟可以以習用方式執行。
在步驟902期間,接收網表並且識別具有第一類型共享連接(例如,連接在一起的閘極)的電晶體對。在一些實施例中,第一類型的連接可以是自由連接,其中術語「自由連接」可以被理解為:可以藉由擺置而無需路由工作加以形成的連接。在一些實施例中,第一類型的連接可以被稱為最重要的自由連接。在一些實施例中,例如在平面電晶體、 FinFET、和三面閘極電晶體中,互補式電晶體的閘極是第一類型的自由連接,其中單個多閘極得切換p型和n型電晶體二者。在其他實施例中,例如在基於異構順序3D整合的架構中,第一類型的自由連接可以不同於閘極(舉例來說,例如源極/汲極)。一些實施例可以展示多於一個的自由連接。例如,在堆疊電晶體架構中,第一類型的自由連接可以關於相同堆疊層中的電晶體之間的水平連接性,並且第二類型的自由連接可以關於在堆疊的不同層中的電晶體之間的垂直連接性。
在步驟904期間,在步驟902中識別的電晶體對的每一者的物件加以形成,其中每個物件由輸入和輸出(例如,共同閘極輸入以及nFET和pFET輸入和輸出)加以識別。在一些實施例中,物件是程式化物件,例如物件導向的資料結構、矩陣、或向量,例如張量。在一些實施例中,在步驟904期間形成的物件不指定信號流方向,並且這種信號流可以被反轉(例如,在汲極和源極之間)而不改變功能。
在步驟906期間,在步驟904期間生成的電晶體對物件係基於電晶體對物件的共同輸入/輸出加以叢集。例如,在識別出每個電晶體對物件的輸入和輸出之後,當兩個電晶體對物件共享一個共同連接時(例如,電晶體對物件連接到相同節點),則這兩個電晶體對物件是叢集在一起。在一些實施例中,叢集是藉由例如使用指標(例如儲存在電晶體對物件中)或資料庫表(例如儲存在記憶體754中)將電晶體對物件相關聯而加以執行。在一些實施例中,其他本領域中已知的程式化技術可加以使用。
在步驟908期間,電晶體對物件被翻轉以對齊電晶體對物件的共同輸入/輸出,從而在共享一共同輸入/輸出時將該翻轉電晶體對物件加以叢集。在一些實施例中,該翻轉步驟係例如藉由資料結構、向量或矩陣變換來執行。在一些實施例中,可以使用本領域已知的其他程式化技術。在一些實施例中,步驟906和908可以一起執行。
在步驟910期間,藉由重疊共同輸入/輸出而將電晶體對物件和電晶體對物件之叢集合併成更大的叢集。在一些實施例中,藉由例如使用例如指標或資料庫表來關聯電晶體對物件的輸入/輸出而執行合併步驟。在一些實施例中,可以使用本領域已知的其他程式化技術。在一些標準胞元中,整個邏輯功能可以在步驟910期間顯像在單個叢集中。在一些標準胞元中,可以使用多於一個叢集來顯像整個邏輯功能。
在步驟912期間,識別並消除不必要的內部節點(也稱為封閉的內部節點或完成的節點)。在一些實施例中,不必要的內部節點之消除是藉由例如從儲存在記憶體754中的一組開放節點中移除對節點的參照而加以執行。需要進一步連接性的節點(例如,應該連接到另一個節點但是在步驟 910 期間未連接為叢集的節點)被識別。
在步驟914期間,根據叢集圖中的技術特定佈線軌道計劃佈置該叢集,例如,使得其類似於最終物理佈局顯像。在一些實施例中,軌道計劃包括佈線規則(例如,最小金屬長度、連接限制等)以及軌道數量。例如,在一些實施例中,技術特定的佈線軌道計劃可能需要單列(row),且因此,在這樣的技術中,叢集被佈置在單列中。其他技術可允許複數列,例如2、4或更多列(可稱為多列高度胞元)。在一些實施例中,叢集延伸超過單行(column),例如20行或更多。在一些實施例中,叢集圖生成包括數位檔案的生成,該數位檔案包括相對於軌道計劃的網表中標識的組件之位置資訊,例如相對於軌道計劃的不同軌道及行的閘極、源極和汲極接點的位置。
在一些實施例中,成本函數可用於獎勵該佈置,例如基於減少胞元內部佈線壅塞。在一些實施例中,機器學習訓練的模型可以用於例如基於成本函數而優化擺置(例如,減少胞元內部佈線壅塞)。
在步驟916期間,在叢集圖中識別開放節點(例如,在步驟912或914之後仍需要連接的節點)。例如,待連接到外部電路(例如,接腳)的節點或要連接到叢集內的其他節點的節點可以被識別為開放節點。在一些實施例中,開放節點之識別可藉由以下者加以執行:例如,使用指示一節點是否需要連接之記錄器中的位元或記憶體754中的資料結構。
在步驟918期間,將技術特定佈線軌道計劃的每一行映射到來自一組預定義技術構造的預定義技術構造。該組預定義技術構造包括在特定的技術特定佈線軌道計劃中的基本裝置(例如, pFET和nFET )的有限數量的可能實施方式(例如,所有可能實施方式)。在一些實施例中,該組預定義技術構造是手動生成的。例如,如稍後將更詳細地關於例如圖11K加以描述,在一些實施例中,每個構造可以以佈局形式取得。在一些實施例中,映射的佈局構造係以(例如,部分)物理半導體佈局的形式儲存在數位檔案中。在一些實施例中,可以使用一組不同的構造來代替圖11K中所示的構造,以將軌道計畫(例如,如圖11I中所示)映射到物理佈局中。
在根據步驟914的輸出選擇和擺置預定義的技術構造之後,使用例如現成的路由工具來執行剩餘開放節點的路由。步驟920的輸出是最終佈局,其可以例如顯像在螢幕上和/或列印在紙或其他媒介中,且/或可以被輸出例如用於生成用於半導體裝置製造的相應遮罩,其中半導體裝置的製造可以藉由施加光阻劑並基於產生的遮罩圖案化基板來進行。
在一些實施例中,與步驟902、904、906、908、910、912、914、916、918、和/或920期間的中間步驟相關聯的檔案可以(例如,臨時或永久地)儲存在記憶體754中並且可以在步驟902、904、906、908、910、912、914、916、918、和/或920期間從記憶體754讀取。例如,在一些實施例中,物件(諸如電晶體對物件、電晶體對叢集、翻轉的電晶體對叢集等)可以在創建物件的步驟期間或之後的任何步驟期間被儲存於記憶體754並從記憶體754讀回。包括與軌道計劃、路由、擺置、和佈局相關的資訊(例如,在步驟914、916、918、和/或920期間生成)的數位檔案也可以儲存在記憶體754中,並且可以在創建檔案的步驟期間或之後的任何步驟期間從記憶體754讀取。在步驟902、904、906、908、910、912、914、916、918、和/或920之任何一者期間創建或使用的物件和/或資訊(例如,儲存在數位檔案中)的表示可以在創建或使用物件或資訊的步驟期間或之後的任何步驟期間顯示在顯示器756之中。
在一些實施例中,(例如,一個或多個)標準胞元(例如,或整個標準胞元庫708)的所得物理佈局(例如,其可以儲存在記憶體754中的數位檔案中)可用於RC萃取(在步驟612期間)並允許生成包括寄生參數的對應網表(步驟616),用於執行胞元表徵(620)。
在一些實施例中,步驟902、904、906、908、910、912、914、916、和/或918中的一者以上之執行藉由以下者而有利地改進用於為標準胞元佈局庫生成標準胞元佈局的裝置:例如,藉由減少為特定軌道計劃實現例如最佳佈局所花費的時間,這有利地允許在設計階段早期對技術節點進行評估。
圖10示出了根據本發明實施例的用於使用標準胞元庫708設計和製造積體電路的實施例方法1000的流程圖。
在步驟1002期間,使用標準胞元庫708的標準胞元執行積體電路設計網表的合成、擺置、和路由。在步驟1004期間,基於在步驟1002期間生成的積體電路佈局執行(例如,完整的)設計模擬。在步驟1006期間,製造具有與在步驟1002期間產生的佈局相對應的遮罩的遮罩組。遮罩組包括一組遮罩,該組遮罩包括與構成積體電路組件的金屬、氧化物、或半導體層的圖案相對應的幾何形狀。遮罩組在步驟1008期間被送到半導體代工廠,用於例如使用微影製程的積體電路製造。
圖11A-11L繪示根據本發明實施例的用於使用非堆疊FinFET技術將圖8C的網表(半加器)轉換成物理佈局的方法900的性能。例如,圖11A、11B、11C、 11D、11E、11F分別示出了步驟902、904、906、908、910和912。步驟914在圖11G和11I中示出。步驟916在圖11I中示出,且步驟918和920分別在圖11J和11L中示出。
圖11A圖示了根據本發明實施例的具有共同閘極的配對互補式電晶體(步驟902)。例如,圖 8C 的網表包括pMOS電晶體M0、M1、M2、M3、M4、M5、和 M6,以及nMOS電晶體 M7、M8、M9、M10、M11、M12、和M13。如圖11A所示,具有共同閘極的pMOS-nMOS對被識別並配對在一起。例如, pMOS電晶體M0和nMOS電晶體M7共用一個共同閘極(電晶體M0和M7的閘極連接到節點N1)。 PMOS電晶體M1和nMOS電晶體M9共享一個共同閘極(連接到節點B)。 PMOS電晶體M2和nMOS電晶體M10共享一個共同閘極(連接到節點A)。 PMOS電晶體M3和nMOS電晶體M8共享一個共同閘極(連接到節點N4)。 PMOS電晶體M4和nMOS電晶體M11共享一個共同閘極(連接到節點A)。 PMOS電晶體M5和nMOS電晶體M12共享一個共同閘極(連接到節點B)。 PMOS電晶體M6和nMOS電晶體M13共享一個共同閘極(連接到節點N4)。
儘管圖11A示出了應用於FinFET裝置的步驟902,但是對於其他技術(例如對於CFET裝置)可以執行類似或相同的步驟。
在一些實施例中,圖11A中標識的每個互補式電晶體對變成一物件,如圖11B中所示。物件可以是資料結構、張量向量、或其他。例如,如圖11B所示,圖11中標識的物件(步驟902)可以表示為電晶體圖標。例如,互補式電晶體對 M0/M7 表示為物件 1102,具有閘極輸入 N1(其連接到電晶體 M0 和 M7 的閘極)以及輸入/輸出端子 VDD、VSS 、和 Sum。互補式電晶體對M1/M9表示為物件1104,具有閘極輸入B(其連接到電晶體M1和M9的閘極),以及輸入/輸出端子VDD、VSS、N0和N2。互補式電晶體對 M2/M10 表示為物件 1106,具有閘極輸入 A(連接到電晶體 M2 和 M10 的閘極)和輸入/輸出端子 N0、VSS、N1 和 N2。互補式電晶體對 M3/M8 表示為物件 1108,具有閘極輸入 N4(其連接到電晶體 M3 和 M8 的閘極)以及輸入/輸出端子 VDD、N2 和 N1。互補式電晶體對 M4/M11 表示為物件 1110,具有閘極輸入 A(其連接到電晶體 M4 和 M11 的閘極)和輸入/輸出端子 VDD、VSS、N4 和 N3。互補式電晶體對 M5/M12 表示為物件 1112,具有閘極輸入 B(連接到電晶體 M5 和 M12 的閘極),以及輸入/輸出端子 VDD、N3 、和 N4。互補式電晶體對 M6/M13 表示為物件 1114,具有閘極輸入 N4(連接到電晶體 M6 和 M13 的閘極)以及輸入/輸出端子 VDD、VSS 、和Carry。
在一些實施例中,所識別物件的電晶體圖標(例如,如圖11B中所示)可以顯示在顯示器756中。
儘管圖11B示出了應用於FinFET裝置的步驟904,但是對於其他技術(例如對於CFET裝置)可以執行類似或相同的步驟。
圖11C-11F繪示用於當以FinFET實現時(例如)最佳化及/或修改電氣設計之構造內的電晶體對物件的佈置的方法900之步驟,例如使得電氣設計組件的最終物理佈局或佈置是(例如)更小和/或更容易路由並實現電氣設計的實際操作(在本示例中,半加器)。
圖11C圖示了根據本發明的實施例的基於共同輸入/輸出連接將電晶體對物件關聯成叢集(步驟906)。例如,電晶體對1102和1114共享共同輸入/輸出(VDD和VSS)。電晶體對1112、1110共享共同輸入/輸出(VDD、N3和N4)。電晶體對1110和1104共享共同輸入/輸出(VDD和VSS)。電晶體對1104和1106共享共同輸入/輸出(N0和VSS)。如圖 11C 所示,識別了三個叢集(1122、1124、和1126)。
在一些實施例中,電晶體對物件可以完全或部分地繞y軸呈鏡像而不改變功能。因此,如圖11C所示,可以從翻轉(例如,由於共享連接)中受益的電晶體對的電晶體被識別。如圖 11C 所示,在此示例中,電晶體 M0、M7、M12、M4、M11 和 M10 針對翻轉加以識別。
從圖11C可以看出,其他叢集和電晶體對關聯是可能的(例如,物件1108和1106可以基於共同節點N1和N2加以關聯)。如圖11C中還可以看出,可以識別其他電晶體翻轉(例如,基於共享連接VDD翻轉電晶體1112且不翻轉電晶體1110)。在一些實施例中,評估電晶體對的所有可能的關聯和排列,並且選擇導致較少叢集數量的關聯。
在一些實施例中,評估電晶體對和電晶體翻轉的所有可能的關聯和排列,並且選擇導致較少叢集數量和/或最小化節點間之距離的關聯。
圖11D繪示根據本發明實施例的基於共同輸入/輸出連接(步驟908)在叢集關聯和電晶體翻轉(如圖11C中所識別)之後的電晶體對物件。
圖11E圖示了根據本發明的實施例的在步驟908(步驟910)之後的(例如,重複的共享的)節點的合併。例如,電晶體對物件(例如,如圖11D中所示)每一者包括閘極節點(連接到互補式電晶體的閘極)、兩個輸入、和兩個輸出(對於每個互補式電晶體)。在步驟910期間,合併重複的共享節點,且得到的叢集可能具有少於它們組合的電晶體對的輸入/輸出的數量。例如,除了閘極節點N1和N4,叢集1122包括4個輸入/輸出節點(Sum、VDD、VSS、和Carry),小於圖11D中叢集1122所示的6個輸入/輸出節點。在叢集1124中,N4節點(在電晶體M5和M4之間)、N3節點(在電晶體M12和M11之間)、VDD節點(電晶體M4和M1之間)、VSS節點(電晶體M11和M9之間)、N0節點(電晶體M1和M2之間)、和N2節點(電晶體M9和M10之間)分別合併。節點N1從叢集1126合併。在一些實施例中,合併叢集的電晶體圖標顯示在顯示器756中(例如,如圖11E所示)。
圖11F示出了根據本發明的實施例消除對叢集僅為局部的並且不需要外部連接性(無論是在內部還是到其他叢集)的節點(步驟912)。例如,在叢集1122中,由於Sum和Carry是標準胞元的外部接腳,VDD和VSS是功率源節點,且節點N1和N4是閘極節點,所以沒有節點被消除。在叢集1124中,節點N3和N0對叢集1124為局部節點,且因此被消除。節點N4需要進一步的內部連接性(在電晶體M12的電流路徑端子與電晶體M5的電流路徑端子之間),且因此沒有被消除(節點N4也連接到其他叢集,且因此也為了該原因加以保留)。節點N2和N1連接到叢集 1122 和/或 1126,且因此不會被消除。節點 A 和 B 是標準胞元的外部接腳,且因此不會被消除。在叢集 1126 中,沒有節點被消除。在一些實施例中,所得叢集的電晶體圖標顯示在顯示器756中(例如,如圖11F所示)。
圖11G圖示了根據本發明實施例的在技術特定的佈線軌道計劃(步驟914)中叢集1122、1124和1126的佈置。在該示例中,佈線軌道計劃被限制為單列互補式電晶體對,且因此,叢集1122、1124和1126被佈置在單列中(如圖11G中所示)。在一些實施例中,所得叢集佈置的電晶體圖標顯示在顯示器756中(例如,如圖11G中所示)。
圖11H繪示根據本發明實施例的用於非堆疊FinFET的技術特定佈線軌道計劃的3D視圖。如圖 11H 所示,軌道計劃包括 4 個信號軌道(1134、1136、1140 和 1142)。信號軌道1134和1136可以用於使用接點來路由pFET的閘極或源極/汲極。信號軌道1140和1142可以用於使用接點來路由nFET的閘極或源極/汲極。應當理解,圖 11H 中所示的 3D 視圖是一個非限制性示例,對應於軌道計劃中的裝置的特定佈置(在該示例中,對應於圖11K中所示的構造 1193),並且,例如,接點和其他連接的擺置可以是不同的,可以連接不同的節點或被省略,這取決於要進行的特定連接(例如,如圖11K中繪示的各種結構所示)。
應當理解,圖11H中所示的軌道計劃是可能的軌道計劃的非限制性示例。例如,也可以使用具有不同軌道數量或對軌道具有不同接取的軌道計劃。例如,在一些實施例中,軌道計劃可以包括少於4個信號軌道,例如3個或2個。在一些實施例中,軌道計劃包括多於4個軌道,例如5、6、8、或更多軌道。
圖11I繪示根據本發明的實施例的將例如如圖11G中所示的叢集佈置映射到圖11H中圖示的技術特定的佈線軌道計劃中的映射(例如,步驟914) 。如圖所示,導線軌道計劃包括單列軌道,其包括軌道1132、1134、1136、1140、和1142。軌道1132和1144分別對應於功率軌VDD和VSS(或接地)。軌道1138說明了nMOS和pFET之間的分離,因為它不用於路由信號(在本例中, pFET位於軌道1138上方的上半部,且nFET位於軌道1138下方的下半部)。軌道 1134、1136、1140、和1142是可用於路由的可用信號佈線軌道。
圖11I中所示的每一行代表節點或電隔離結構的可能位置,例如擴散中斷部。擴散中斷部可用於隔離目的,例如,當電晶體不能放置成使得一個電晶體的輸出成為相鄰電晶體的輸入時。例如,行 1131、1133、1135、和 1137 表示可以用虛擬多晶矽填充的擴散中斷部。在一些實施例中,如此的擴散中斷部將叢集分開以及將半加器胞元與相鄰胞元分開。在一些實施例中,擴散中斷部將叢集分開。例如,在圖11I中,擴散中斷部1133和1135將叢集1122、1124和1126分開,並且擴散中斷部1131和1137將半加器胞元與相鄰胞元分開。
行1141、1143、1145、1147、1149、1151、1153、1155、1157、1159、1161、1163、1165、1167、1169、1171、及1173對應於電晶體節點,並且也在圖11G中示出。因此,行1141、1143、1145、1147、1149、1151、1153、1155、1157、1159、1161、1163、1165、1167、1169、1171、和1173 與列 1132、1134、1136、1140、1142、和1144 相交處的胞元,對應於可能的電晶體節點位置。例如,行 1141 包括電晶體 M5(在列1132、行1141連接到 VDD)和 M12(在列 1142、行1141連接到節點 N4)的電流路徑節點;行1143包括電晶體M5(在列1134行1143連接到節點B)和M12(在列1142、行1143並且連接到列1134、行1143的胞元)的閘極節點;行1145包括電晶體M5(在列1134、行1145)和電晶體M4(在列1136、行1145並且連接到節點N4以及在列1134、行1145連接到電晶體M5的電流路徑)和電晶體M11(在列1142、行1145,並且在列1142、行1143連接到電晶體 M5 的閘極)的電流路徑節點;等等。
圖11I還說明了在技術特定佈線軌道計劃中的開放節點的識別(步驟916)。例如,節點B和N1係標識在叢集1124的軌道1134中。節點N4在叢集1124的軌道1136中標識。節點A在叢集1124的軌道1140中標識。節點N4和N2在叢集1124的軌道1142中標識。節點 N1 在叢集 1126 的軌道 1134 中標識。節點 N4 在叢集 1126 的軌道 1136 中標識。節點 N2 在叢集 1126 的軌道 1142 中標識。節點 N1 在叢集 1122 的軌道 1134 中標識。節點 N4 在叢集 1122 的軌道 1136中標識。節點C(Carry)在叢集1122的軌道1140中標識。節點S(Sum)在叢集1122的軌道1142中標識。每個叢集內部的開放連接也被標識,例如,其可能以較高水平位置的金屬製成。例如,叢集1124的軌道1136和1142中的節點N4可以使用金屬M1(例如,半導體基板頂部上方的第一金屬層)彼此連接。
如圖11I中可見,位於行1141和列1142的胞元對應於電晶體M12的節點N4。位於行1143和列1134的胞元對應於電晶體M5的節點B。位於行1145和列1136的胞元對應於電晶體M5的節點N4。位於行1147和列1140的胞元對應於電晶體M11的節點A(閘極節點在互補胞元之間共享)。位於行1151和列1134的胞元對應於電晶體M1的節點B。位於行1153和列1142的胞元對應於電晶體M9的節點N2。位於行1155和列1140的胞元對應於電晶體M10的節點A。位於行1157和列1134的胞元對應於電晶體M2的節點N1。位於行1159和列1142的胞元對應於電晶體M8的節點N2。位於行1161和列1136的胞元對應於電晶體M3的節點N4。位於行1163和列1134的胞元對應於電晶體M3的節點N1。位於行1165和列1142的胞元對應於電晶體M7的節點S(Sum)。位於行1167和列1134的胞元對應於電晶體M0的節點N1。位於行1171和列1136的胞元對應於電晶體M6的節點N4。位於行1173和列1136的胞元對應於電晶體M13的節點C(Carry)。
標識為VDD的功率源軌1132處的胞元(行1141、1149、1159、1169處的胞元)對應於VDD節點(例如,用於外部連接)。標識為VSS的功率源軌1144處的胞元(行1149、1157、1169處的胞元)對應於VSS(接地)節點(例如,用於外部連接)。
如圖11I所示,一些節點在多於1個胞元之間共享。因此,在一些實施例中,多於一個胞元可以用於路由連接(例如,位於行1145、列1134和1136的胞元都可以用於連接節點N4)。在一些實施例中,評估所有可能的胞元選擇,並選擇導致最短佈線(最短連接)的胞元(在該示例中,位於行1145、列1136的胞元導致與行1141、列1142處的胞元的連接更短,且因此加以選擇)。在一些實施例中,類似的節點被分配給相同的軌道(在該示例中,節點N4係使用軌道1136加以路由)。
在一些實施例中,例如如圖11I中所示的軌道計劃的表示被顯示在顯示器756中(例如,如圖11I中所示)。
圖11J繪示了根據本發明之實施例的將技術特定佈線軌道計劃中每一行(行 1131、1133、1135、1141、1143、1145、1147、1149、1151、1153、1155、1157、1159、1161、1163、1165、1167、1169、1171、和1173,例如,如圖11I所示)從一組預定義技術構造映射為預定義技術構造(也稱為裝置佈局構造,例如,如圖11K所示)(步驟918)。儘管在圖11J中示出了構造之間的間隙,但是在佈局中構造的實際擺置中可能不存在如此的間隙。
該組預定義技術構造包括特定的技術特定佈線軌道計劃中的基本裝置(例如,電晶體)的有限數量的可能實施方式(例如,所有可能實施方式)。例如,圖11K圖示了根據本發明的實施例的用於圖11A-11L中圖示的5.5T FinFET技術的具有源極/汲極和閘極連接的一組預定義技術構造。例如,構造1170對應於擴散中斷部(例如,在行1131、1133、1135、和1137中實施)。構造 1170-1193 對應於佈線計劃中pFET和nFET的可能實施方式,包括源極、閘極、和汲極連接的不同可能位置。例如,構造 1171、1172、1173 、和 1174 對應於互補式電晶體的可能閘極連接,其中共享閘極接點分別位於軌道 1134、1136、1140、或 1142 上。構造 1175 分別對應於pFET和nFET的VDD和VSS連接。構造 1176 對應於與pFET的VDD連接。構造 1177 對應於pFET的VDD連接以及軌道 1140 上的nFET信號接點。構造 1178 對應於pFET的VDD連接以及軌道 1142 上的nFET信號接點。構造 1180 對應於nFET的VSS連接以及軌道 1134 上的pFET信號接點。構造 1181對應於nFET的VSS連接以及軌道1136上的pFET信號接點。構造1182對應於沒有連接的閉合節點。構造 1183-1186 分別對應於軌道 1134、1136、1140、和 1142 上的pFET信號接點。構造 1187-1190 對應於連接的pFET和nFET源極/汲極,這些連接分別在軌道 1134、1136、1140、和1142 上具有信號接點。構造 1191 對應於連接的pFET和nFET源極/汲極,其中沒有其他連接。構造 1191 對應於分裂閘極(獨立接觸的pFET和nFET的閘極)。構造 1193 對應於軌道 1134 上的pFET信號接點和軌道 1142 上的nFET信號接點。
行 1143、1151、和 1167實現為構造 1171。行 1161 和 1171 實現為構造 1172。行 1147 和 1155 實現為構造 1173。其他行實現有其他構造。例如,行 1141 和 1159 實現有構造 1177 ;行1145 實現為構造 1184;行1149 和 1169 被實現為構造 1175;行 1153 實現為構造 1186;行1157 被實現為構造 1180;行1163 實現為構造 1187;行1165 被實現為構造 1190;並且行1173被實現為構造 1189。
在一些實施例中,使用構造(例如,如圖11J中所示)的軌道計劃的表示被顯示在顯示器756中(例如,如圖11J中所示)。
圖11L示出了根據本發明的實施例的半加器的最終佈局,其中使用現成的工具來執行構造之間的開放節點的路由(步驟920)。如圖11L所示,信號佈線軌道在行1143和1151之間的軌道1134處加以路由,在行1143和1151中為輸入B做成接觸。信號佈線軌道在行1157和1167之間的軌道1134處加以路由,為節點N1在行1157、1163、和1167處做成接觸。信號佈線軌道在行1145和1155之間的軌道1140處加以路由,為半加器的輸入A在行1147和1155中做成接觸。信號佈線軌道在行1153和1159之間的軌道1142處加以路由,在行1153和1159處為節點N2做成接觸。
在一些實施例中,例如如圖11L中所示的最終佈局的表示,被顯示在顯示器756中(例如,如圖11L中所示)。
如圖11A-11L所示,方法900可以在非堆疊FinFET電晶體(例如,圖3所示的類型)中實施。類似或相同的方法可以在其他類型的非堆疊電晶體架構中實施,例如在非堆疊平面電晶體(例如,圖1中所示的類型)、非堆疊三面閘極電晶體(例如,圖2A中所示的類型)和非堆疊的NS電晶體(例如,圖3中所示的類型)。可以對非堆疊CFET(例如,圖4所示類型)和非堆疊VFET(例如,圖5所示類型)執行方法900的類似實施方式。例如,圖12A-12D示出了根據本發明的實施例的用於將圖11G所示的叢集的佈置轉換為使用非堆疊CFET技術的物理佈局的步驟914、916、918、和920的執行。
圖12A和12B示出了根據本發明的實施例的用於CFET的單個堆疊的技術特定佈線軌道計劃的3D視圖。
在圖12A和12B所示的軌道計劃中,當以圖12A所示的配置實施時,pFET能夠連接到軌道1134和1136,並且nFET能夠連接到軌道1140和1142,並且nFET能夠連接到軌道1134和1136並且pFET能夠連接到軌道1140和1142。如圖12A和12B所示,CFET的軌道計劃也能夠在不使用接點的情況下藉由在層中之水平地加以路由而連接源極/汲極,其中該源極/汲極是使用局部互連之二層之一者加以定位。
圖12C示出了根據本發明的實施例的將裝置佈置(例如,如圖11G中所示)映射為圖12A和12B中示出的技術特定佈線軌道計劃的映射(例如,步驟914)。如圖所示,圖12C中說明的關於非堆疊CFET的映射與圖11I中說明的關於非堆疊FinFET的映射非常相似。然而,圖12C中的映射不使用較高水平位置的金屬連接在行1141和1145中的節點N4,因為局部互連可以用於如此的連接。圖12還顯示了分別對應於擴散中斷部1133和1135的擴散中斷部1233和1235沒有延伸到整個行以允許節點N2的叢集(在叢集1124和1126之間)和節點N4(在叢集1124、1126和1122之間)的叢集之間的連接。
圖12D示出了根據本發明的一個實施例的圖12A和12B所示的軌道計劃中的半加器的最終佈局,其映射如圖12C所示。如圖12D所示,信號佈線軌道在行1143和1151之間的軌道1134處路由,在行1143和1151中為輸入B做成接點。信號佈線軌道在行1157和1167之間的軌道1134處路由,在行1157、1163、和1167處為節點N1做成接點。信號佈線軌道在行1145和1155之間的軌道1140處加以佈線,在行1147和1155中做成接點,用於半加器的輸入A。信號佈線軌道在行1153和1159之間的軌道1142處加以路由,在行1153和1159處做成接點,用於節點N2。
方法900也可以在具有電晶體堆疊的電晶體技術中實施,例如堆疊平面電晶體、堆疊FinFET、堆疊三面閘極電晶體、堆疊NS電晶體、堆疊CFET、和堆疊VFET。例如,圖13A-13J示出了根據本發明實施例的用於使用堆疊CFET技術將圖8C的網表(半加器)轉換成物理佈局的方法900的成效。類似或相同的方法可以應用於其他堆疊電晶體架構。
圖13A和13B分別示出了步驟902、904。圖13C和13D說明了步驟906並且說明了該技術的堆疊性質,例如,如由堆疊在彼此頂部的兩層電晶體所指示的。圖13E圖示了步驟908。圖13F和13H圖示了步驟910並且圖示了由堆疊電晶體技術實現的附加垂直路由路徑。步驟912在圖13H中示出。如稍後將更詳細描述的,在圖13A-13J所示的實施例中,可以省略步驟916和920(例如,如果沒有剩餘的開放節點有待路由)。
圖13A示出了根據本發明實施例的具有共同閘極的配對互補式電晶體(步驟902)。圖13B示出了根據本發明實施例的對應於在步驟902期間執行的配對步驟的電晶體對物件(步驟904)。如圖13A和13B所示,對於堆疊CFET裝置,步驟902和904可以以與非堆疊裝置(例如非堆疊FinFET裝置(例如,如分別關於圖 11A 和 11B 所示和描述的))相似或相同的方式加以執行。
圖13C-13H示出了方法900的步驟,用於例如優化和/或修改如用堆疊CFET實現的電氣設計構造內的電晶體對物件的佈置,例如,使得得到的電氣設計組件的物理佈局或佈置係(例如)更小和/或更容易路由並實現電氣設計的實際操作(在此示例中,半加器)。圖13C和13D示出了根據本發明實施例的基於共同連接將電晶體對物件關聯成叢集(步驟906)。
如稍後將更詳細描述的,由於諸如堆疊CFET的堆疊電晶體架構允許電晶體的垂直堆疊(例如,CFET的堆疊),軌道計劃可以允許電晶體之間的閘極連接的垂直共享(例如,在2個CFET之間)。因此,在一些實施例中,電晶體對物件到叢集的關聯係基於一個共同閘極,除了共同輸入/輸出連接,該共同閘極可以在雙列軌道計劃中跨列共享(例如,藉由垂直連接CFET的閘極)。舉例而言,如圖13C和13D所示,電晶體對1304和1306共享共同節點N0和N2,電晶體對1304和1312共享共同節點B,電晶體對1306和1310共享節點A,電晶體對1312和1310共享節點VDD和N3,電晶體對1314和1308共享節點N4,電晶體對1302和1314共享節點VDD和VSS,且電晶體對1302和1308共享共同節點N1。如圖13C和13D所示,識別出一個叢集(1322)。
如圖13D所示,電晶體M10、M0、M7、M5、M12、M11、M3和M8被識別為翻轉。圖13E圖示了根據本發明實施例的基於共同輸入/輸出/閘極連接而在叢集關聯步驟和電晶體翻轉步驟(如圖13C和13D中標識)之後的電晶體對物件(步驟908)。
在一些實施例中,除了水平連接之外,執行垂直連接的可能性可以顯著增加用於實現最佳結果的擺置工作的複雜性。
圖13F-13H示出了根據本發明實施例的在步驟908之後(例如,重複共享的)節點的合併(步驟910)。如圖13F所示,在合併作業之前首先識別用於優化的進一步機會。例如,如圖13F所示,首先識別開放節點。例如,電晶體對1314、1312和1310都具有節點N4作為開放節點。電晶體對1314和1308使節點N2開放。電晶體對1306、1302和1308使節點N1開放。
如圖13G所示,基於開放節點,電晶體對1304和1312被交換,且電晶體對1306和1310被交換。在一些實施例中,評估電晶體對和電晶體翻轉的所有可能的關聯和排列,並且該關聯導致較少的數量和/或最小化節點之間的距離。
圖13H示出了根據本發明之實施例的在合併步驟(步驟910)之後,且在消除了對叢集而言僅為局部的且不需要外部連接性(無論是在內部還是到其他叢集)的節點(步驟912)之後的叢集1322。圖13H還示出了電隔離結構,例如形成擴散中斷部1324和1326的虛擬多晶矽膜。
圖13I圖示了根據本發明的實施例的用於2層堆疊CFET的技術特定佈線軌道計劃的3D視圖。如圖13H所示,軌道計劃包括4個頂部信號軌道(1334、1336、1340和1342)和2個底部信號軌道(1348和1356)。在一些實施例中,信號軌道1334和1336可用於使用接點來路由頂層nFET的頂層閘極或源極/汲極。在一些實施例中,信號軌道1340和1342可用於使用接點來路由pFET的頂層閘極或源極/汲極。在一些實施例中,信號軌道1348可用於使用接點來路由底層pFET的底層閘極或源極/汲極。在一些實施例中,信號軌道1356可用於使用接點來路由nFET的底層閘極或源極/汲極。在一些實施例中,可以藉由消除(例如,不形成)頂層閘極和底層閘極之間的絕緣層來將頂層閘極連接到底層閘極。應當理解,圖13I中所示的3D視圖是對應於軌道計畫中裝置的特定佈置的非限制性示例,並且可以改變裝置的擺置(例如,pFET和nFET可以翻轉),(例如)並且連接可能不同(例如,翻轉)。
圖13J圖示了根據本發明的實施例的將裝置佈置(例如,如圖13H所示)映射為圖13I所示技術特定佈線軌道計畫的映射(例如,步驟914)。如圖所示,佈線軌道計劃包括兩列軌道,包括頂層軌道(軌道1332、1334、1336、1340、1342、和1344)和底層(軌道1346、1348、1356、和1358)。軌道1332和1344分別對應於頂層功率源軌VDD和VSS(或接地)。軌道1346和1358分別對應於底層功率源軌VDD和VSS(或接地)。軌道1338和1352說明了nMOS和pFET之間的分離,並且不用於路由信號。軌道1350和1354不使用。軌道1334、1336、1340、和1342是可用的信號佈線軌道,可用於路由來自頂層中之CFET的信號。軌道1348和1356是可用的信號佈線軌道,可用於路由來自底層中之CFET的信號。
圖 13I 中所示的每一行代表節點或電隔離結構的可能位置,例如擴散中斷部。行 1341、1343、1345、1347、1349、1351、1353、1355、1357、和1359對應於電晶體節點,並且也在圖13G中示出。
圖13I 還說明了在技術特定佈線軌道計劃中開放節點的識別(步驟 916),以及使用軌道的節點連接和垂直層間閘極連接(例如,藉由消除頂層閘極與底層閘極之間的隔離層)。
從映射的軌道計劃,例如,如圖13J所示,最終佈局可以藉由基於圖13J的軌道計劃的行而擺置預定義的技術構造(步驟918),並且接著使用例如傳統的路由工具路由開放節點(如果有的話)來生成。圖13K示出了根據本發明實施例的具有用於兩層堆疊CFET技術的源極/汲極和閘極連接的一組預定義技術構造的一部分。圖13K所示的集合中的構造可用於例如以與關於圖11I-11L所示類似的方式將圖13J所示的軌道計劃映射為最終佈局。
圖14示出了根據本發明實施例的用於生成電晶體叢集的實施例方法1400的流程圖。在一些實施例中,步驟906、908、910、和912可以作為方法1400來執行。因此,在一些實施例中,從網表到達物理佈局可能涉及例如執行方法/步驟902、904、1400、914 、916、918和920。方法1400可以由計算裝置750加以實施。
在一些實施例之中,執行方法1400導致藉由連接匹配的源極/汲極端子來為特定網表生成最短的nFET和pFET串。在一些實施例中,這種最短的nFET和pFET串接著被配對以最大化共同閘極之間的連接數量。
圖15A-15I示出了根據本發明實施例的執行方法1400的各種可能輸出。參照圖15A-15I可以理解圖14。
在步驟1402期間,網表的條目(例如圖8C的網表的條目(半加器))被分類為nFET和pFET。例如,圖15A示出了根據本發明的實施例的圖8C的網表的排序的pFET網表1502和排序的nFet網表1504。
在步驟1404期間,對與每個連接(節點)相關聯的源極/汲極(SD)端子的數量進行計數。對nFET網表和pFET網表執行計數。例如,圖15B示出了具有分別與pFET網表和nFET網表的每個連接相關聯的計數的列表1512和1514。
在步驟1406期間,為在步驟1402期間生成的每個排序列表確定總連接數和具有奇數計數的總連接數(例如,基於步驟1404的輸出)。例如,圖15C顯示了排序的pFET網表1502和排序的nFet網表1504的總連接數和具有奇數計數的總連接數。
如圖15C所示,pFET網表1502包括2個奇數源極/汲極計數,對應於Sum(計數為1)和Carry(計數為1),並且nFET網表1504包括6個奇數源極/汲極計數,對應於N1(計數為1)、N2(計數為3)、N4(計數為1)、Sum(計數為1)、和Carry(計數為1)。如圖15C所示,在一些實施例中,與供給軌(例如,VDD/VSS)相關聯的奇數計數之數量被忽略和/或未確定。
在一些實施例中,可以省略步驟1402和1404,並且可以例如藉由直接處理網表(例如,直接處理圖8C的網表)來獲得在步驟1406期間生成的計數,例如藉由迭代經過網表的每個條目並為每個連接保留獨立的計數器。
在步驟1408期間,確定最小段數(也稱為電晶體串)、段之間的最小中斷部數、以及胞元的最小寬度。例如,在一些實施例中,最小段數
Seg min由下式確定
(1)
其中
OddCount
pFET 和
OddCount
nFET 分別對應於pFET和nFET的例如如在步驟1406期間確定的具有奇數計數的總連接。例如,在圖15C所示的實施例中,
。因此,當方法1400應用於圖8C的網表時,可以生成3個電晶體叢集。在一些實施例中,最小段數
Seg min被認為是目標段數。
在一些實施例中,在段之間的內部中斷部的最小數量
Breaks min(例如,擴散中斷部或例如主動通道中的其他斷路)由下式確定
( 2 )
例如,在圖 15C 所示的實施例中,
。在一些實施例中,方程式2可以用於例如使用單擴散中斷部(例如,每個擴散中斷部只有一個虛擬多晶矽)的技術。對於雙擴散中斷部技術,內部中斷部的最小數量可以藉由將方程式2的結果乘以2加以確定。
在一些實施例中,單元的最小寬度
CellWidth min由下式確定
( 3 )
其中
num
pFET 和
num
nFET 是pFET和nFET網表中電晶體的總數,
Break
edge 是與胞元側面的邊緣相關聯的中斷部數量(例如,通常等於1),對該技術而言
d等於每個擴散中斷部的虛擬多晶矽的數量(例如,
d= 1 用於單擴散中斷部技術,
d= 2 用於雙擴散中斷部技術),並且
Breaks
p min和
Breaks
n min分別是pFET和nFET的內部中斷部的最小數量,其中
Breaks
p min和
Breaks
n min可由下式確定
( 4 )
( 5 )
例如,在圖15C所示的實施例中,並且對於單擴散中斷部技術而言,
。因此,圖8C的胞元可以在具有10個多晶矽軌道的單擴散中斷部技術中呈現(例如,每個電晶體1個多晶矽,每個內部擴散中斷部1個多晶矽,胞元左邊緣上的半個多晶矽,以及在胞元的右邊緣上的半個多晶矽)。
在一些實施例中,在步驟1408期間確定的最小段數對應於在佈局中實現網表(例如,圖8C的網表)所需的理論的最小段數。在一些實施例中,在步驟1408期間確定的中斷部的最小數量對應於在佈局中實現網表(例如,圖8C的網表)所需的理論的中斷部之最小數量。在一些實施例中,在步驟1408期間確定的最小胞元寬度對應於在佈局中實現網表(例如,圖8C的網表)所需的理論最小胞元寬度。
在步驟1410期間,與源極/汲極計數為2(例如,如在步驟1406期間確定的)相關聯的源極/汲極端子被合併。因此,在一些實施例中,在步驟1410期間產生的輸出包括電晶體佈置,該電晶體佈置包括電晶體對、電晶體對串、和/或單個電晶體。例如,圖15D示出了根據本發明的實施例的佈置在電晶體串中的圖8C的網表的電晶體,其中與源極/汲極計數為2(例如,如圖15B中所示)相關聯的源極/汲極端子被合併。
如圖15D所示,圖15B中計數為2的源極/汲極端子(pFETS的SD端子N0、N1和N4,nFETS的SD端子N3)被合併。如稍後關於圖15E所說明的,在一些實施例中,在步驟1410期間合併的一些電晶體可以被取消合併以支持另一連接(例如,基於共同閘極)。
在步驟1412期間,段的可能端點被識別。例如,在一些實施例中,具有與計數為1相關聯的連接的所有源極/汲極端子被識別為段的端點。例如,在圖 15B 所示的實施例中,對於pFET而言,連接到 Sum 和 Carry 的源極/汲極端子被標識為可能的端點,而對於nFETs,連接到節點 N1、N4、Sum、和Carry的源極/汲極端子,被識別為可能的端點。
在步驟1414期間,在步驟1412期間產生的電晶體群組進一步串在一起以達到目標段數。例如,在一些實施例中,在步驟1412期間生成的電晶體群組使用窮舉搜索在目標段數中串在一起。從使用窮舉搜索方法獲得的可能解決方案中選擇最佳解決方案(例如,最小胞元尺寸、具有用於內部連接的較少數量的金屬層的胞元、一個或多個特定節點的最低寄生特性等)。在一些實施例中,與評估原始網表的電晶體可以連接在一起的所有可能方式相比,對在步驟1412期間生成的電晶體群組可以串在一起的所有可能方式進行窮舉搜索沒有那麼複雜。例如,從圖15A和15D可以看出,與評估圖15A的電晶體(其中有7個pFET和7個nFET)的所有可能佈置相比,評估圖15D的電晶體群組的所有可能佈置(其中有4個pFET群組和6個nFET群組)以到達目標的3段係較不複雜。
在一些實施例中,在執行步驟1414之後,可以例如如關於方法900所描述的執行步驟914、916、918和920。
在一些實施例中,確定如何將在步驟1412期間生成的電晶體群組串在一起以達到目標段數之步驟包括:
連接共享一個共同閘極的pFET和nFET;
擺置與奇數計數和一段的開始和/或結束相關聯的源極/汲極端子;
將連接到相同開放節點的源極/汲極端子擺置成彼此靠近;和
將形成一個反相器的pFET和nFET連接在一起。例如,在一些實施例中,執行步驟1414之步驟包括執行步驟1416。
在步驟1416期間,在步驟1412期間生成的電晶體群組進一步基於共享共同閘極進行分組並且佈置成使得分組的電晶體形成兼容的電晶體串。在一些實施例中,段的開始和/或結束源極/汲極端子選自與奇數計數相關聯的源極/汲極端子之群組(來自步驟1406)。在一些實施例中,執行進一步的細化(例如藉由翻轉電晶體或電晶體佈置)以達到目標段數和/或進一步優化電晶體擺置。
在一些實施例中,當執行步驟1416時,多個電晶體佈置是可能的。在一些實施例中,最佳解決方案(例如,最小胞元尺寸、具有用於內部連接的較少數量的金屬層的胞元、一個或多個特定節點的最低寄生特性等)是從當使用窮舉搜索方法執行步驟1416時獲得的可能電晶體佈置中選擇的。在一些實施例中,與評估在步驟1412期間生成的電晶體群組可以連接在一起的所有可能方式相比,對在執行步驟1416之後獲得的執行所有可能的電晶體擺置之窮舉搜索係較不複雜的。
圖15E-15H示出了根據本發明的實施例的對在步驟1410(如圖15D所示)期間生成的電晶體佈置上執行步驟1416以形成3個目標段(如在步驟1408期間確定的)。如圖15E所示,電晶體佈置1546、1548、1560、和1562可以基於它們的共同閘極被分組在一起,例如,作為叢集1122。在一些實施例中,達到這個分組之步驟可以是基於電晶體佈置1546、1548、1560、和1562形成(例如,輸出)反相器的確定。在一些實施例中,達到該分組之步驟可以是基於以下之確定:M0和M7共享共同閘極(N7)、電晶體M6和M13共享共同閘極(N4)、以及節點Carry和Sum都與奇數計數相關聯並且因此可以擺置在段的端點處。
在對電晶體佈置1546、1548、1560、和1562進行分組之後,選擇電晶體佈置1554以形成第二段(叢集1126),如圖15F所示。如圖15F所示,電晶體M8與電晶體M3加以群組以形成叢集1126。在一些實施例中,達到該分組之步驟可以是基於以下之確定:M8和M3共享共同閘極(N4)、以及節點N1和N2都與奇數計數相關聯並因此可以放置在段的端點處。在一些實施例中,達到該分組可以基於以下之確定:在剩餘的nFET電晶體分組(1552、1554、1556和1558)中,M8(1554)是唯一不與輸入節點A及B相關聯的電晶體。因此,藉由與電晶體 M8 形成一個叢集,輸入 A 和 B 不會在多個段之間分開。
如圖15E所示,叢集1126的形成導致電晶體佈置1542失去電晶體M3而變成電晶體佈置1543(藉由取消合併電晶體M3和M2),以利於電晶體M8和M3共享的共同閘極。因此,圖15E示出在步驟1416期間,可以在達到目標段數之前評估多個可能的佈置。
圖15G示出了根據本發明實施例的形成相容電晶體串以達到3個目標段。如圖 15G 所示,在此步驟中考慮了供給軌 VDD 和 VSS 以用於合併目的。同樣如圖 15G 所示,在確定電晶體串的電晶體順序時,考慮共同閘極,如以下所示:電晶體 M2 和 M10 共享一個共同閘極 (A)、電晶體 M1 和 M9 共享一個共同閘極 (B)、電晶體M4和M11共享一個共同閘極(A)、且電晶體M5和M12共享一個共同閘極(B)。
一旦形成相容的電晶體串,就可以藉由連接共同閘極來形成第三叢集,如圖 15H 所示。如圖15H所示,叢集1524、1122、和1126可以藉由對圖15D所示的電晶體佈置執行步驟1416來生成。當對圖15D所示的電晶體佈置(例如,如圖11G所示的叢集1122、1124、和1126)執行步驟1416時,還可以在步驟1416期間生成其他的3叢集配置。
在步驟1418期間,將在步驟1414期間獲得的段的數量與(例如,在步驟1408期間確定的)最小段數進行比較。如果在步驟1414期間獲得的段的數量高於最小段數,則再次執行步驟1414(例如,藉由嘗試不同的可能電晶體佈置)。如果在步驟 1414 中獲得的段的數量等於最小段數,則在步驟 1414期間生成的段在步驟1420期間擺置在單列中。例如,圖 15I 說明了根據本發明實施例的段 1524、1122、和 1124(如圖15G所示)佈置成單列。
在步驟1422期間,基於佈置在單列中的段(例如,從步驟1420)來確定胞元的寬度。如果胞元的寬度高於胞元的最小寬度(例如,從步驟1408),則再次執行步驟1414(例如,藉由嘗試不同的可能電晶體佈置)。如果胞元的寬度等於胞元的最小寬度,則在步驟1420期間生成的段被進一步處理(例如,在步驟914、916、918、和920期間)以獲得物理佈局。
如圖 15I 所示,圖 15I 所示的胞元具有 10 個多晶矽軌道。例如,圖 15I 中所示的胞元具有與電晶體相關聯的 7 個多晶矽軌道(如行1573、1575、1577、1579、1583、1585、和1591 所示)、與內部擴散中斷部相關聯的2個多晶矽軌道(如行1581 和 1589所示)、以及與胞元之邊緣相關聯的 1 個多晶矽軌道(如行1571和1593所示,它們與相鄰胞元共享,且因此每個都算作半個多晶矽軌道)。由於圖 15I 中所示的胞元具有 10 個多晶矽軌道,這等於在步驟1408期間為圖 8C 的網表確定的胞元的最小寬度,因此圖 15I 中所示的胞元被進一步處理,且例如步驟914接著加以進行。
如圖14所示,如果胞元的段之數量大於最小段數,或者如果胞元的寬度係大於胞元的最小寬度,則可以迭代地執行步驟1414。在一些實施例中,亦在中斷部的數量高於中斷部的最小數量時迭代地執行步驟1414。在圖15I所示的實施例中,由於顯示了2個中斷部,這等於在步驟1408期間為圖8C的網表確定的中斷部的最小數量,因此進一步處理圖15I所示的胞元,且例如接下來執行步驟914。
在一些實施例中,在執行步驟1414之後,具有高於最小段數的段的數量、大於胞元的最小寬度的胞元的寬度、或高於中斷部的最小數量的中斷部的數量,係表示更小的胞元設計是可能的(且因此,可以再次執行步驟1414)。
在一些實施例中,執行方法1400有利地允許確定是否可以進一步改進特定胞元設計(例如,藉由將特定胞元設計的特性與在步驟1408期間確定的目標特性進行比較)。
在一些實施例中,執行方法1400有利地允許優化胞元設計(例如,減小或最小化胞元的尺寸),而不必使用窮舉搜索來評估網表的所有可能的電晶體佈置。隨著胞元的尺寸增加,這些優勢可能會變得更加明顯。
儘管方法1400已經針對單層設計進行了說明,但是方法1400可以應用於在多個層中實現的設計,例如兩層設計。例如,圖16示出了根據本發明實施例的用於生成電晶體叢集的實施例方法1600的流程圖。方法1600包括步驟1402、1404、1406、1408、1410、1412、1414(和例如1416)、1418、1420、和1422,其可以以與方法1400類似的方式執行。
如果在執行步驟 1418 和 1422 之後確定不再執行步驟 1414 的迭代(例如,步驟 1418 的輸出 =「否」並且步驟 1422 的輸出 =「否」),則在步驟1624期間確定設計中的層數。如圖16所示,對於單層設計,方法 1600 可以與方法 1400 相同。對於兩層設計,在步驟1414期間生成的段在步驟1526期間被擺置成兩列佈置,且接著可以執行步驟914。
在一些實施例中,可以在步驟1526期間使用窮舉搜索方法來確定段的擺置。在一些實施例中,在步驟1526期間段的擺置包括以下步驟:
在頂層中擺置擴散中斷部;和
將功率接頭擺置在頂層之中的步驟包括將功率接頭堆疊到底層的功率接頭上,或者將功率接頭堆疊在不需要額外信號連接的節點上方。舉例而言,圖17示出了根據本發明實施例的佈置成兩列的段1524、1122、和1726(如圖15G所示)。
如圖17所示,擴散中斷部位於頂層之中(在電晶體M4上方)。同樣如圖17所示,頂層的功率接頭(VDD/VSS)位於底層功率接頭的頂部之上(如叢集1726所示,它是叢集1126的翻轉版本)或在不需要額外信號連接的節點之上(如叢集1122所示)。
一些實施例的優點包括提供指示特定胞元設計可以被進一步優化的度量,以及提供減少可能的電晶體佈置的數量的步驟,這些電晶體佈置可以被評估以達到這樣的度量不再指示特定胞元的胞元設計可以進一步優化。
這裡總結了本發明的示例實施例。還可以從說明書的全部內容和在此提出的發明專利請求範圍來理解其他實施例。
示例1。一種方法,包含:接收表示一電路的資料,包含裝置、輸入、輸出、及功率源之佈置;基於所接收的該資料,決定最小段數;基於二個以上之該等裝置之間共享的共同特徵部,將該等裝置分組成N段,其中
N等於該最小段數;以及產生被分組的該等裝置之個別部分,以形成代表該電路之物理具現的一物理佈局,使得當該等個別部分係整合在一起時,該等個別部分形成該電路之物理具現。
示例2。如示例1之方法,其中該電路包含複數節點,且其中該等裝置之端子係耦合至該複數節點,該方法進一步包含:基於所接收的該資料識別該複數節點之不同節點;及基於所接收的該資料為所識別的該等節點之每一者指定一端子計數以形成複數端子計數,其中各端子計數指示耦合至所識別的該等節點之對應節點的該等裝置之端子的數量,其中決定該最小段數之步驟包含:基於具有奇數計數的該複數端子計數之端子計數之數量,決定該最小段數。
示例3。如示例1或2之方法,其中該等裝置包含複數的n型場效電晶體(nFET)及複數p型場效電晶體(pFET),該方法進一步包含:自所接收的該資料識別該電路之pFET及nFET,其中形成該複數端子計數之步驟包含形成複數pFET端子計數及複數nFET端子計數,並且其中決定該最小段數之步驟包含藉由下式決定該最小段數:
,其中
Seg
min 代表該最小段數,
OddCount
pFET 代表具有奇數計數的pFET端子計數之數量,並且
OddCount
nFET 代表具有奇數計數的nFET端子計數之數量。
示例4。如示例1至3之其中一者之方法,進一步包含將與端子計數為2相關聯的該等裝置之端子合併。
示例5。如示例1至4之其中一者之方法,進一步包含識別與奇數端子計數相關聯之該等裝置之端子,其中將該等裝置分組成
N段之步驟包含:自所識別的該等端子選擇第一端子;以及形成該
N段之第一段,該第一段具有作為一末端端子的該第一端子。
示例6。如示例1至5之其中一者之方法,進一步包含:基於該最小段數決定主動通道之斷路的最小數量,其中將該等裝置分組成
N段之步驟進一步包含將該等裝置分組成具有
M個中斷部的
N段,其中
M等於該最小段數。
示例7。如示例1至6之其中一者之方法,進一步包含:基於所接收的該等資料決定多晶矽軌道最小數量,其中將該等裝置分組成
N段之步驟進一步包含將該等裝置分組成具有
L個多晶矽軌道的
N段,其中
L等於該多晶矽軌道最小數量。
示例8。如示例1至7之其中一者之方法,其中該等裝置包含複數n型場效電晶體(nFET)及複數p型場效電晶體(pFET),其中決定該多晶矽軌道最小數量之步驟包含藉由下式決定該多晶矽軌道最小數量:
,其中
CellWidth
min 代表該多晶矽軌道最小數量,
num
pFET 代表在該電路中之pFET的總數,
num
nFET 代表在該電路中之nFET的總數,
Breaks
pmin 代表與該電路之pFET相關聯的內部中斷部之最小數量,並且
Breaks
nmin 代表與該電路之nFET相關聯的內部中斷部之最小數量。
示例9。如示例1至8之其中一者之方法,進一步包含:基於所形成的該物理佈局製造一遮罩組,以及使用該遮罩組產生一積體電路。
示例10。如示例1至9之其中一者之方法,其中該等個別部分係代表以下之一者以上:一擴散中段部、一源極-汲極構造、或一閘極構造。
示例11。如示例1至10之其中一者之方法,其中該源極-汲極構造包含用於該閘極構造的一閘極連接或至一功率源的功率連接。
示例12。如示例1至11之其中一者之方法,其中該閘極構造包含用於該源極-汲極構造的一源極-汲極連接或至一功率源的功率連接。
示例13。如示例1至12之其中一者之方法,其中該擴散中段部包含多晶矽膜。
示例14。如示例1至13之其中一者之方法,其中該源極-汲極構造包含一n型區域或一p型區域。
示例15。如示例1至14之其中一者之方法,其中該物理具現包含一場效電晶體(CFET)。
示例16。如示例1至15之其中一者之方法,進一步包含:基於一目標軌道計劃將該
N段映射至一目標物理佈局顯像。
示例17。如示例1至16之其中一者之方法,其中該目標軌道計劃包含單列(row)高度。
示例18。如示例1至16之其中一者之方法,其中該目標軌道計劃包含二以上的列高度。
示例19。如示例1至16或18之其中一者之方法,更包含:將該
N段擺置於二列之中,該二列包含一頂層列及一底層列,其中將該
N段擺置於二列之中的步驟包含:僅將該
N段之一段擺置在該底層列之中;擺置全部的擴散中段部以將在該頂層列中之多個段分隔開;以及將該頂層列之一段之一裝置之一功率源端子擺置於該底層列之僅該一段之一裝置之一功率源端子之頂部之上。
示例20。一種計算裝置,用於產生標準胞元庫的標準胞元佈局,該計算裝置包含:一處理器;及一非瞬態電腦可讀取儲存媒體,耦合至該處理器並且儲存可由該處理器執行的一程式,該程式包含用於以下者的指令:接收表示一電路的資料,包含裝置、輸入、輸出、及功率源之佈置;基於所接收的該資料而決定最小段數;基於在二以上之該等裝置之間共享的共同特徵部而將該等裝置分組成
N段,其中
N等於該最小段數;以及產生所分組的該等裝置之個別部分,以形成表示該電路之一物理具現的一物理佈局,使得當該等個別部分被整合在一起時,該等分離部分形成該電路之一物理具現。
示例21。如示例20之計算裝置,其中該程式進一步包含用於以下者的指令:將該物理佈局儲存於該非瞬態電腦可讀取儲存媒體之中;以及傳輸所儲存的該物理佈局而用於產生針對積體電路生產的一組遮罩。
示例22。如示例20或21之其中一者的計算裝置,進一步包含一顯示器,其中該程式進一步包含使用該顯示器中之圖標顯示該等裝置的指令。
示例23。一種方法,包含:接收表示一電路的資料,包含裝置、輸入、輸出、及功率源之佈置,其中該電路包含複數節點,且其中該等裝置包含複數的n型場效電晶體(nFET)及複數p型場效電晶體(pFET);自所接收的該資料識別該電路之pFET及nFET;基於所接收的該資料識別該複數節點之不同節點;基於所接收的該資料而為所識別的該等節點之每一者指定一端子計數以形成複數端子計數,其中各端子計數指示耦合至所識別的該等節點之對應節點的該等裝置之端子的數量;基於具有奇數計數的該複數端子計數之端子計數之數量,決定最小段數;以及基於二個以上之該等裝置之間共享的共同特徵部,將該等裝置分組成N段,其中
N等於該最小段數;以及產生被分組的該等裝置之個別部分,以形成代表該電路之物理具現的一物理佈局,使得當該等個別部分係整合在一起時,該等個別部分形成該電路之物理具現。
儘管此發明已參考示意實施例敘述,但此敘述不旨在被理解為限制性意義。示意實施例之各種不同修改及組合,以及本發明之其他實施例,將對參考本說明書之後的本領域中通常知識者而言係顯而易見的。因此,所附申請專利請求項旨在包含任何如此的修改或實施例。
100:平面電晶體
200:3D三面閘極電晶體
250:FinFET
400:CFET
500:垂直電晶體(VFET)
600:設計流程(方法)
602,604,606,610,612,614,616,618,620,622,624:步驟
608:庫
700:設計流程(方法)
702:步驟
708:庫
750:計算裝置
752:處理器
754:記憶體
756:顯示器
758:通信介面
800:示意圖(電路)
900:方法
902,904,906,908,910,912,914,916,918,920:步驟
1000:方法
1002,1004,1006,1008:步驟
1102:物件(電晶體對)
1104:物件(電晶體對)
1106:物件(電晶體對)
1108:物件
1110:物件(電晶體對、電晶體)
1112:物件(電晶體對、電晶體)
1114:物件(電晶體對)
1122,1124,1126:叢集(段)
1131:行(擴散中斷部)
1132:軌道(軌、列)
1133:行(擴散中斷部)
1134:軌道(列)
1135:行(擴散中斷部)
1136:軌道(列)
1137:行(擴散中斷部)
1138:軌道
1140:軌道(列)
1141,1143,1145,1147,1149,1151,1153,1155,1157,1159,1161,1163,1165,1167,1169,1171,1173:行
1142:軌道(列)
1144:軌道(軌、列)
1170~1193:構造
1233,1235:擴散中斷部
1304,1306,1308,1310,1312,1314:電晶體對
1322:叢集
1324,1326:擴散中斷部
1332,1334,1336,1338,1340,1342,1344,1346,1348,1350,1352,1354,1356,1358:軌道
1341,1343,1345,1347,1349,1351,1353,1355,1357,1359:行
1400:方法
1402,1404,1406,1408,1410,1412,1414,1416,1418,1420,1422:步驟
1502:pFET網表
1504:nFet網表
1512:列表
1514:列表
1524:叢集(段)
1526:步驟
1542,1543,1546,1548,1560,1562:電晶體佈置
1552:電晶體分組
1554:電晶體佈置(電晶體分組)
1556:電晶體分組
1558:電晶體分組
1571,1573,1575,1577,1579,1581,1583,1585,1589,1591,1593:行
1600:方法
1726:段(叢集)
為了更完整地理解本發明及其優點,現在結合隨附圖式參考以下描述,其中:
圖1顯示例示性平面電晶體;
圖2A顯示例示性3D三面閘極(Tri-Gate)電晶體;
圖2B顯示例示性FinFET;
圖3顯示例示性NS電晶體;
圖4顯示例示性CFET;
圖5顯示例示性VFET;
圖6顯示例示性半導體技術設計流程的流程圖;
圖7A顯示根據本發明之實施例的實施例半導體技術設計流程之流程圖;
圖7B顯示根據本發明之實施例的計算裝置;
圖8A-8D顯示根據本發明之實施例的半加器胞元之四個不同表示;
圖9顯示根據本發明之實施例的基於網表自動產生標準胞元之物理佈局的實施例方法的流程圖;
圖10顯示根據本發明之實施例的使用圖7之標準胞元庫設計與製造積體電路的實施例方法的流程圖;
圖11A-11L繪示根據本發明之實施例的使用非堆疊FinFET技術將圖8C之網表轉換為物理佈局的圖9之方法的成效;
圖12A-12D繪示根據本發明之實施例的使用非堆疊CFET技術將繪示於圖11G中之叢集之佈置轉換為物理佈局的圖9之方法的步驟的成效;
圖13A-13K繪示根據本發明之實施例的使用CFET技術將圖8C之網表(半加器)轉換為物理佈局的圖9的方法的成效;
圖14顯示根據本發明之實施例的用於產生電晶體叢集的實施例方法之流程圖;
圖15A-15I顯示根據本發明之實施例的實施圖14之方法的各種不同可能輸出;
圖16顯示根據本發明之實施例的用於產生電晶體叢集的實施例方法的流程圖;以及
圖17繪示根據本發明之實施例的佈置於二列(row)之中的圖15G之段。
除非另有說明,不同圖式中對應的數字和符號一般指對應的部分。繪製這些圖是為了清楚地說明優選實施例的相關態樣並且不一定按比例繪製。
1400:方法
1402,1404,1406,1408,1410,1412,1414,1416,1418,1420,1422:步驟
Claims (20)
- 一種產生標準胞元佈局的方法,包含: 接收表示一電路的資料,包含裝置、輸入、輸出、及功率源之佈置; 基於所接收的該資料,決定最小段數; 基於二個以上之該等裝置之間共享的共同特徵部,將該等裝置分組成N段,其中 N等於該最小段數;以及 產生被分組的該等裝置之個別部分,以形成代表該電路之物理具現的一物理佈局,使得當該等個別部分係整合在一起時,該等個別部分形成該電路之物理具現。
- 如請求項1之方法,其中該電路包含複數節點,且其中該等裝置之端子係耦合至該複數節點,該方法進一步包含: 基於所接收的該資料識別該複數節點之不同節點;及 基於所接收的該資料為所識別的該等節點之每一者指定一端子計數以形成複數端子計數,其中各端子計數指示耦合至所識別的該等節點之對應節點的該等裝置之端子的數量,其中決定該最小段數之步驟包含:基於具有奇數計數的該複數端子計數之端子計數之數量,決定該最小段數。
- 如請求項2之方法,進一步包含將與端子計數為2相關聯的該等裝置之端子合併。
- 如請求項1之方法,進一步包含識別與奇數端子計數相關聯之該等裝置之端子,其中將該等裝置分組成 N段之步驟包含: 自所識別的該等端子選擇第一端子;以及 形成該 N段之第一段,該第一段具有作為一末端端子的該第一端子。
- 如請求項1之方法,進一步包含:基於該最小段數決定主動通道之斷路的最小數量,其中將該等裝置分組成 N段之步驟進一步包含將該等裝置分組成具有 M個中斷部的 N段,其中 M等於該最小段數。
- 如請求項1之方法,進一步包含:基於所接收的該資料決定多晶矽軌道最小數量,其中將該等裝置分組成 N段之步驟進一步包含將該等裝置分組成具有 L個多晶矽軌道的 N段,其中 L等於該多晶矽軌道最小數量。
- 如請求項1之方法,進一步包含:基於所形成的該物理佈局製造一遮罩組,以及使用該遮罩組製作一積體電路。
- 如請求項1之方法,其中該等個別部分係代表以下之一者以上:一擴散中段部、一源極-汲極構造、或一閘極構造。
- 如請求項10之方法,其中該源極-汲極構造包含用於該閘極構造的一閘極連接或至一功率源的功率連接。
- 如請求項10之方法,其中該閘極構造包含用於該源極-汲極構造的一源極-汲極連接或至一功率源的功率連接。
- 如請求項10之方法,其中該擴散中段部包含多晶矽膜。
- 如請求項10之方法,其中該源極-汲極構造包含一n型區域或一p型區域。
- 如請求項1之方法,其中該物理具現包含一場效電晶體(CFET)。
- 如請求項1之方法,進一步包含:基於一目標軌道計劃將該 N段映射至一目標物理佈局顯像。
- 如請求項16之方法,其中該目標軌道計劃包含單列(row)高度。
- 如請求項16之方法,其中該目標軌道計劃包含二以上的列高度。
- 如請求項18之方法,更包含: 將該 N段擺置於二列之中,該二列包含一頂層列及一底層列,其中將該 N段擺置於該二列之中的步驟包含: 僅將該 N段之一段擺置在該底層列之中; 擺置全部的擴散中段部以將在該頂層列中之多個段分隔開;以及 將該頂層列之一段之一裝置之一功率源端子擺置於該底層列之僅該一段之一裝置之一功率源端子之頂部之上。
- 一種計算裝置,用於產生標準胞元庫的標準胞元佈局,該計算裝置包含: 一處理器;及 一非瞬態電腦可讀取儲存媒體,耦合至該處理器並且儲存可由該處理器執行的一程式,該程式包含用於以下者的指令: 接收表示一電路的資料,包含裝置、輸入、輸出、及功率源之佈置, 基於所接收的該資料而決定最小段數, 基於在二以上之該等裝置之間共享的共同特徵部而將該等裝置分組成 N段,其中 N等於該最小段數,以及 產生所分組的該等裝置之個別部分,以形成表示該電路之一物理具現的一物理佈局,使得當該等個別部分被整合在一起時,該等個別部分形成該電路之一物理具現。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/219,539 | 2021-03-31 | ||
US17/219,539 US11714945B2 (en) | 2020-04-09 | 2021-03-31 | Method for automated standard cell design |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202305946A true TW202305946A (zh) | 2023-02-01 |
Family
ID=83456784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111112149A TW202305946A (zh) | 2021-03-31 | 2022-03-30 | 自動化標準胞元設計之方法 |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR20230162610A (zh) |
TW (1) | TW202305946A (zh) |
WO (1) | WO2022212375A1 (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2798055B2 (ja) * | 1996-05-30 | 1998-09-17 | 日本電気株式会社 | 半導体集積回路のレイアウト方法 |
US6910199B2 (en) * | 2001-04-23 | 2005-06-21 | Telairity Semiconductor, Inc. | Circuit group design methodologies |
KR102198499B1 (ko) * | 2013-12-31 | 2021-01-05 | 주식회사 아이씨티케이 홀딩스 | 디지털 값 처리 장치 및 방법 |
US9268894B2 (en) * | 2014-05-16 | 2016-02-23 | Stmicroelectronics International N.V. | Area optimized driver layout |
US10808333B2 (en) * | 2018-01-08 | 2020-10-20 | Totic Technology Inc. | Method and apparatus for performing layout designs using stem cells |
US11714945B2 (en) * | 2020-04-09 | 2023-08-01 | Tokyo Electron Limited | Method for automated standard cell design |
US11550985B2 (en) * | 2020-04-09 | 2023-01-10 | Tokyo Electron Limited | Method for automated standard cell design |
-
2022
- 2022-03-29 KR KR1020237032296A patent/KR20230162610A/ko unknown
- 2022-03-29 WO PCT/US2022/022348 patent/WO2022212375A1/en active Application Filing
- 2022-03-30 TW TW111112149A patent/TW202305946A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2022212375A1 (en) | 2022-10-06 |
KR20230162610A (ko) | 2023-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10312229B2 (en) | Memory cells including vertical nanowire transistors | |
US10256223B2 (en) | Cells having transistors and interconnects including nanowires or 2D material strips | |
US9691768B2 (en) | Nanowire or 2D material strips interconnects in an integrated circuit cell | |
TWI570586B (zh) | 用於包括奈米線及2d材料條之積體電路元件的設計工具 | |
US9378320B2 (en) | Array with intercell conductors including nanowires or 2D material strips | |
US10037401B2 (en) | Methods of designing a layout of a semiconductor device including field effect transistor and methods of manufacturing a semiconductor device using the same | |
US20160063163A1 (en) | Arrays with compact series connection for vertical nanowires realizations | |
US10396063B2 (en) | Circuit with combined cells and method for manufacturing the same | |
US20150370948A1 (en) | Memory cells having transistors with different numbers of nanowires or 2d material strips | |
CN103515380A (zh) | 半导体集成电路及其设计和制造方法 | |
US20240037309A1 (en) | Multiplexer | |
US20230325574A1 (en) | Method for Automated Standard Cell Design | |
TW201715422A (zh) | 生成半導體裝置佈局的方法、設計半導體裝置佈局的方法及製作半導體裝置的方法 | |
TWI771698B (zh) | 多工器電路、多工器及製造多工器方法 | |
KR20220161478A (ko) | 자동화된 표준 셀 설계를 위한 방법 | |
TW202305946A (zh) | 自動化標準胞元設計之方法 | |
US20240169137A1 (en) | Integrated circuit including standard cells and method of designing the same | |
CN118057611A (zh) | 包括标准单元的集成电路及制造该集成电路的方法 |