TWI781610B - 製造半導體裝置的方法及系統以及用於執行該方法的非暫時性電腦可讀取媒體 - Google Patents

製造半導體裝置的方法及系統以及用於執行該方法的非暫時性電腦可讀取媒體 Download PDF

Info

Publication number
TWI781610B
TWI781610B TW110116790A TW110116790A TWI781610B TW I781610 B TWI781610 B TW I781610B TW 110116790 A TW110116790 A TW 110116790A TW 110116790 A TW110116790 A TW 110116790A TW I781610 B TWI781610 B TW I781610B
Authority
TW
Taiwan
Prior art keywords
layout
unit
cell
candidate
predefined
Prior art date
Application number
TW110116790A
Other languages
English (en)
Other versions
TW202217636A (zh
Inventor
蘇哿穎
吳澤銘
林珀瑞
Original Assignee
台灣積體電路製造股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 台灣積體電路製造股份有限公司 filed Critical 台灣積體電路製造股份有限公司
Publication of TW202217636A publication Critical patent/TW202217636A/zh
Application granted granted Critical
Publication of TWI781610B publication Critical patent/TWI781610B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/373Design optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/10Noise analysis or noise optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Architecture (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Crystals, And After-Treatments Of Crystals (AREA)
  • Metal-Oxide And Bipolar Metal-Oxide Semiconductor Integrated Circuits (AREA)

Abstract

一種用於儲存及重用佈局單元的寄生電容描述的方法。資料庫儲存預定義單元及先前藉由3D場解算器計算的寄生電容描述。對應於來自佈局圖的候選單元,在資料庫中搜尋預定義單元之中的實質匹配。若存在匹配,則將匹配的預定義單元的所儲存寄生電容描述指派給佈局圖中的候選單元,這避免必須針對寄生電容描述進行離散計算。若不存在匹配,則將3D場解算器應用到候選單元以便計算候選單元的寄生電容描述。為了促進重用新計算的寄生電容描述,候選單元及新計算的寄生電容描述在資料庫中儲存為新的預定義單元及其對應寄生電容描述。

Description

製造半導體裝置的方法及系統以及用於執行該方法的非暫時 性電腦可讀取媒體
本揭示內容是關於一種製造半導體裝置的方法及系統,以及用於執行該方法的非暫時性電腦可讀取媒體。
微型化積體電路(integrated circuit,IC)的最新趨勢已經產生更小的裝置,該等裝置與早期裝置相比以更高的速度提供更多功能性。微型化製程亦增加了裝置對寄生電容的增加效應的易感性。為了設計更小且更有效的積體電路,這些積體電路裝置的寄生電容必須更準確且有效地模型化。
本揭示內容包含一種製造半導體裝置的方法,對應佈局圖在非暫時性電腦可讀取媒體上儲存,佈局圖包括佈局單元,方法包含產生佈局圖,包括:從佈局圖中的佈局單元之中選擇候選單元;在儲存預定義單元及其對應PC描述的資料庫內,在資料庫中搜尋預定義單元之中與候選單元實質匹配的一匹配的預定義單元;以及當發現實質匹配時,將匹配的預定義單元的PC描述指派給候選單元。
本揭示內容包含一種儲存有電腦可執行指令的非暫時性電腦可讀取媒體,電腦可執行指令表示產生佈局圖的方法,佈局圖包括組織為佈局群組的佈局單元,每個佈局群組包括中央單元及鄰近中央單元的相鄰單元的集合,電腦可執行指令可由至少一個處理器執行以執行包括藉由以下操作產生佈局圖的方法:從佈局群組之中選擇候選佈局群組;在儲存預定義群組及對應寄生電容(parasitic capacitance,PC)描述的資料庫內,每個預定義群組包括主體預定義單元及鄰近主體預定義單元的一或多個預定義單元的對應集合,在資料庫中搜尋預定義群組之中與候選單元群組實質匹配的一匹配的預定義群組;以及當發現實質匹配時,將匹配的預定義群組的PC描述指派給候選佈局群組。
本揭示內容包含一種用於製造半導體裝置的系統,此系統包含:至少一個處理器;儲存電腦可執行代碼的至少一個非暫時性電腦可讀取媒體;至少一個非暫時性電腦可讀取儲存媒體、電腦可執行碼及至少一個處理器用以導致系統產生包括佈局單元的佈局圖,產生佈局圖包括:從佈局圖中的佈局單元之中選擇候選單元;在儲存預定義單元及其對應單元內寄生電容(parasitic capacitance,PC)描述的資料庫內,在資料庫中搜尋預定義單元之中與候選單元實質匹配的一匹配的預定義單元;以及當發現實質匹配時,將匹配的預定義單元的單元內PC描述指派給候選單元。
100:平面佈置圖、佈局圖
101:半導體基板
102A:單元
102B:單元
102C:單元
102D:單元
102E:單元
104:邊界
106:邊界
108:邊界
110:邊界
112:邊界
114:邊界
116:邊界
118:邊界
200:系統
202:處理器
204:儲存媒體
206:電腦程式碼、指令
207:程式庫
208:匯流排
210:I/O介面
212:網路介面
214:網路
242:使用者介面(UI)
244:資料庫
246:PDC
248:IPC
250:PDG
252:EPC
254:佈局圖
300:流程圖
302:方塊
304:方塊
305:方塊
306:方塊
308:方塊
310:方塊
311:方塊
312:方塊
314:方塊
318:方塊
320:方塊
322:方塊
324:方塊
326:方塊
328:方塊
330:方塊
332:方塊
334:方塊
400:佈局圖
402:頂部邊界
404:左邊界
406:右邊界
408:底部邊界
600:流程圖
602:方塊
604:方塊
606:方塊
608:方塊
700:流程圖
702:方塊
704:方塊
706:方塊
708:方塊
710:方塊
712:方塊
714:方塊
716:方塊
718:方塊
800:流程圖
802:方塊
804:方塊
806:方塊
808:方塊
810:方塊
812:方塊
814:方塊
816:方塊
900:流程圖
902:方塊
904:方塊
906:方塊
908:方塊
910:方塊
912:方塊
914:方塊
916:方塊
1000:方法
1002:方塊
1004:方塊
1100:系統
1120:設計室
1122:設計佈局圖
1130:遮罩室
1132:資料準備
1144:遮罩製造
1145:遮罩
1150:IC製造商/生產商(「晶圓廠」)
1152:製造工具
1153:半導體晶圓
1160:IC裝置
當結合隨附圖式閱讀時,自以下詳細描述將最佳地理解本揭示的態樣。注意到,根據工業中的標準實踐,各個特徵並非按比例繪製。事實上,出於論述清晰的目的,可任意增加或減小各個特徵的尺寸。
第1圖係根據一些實施例的半導體裝置的佈局圖。
第2圖係根據一些實施例的電子設計自動化(electronic design automation,EDA)系統的方塊圖。
第3A圖至第3E圖係根據一些實施例的描述用於為佈局圖中的佈局單元指定單元內寄生電容及單元間寄生電容的程序的流程圖。
第4A圖至第4C圖係根據一些實施例的半導體裝置的簡化佈局圖400。
第5A圖至第5C圖係根據一些實施例的上文對應於第4A圖至第4C圖描述的相同半導體裝置的簡化佈局圖400。
第6圖係根據一些實施例的在選擇候選單元之前實施的程序的流程圖600。
第7圖係根據一些實施例的在選擇候選單元之前實施的程序的流程圖700。
第8圖係根據一些實施例的在佈局圖中獲得重複佈局單元的單元內寄生電容的另一實施例的流程圖。
第9圖係在佈局圖中獲得重複佈局群組的單元間寄生電容的另一實施例的流程圖。
第10圖係根據一些實施例的產生佈局圖的方法的流程 圖。
第11圖係根據一些實施例的積體電路(integrated circuit,IC)製造系統以及與其相關聯的積體電路製造流程的方塊圖。
以下揭示內容提供不同實施例或實例,用於實施所提供標的的特徵。下文描述部件、材料、值、步驟、佈置或類似者的具體實例以簡化本揭示。當然,這些僅為實例且不為限制性。可以預期其他部件、材料、值、步驟、佈置或類似者。例如,以下描述中在第二特徵上方或第二特徵上形成第一特徵可包括以直接接觸形成第一特徵及第二特徵的實施例,且亦可包括在第一特徵與第二特徵之間形成額外特徵以使得第一特徵及第二特徵可不處於直接接觸的實施例。此外,本揭示可在各個實例中重複元件符號及/或字母。此重複係出於簡便性及清晰的目的且本身並不指示所論述的各個實施例及/或配置之間的關係。
另外,為了便於描述,本文可使用空間相對性術語(諸如「在......之下」、「在......下方」、「下部」、「在......上方」、「上部」及類似術語)來描述諸圖中所示出的一個元件或特徵與另一元件(或多個元件)或特徵(或多個特徵)的關係。除了諸圖所描繪的定向外,空間相對性術語意欲涵蓋使用或操作中裝置的不同定向。設備可經其他方式定向(旋轉90度或處於其他定向)且由此可同樣地解讀本文所使用的空間相對性描述詞。
各個實施例提供了用於有效地決定佈局圖中的單元的寄生電容描述的對應程序及技術。根據另一方法,針對佈局圖中的每個單元,對寄生電容(parasitic capacitance,PC)描述進行離散計算。隨著技術的進步,例如,隨著微型化的發展,佈局圖中的單元數量增加,這導致其他方法變得在計算上更加昂貴、更慢等等。
作為開發各個實施例的部分,本實施例的實施者認識到,佈局圖通常包括在其他佈局圖中偶然發現的單元(再現單元),例如,從標準單元程式庫取得的單元,並且針對給定再現單元的至少一些PC描述表示簡化(若不能避免必須進行)當新佈局圖包括給定再現單元時針對給定再現單元的離散計算PC描述的機會。作為開發各個實施例的部分,本實施例的實施者亦認識到,典型的新佈局圖包括大量重複單元,並且針對重複單元中的第一者的至少一些PC描述表示簡化(若不能避免必須進行)針對新佈局圖中的重複單元的剩餘單元的離散計算PC描述的機會。由此,在一些實施例中,揭示了用於儲存及重用再現單元的PC描述的方法,藉此避免必須針對候選單元離散地計算PC描述。
在一些實施例中,用於有效地決定佈局圖中的單元的寄生電容描述的方法包括:從佈局圖中的佈局單元之中選擇候選單元;在儲存預定義單元及其對應的寄生電容(parasitic capacitance,PC)描述的資料庫內,在資料庫中搜尋預定義單元之中與候選單元實質匹配的一者; 以及當發現實質匹配時,將匹配的預定義單元的PC描述指派給候選單元。由此,藉由將匹配的預定義單元的PC描述指派給候選單元,此種實施例避免必須針對候選單元離散地計算PC描述,並且因此如與其他途徑相比,此種實施例在計算上較不昂貴、較快等等,尤其是當考慮到佈局圖中的典型的大量重複單元時。在一些實施例中,若不存在匹配,則將3D場解算器應用到候選單元以便計算候選單元的PC描述。在一些實施例中,當未發現實質匹配時,針對候選單元計算PC描述,並且附加資料庫以包括:候選單元,作為預定義單元中的新單元;以及針對候選單元的PC描述,作為針對預定義單元中的新單元的PC描述。
第1圖係根據一些實施例的半導體裝置的平面佈置圖100。
平面佈置圖100為一種類型的佈局圖。平面佈置圖100包括至少一個半導體基板101的表示,其部分包括在佈局單元102A、102B、102C、102D、102E的對應實例中。在一些實施例中,佈局單元102A、102B、102C、102D、102E各自表示不同類型的積體電路(integrated circuit,IC),包括記憶體單元、功率控制電路、反向器、鎖存器、緩衝器及/或在單元程式庫中可數位地表示的任何其他類型的電路佈置。
佈局單元102A、102B、102C、102D、102E中的每一者經歷對應的總體寄生電容(parasitic capacitance,PC)。在一些實施例中,以兩個部件描述總體PC。對應於第一PC部件,佈局單元中的每一者經歷內部PC,在本文中稱為單元內PC(下文論述)。對應於第二PC部件,佈局單元中的每一者經歷對應於相鄰佈局單元的外部PC,在本文中稱為單元間PC。
平面佈置圖100係半導體裝置的數位表示,其中佈局單元102A、102B、102C、102D、102E操作以執行一或多個給定功能。在一些實施例中,以二進制檔案格式(例如,圖形資料庫系統II(Graphic Database System II,GDSII)串流格式)數位地描述/表達佈局圖,其中二進制檔案格式表示以階層形式的平面幾何形狀、文本標記、其他資訊及類似者。在一些實施例中,已經對特定於特定製程節點的平面佈置圖100執行合成、放置及佈線。
平面佈置圖100包括邊界線及外部邊界線。平面佈置圖100包括在上邊界104、下邊界106、左邊界108、及右邊界110內的佈局單元102A、102B、102C、102D。上邊界104及下邊界106在與X軸平行的第一方向(對應於第1圖的水平方向)上延伸。左邊界108及右邊界在與Y軸平行的第二方向(對應於第1圖的垂直方向)上延伸,其中X軸及Y軸彼此垂直。在上邊界104、下邊界106、左邊界108、及右邊界110內,平面佈置圖100具有佈局單元102A、102B、102C、102D,使得佈局單元102A、102B、102C、102D在網格中定位。
在第1圖中,網格具有四列及七行。在其他實施例中,網格具有多於或少於四列。在又其他實施例中,每列具有相同數量的行。在其他實施例中,每行具有不同數量的列。對應於列1從左到右,列1包括在行2及行3中的佈局單元102B、在行4中的佈局單元102D、及在行5及行6中的佈局單元102B。對應於列2從左到右,列2包括在行2中的佈局單元102C、在行3中的佈局圖單元102A、在行4中的佈局單元102A、在行5中的佈局單元102A、及在行6中的佈局單元102C。對應於列3從左到右,列3包括在行2中的佈局單元102C、在行3中的佈局單元102A、在行4中的佈局單元102A、在行5中的佈局單元102A、及在行6中的佈局單元102C。對應於列4從左到右,列4包括在行2中的佈局單元102C、在行3中的佈局單元102A、在行4中的佈局單元102A、在行5中的佈局單元102A、及在行6中的佈局單元102C。對應於列5從左到右,列5包括在行2及行3中的佈局單元102B、在行4中的佈局單元102D、及在行5及行6中的佈局單元102B。
平面佈置圖100亦包括上外邊界112、下外邊界114、左外邊界116、及右外邊界118。佈局單元102E係位於半導體裝置的內部邊界104、106、108、110與外部邊界112、114、116、118之間的周邊佈局單元,使得在平面佈置圖100中提供頂部佈局單元102E、下佈局單元102E、左佈局單元102E及右佈局單元102E。頂 部佈局單元102E的左邊界對應於X軸對準以在列1中的左佈局單元102B上方延伸,且頂部佈局單元102E的右邊界對應於X軸對準以在列1中的右佈局單元102B上方延伸。頂部佈局單元102E的頂部邊界與上外邊界112對準,且頂部佈局單元102E的下邊界與頂部邊界104對準。
底部佈局單元102E的左邊界對應於X軸對準以在列5中的左佈局單元102B上方延伸,並且底部佈局單元102E的右邊界對應於X軸對準以在列5中的右佈局單元102B上方延伸。底部佈局單元102E的頂部邊界與下邊界106對準並且底部佈局單元102E的下邊界與頂部邊界104對準。
左佈局單元102E的頂部邊界對應於Y軸對準以緊鄰列1中的頂部最左佈局單元102C延伸,且左佈局單元102E的底部邊界對應於Y軸對準以緊鄰列5中的底部左佈局單元102C延伸。左佈局單元102E的左邊界與左外部邊界116對準,且左佈局單元102E的右邊界與右邊界108對準。
右佈局單元102E的頂部邊界對應於Y軸對準以緊鄰列1中的頂部最右佈局單元102C延伸,且左佈局單元102E的底部邊界對應於Y軸對準以緊鄰列5中的底部右佈局單元102C延伸。左佈局單元102E的左邊界與左邊界110對準且左佈局單元102E的右邊界與右外部邊界118對準。
在一些實施例中,平面佈置圖100表示SRAM記憶體電路的簡化配置。在平面佈置圖100中,佈局單元102A係重複的佈局單元102A。佈局單元102A中的每一者具有實質上相同的單元配置。在一些實施例中,佈局單元102A完全相同。在一些實施例中,至少一些佈局單元102A的配置具有微小差異,例如,取決於其在網格上的位置的差異,諸如金屬佈線中的微小差異。由此,佈局單元102A中的每一者係基本單元的實例。在平面佈置圖100中,基本單元重複。重複的基本單元在本文中被稱為單位佈局單元,使得在平面佈置圖100中的每個佈局單元102A進一步標記為單位單元A。在一些實施例中,單位單元A 102A係SRAM記憶體單元。
在平面佈置圖100中,佈局單元102B係重複的佈局單元102B。佈局單元102B中的每一者具有實質上相同的單元配置。在一些實施例中,佈局單元102B完全相同。在一些實施例中,至少一些佈局單元102B的配置具有微小差異,例如,取決於其在網格上的位置的差異,諸如金屬佈線中的微小差異。由此,佈局單元102B中的每一者係單位佈局單元(單位單元B)的實例。在一些實施例中,單位單元B 102B係SRAM位元線驅動器。
在平面佈置圖100中,佈局單元102C係重複的佈局單元102C。佈局單元102C中的每一者具有實質上相同的單元配置。在一些實施例中,佈局單元102C完全相同。在其他實施例中,至少一些佈局單元102C的配置 具有微小差異,例如,取決於其在網格上的位置的差異,諸如金屬佈線中的微小差異。由此,佈局單元102C中的每一者係單位佈局單元(單位單元C)的實例。在一些實施例中,單位單元C 102C係SRAM字線驅動器。
在平面佈置圖100中,佈局單元102D係重複的佈局單元102D。佈局單元102D中的每一者具有實質上相同的單元配置。在一些實施例中,佈局單元102D完全相同。在其他實施例中,至少一些佈局單元102D的配置具有微小差異,例如,取決於其在網格上的位置的差異,諸如金屬佈線中的微小差異。由此,佈局單元102D中的每一者係單位佈局單元(單位單元D)的實例。在一些實施例中,單位單元D 102D係SRAM感應放大器。
在平面佈置圖100中,佈局單元102E係重複的佈局單元102E。佈局單元102E中的每一者具有實質上相同的單元配置。在一些實施例中,佈局單元102E完全相同。在其他實施例中,至少一些佈局單元102E的配置具有微小差異,例如,取決於其在網格上的位置的差異,諸如金屬佈線中的微小差異。由此,佈局單元102E中的每一者係單位佈局單元(單位單元E)的實例。在一些實施例中,單位單元E 102E係SRAM位元線驅動器。在一些實施例中,單位佈局單元(單位單元E)係功率控制電路。
佈局單元102E係在邊界104、106、108、110外部提供的周邊單元。因此,佈局單元102E在邊界104、106、108、110內具有相鄰單元且在邊界104、106、 108、110外部沒有單元。在一些實施例中,佈局單元102E具有大約一半數量的相鄰單元作為在邊界104、106、108、110內的佈局單元102A、102B、102C、102D。
在一些實施例中,佈局單元102A、102B、102C、102D、102E與其相應的單位佈局單元單位單元A、單位單元B、單位單元C、單位單元D、單位單元E一致。例如,佈局單元102A、102B、102C、102D、102E的PC部件藉由單元程式庫中的對應標準單元的PC部件提供,這在一些實施例中定義單位佈局單元單位單元A、單位單元B、單位單元C、單位單元D、單位單元E。在一些實施例中,在佈局單元102A、102B、102C、102D、102E及其對應的單位佈局單元單位單元A、單位單元B、單位單元C、單位單元D、單位單元E的上層金屬佈線中存在微小差異。在一些實施例中,上層金屬佈線的PC分別藉由3D工具由單位佈局單元單位單元A、單位單元B、單位單元C、單位單元D、單位單元E決定的PC計算。
在由平面佈置圖100表示的眾多半導體裝置(例如,SRAM記憶體電路)中,不同類型的佈局單元在半導體裝置中重複。由於先進的技術節點變得越來越小,準確地獲得佈局單元102A、102B、102C、102D、102E中的每一者的寄生電容在獲得其中電路適當地起作用的平面佈置圖100時變得更加重要。在一些實施例中,利用先進的技術節點模型化平面佈置圖100中的佈局單元102A、102B、102C、102D、102E的寄生電容在小於1%的準 確度內完成。經常使用三維(Three dimensional,3D)解算器工具以便提供此類型的準確度。在一些實施例中,EDA系統200(參見第2圖)包括3D解算器工具。通常,3D解算器工具在計算上加強。在一些情況下,3D解算器工具表示在EDA系統200中包括的各個工具之中對應於計算延遲的瓶頸。在一些實施例中,3D場解算器工具解算拉普拉斯方程式(Laplace’s equation)以獲得針對佈局單元(例如,佈局單元102A、102B、102C、102D、102E)的寄生電容(parasitic capacitance,PC)描述。本揭示描述了用於將佈局單元(例如,佈局單元102A、102B、102C、102D、102E)的重複實例表徵為佈局單位單元(例如,單位單元A、單位單元B、單位單元C、單位單元D、單位單元E)並且隨後儲存及重用彼等佈局單位單元的PC描述的程序及技術。以此方式,3D場解算器工具並非必須每次佈局圖包括單位單元的實例時皆實施。在至少一些實施例中,針對在平面佈置圖100內重複N次的單位佈局單元(例如,單位單元A、單位單元B、單位單元C、單位單元D、單位單元E),PC的一次性單位單元擷取(使用3D解算器工具)藉由3D解算器工具保存N-1單元擷取重複,這是由於PC的一次性單位單元擷取經儲存及用於決定重複單位單元的其他實例的PC。
第2圖係根據一些實施例的電子設計自動化(EDA)系統200的方塊圖。
在一些實施例中,EDA系統200包括自動放置及 佈線系統(automatic placement and routing system,APR)系統。根據一些實施例,本文根據一或多個實施例描述的將單元內PC描述及單元間PC描述指派給佈局圖(例如,平面佈置圖100)中的佈局單元(例如,佈局單元)的方法係可實施的,例如,使用EDA系統200。
在一些實施例中,EDA系統200係包括硬體處理器202及非暫時性電腦可讀取儲存媒體204的通用計算裝置。儲存媒體204尤其是用電腦程式碼206(亦即,可執行指令集)編碼(亦即,儲存電腦程式碼206)。藉由硬體處理器202執行指令206表示(至少部分)EDA工具,此EDA工具實施本文根據一或多個實施例描述的方法(後文為所提及的製程及/或方法)的一部分或全部。
處理器202經由匯流排208電耦合到電腦可讀取儲存媒體204。處理器202亦藉由匯流排208電耦合到I/O介面210。網路介面212亦經由匯流排208電連接到處理器202。網路介面212連接到網路214,使得處理器202及電腦可讀取儲存媒體204能夠經由網路214連接到外部元件。處理器202用以執行在電腦可讀取儲存媒體204中編碼的電腦程式碼206,以便導致系統200可用於執行所提及的製程及/或方法的一部分或全部。在一或多個實施例中,處理器202係中央處理單元(central processing unit,CPU)、多處理器、分散式處理系統、特殊應用積體電路(application specific integrated circuit,ASIC)、及/或適宜的處理單元。
在一或多個實施例中,電腦可讀取儲存媒體204為電子、磁性、光學、電磁、紅外線、及/或半導體系統(或者設備或裝置)。例如,電腦可讀取儲存媒體204包括半導體或固態記憶體、磁帶、可移除電腦磁片、隨機存取記憶體(random access memory,RAM)、唯讀記憶體(read-only memory,ROM)、剛性磁碟、及/或光碟。在使用光碟的一或多個實施例中,電腦可讀取儲存媒體204包括壓縮磁碟-唯讀記憶體(compact disk-read only memory,CD-ROM)、壓縮磁碟-讀/寫(compact disk-read/write,CD-R/W)、及/或數位視訊光碟(digital video disc,DVD)。
在一或多個實施例中,儲存媒體204儲存電腦程式碼206,電腦程式碼206用以導致系統200(其中此執行表示(至少部分)EDA工具)可用於執行所提及的製程及/或方法的一部分或全部。在一或多個實施例中,儲存媒體204亦儲存促進執行所提及的製程及/或方法的一部分或全部的資訊。在一或多個實施例中,儲存媒體204儲存標準單元(包括如本文揭示的此種標準單元)的程式庫207(標準單元程式庫207)。在一或多個實施例中,儲存媒體204儲存對應於本文揭示的一或多個佈局的一或多個佈局圖209。
EDA系統200包括I/O介面210。I/O介面210耦合到外部電路。在一或多個實施例中,I/O介面210包括用於將資訊及命令通訊到處理器202的鍵盤、小鍵盤、 滑鼠、軌跡球、軌跡板、觸控式螢幕、及/或遊標方向鍵。
EDA系統200亦包括耦合到處理器202的網路介面212。網路介面212允許系統200與網路214通訊,其中一或多個其他電腦系統連接到網路214。網路介面212包括:無線網路介面,諸如BLUETOOTH、WIFI、WIMAX、GPRS、或WCDMA;或有線網路介面,諸如ETHERNET、USB、或IEEE-1364。在一或多個實施例中,在兩個或多個系統200中實施所提及的製程及/或方法的一部分或全部。
系統200用以經由I/O介面210接收資訊。經由I/O介面210接收的資訊包括下列中的一或多個:指令、資料、設計規則、標準單元程式庫、及/或用於由處理器202處理的其他參數。將資訊經由匯流排208傳遞到處理器202。EDA系統200用以經由I/O介面210接收對應於UI的資訊。資訊在電腦可讀取儲存媒體204中儲存為使用者介面(user interface,UI)242。
在第2圖中,儲存媒體204進一步包括資料庫244。資料庫244用以儲存預定義的單位單元(predefined unit cell,PDC)246及針對每個PDC 246的對應單元內PC描述(intracell PC description,IPC)248。在PDC 246的實例與IPC 248的對應實例之間的映射在第2圖中由其間的線表示。PDC 246的給定實例係單位單元的實例。總之,PDC 246的實例提供單位單元的程式庫。在一些實施例中,在平面佈置圖100中,PDC 246 的各個實例對應於單位單元A 102A、單位單元B 102B、單位單元C 102C、單位單元D 102D、單位單元E 102E、或類似者。在一些實施例中,PDC 246的各個實例對應於其他佈局圖中的單位佈局單元。在一些實施例中,PDC 246的實例在標準單元程式庫207中儲存並且將映射提供到資料庫244中的IPC 248的對應實例。
在一些實施例中,為了促進在資料庫244中的PDC 246的實例之中進行搜尋,PDC 246的每個實例經配置有對應的散列值。在一些實施例中,針對PDC 246的給定實例,散列值藉由將適當的散列函數應用到PDC 246的給定實例來產生。散列函數、散列值、及相關優值在2015年3月17日授權的美國專利第8,984,459號(‘459專利)中揭示,其全部內容藉由引用方式併入本文中。
在一些實施例中,PDC 246的每個實例係已經受3D場解算器工具的單位單元並且因此具有對應的IPC 248。IPC定量及描述從內部部件(亦即,在佈局單元內的部件)的電磁及/或靜電相互作用獲得的對應佈局單元的內部PC。由此,在資料庫244中儲存的每個IPC 248定量及描述對應PDC 246的內部PC。舉例而言,在第1圖的平面佈置圖100中的給定佈局單元(例如,在列3及行4中的單位單元A 102A)實質上匹配資料庫244中的PDC 246的給定實例的情況下,將IPC 248的對應給定實例替代為針對給定佈局單元(亦即,在列3及行4中的 單位單元A 102A)的IPC而非使用3D場解算器工具針對給定單元進行IPC的新離散計算,由此減少計算負擔並提高效率。在一些實施例中,將每個IPC 248格式化為網路連線表(例如,「.spef」-一些商業電路模擬器的輸入檔案格式)。
資料庫244亦用以儲存PDC 246的預定義群組(predefined group,PDG)250。每個PDG 250包括主體PDC 246及鄰近主體PDC的一或多個PDC的對應集合。例如,在一些實施例中,PDG 250的給定實例假設PDC 146的第一實例係主體PDC,且PDC 146的第一實例位於佈局圖的列i(第i列)及行i(第i行)中。PDG 250的給定實例進一步假設:PDC 146的第二實例位於列i-1(第(i-1)列)及第i行中且因此被認為緊鄰在PDC 146的第一實例之上;PDC 146的第三實例位於列i-1(第(i-1)列)及行i+1(第(i+1)行)中且因此被認為對角地緊鄰在PDC 146的第一實例之上並且緊鄰PDC 146的第一實例的右側;PDC 146的第四實例位於第i列及第(i+1)行中且因此被認為緊鄰PDC 146的第一實例的右側;PDC 146的第五實例位於列i+1(第(i+1)列)及第(i+1)行中且因此被認為係對角地緊鄰在PDC 146的第一實例之下且緊鄰PDC 146的第一實例的右側;PDC 146的第六實例位於第(i+1)列及第i行中且因此被認為係對角地緊鄰在PDC 146的第一實例之下;PDC 146的第七實例位於第(i+1)列及(i-1)行(第(i-1)行)中且 因此被認為係對角地緊鄰在PDC 146的第一實例之下且緊鄰PDC 146的第一實例的左側;PDC 146的第八實例位於第i列及第(i-1)行中且因此被認為係緊鄰PDC 146的第一實例的左側;以及PDC 146的第九實例位於第(i+1)列及第(i-1)行中且因此被認為係對角地緊鄰在PDC 146的第一實例之上且緊鄰PDC 146的第一實例的左側。
在一些實施例中,PDG 250的對應實例的主體PDC係PDC 246的對應實例。由此,在PDG 250的實例與IPC 248的對應實例之間的映射在第2圖中由其間的線表示。重新考量到在PDC 246與IPC 248的實例之間的映射,亦應當理解PDG 250的對應實例的主體PDC由此映射到IPC 248的對應實例。
資料庫244進一步用以儲存對應的單元間PC描述(intercell PC description,EPC)252的實例。EPC定量及描述從外部部件(例如,在相鄰佈局單元內的部件)的電磁及/或靜電相互作用獲得的對應佈局單元經歷的PC。在縮寫EPC中,使用字母E表示EPC的來源在對應佈局單元的外部(external)。在PDG 250的實例與EPC 252的對應實例之間的映射在第2圖中由其間的線表示。總之,PDG 250的實例提供了單位群組的程式庫。
作為可能對應於PDG 250的實例的佈局圖中的群組的實例,考慮到在平面佈置圖100中的佈局單元的以下給定群組,其中給定群組的主體單元係列2及行4中的單位單元A 102A,並且其中給定群組的相鄰單元包括: 列1及行5~6中的單位單元B 102B;列2及行6中的單位單元C 102C;列3及行6中的單位單元C 102C;列3行5中的單位單元A;列3及行4中的單位單元A 102A;列2及行5中的單位單元A 102A;以及列1及行4中的單位單元D 102D。繼續此實例,其中第1圖的平面佈置圖100中的給定群組實質上匹配資料庫244中的PDG 250的給定實例,將EPC 252的對應給定實例替代為針對平面佈置圖100中的佈局單元的給定群組的EPC,而非使用3D場解算器工具針對平面佈置圖100中的佈局單元的給定群組進行EPC的新離散計算,由此減少計算負擔並提高效率。進一步繼續此實例,在一些實施例中,其中PDC 246的給定實例表示PDG 250的給定實例的主體PDC,將IPC 248的對應給定實例替代為針對主體PDC的IPC而非使用3D場解算器工具針對主體單元進行IPC的新離散計算,由此減少計算負擔並提高效率。
在一些實施例中,PDG 250的每個實例已經歷3D場解算器工具並且因此具有對應的EPC 252。EPC量化及描述從部件與相鄰佈局單元的外部部件(亦即,外部PC)的外部電磁相互作用獲得的主體佈局單元的PC。由此,在資料庫244中儲存的每個EPC 252定量及描述從部件與一或多個相鄰PDC的外部部件的外部電磁及/或靜電相互作用獲得的主體PDC的外部PC。返回到PDG 250的實例,其中給定群組的主體單元係第1圖的列2及行4中的單位單元A 102A(上文描述),對應EPC描述從給 定群組的相鄰單元的部件獲得的外部PC,亦即:列1及行5~6中的單位單元B 102B;列2及行6中的單位單元C 102C;列3及行6中的單位單元C 102C;列3及行5中的單位單元A;列3及行4中的單位單元A 102A;列2及行5中的單位單元A 102A;以及列1及行4中的單位單元D 102D。在一些實施例中,將每個EPC 252格式化為網路連線表(例如,「.spef」)。在一些實施例中,資料庫244亦儲存佈局圖254。在一些實施例中,資料庫244係佈局相對示意圖(layout versus schematic,LVS)資料庫。
第3A圖至第3E圖係根據一些實施例的描述針對佈局圖中的對應佈局單元的IPC及EPC的程序的流程圖300。
流程圖300包括如下文描述實施的方塊302~334。佈局單元及對其應用流程圖300中的方塊302~334的佈局圖的實例係平面佈置圖100的佈局單元102A、102B、102C、102D、102E。流程圖300中的程序藉由執行電腦可執行代碼的電腦裝置實施,諸如上文對應於第2圖描述的執行電腦程式碼206的EDA系統200。
在第3A圖中,於方塊302處,從佈局圖中的佈局單元之中選擇候選單元。在一些實施例中,所選擇的特定單元取決於用於迭代經過佈局圖中的佈局單元的特定迭代技術。在一些實施例中,電腦裝置基於位置迭代經過佈 局單元。在一些實施例中,電腦裝置經過佈局單元從開始位置迭代到結束位置。
在平面佈置圖100中的每個佈局單元102A、102B、102C、102D、102E具有一位置。針對邊界106、108、110、112內的佈局單元102A、102B、102C、102D,佈局單元102A、102B、102C、102D的位置由對應列數(亦即,列1~列5)及對應行數(基於列數變化)來標識。將周邊佈局單元102E的位置處理為特殊情形。在一個實例中,對應於第1圖中的平面佈置圖100,在邊界106、108、110、112內,電腦裝置開始於選擇列1及行2~3中的佈局單元102B。在此特定實例中,假設程序在邊界106、108、110、112內開始。在邊界106、108、110、112內,程序經過特定列中的每個佈局單元對應於X軸從左到右迭代。例如,對應於列1,程序開始於列1及行2~3中的佈局單元102B,隨後進行到列1及行4中的佈局單元102D,並且隨後進行到列1及行5~6中的佈局單元102B。在迭代經過特定列中的所有佈局單元之後,程序從頂部到底部進行到下一列。因此,程序移動到列2並且從左到右迭代經過行2中的佈局單元102C、行3中的單元102A,隨後行4隨後行5中的單元102A,並且隨後行6中的單元102C。程序類似地針對列3、列4、列5中的每一者進行。在一些實施例中,程序隨後進行到列0及行4中的佈局單元102E,隨後到列2~3及行1中的單元102E,隨後到列2~3及行7中的單元102E,並 且隨後到列6及行4中的單元102E。由此,假設方塊302的第一迭代選擇列1及行2~3中的佈局單元102B作為候選單元。從方塊302,流程繼續進行到方塊304。
於方塊304處,在儲存PDC及其對應IPC的資料庫內,針對PDC之中實質匹配候選單元的一者進行搜尋。資料庫的實例係第2圖的資料庫244、或類似者。PDC的實例包括資料庫244中的PDC 246的實例、或類似者。在一些實施例中,圖案識別演算法用於決定候選單元是否實質上匹配資料庫中儲存的PDC的任一者。針對上文描述的第一迭代,其中候選單元係列1及行2~3中的佈局單元102B,在資料庫244中搜尋PDC 246的實例之中實質上匹配列1及行2~3中的佈局單元102B的一者。從方塊304,流程繼續進行到方塊305。
於為決策方塊的方塊305處,決定是否發現實質匹配。若是,亦即,當發現實質匹配時,則流程沿著是分支進行到第3B圖中的方塊306。若否,亦即,當未發現實質匹配時,則流程沿著否分支進行到第3D圖中的方塊318。假設發現實質匹配,則流程沿著方塊314的是分支進行到方塊306。
於第3B圖的方塊306處,將匹配PDC的IPC指派給候選單元。在上文描述的第一迭代中,將對應於實質上匹配列1及行2~3中的佈局單元102B的PDC 246的實例的IPC 248的實例指派給候選單元,藉此避免必須針對候選單元離散地計算PC描述。從方塊306,流程繼 續進行到方塊308。
於方塊308處,選擇包括候選單元及鄰近候選單元的一或多個佈局單元的集合的候選佈局群組。在一些實施例中,在候選單元與鄰近候選單元的佈局單元之間的鄰接關係取決於EPC準確度需求及可用計算資源的量來變化。在一些實施例中,候選佈局群組的視窗大小定義所選單元可以距相鄰單元多遠並且仍為候選佈局群組的部分。
對應於方塊308,在一些實施例中,視窗大小表明為實質上連續的單元的單位。例如,若將視窗大小選擇為1,則僅距候選單元的距離為1個實質上連續單元的佈局單元包括在候選佈局群組中。作為另一實例,若將視窗大小選擇為2個實質上連續的單元,則距候選單元的距離為2個實質上連續單元或更少的佈局單元包括在單元佈局群組中。繼續上文論述的第一迭代的實例,其中候選單元係列1及行2~3中的佈局單元102B,若將視窗大小選擇為2,則列0及行4中的佈局單元102E、列1及行4中的佈局單元102D、列2及行2中的佈局單元102C、及列2及行3中的佈局單元102A、以及列2及行4中的佈局單元102A將包括在候選佈局群組中。
亦對應於方塊308,儘管是可替代的,繼續上文論述的第一迭代的實例,其中候選單元係列1及行2~3中的佈局單元102B,替代地若將視窗大小選擇為2,則:相鄰佈局單元包括在內,亦即列0及行4中的佈局單元102E、列1及行4中的佈局單元102D、列2及行2中的佈局單 元102C、列2及行3中的佈局單元102A、列2及行4中的佈局單元102A;並且額外佈局單元包括在內,亦即列1及行5~6中的佈局單元102B、列2及行5中的佈局單元102A、列3及行1中的佈局單元102E、列3及行2中的佈局單元102C、列3及行3中的佈局單元102A、列3及行4中的佈局單元102A、及列3及行5中的佈局單元102A。從方塊308,流程繼續進行到方塊310。
於方塊310,在儲存PDG及其對應EPC的資料庫內,針對PDG之中,實質匹配候選佈局群組的一者進行搜尋。繼續上文論述的第一迭代的實例,其中候選單元係列1及行2~3中的佈局單元102B,並且假設視窗大小為1,在資料庫244中搜尋PDG 250的實例之中具有PDC 246的主體實例並且具有PDC 246的相鄰實例的一者,PDC 246的主體實例實質上匹配列1及行2~3中的佈局單元102B,PDC 246的相鄰實例對應地實質上匹配列0及行4中的佈局單元102E、列1及行4中的佈局單元102D、列2及行2中的佈局單元102C、及列2及行3中的佈局單元102A、以及列2及行4中的佈局單元102A。從方塊310,流程繼續進行到方塊311。
於方塊311,方塊311係決策方塊,決定是否已經發現候選佈局群組的實質匹配。若是,亦即,當發現實質匹配時,則流程沿著是分支進行到第3C圖中的方塊312。若否,亦即,當未發現實質匹配時,則流程沿著否分支進行到第3E圖中的方塊326。假設發現實質匹配,則流程 沿著方塊311的是分支進行到方塊312。
於第3C圖的方塊312處,將匹配PDG的EPC指派給候選單元。繼續上文論述的第一迭代的實例,其中候選單元係列1及行2~3中的佈局單元102B,將對應於PDG 250的實例並且具有PDC 246的相鄰實例的EPC 252的實例指派給候選單元,PDG 250的實例匹配列1及行2~3中的佈局單元102B,PDC 246的相鄰實例對應地實質上匹配列0及行4中的佈局單元102E、列1及行4中的佈局單元102D、列2及行2中的佈局單元102C、及列2及行3中的佈局單元102A,以及列2及行4中的佈局單元102A,由此避免必須針對候選單元離散地計算EPC。從方塊312,流程繼續進行到方塊314。
於方塊314,方塊314係決策方塊,決定候選佈局單元係佈局圖中的最後佈局單元。若是,亦即,若候選單元係佈局圖中的最後單元,則流程沿著是分支進行到方塊316,於此流程停止。若否,亦即,若候選單元不是佈局圖中的最後佈局單元,則程序迭代到下一候選單元,其中流程沿著否分支進行到方塊302,使得程序可以針對下一候選單元再次開始。以此方式,程序遞增地進行經過在登記冊中列出的佈局單元中的每一者,此登記冊列出根據一些實施例的佈局單元中的每一者。在上文給出的實例中,佈局單元102A、102B、102C、102D、102E的實例包括在由平面佈置圖100中的位置組織的登記冊中。繼續上文提供的第一迭代的實例,針對第二迭代,程序將沿著方 塊314的否分支進行到方塊302,其中列1及行4中的佈局單元102D成為候選單元。
再次參考第3A圖中的方塊305,假設未發現針對候選單元的實質匹配,則在第3D圖中流程沿著方塊305的否分支進行到方塊318。繼續上文論述的第一迭代的實例,其中候選單元係列1及行2~3中的佈局單元102B,假設PDC 246的實例皆不匹配候選單元,則流程沿著方塊305的否分支進行到方塊318。
於方塊318處,候選單元經歷針對候選單元離散地計算IPC的3D場解算器工具。重新考量到在沿著方塊305的否分支進行到方塊318之後流程已經到達方塊318,這是因為資料庫244中的PDC 246的實例皆不實質上匹配候選單元。在一些實施例中,3D場解算器工具用以解算拉普拉斯方程式以便獲得針對候選單元的IPC。在上文描述的第一迭代中,其中候選單元係列1及行2~3中的佈局單元102B,並且其中假設PDC 246的實例皆不實質上匹配候選單元,3D場解算器工具針對候選單元離散地計算IPC。從方塊318,流程繼續進行到方塊320。
於方塊320處,將IPC(其在方塊318中離散地計算)指派給候選單元。從方塊320,流程繼續進行到方塊322。
於方塊322處,附加資料庫以包括:候選單元作為PDC 246的新實例以及針對候選單元的IPC作為針對PDC 246的新實例的對應IPC。在上文描述的第一迭代 中,其中候選單元係列1及行2~3中的佈局單元102B,並且其中假設PDC 246的實例皆不實質上匹配候選單元,附加資料庫244以包括列1及行2~3中的佈局單元102B作為PDC 246的新實例及針對列1及行2~3中的佈局單元102B計算的IPC作為針對PDC 246的新實例的IPC 248的對應實例。以此方式繼續,若平面佈置圖100或另一佈局圖中的後續候選單元實質上匹配列1及行2~3中的佈局單元102B,則使用3D場解算器工具針對IPC進行離散計算變得不必要。因此,已經由3D場解算器工具完成的工作經儲存及重用於後續候選單元。從方塊322,流程繼續進行到方塊324。
於方塊324處,選擇具有中央單元的候選佈局群組,其中中央單元係候選單元。重新考量到,流程藉由沿著方塊305的否分支進行經過方塊320-322而到達方塊324,這反映了在資料庫244中的PDC 246的實例之中的候選單元無實質匹配。因此,在資料庫244中不存在實質上匹配候選佈局群組的PDG 250的實例,對此中央單元係候選單元。
由此,於方塊324處,以與上文對應於方塊308描述者相同的方式,不僅將候選單元選擇為候選佈局群組的中央單元,亦將佈局單元中鄰近候選單元的一或多者的第一集合選擇為候選佈局群組的中央單元。例如,繼續上文描述的第一迭代的實例,其中候選單元係列1及行2~3中的佈局單元102B,若假設視窗大小為1,則候選佈局群 組的中央單元係候選單元,亦即,列1及行2~3中的佈局單元102B,並且候選佈局群組進一步包括列0及行4中的佈局單元102E、列1及行4中的佈局單元102D、列2及行2中的佈局單元102C、及列2及行3中的佈局單元102A、以及列2及行4中的佈局單元102A。然而,不同於在資料庫244中無效搜尋PDG 250的實例之中實質上匹配候選佈局群組的一者,搜尋係無效是因為在資料庫244中不存在針對PDC 246的實例之中的候選單元的實質匹配(如方塊305中決定),替代地流程進行到第3E圖中的方塊326。
於第3E圖的方塊326處,候選單元經歷針對候選單元離散地計算EPC的3D場解算器工具。重新考量到,流程在沿著方塊305的否分支進行到方塊318之後已到達方塊326,這是因為資料庫244中的PDC 246的實例皆不實質上匹配候選單元,並且因此資料庫244中的PDG 250的實例皆不實質上匹配候選佈局群組,對此中央單元係候選單元。在一些實施例中,3D場解算器工具用以解算拉普拉斯方程式以便相對於候選佈局群組獲得針對候選單元的EPC。繼續上文論述的第一迭代的實例,其中候選單元係列1及行2~3中的佈局單元102B,若假設視窗大小為1,則3D場解算器工具相對於候選佈局群組針對候選單元離散地計算EPC,此候選佈局群組包括候選單元(亦即,列1及行2~3中的佈局單元102B)作為中央單元並且進一步包括列0及行4中的佈局單元102E、列1及行4中 的佈局單元102D、列2及行2中的佈局單元102C、及列2及行3中的佈局單元102A、以及列2及行4中的佈局單元102A。隨著視窗大小增加,EPC變得更準確,然而對應地需要更多計算資源及時間來離散地計算EPC。此外,在一些實施例中,視窗大小增加,在資料庫244中發現匹配PDG 250的概率減小。從方塊326,流程繼續進行到方塊328。
於方塊328處,將EPC(其在方塊326中離散地計算)指派給包括候選單元作為其中央單元的候選佈局群組。從方塊328,流程繼續進行到方塊330。以此方式繼續,若在任一平面佈置圖100中或在另一佈局圖中的後續候選佈局群組實質上匹配候選佈局群組,此候選佈局群組包括候選單元(亦即列1及行2~3中的佈局單元102B)作為中央單元且進一步包括列0及行4中的佈局單元102E、列1及行4中的佈局單元102D、列2及行2中的佈局單元102C、及列2及行3中的佈局單元102A、以及列2及行4中的佈局單元102A,則使用3D場解算器工具針對EPC進行離散計算變得不必要。因此,已經由3D場解算器工具完成的工作經儲存及再次重用於後續候選單元。流程從方塊332繼續到方塊330到方塊332,後者已經在上文論述。
再次參考第3B圖中的決策方塊311,當候選佈局群組不匹配資料庫244中的PDG 250的實例時,在第3E圖中流程沿著方塊311的否分支進行到方塊326,後者已 經在上文論述。
第4A圖至第4C圖係根據一些實施例的半導體裝置的簡化佈局圖400。
第4A圖至第4C圖示出了迭代經過佈局圖中的佈局單元以決定佈局單元的IPC及EPC的一個實例,例如,根據諸如第3A圖至第3E圖中的方法、或類似者。在第4A圖至第4C圖中,佈局單元中的每一者由識別符LC及兩個括號內數字識別,亦即,用括號包圍的兩個數字,例如,LC(3,3),其中第一個數字係列位置且第二個數字係行位置。
在第4A圖至第4C圖中,佈局單元LC在頂部邊界402、左邊界404、右邊界406、及底部邊界408內提供。在第4A圖至第4C圖的實例中,佈局圖400具有九列1~9及七行1~7。在其他實施例中,佈局圖400包括多於或少於九列及/或多於或少於七行。此外,在第4A圖至第4C圖中,每列具有相同數量的佈局單元LC,且每行具有相同數量的佈局單元LC。然而,在其他實施例中,兩個或多個列具有不同數量的LC及/或兩個或多個行具有不同數量的LC。
為了方便,其中列延伸的方向平行於X軸且其中行延伸的方向平行於Y軸。為了便於說明及論述,針對三個不同迭代圖示,亦即對應的第4A圖至第4C圖。為了便於說明及論述,第4A圖至第4C圖中的視窗大小係距離1。出於下文論述的目的,藉由開始於最左行(亦即,行1) 及最頂列(亦即,列1),並且隨後向下進行到Y方向上的行直到到達此行中的最後列(亦即,列9),迭代進行經過佈局圖400。下一行將係緊鄰先前行的右側的行,其中迭代將隨後從頂部到底部再次進行穿過此行。迭代將繼續直到到達最後列(亦即,列7)。然而,應當注意,可以利用用於迭代經過佈局圖400中的佈局單元LC的任何技術。
在第4A圖中,候選單元係佈局單元LC(3,3)。為了對應於便於解釋,選擇佈局單元LC(3,3)。候選佈局群組係候選佈局單元LC(3,3)與相鄰佈局單元LC(2,2)、佈局單元LC(2,3)、佈局單元LC(2,4)、佈局單元LC(3,2)、佈局單元LC(3,4)、佈局單元LC(4,2)、佈局單元LC(4,3)及佈局單元LC(4,4)。在一些實施例中,電腦裝置(例如,第2圖中的EDA系統200)實施第3A圖至第3E圖中的方塊302~334以決定佈局單元LC(3,3)的IPC及EPC。
電腦裝置隨後進行到下一候選單元。在第4B圖中,候選單元係佈局單元LC(4,3)。候選佈局群組係候選佈局單元LC(4,3)與相鄰佈局單元LC(3,2)、佈局單元LC(3,3)、佈局單元LC(3,4)、佈局單元LC(4,2)、佈局單元LC(4,4)、佈局單元LC(5,2)、佈局單元LC(5,3)、佈局單元LC(5,4)。電腦裝置(例如,第2圖中的EDA系統200)實施第3A圖至第3E圖中的方塊302~334以決定佈局單元LC(4,3)的IPC及EPC。
電腦裝置隨後進行到下一候選單元。在第4C圖中,候選單元係佈局單元LC(5,3)。候選佈局群組係候選佈局單元LC(5,3)與相鄰佈局單元LC(4,2)、佈局單元LC(4,3)、佈局單元LC(4,4)、佈局單元LC(5,2)、佈局單元LC(5,4)、佈局單元LC(6,2)、佈局單元LC(6,3)、佈局單元LC(6,4)。電腦裝置(例如,第2圖中的EDA系統200)實施第3A圖至第3E圖中的方塊302~334以決定佈局單元LC(5,3)的IPC及EPC。
電腦裝置以此方式進行經過佈局單元LC中的每一者以決定佈局單元LC的IPC及EPC。然而,對應於EPC,注意到由於視窗大小為1,僅考慮具有距離1的佈局單元。這使得針對候選佈局群組的匹配將更容易在資料庫中發現並且亦減少利用3D場解算器離散地計算EPC所需的時間。然而,由於EPC受更遠的佈局單元EPC影響(儘管更遠的佈局單元LC對EPC具有較小影響),EPC計算將較不準確。
第5A圖至第5C圖係根據一些實施例的半導體裝置的簡化佈局圖400。
更特定而言,第5A圖至第5C圖係上文對應於第4A圖至第4C圖描述的相同半導體裝置的簡化佈局圖400,儘管如此在具有距離2的視窗大小的上下文中,而在第4A圖至第4C圖中的視窗大小具有距離1。在第5A圖至第5C圖中,電腦裝置以上文對應於第4A圖至第4C圖描述者相同的次序進行經過佈局圖。第5A圖至第5C圖中的視 窗大小係距離2。在第5A圖至第5C圖中,電腦裝置決定佈局單元的IPC及EPC,例如,根據諸如第3A圖至第3E圖中的方法、或類似者。
在第5A圖中,候選單元係佈局單元LC(3,3)。為了對應於此解釋方便,選擇佈局單元LC(3,3)。候選佈局群組係候選佈局單元LC(3,3)與相鄰佈局單元LC(1,1)、佈局單元LC(1,2)、佈局單元LC(1,3)、佈局單元LC(1,4)、佈局單元LC(1,5)、佈局單元LC(2,1)、佈局單元LC(2,2)、佈局單元LC(2,3)、佈局單元LC(2,4)、佈局單元LC(2,5)、佈局單元LC(3,1)、佈局單元LC(3,2)、佈局單元LC(3,4)、佈局單元LC(3,5)、佈局單元LC(4,1)、佈局單元LC(4,2)、佈局單元LC(4,3)、佈局單元LC(4,4)、佈局單元LC(4,5)、佈局單元LC(5,1)、佈局單元LC(5,2)、佈局單元LC(5,3)、佈局單元LC(5,4)及佈局單元LC(5,5)。電腦裝置(例如,第2圖中的EDA系統200)實施第3A圖至第3E圖中的方塊302~334以決定佈局單元LC(3,3)的IPC及EPC。
電腦裝置隨後進行到下一候選單元。在第5B圖中,候選單元係佈局單元LC(4,3)。候選佈局群組係候選佈局單元LC(4,3)與相鄰佈局單元LC(2,1)、佈局單元LC(2,2)、佈局單元LC(2,3)、佈局單元LC(2,4)、佈局單元LC(2,5)、佈局單元LC(3,1)、佈局單元LC(3,2)、佈局單元LC(3,3)、佈局單元LC(3,4)、佈局 單元LC(3,5)、佈局單元LC(4,1)、佈局單元LC(4,2)、佈局單元LC(4,4)、佈局單元LC(4,5)、佈局單元LC(5,1)、佈局單元LC(5,2)、佈局單元LC(5,3)、佈局單元LC(5,4)、佈局單元LC(5,5)、佈局單元LC(6,1)、佈局單元LC(6,2)、佈局單元LC(6,3)、佈局單元LC(6,4)及佈局單元LC(6,5)。電腦裝置(例如,第2圖中的EDA系統200)實施第3A圖至第3E圖中的方塊302~334以決定佈局單元LC(4,3)的IPC及EPC。
電腦裝置隨後進行到下一候選單元。在第5C圖中,候選單元係佈局單元LC(5,3)。候選單元群組係候選佈局單元LC(5,3)與相鄰佈局單元LC(3,1)、佈局單元LC(3,2)、佈局單元LC(3,3)、佈局單元LC(3,4)、佈局單元LC(3,5)、佈局單元LC(4,1)、佈局單元LC(4,2)、佈局單元LC(4,3)、佈局單元LC(4,4)、佈局單元LC(4,5)、佈局單元LC(5,1)、佈局單元LC(5,2)、佈局單元LC(5,4)、佈局單元LC(5,5)、佈局單元LC(6,1)、佈局單元LC(6,2)、佈局單元LC(6,3)、佈局單元LC(6,4)、佈局單元LC(6,5)、佈局單元LC(7,1)、佈局單元LC(7,2)、佈局單元LC(7,3)、佈局單元LC(7,4)及佈局單元LC(7,5)。電腦裝置(例如,第2圖中的EDA系統200)實施第3A圖至第3E圖中的方塊302~334以決定佈局單元LC(5,3)的IPC及EPC。
電腦裝置以此方式進行經過佈局單元LC中的每一者以決定佈局單元LC的IPC及EPC。在此情形中,與 其中視窗大小為1的第4A圖至第4C圖中決定的EPC相比,對應於第5A圖至第5C圖決定的EPC更準確。這使得將更容易在資料庫中發現針對候選佈局群組的匹配並且亦減少利用3D場解算器離散地計算EPC所需的時間。然而,由於EPC受更遠的佈局單元EPC影響(儘管更遠的佈局單元LC對EPC具有較小影響),EPC計算將較不準確。
第6圖係根據一些實施例的在選擇候選單元之前實施的程序的流程圖600。
在一些實施例中,使用者已知特定單位佈局單元將在整個佈局圖中重複地出現。例如,若使用者已知佈局圖包括具有SRAM記憶體單元的新配置的SRAM記憶體,則使用者已知SRAM記憶體單元的新版本在SRAM記憶體電路的整個佈局圖中重複地出現。由此,使用者將想要確保用電腦裝置(例如,EDA系統200)將PC描述指派給這些SRAM記憶體單元儘可能有效地操作。
於方塊602處,電腦裝置從使用者接收單位佈局單元。例如,EDA系統200接收新SRAM記憶體單元的單位佈局單元。於方塊604處,電腦裝置在資料庫中搜尋PDC之中與單位佈局單元實質匹配的一者。例如,EDA系統200在資料庫244中搜尋以決定PDC 246的任何實例是否匹配新SRAM記憶體單元的單位佈局單元。於方塊606處,當未發現實質匹配時,電腦裝置實施3D場解算器以針對單位佈局單元離散地計算IPC的新實例。例如, EDA系統200實施3D場解算器以針對新SRAM記憶體單元的單位佈局單元離散地計算新IPC。最後,於方塊608處,電腦裝置附加資料庫以包括單位佈局單元作為PDC中的新PDC、以及針對單位佈局單元計算的IPC作為針對PDC中的新PDC的IPC。例如,EDA系統200附加資料庫244,使得新SRAM記憶體單元的單位佈局單元成為PDC 246中的新PDC,並且所計算的IPC成為針對新PDC 246的IPC 248中的新IPC。
第7圖係根據一些實施例的在選擇候選單元之前實施的程序的流程圖700。
在一些實施例中,資料庫儲存包括佈局單元的佈局圖集合。可以搜尋佈局圖集合中的佈局單元以發現在佈局圖的一或多者中重複的佈局單元。以此方式,在特定佈局圖上實施第3A圖至3E圖中的方塊302~334之前,已經提供這些佈局單元的PC描述作為PDC 246。
於方塊702處,電腦裝置從資料庫中的佈局圖集合中擷取佈局單元的群集。例如,EDA系統200從資料庫244中儲存的佈局圖254的集合中擷取佈局單元的群集。於方塊704處,電腦裝置在群集中搜尋佈局單元的群集之中實質上匹配彼此的兩個或多個。例如,EDA系統200在來自佈局圖254的集合的佈局單元群集中搜尋實質上匹配彼此的至少兩個。於方塊706處,電腦裝置提供單位佈局單元,此單位佈局單元對應於在佈局單元的群集之中實質上匹配彼此的兩個或多個。在一些實施例中,EDA系統 200用以針對匹配彼此的兩個或多個佈局單元產生單位單元佈局或簡單地拾取佈局單元中的一者作為代表性單位佈局單元。於方塊708,電腦裝置從佈局單元的群集移除此群集之中實質上匹配彼此的兩個或多個。例如,EDA系統200從佈局圖254擷取的佈局單元群集移除兩個或多個重複佈局單元。這是因為所有這些重複的佈局單元由單位佈局單元表徵。
於方塊710處,電腦裝置在資料庫中搜尋PDC之中與單位佈局單元實質匹配的一者。例如,EDA系統200在資料庫244中搜尋以決定PDC 246中的任一者是否匹配單位佈局單元。於方塊712處,當未發現實質匹配時,電腦裝置實施3D場解算器以針對單位佈局單元離散地計算新IPC。例如,EDA系統200實施3D場解算器以針對單位佈局單元離散地計算新IPC。最後,於方塊714處,電腦裝置附加資料庫以包括單位佈局單元作為PDC中的新PDC、以及針對單位佈局單元計算的IPC作為針對PDC中的新PDC的IPC的實例。例如,EDA系統200附加資料庫244,使得單位佈局單元成為PDC 246的新實例並且所計算的IPC成為針對新PDC 246的IPC 248的新實例。
流程隨後進行到方塊716。方塊716係決策方塊,其中電腦裝置決定在來自佈局圖集合的佈局單元群集中是否存在另一佈局單元。若是,則程序於方塊718處終止。若佈局單元不是群集中的最後佈局單元,則電腦裝置迭代 到佈局單元群集中的下一佈局單元並且返回到方塊704。電腦裝置針對下一佈局單元實施方塊704~716。以此方式,電腦裝置遞增地迭代經過從資料庫中的佈局圖集合擷取的佈局單元群集中的所有佈局單元。以此方式,已經在資料庫中提供重複佈局單元的IPC。
第8圖係根據一些實施例的獲得佈局圖中的重複佈局單元的IPC的另一實施例的流程圖800。
於方塊802處,電腦裝置在佈局圖中識別重複的第一佈局單元(第一重複佈局單元),每個第一重複佈局單元係候選單元的實例。例如,對應於第1圖中的平面佈置圖100,EDA系統200識別列1、行2~3中的佈局單元102B,列1、行5~6中的佈局單元102B,列5、行2~3中的佈局單元102B,及列5、行5~6中的佈局單元102B作為重複佈局單元。
在一些實施例中,電腦裝置藉由從佈局圖中擷取佈局單元來識別重複的第一佈局單元,藉此產生初始群集。例如,EDA系統200從佈局圖100中擷取佈局單元102A、102B、102C、102D、102E作為佈局單元102A、102B、102C、102D、102的初始群集。電腦裝置隨後在初始群集中搜尋佈局單元之中實質匹配彼此的兩個或多個。一旦電腦裝置決定在佈局單元的兩個或多個之中存在實質匹配,則電腦裝置從初始群集移除重複佈局單元。在一些實施例中,標記重複佈局單元的位置,使得針對其他迭代跳過這些位置。這是因為如下文解釋,同時針對重複單元佈局決 定IPC。
例如,EDA系統200選擇列1、行2~3中的佈局單元102B並且在佈局單元102A、102B、102C、102D、102E的初始群集中搜尋以決定佈局單元102A、102B、102C、102D、102E中的哪一個實質上匹配列1、行2~3中的佈局單元102B。在此情形中,EDA系統200將發現列1、行5~6中的佈局單元102B,列5、行2~3中的佈局單元102B,及列5,行5~6中的佈局單元102B實質上匹配列1、行5~6中的佈局單元102B。列1、行2~3中的佈局單元102B,列1、行5~6中的佈局單元102B,列5、行2~3中的佈局單元102B,及列5、行5~6中的佈局單元102B作為重複的佈局單元係單位單元(單位單元B)的實例。EDA系統200隨後標記位置(列1、行2~3),(列1、行5~6),(列5、行2~3)、(列5、行5~6),使得跳過這些位置且藉此所有佈局單元102B從初始群集移除。
於方塊804處,在儲存PDC及其對應IPC的資料庫內,電腦裝置在資料庫中搜尋PDC之中與候選單元實質匹配的一者。在上文的實例中,EDA系統200在資料庫244中搜尋PDC 246之中實質上匹配單位單元(單位單元B)作為候選單元的一者。
於方塊806處,電腦裝置將匹配PDC的IPC指派給第一重複佈局單元中的每一者,藉此避免必須針對重複佈局單元中的每一者離散地計算IPC。在上文的實例中, EDA系統200將實質上匹配單位單元(單位單元B)的PDC 246的IPC 248指派給列1、行2~3中的佈局單元102B,列1、行5~6中的佈局單元102B,列5、行2~3中的佈局單元102B,及列5、行5~6中的佈局單元102B中的每一者。
於方塊808處,當未發現實質匹配時,電腦裝置對候選單元實施3D場解算器工具以當候選單元不匹配PDC中的任一者時針對候選單元離散地計算IPC。在一些實施例中,3D場解算器工具用以解算拉普拉斯方程式以便獲得針對候選單元的IPC。例如,當PDC 246皆不實質上匹配單位單元(單位單元B)時,EDA系統200對單位單元(單位單元B)實施3D場解算器工具。於方塊810處,當候選單元不匹配資料庫中的PDC中的任一者時,電腦裝置將所計算IPC指派給佈局圖中的候選單元。例如,EDA系統200將所計算IPC指派給列1、行2~3中的佈局單元102B,列1、行5~6中的佈局單元102B,列5、行2~3中的佈局單元102B,以及列5、行5~6中的佈局單元102B。於方塊812處,電腦裝置附加資料庫以包括:候選單元作為PDC中的新PDC以及針對此候選單元的IPC作為針對PDC中的新PDC的IPC。例如,EDA系統200附加資料庫244以包括:單位單元(單位單元B)作為PDC 246中的新PDC以及針對單位單元(單位單元B)計算的IPC作為針對PDC 246中的新PDC的IPC 248。以此方式,同時決定針對所有列1、行2~3中的佈 局單元102B,列1、行5~6中的佈局單元102B,列5、行2~3中的佈局單元102B,以及列5、行5~6中的佈局單元102B的IPC。
流程隨後進行到方塊814。方塊814係決策方塊,其中電腦裝置決定在來自佈局圖集合的佈局單元群集中是否存在另一佈局單元。若是,則程序於方塊816處終止。若佈局單元不是群集中的最後佈局單元,則電腦裝置迭代到佈局單元群集中的下一佈局單元並且返回到方塊802。一旦決定針對重複單元中的每一者的所有IPC,則在一些實施例中保留未重複的佈局單元。在此情形中,方塊302~334可以對未重複的佈局單元實施,除了跳過重複單元的位置。
第9圖係根據一些實施例的在佈局圖中獲得重複佈局群組的EPC的另一實施例的流程圖900。
於方塊902,電腦裝置在佈局圖中識別重複的第一佈局群組(第一重複佈局群組),每個第一重複佈局群組係第一候選單位佈局群組的實例。第一佈局群組中的每一者包括候選單元及鄰近候選單元的一或多個佈局單元的集合。例如,對應於第1圖中的平面佈置圖100,考慮到迭代,其中列2、行4中的佈局單元102A(其係列2、行4中的單位單元(單位單元A)的實例)為佈局群組中的候選單元。假設視窗大小為1,相鄰單元包括列1、行2~3中的佈局單元102B(其係單位單元B的實例),列1、行4中的佈局單元102D(其係單位單元D的實例),列 1、行5~6中的佈局單元102B(其係單位單元B的實例),列2、行3中的相鄰且在左側的另一佈局單元102A(其係單位單元A的實例),相鄰且在右側的列2、行5中的另一佈局單元102A(其係單位單元A的實例),以及列3、行3中的佈局單元102A(其係單位單元A的實例),列3、行4中的佈局單元102A(其係單位單元A的實例),列3、行5中的佈局單元102A(其係單位單元A的實例)的另一底部相鄰列。為了方便,具有列2、行4中的佈局單元102A作為中央單元及列1、行2~3中的相鄰佈局單元102B(其係單位單元B的實例),列1、行4中的佈局單元102D(其係單位單元D的實例),列1、行5~6中的佈局單元102B(其係單位單元B的實例),相鄰且在左側的列2、行3中的另一佈局單元102A(其係單位單元A的實例),相鄰且在右側的列2、行5中的另一佈局單元102A(其係單位單元A的實例),以及列3、行3中的佈局單元102A(其係單位單元A的實例),列3、行4中的佈局單元102A(其係單位單元A的實例),列3、行5中的佈局單元102A(其係單位單元A的實例)的另一底部相鄰列的佈局群組稱為佈局群組1。另一佈局群組包括列4、行4中的佈局單元102A(其係單位單元A的實例)作為候選單元以及列5、行2~3中的佈局單元102B(其係單位單元B的實例),列5、行4中的佈局單元102D(其係單位單元D的實例),列5、行5~6中的佈局單元102B(其係單位單元B的實例),相鄰且在左 側的列4、行3中的另一佈局單元102A(其係單位單元A的實例),相鄰且在右側的列5、行5中的另一佈局單元102A(其係單位單元A的實例)的相鄰列,以及列3、行3中的佈局單元102A(其係單位單元A的實例),列3、行4中的佈局單元102A(其係單位單元A的實例),列3、行5中的佈局單元102A(其係單位單元A的實例)的另一頂部相鄰列的相鄰單元。為了方便,將此群組識別為佈局群組2。EDA系統200將佈局群組1及佈局群組2識別為均實質上匹配單位單元(單位單元A)的佈局單位群組作為主體PDC,此主體PDC鄰近單位單元(單位單元B)、單位單元(單位單元D)、單位單元(單位單元B)、相鄰且在左側的另一單位單元(單位單元A)、相鄰且在右側的另一單位單元(單位單元A)的垂直相鄰列,以及單位單元(單位單元A)、單位單元(單位單元A)、單位單元(單位單元A)的另一垂直相鄰列。為了方便,將單位單元的此群組識別為相關的候選單位佈局群組。EDA系統將佈局群組1及佈局群組2識別為相關候選佈局群組的重複實例。
在一些實施例中,電腦裝置從佈局單元的初始群集移除重複佈局群組的候選單元。例如,EDA系統200從第9圖的方塊902~916的進一步迭代移除群組1及群組2中的佈局單元的位置。由此,在進一步迭代中,跳過群組1中的佈局單元的位置及群組2位置中的佈局單元的位置。
於方塊904處,在儲存PDG及其對應EPC的資料庫內,電腦裝置在資料庫中搜尋PDG之中與相關的候選 單位佈局群組實質匹配的一者。在上文的實例中,EDA系統200在資料庫244中搜尋PDG 250之中實質匹配相關的候選單位佈局群組的一者。
於方塊906處,電腦裝置將匹配PDG的EPC指派給第一重複佈局群組中的候選單元中的每一者,藉此避免必須針對第一重複佈局群組中的每一者離散地計算EPC。在上文的實例中,EDA系統200將實質上匹配相關佈局群組的PDG 250的對應實例的EPC 252的實例指派給佈局群組2的列2、行4中的佈局單元102A及列4、行4中的佈局單元102A。
於方塊908處,當未發現實質匹配時,電腦裝置對第一候選單位佈局群組實施3D場解算器工具以當第一候選單位佈局群組不匹配PDC 246的任何實例時針對第一重複佈局群組中的每一者離散地計算EPC。在一些實施例中,3D場解算器工具用以解算拉普拉斯方程式以便獲得針對第一候選單位佈局群組的EPC。例如,當PDG 250的實例皆不實質上匹配相關佈局群組時,EDA系統200對相關的候選單位佈局群組實施3D場解算器工具。於方塊910處,當第一候選單位佈局群組不匹配資料庫244中的PDC 246的任何實例時,電腦裝置將所計算EPC指派給第一候選佈局群組的候選單元。在上文描述的開始迭代中,EDA系統200將所計算EPC指派給佈局群組1的列2、行4中的佈局單元102A及佈局群組2的列4、行4中的佈局單元102A。於方塊912處,電腦裝置附加資料 庫244以包括:第一候選單位佈局群組作為PDG 250的新實例以及針對第一候選單位佈局群組的EPC作為針對新實例PDG 250的EPC 252的對應新實例。例如,EDA系統200附加資料庫244以包括:單位單元(單位單元A)的佈局單位群組作為主體PDC,此主體PDC鄰近單位單元(單位單元B)、單位單元(單位單元D)、單位單元(單位單元B)、相鄰且在左側的另一單位單元(單位單元A)、相鄰且在右側的另一單位單元(單位單元A)的垂直相鄰列,以及單位單元(單位單元A)、單位單元(單位單元A)、單位單元(單位單元A)的另一垂直相鄰列(亦即,第一候選單位佈局群組)作為PDG 250中的新PDG並且針對第一候選單位佈局群組計算的EPC作為針對PDG 250中的新PDG的EPC 252。
流程隨後進行到方塊914。方塊914係決策方塊,其中電腦裝置決定在來自佈局圖集合的佈局單元群集中是否存在另一佈局單元。若是,則程序於方塊916終止。若佈局單元不是群集中的最後佈局單元,則電腦裝置迭代到佈局單元群集中的下一佈局單元並且返回到方塊902。一旦決定針對所有佈局群組的所有EPC,則在一些實施例中保留未重複的佈局群組。在此情形中,方塊302~334可以對未重複的佈局群組實施,除了跳過重複的佈局群組的佈局單元的位置。
第10圖係根據一些實施例的產生佈局圖的方法1000的流程圖。
根據一些實施例,方法1000係可實施的,例如,使用EDA系統2(上文論述的第2圖)及積體電路(IC)製造系統1100(下文論述的第11圖)。對應於方法1000,佈局圖的實例包括本文揭示的第1圖中的佈局圖100及第4A圖至第4C圖以及第5A圖至第5C圖中的佈局圖400、或類似者。可以根據方法1000製造的半導體裝置的實例包括由本文揭示的第1圖中的佈局圖100及第4A圖至第4C圖以及第5A圖至第5C圖中的佈局圖400表示的半導體裝置。
在第10圖中,方法1000包括方塊1002~1004。於方塊1002處,產生佈局圖,此佈局圖尤其包括表示如本文揭示的上文在第4A圖至第4C圖以及第5A圖至第5C圖中的佈局圖400所揭示的一或多個電路區域的圖案。在一些實施例中,第3A圖至第3E圖中的方塊302~344、第6圖中的方塊602~608、第7圖中的方塊702~718、第8圖中的方塊802~816、及/或第9圖中的方塊902~916在方塊1002中實施。
於方塊1004處,基於佈局圖,進行下列中的至少一者:(A)進行一或多次光微影曝光,或(b)製造一或多個半導體遮罩,或(C)製造半導體裝置層中的一或多個部件。在下文參見對應於下文的第11圖中的IC製造系統1100的論述。
第11圖係根據一些實施例的積體電路(integrated circuit,IC)製造系統1100以及與其相 關聯的IC製造流程的方塊圖。
製造系統1100用以製造由第1圖中的佈局圖100及本文揭示的第4A圖至第4C圖以及第5A圖至第5C圖中的佈局圖400表示的半導體裝置。
在一些實施例中,基於佈局圖,例如,使用製造系統1100製造下列中的至少一者:(A)一或多個半導體遮罩或(b)在半導體積體電路層中的至少一個部件。
在第11圖中,IC製造系統1100包括實體,諸如設計室1120、遮罩室1130、及IC製造商/生產商(「晶圓廠」)1150,這些實體在對應於製造IC裝置1160的設計、開發、及製造週期及/或服務中彼此相互作用。系統1100中的實體由通訊網路連接。在一些實施例中,通訊網路係單個網路。在一些實施例中,通訊網路係各種不同的網路,諸如網內網路及網際網路。通訊網路包括有線及/或無線通訊通道。每個實體與其他實體中的一或多者相互作用,並且將服務提供到其他實體中的一或多者及/或從其他實體中的一或多者接收服務。在一些實施例中,設計室1120、遮罩室1130、及IC晶圓廠1150中的兩個或多個由單個較大的公司擁有。在一些實施例中,設計室1120、遮罩室1130、及IC晶圓廠1150中的兩個或多個在共用設施中共存並且使用共用資源。
設計室(或設計團隊)1120產生IC設計佈局圖1122。IC設計佈局圖1122包括針對IC裝置1160設計的各個幾何圖案。幾何圖案對應於構成待製造的IC裝置 1160的各個部件的金屬、氧化物、或半導體層的圖案。各個層結合以形成各種IC特徵。例如,IC設計佈局圖1122的一部分包括待在半導體基板(諸如矽晶圓)中形成的各種IC特徵(諸如主動區域、閘電極、源極及汲極、層間互連的金屬接線或通孔、以及用於接合墊的開口)以及在半導體基板上設置的各種材料層。設計室1120實施適當設計程序以形成IC設計佈局圖1122。設計程序包括下列中的一或多者:邏輯設計、實體設計或放置及佈線。IC設計佈局圖1122存在於具有幾何圖案的資訊的一或多個資料檔案中。例如,IC設計佈局圖1122可以GDSII檔案格式或DFII檔案格式表達。
遮罩室1130包括資料準備1132及遮罩製造1144。遮罩室1130使用IC設計佈局圖1122,以製造一或多個遮罩1145,遮罩1145將用於根據IC設計佈局圖1122製造IC裝置1160的各個層。遮罩室1130執行遮罩資料準備1132,其中IC設計佈局圖1122轉換為代表性資料檔案(「RDF」)。遮罩資料準備1132向遮罩製造1144提供RDF。遮罩製造1144包括遮罩寫入器。遮罩寫入器將RDF轉換為基板上的影像,諸如遮罩(主光罩)1145或半導體晶圓1153。設計佈局圖1122由遮罩資料準備1132操控,以符合遮罩寫入器的特定特性及/或IC製造商1150的需求。在第11圖中,將遮罩資料準備1132及遮罩製造1144示出為單獨的元件。在一些實施例中,遮罩資料準備1132及遮罩製造1144可以共同稱為 遮罩資料準備。
在一些實施例中,遮罩資料準備1132包括光學鄰近修正(optical proximity correction,OPC),此OPC使用微影增強技術來補償影像誤差,諸如可以由繞射、干涉、其他製程影響及類似者產生的那些。OPC調節IC設計佈局圖1122。在一些實施例中,遮罩資料準備1132包括進一步的解析度增強技術(resolution enhancement technique,RET),諸如偏軸照明、次解析度輔助特徵、相轉移罩幕、其他適宜技術、及類似者或其組合。在一些實施例中,亦使用反向微影技術(inverse lithography technology,ILT),其將OPC視作反向成像問題。
在一些實施例中,遮罩資料準備1132包括遮罩規則檢驗器(mask rule checker,MRC),此遮罩規則檢驗器檢驗已經歷具有一組遮罩產生規則的OPC中的製程的IC設計佈局圖1122,這些遮罩產生規則含有特定幾何及/或連接性限制以確保足夠裕度,用於考慮在半導體製造製程中的變化性及類似者。在一些實施例中,MRC修改IC設計佈局圖1122以在遮罩製造1144期間補償限制,這可撤銷由OPC執行的部分修改,以便滿足遮罩產生規則。
在一些實施例中,遮罩資料準備1132包括模擬處理的微影製程檢驗(lithography process checking,LPC),此處理將由IC晶圓廠1150實施以製造IC裝置 1160。LPC基於IC設計佈局圖1122模擬此處理以產生模擬的製造裝置,諸如IC裝置1160。在LPC模擬中的處理參數可以包括與IC製造週期的各個製程相關聯的參數、與用於製造IC的工具相關聯的參數、及/或製造製程的其他態樣。LPC考慮到各種因素,諸如天線影像對比、焦點深度(「DOF」)、遮罩誤差增強因素(「MEEF」)、其他適宜因素、及類似者或其組合。在一些實施例中,在模擬的製造裝置已經由LPC產生之後,若模擬的裝置形狀不足夠緊密而不滿足設計規則,則重複OPC及/或MRC以進一步細化IC設計佈局圖1122。
應當理解,遮罩資料準備1132的以上描述出於清晰目的已經簡化。在一些實施例中,資料準備1132包括額外特徵,諸如邏輯操作(logic operation,LOP)以根據製造規則修改IC設計佈局圖1122。另外,在資料準備1132期間應用到IC設計佈局圖1122的製程可以各種不同次序執行。
在遮罩資料準備1132之後並且在遮罩製造1144期間,遮罩1145或遮罩1145的群組基於經修改的IC設計佈局圖1122製造。在一些實施例中,遮罩製造1144包括基於IC設計佈局圖1122執行一或多次微影曝光。在一些實施例中,電子束(e束)或多個電子束的機制用於基於經修改的IC設計佈局圖1122在遮罩(光罩或主光罩)1145上形成圖案。遮罩1145可以在各種技術中形成。在一些實施例中,遮罩1145使用二進制技術形成。在一些 實施例中,遮罩圖案包括不透明區域及透明區域。用於暴露已經在晶圓上塗佈的影像敏感材料層(例如,光阻劑)的輻射光束(諸如紫外(ultraviolet,UV)光束)由不透明區域阻擋並且經由透明區域發射。在一個實例中,遮罩1145的二進制遮罩版本包括透明基板(例如,熔凝石英)及在二進制遮罩的不透明區域中塗佈的不透明材料(例如,鉻)。在另一實例中,遮罩1145使用相轉移技術形成。在遮罩1145的相轉移罩幕(phase shift mask,PSM)版本中,在相轉移罩幕上形成的圖案中的各種特徵用以具有適當相位差,以增強解析度及成像品質。在各個實例中,相轉移遮罩可以係衰減PSM或交替PSM。由遮罩製造1144產生的遮罩在各種製程中使用。例如,此種遮罩在離子佈植製程中使用以在半導體晶圓1153中形成各種摻雜區域、在蝕刻製程中使用以在半導體晶圓1153中形成各種蝕刻區域、及/或在其他適宜製程中使用。
IC晶圓廠1150係包括用於製造各種不同的IC產品的一或多個製造設施的IC製造公司。在一些實施例中,IC晶圓廠1150係半導體代工廠。例如,可存在用於複數種IC產品的前端製造(線程前端(front-end-of-line,FEOL)製造)的製造設施,而第二製造設施可提供用於互連及封裝IC產品的後端製造(線程後端(back-end-of-line,BEOL)製造),並且第三製造設施可提供用於代工廠公司的其他服務。
IC晶圓廠1150包括製造工具1152,用以對半 導體晶圓1153執行各種製造操作,使得根據遮罩(例如,遮罩1145)製造IC裝置1160。在各個實施例中,製造工具1152包括下列中的一或多個:晶圓步進器、離子植入機、光阻塗佈器、處理腔室(例如,CVD腔室或LPCVD爐)、CMP系統、電漿蝕刻系統、晶圓清洗系統、或能夠執行如本文論述的一或多個適宜製造製程的其他製造設備。
IC晶圓廠1150使用由遮罩室1130製造的遮罩1145來製造IC裝置1160。因此,IC晶圓廠1150至少間接地使用IC設計佈局圖1122來製造IC裝置1160。在一些實施例中,半導體晶圓1153藉由IC晶圓廠1150使用遮罩1145製造以形成IC裝置1160。在一些實施例中,IC製造包括至少間接地基於IC設計佈局圖1122執行一或多次微影曝光。半導體晶圓1153包括矽基板或其上形成有材料層的其他適當基板。半導體晶圓1153進一步包括下列中的一或多者:各種摻雜區域、介電特徵、多級互連、及類似者(在後續的製造步驟形成)。
對應於積體電路(integrated circuit,IC)製造系統(例如,第11圖的系統1100)以及與其相關聯的IC製造流程的細節例如在下列各者中發現:於2016年2月9日授權的美國專利第9,256,709號、於2015年10月1日公開的美國授權前公開案第20150278429號、於2014年2月6日公開的美國授權前公開案第20140040838號、以及於2007年8月21日授權的美國專利第7,260,442 號,其各者的全文以引用方式併入本文中。
在一個實施例中,一種製造半導體裝置的方法,對應佈局圖在非暫時性電腦可讀取媒體上儲存,佈局圖包括佈局單元,方法包含產生佈局圖,包括:從佈局圖中的佈局單元之中選擇候選單元;在儲存預定義單元及其對應PC描述的資料庫內,在資料庫中搜尋預定義單元之中與候選單元實質匹配的一匹配的預定義單元;以及當發現實質匹配時,將匹配的預定義單元的PC描述指派給候選單元。在一些實施例中,方法進一步包含:迭代選擇一候選單元、搜尋資料庫及指派寄生電容描述;其中:佈局圖包括列出佈局單元中的每一者的一登記冊;以及迭代選擇一候選單元遞增地進行經過登記冊中列出的佈局單元中的每一者。在一些實施例中,方法進一步包含:當在預定義單元與候選單元之間未發現實質匹配時,離散地計算針對候選單元的一寄生電容描述;以及附加資料庫以包括:候選單元作為預定義單元的一新單元;以及針對候選單元的寄生電容描述作為針對預定義單元中的新單元的一寄生電容描述。在一些實施例中,離散地計算針對候選單元的一寄生電容描述包括:對候選單元實施一3D場解算器工具以計算新單元的寄生電容描述。在一些實施例中,候選單元係一第一候選單元;以及方法進一步包含:從佈局圖中的佈局單元之中選擇一第二候選單元;針對預定義單元之中與第二候選單元實質匹配的一預定義單元搜尋資料庫;以及當發現實質匹配時,將匹配的預定義單元的寄生電容描述指派 給第二候選單元,藉此避免必須離散地計算針對第二候選單元的一寄生電容描述。在一些實施例中,候選單元的寄生電容描述包括候選單元的一單元內寄生電容描述。在一些實施例中,選擇候選單元包括:從佈局圖中擷取多個佈局單元的一初始群集;針對初始群集之中的實質上匹配彼此的兩個或多個佈局單元搜尋初始群集,其中實質上匹配彼此的兩個或多個佈局單元為多個第一重複佈局單元;以及第一重複佈局單元中的一所選第一重複佈局單元係候選單元。在一些實施例中,方法進一步包含:將匹配的預定義單元的寄生電容描述批量指派給第一重複佈局單元中除了所選第一重複佈局單元之外的多個剩餘單元,藉此避免必須離散地計算針對第一重複佈局單元中的剩餘單元中的每一者的一寄生電容描述。在一些實施例中,迭代搜尋初始群集、搜尋資料庫、批量指派寄生電容描述及附加資料庫並且其中:佈局圖包括列出佈局單元中的每一者的一登記冊;以及迭代選擇一候選單元遞增地進行經過登記冊中列出的佈局單元中的每一者。在一些實施例中,方法進一步包含:基於佈局圖,下列中的至少一者:(A)進行一或多次光微影曝光;(B)製造一或多個半導體遮罩;或(C)製造一半導體積體電路的一層中的至少一個部件。
在一些實施例中,揭示了一種製造半導體裝置的方法。對應佈局圖在非暫時性電腦可讀取媒體上儲存,佈局圖包括部件單元,方法包括藉由以下操作產生佈局圖:從佈局圖中的佈局單元之中選擇候選單元;在儲存預定義單 元及其對應寄生電容(parasitic capacitance,PC)描述的資料庫內,在資料庫中搜尋預定義單元之中與候選單元實質匹配的一者;以及當發現實質匹配時,將匹配的預定義單元的PC描述指派給候選單元。在一些實施例中,方法進一步包括:迭代選擇候選單元,搜尋資料庫及指派PC描述;並且其中:佈局圖包括列出佈局單元中的每一者的登記冊;以及迭代選擇候選單元遞增地進行經過登記冊中列出的佈局單元中的每一者。在一些實施例中,方法進一步包括:當在預定義單元與候選單元之間未發現實質匹配時,離散地計算針對候選單元的PC描述;以及附加資料庫以包括:候選單元作為預定義單元中的新單元;以及針對候選單元的PC描述作為針對預定義單元中的新單元的PC描述。在一些實施例中,離散地計算針對候選單元的新PC描述包括:對候選單元實施3D場解算器工具以計算新PC描述。在一些實施例中:候選單元係第一候選單元;並且方法進一步包含:從佈局圖中的佈局單元之中選擇第二候選單元;在資料庫中搜尋預定義單元之中與第二候選單元實質匹配的一者;以及當發現實質匹配時,將匹配的預定義單元的PC描述指派給第二候選單元,藉此避免必須離散地計算針對第二候選單元的PC描述。在一些實施例中,候選單元的PC描述包括候選單元的單元內PC描述。
在一些實施例中,選擇候選單元包括:從佈局圖中擷取佈局單元的初始群集;在初始群集中搜尋初始群集之 中實質上匹配彼此的兩個或多個佈局單元(第一重複佈局單元);及第一重複佈局單元中的所選單元(所選第一重複佈局單元)係候選單元。在一些實施例中,方法進一步包括:將匹配的預定義單元的PC描述批量指派給第一重複佈局單元中除了所選第一重複佈局單元之外的剩餘單元,藉此避免必須離散地計算針對第一重複佈局單元的剩餘單元中的每一者的PC描述。在一些實施例中,方法進一步包括:迭代搜尋初始群集、搜尋資料庫、批量指派PC描述、及附加資料庫,並且其中:佈局圖包括列出佈局單元中的每一者的登記冊;以及迭代選擇候選單元遞增地進行經過登記冊中列出的佈局單元中的每一者。在一實施例中,基於佈局圖,方法進一步包括下列中的至少一者:(A)進行一或多次光微影曝光;(B)製造一或多個半導體遮罩;或(C)製造在半導體積體電路層中的至少一個部件。
在另一實施例中,一種儲存有電腦可執行指令的非暫時性電腦可讀取媒體,電腦可執行指令表示產生佈局圖的方法,佈局圖包括組織為佈局群組的佈局單元,每個佈局群組包括中央單元及鄰近中央單元的相鄰單元的集合,電腦可執行指令可由至少一個處理器執行以執行包括藉由以下操作產生佈局圖的方法:從佈局群組之中選擇候選佈局群組;在儲存預定義群組及對應寄生電容(parasitic capacitance,PC)描述的資料庫內,每個預定義群組包括主體預定義單元及鄰近主體預定義單元的一或多個預定義單元的對應集合,在資料庫中搜尋預定義群組之中與候 選單元群組實質匹配的一匹配的預定義群組;以及當發現實質匹配時,將匹配的預定義群組的PC描述指派給候選佈局群組。在一些實施例中,方法進一步包括:迭代選擇候選佈局群組、搜尋資料庫及指派PC描述;並且其中:佈局圖包括列出佈局群組中的每一者的登記冊;以及迭代選擇候選佈局群組遞增地進行經過登記冊中列出的佈局群組中的每一者。在一些實施例中,方法進一步包括:當未發現實質匹配時,離散地計算針對候選佈局群組的PC描述;以及附加資料庫以包括:候選佈局群組作為預定義群組中的新群組;以及針對候選佈局群組的PC描述作為針對預定義群組中的新群組的PC描述。在一些實施例中,離散地計算針對候選佈局群組的PC描述包括:對候選佈局群組實施3D場解算器工具以計算新群組的寄生電容描述。在一些實施例中,針對候選佈局群組的PC描述包括:針對候選佈局群組中的相鄰單元集合中的至少一個相鄰單元,在候選佈局群組的中央單元與候選佈局群組的對應相鄰單元之間的單元間PC描述。在一些實施例中,方法進一步包含:基於佈局圖,導致積體電路(integrated circuit,IC)製造系統執行下列中的至少一者:(A)進行一或多次光微影曝光;(B)製造一或多個半導體遮罩;或(C)製造在半導體積體電路層中的至少一個部件。
在另一實施例中,一種用於製造半導體裝置的系統,此系統包含:至少一個處理器;儲存電腦可執行代碼的至少一個非暫時性電腦可讀取媒體;至少一個非暫時性電腦 可讀取儲存媒體、電腦可執行碼及至少一個處理器用以導致系統產生包括佈局單元的佈局圖,產生佈局圖包括:從佈局圖中的佈局單元之中選擇候選單元;在儲存預定義單元及其對應單元內寄生電容(parasitic capacitance,PC)描述的資料庫內,在資料庫中搜尋預定義單元之中與候選單元實質匹配的一匹配的預定義單元;以及當發現實質匹配時,將匹配的預定義單元的單元內PC描述指派給候選單元。在一些實施例中,產生佈局圖進一步包括:迭代選擇候選單元、搜尋資料庫及指派PC描述;並且其中:佈局圖包括列出佈局單元中的每一者的登記冊;以及迭代選擇候選單元遞增地進行經過登記冊中列出的佈局單元中的每一者。在一些實施例中,產生佈局圖進一步包括:當在預定義單元與候選單元之間未發現實質匹配時,離散地計算針對候選單元單元內的PC描述;以及附加資料庫以包括:候選單元作為預定義單元中的新單元;以及針對候選單元的單元內PC描述作為針對預定義單元中的新單元的單元內PC描述。在一些實施例中,系統進一步包括下列中的至少一者:遮罩設施,用以基於佈局圖製造一或多個半導體遮罩;或製造設施,用以基於佈局圖製造在半導體積體電路層中的至少一個部件。
上文概述若干實施例的特徵,使得熟習此項技術者可更好地理解本揭示的態樣。熟習此項技術者應瞭解,可輕易使用本揭示作為設計或修改其他製程及結構的基礎,以便執行本文所介紹的實施例的相同目的及/或實現相同 優點。熟習此項技術者亦應認識到,此類等效構造並未脫離本揭示的精神及範疇,且可在不脫離本揭示的精神及範疇的情況下進行本文的各種變化、取代及更改。
700:流程圖
702、704、706、708、710、712、714、716、718:方塊

Claims (10)

  1. 一種製造一半導體裝置的方法,對應的一佈局圖在一非暫時性電腦可讀取媒體上儲存,該佈局圖包括多個佈局單元,該方法包含產生該佈局圖,包括:從該佈局圖中的該些佈局單元之中選擇一候選單元;在儲存多個預定義單元及對應的多個寄生電容描述的一資料庫內,在該資料庫中搜尋該些預定義單元之中與該候選單元實質匹配的一匹配的預定義單元;以及當發現一實質匹配時,將該匹配的預定義單元的一寄生電容描述指派給該候選單元,其中該佈局圖中的實質上匹配彼此的兩個或多個佈局單元為多個第一重複佈局單元,以及該些第一重複佈局單元中的一所選第一重複佈局單元係該候選單元。
  2. 如請求項1所述的方法,進一步包含:當在該些預定義單元與該候選單元之間未發現實質匹配時,離散地計算針對該候選單元的一寄生電容描述;以及附加該資料庫以包括:該候選單元作為該些預定義單元的一新單元;以及針對該候選單元的該寄生電容描述作為針對該些預定義單元中的該新單元的一寄生電容描述。
  3. 如請求項1所述的方法,其中: 該候選單元係一第一候選單元;以及該方法進一步包含:從該佈局圖中的該些佈局單元之中選擇一第二候選單元;針對該些預定義單元之中與該第二候選單元實質匹配的一預定義單元搜尋該資料庫;以及當發現實質匹配時,將匹配的該預定義單元的該寄生電容描述指派給該第二候選單元,藉此避免必須離散地計算針對該第二候選單元的一寄生電容描述。
  4. 如請求項1所述的方法,其中:該選擇該候選單元包括:從該佈局圖中擷取多個佈局單元的一初始群集;針對該初始群集之中的該些實質上匹配彼此的兩個或多個佈局單元搜尋該初始群集。
  5. 一種儲存有多個電腦可執行指令的非暫時性電腦可讀取媒體,該些電腦可執行指令表示產生一佈局圖的一方法,該佈局圖包括組織為多個佈局群組的多個佈局單元,每個佈局群組包括一中央單元及鄰近該中央單元的多個相鄰單元的一集合,該些電腦可執行指令可由至少一個處理器執行以執行包含產生該佈局圖的該方法,包括:從該些佈局群組之中選擇一候選佈局群組;在儲存多個預定義群組及對應的多個寄生電容描述的一 資料庫內,每個預定義群組包括一主體預定義單元及該些預定義單元中鄰近該主體預定義單元的一或多個的一對應集合,在該資料庫中搜尋該些預定義群組之中實質匹配該候選單元群組的一匹配的預定義群組;當發現實質匹配時,將該匹配的預定義群組的一寄生電容描述指派給該候選佈局群組;以及迭代該選擇該候選佈局群組,其中該佈局圖包括列出該些佈局群組中的每一者的一登記冊,以及該迭代該選擇該候選佈局群組遞增地進行經過該登記冊中列出的該些佈局群組中的每一者。
  6. 如請求項5所述的非暫時性電腦可讀取媒體,該方法進一步包含:迭代該搜尋該資料庫及該指派該寄生電容描述。
  7. 如請求項5所述的非暫時性電腦可讀取媒體,該方法進一步包含:當未發現實質匹配時,離散地計算針對該候選佈局群組的一寄生電容描述;以及附加該資料庫以包括:該候選佈局群組作為該些預定義群組中的一新群組;以及 針對該候選佈局群組的該寄生電容描述作為針對該些預定義群組中的該新群組的一寄生電容描述。
  8. 一種製造一半導體裝置的系統,該系統包含:至少一個處理器;至少一個非暫時性電腦可讀取媒體,儲存電腦可執行代碼;該至少一個非暫時性電腦可讀取儲存媒體、該電腦可執行碼及該至少一個處理器用以使該系統產生包括多個佈局單元的一佈局圖,產生該佈局圖包括:從該佈局圖中的該些佈局單元之中選擇一候選單元;在儲存多個預定義單元及對應的多個單元內寄生電容描述的一資料庫內,在該資料庫中搜尋該些預定義單元之中與該候選單元實質匹配的一匹配的預定義單元;當發現一實質匹配時,將該匹配的預定義單元的該單元內寄生電容描述指派給該候選單元;以及當在該些預定義單元與該候選單元之間未發現實質匹配時,離散地計算針對該候選單元的一單元內寄生電容描述。
  9. 如請求項8所述的系統,其中該產生該佈局圖進一步包括:迭代該選擇一候選單元、該搜尋該資料庫及該指派該寄生電容描述;以及 其中:該佈局圖包括列出該些佈局單元中的每一者的一登記冊;以及該迭代該選擇一候選單元遞增地進行經過該登記冊中列出的該些佈局單元中的每一者。
  10. 如請求項8所述之系統,其中該產生該佈局圖進一步包括:當在該些預定義單元與該候選單元之間未發現實質匹配時,附加該資料庫以包括:該候選單元作為該些預定義單元中的一新單元;以及針對該候選單元的該單元內寄生電容描述作為針對該些預定義單元的該新單元的一單元內寄生電容描述。
TW110116790A 2020-07-07 2021-05-10 製造半導體裝置的方法及系統以及用於執行該方法的非暫時性電腦可讀取媒體 TWI781610B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063048925P 2020-07-07 2020-07-07
US63/048,925 2020-07-07
US17/199,023 2021-03-11
US17/199,023 US11681847B2 (en) 2020-07-07 2021-03-11 Method of manufacturing semiconductor device and system for same

Publications (2)

Publication Number Publication Date
TW202217636A TW202217636A (zh) 2022-05-01
TWI781610B true TWI781610B (zh) 2022-10-21

Family

ID=77103771

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110116790A TWI781610B (zh) 2020-07-07 2021-05-10 製造半導體裝置的方法及系統以及用於執行該方法的非暫時性電腦可讀取媒體

Country Status (5)

Country Link
US (2) US11681847B2 (zh)
EP (1) EP3937058A1 (zh)
JP (1) JP2022014918A (zh)
CN (1) CN113536728A (zh)
TW (1) TWI781610B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10878160B1 (en) * 2019-07-31 2020-12-29 Taiwan Semiconductor Manufacturing Co., Ltd. Analog cells utilizing complementary mosfet pairs
US11681847B2 (en) * 2020-07-07 2023-06-20 Taiwan Semiconductor Manufacturing Company, Ltd. Method of manufacturing semiconductor device and system for same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933214A (zh) * 2014-03-21 2015-09-23 台湾积体电路制造股份有限公司 集成电路设计方法和装置
TW201734869A (zh) * 2016-03-28 2017-10-01 摩提弗公司 集成電路設計系統及方法
TW201923823A (zh) * 2017-11-15 2019-06-16 台灣積體電路製造股份有限公司 積體電路及其設計的方法及其設計系統
TW202018553A (zh) * 2018-10-31 2020-05-16 台灣積體電路製造股份有限公司 製造半導體元件之方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002164432A (ja) * 2000-11-24 2002-06-07 Mitsubishi Electric Corp 半導体回路抽出装置、自動配置配線装置、およびその方法、ならびにライブラリ流通システム
US6931613B2 (en) * 2002-06-24 2005-08-16 Thomas H. Kauth Hierarchical feature extraction for electrical interaction calculations
US7346873B2 (en) * 2003-02-25 2008-03-18 Altera Corporation Clocktree tuning shims and shim tuning method
US7216320B2 (en) * 2003-11-06 2007-05-08 Clear Shape Technologies, Inc. Delta-geometry timing prediction in integrated circuit fabrication
US7260442B2 (en) 2004-03-03 2007-08-21 Taiwan Semiconductor Manufacturing Co., Ltd. Method and system for mask fabrication process control
US7363607B2 (en) * 2005-11-08 2008-04-22 Pulsic Limited Method of automatically routing nets according to parasitic constraint rules
US8984459B2 (en) 2012-05-04 2015-03-17 Taiwan Semiconductor Manufacturing Company, Ltd. Methods and apparatus for layout verification
US8850366B2 (en) 2012-08-01 2014-09-30 Taiwan Semiconductor Manufacturing Company, Ltd. Method for making a mask by forming a phase bar in an integrated circuit design layout
US9659125B2 (en) * 2014-01-28 2017-05-23 Arm Limited Computer implemented system and method for generating a layout of a cell defining a circuit component
US9256709B2 (en) 2014-02-13 2016-02-09 Taiwan Semiconductor Manufacturing Company, Ltd. Method for integrated circuit mask patterning
US9465906B2 (en) 2014-04-01 2016-10-11 Taiwan Semiconductor Manufacturing Company, Ltd. System and method for integrated circuit manufacturing
AU2015254922B2 (en) * 2014-04-29 2020-01-30 Wix.Com Ltd. System and method for the creation and use of visually-diverse high-quality dynamic layouts
US9886541B2 (en) * 2015-12-08 2018-02-06 International Business Machines Corporation Process for improving capacitance extraction performance
US10482212B2 (en) * 2017-02-23 2019-11-19 Synopsys, Inc. Automated resistance and capacitance extraction and netlist generation of logic cells
US10496783B2 (en) * 2017-04-19 2019-12-03 Mentor Graphics Corporation Context-aware pattern matching for layout processing
US11775727B2 (en) * 2018-03-16 2023-10-03 Taiwan Semiconductor Manufacturing Company, Ltd. Method for generating layout diagram including wiring arrangement
US11087063B2 (en) * 2018-06-29 2021-08-10 Taiwan Semiconductor Manufacturing Company Ltd. Method of generating layout diagram including dummy pattern conversion and system of generating same
US10741540B2 (en) * 2018-06-29 2020-08-11 Taiwan Semiconductor Manufacutring Company, Ltd. Integrated circuit layout method and device
US11681847B2 (en) * 2020-07-07 2023-06-20 Taiwan Semiconductor Manufacturing Company, Ltd. Method of manufacturing semiconductor device and system for same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933214A (zh) * 2014-03-21 2015-09-23 台湾积体电路制造股份有限公司 集成电路设计方法和装置
TW201734869A (zh) * 2016-03-28 2017-10-01 摩提弗公司 集成電路設計系統及方法
TW201923823A (zh) * 2017-11-15 2019-06-16 台灣積體電路製造股份有限公司 積體電路及其設計的方法及其設計系統
TW202018553A (zh) * 2018-10-31 2020-05-16 台灣積體電路製造股份有限公司 製造半導體元件之方法

Also Published As

Publication number Publication date
CN113536728A (zh) 2021-10-22
US20220012401A1 (en) 2022-01-13
JP2022014918A (ja) 2022-01-20
US20230325575A1 (en) 2023-10-12
US11681847B2 (en) 2023-06-20
EP3937058A1 (en) 2022-01-12
TW202217636A (zh) 2022-05-01

Similar Documents

Publication Publication Date Title
US20230401373A1 (en) Pin access hybrid cell height design and system
US11171089B2 (en) Line space, routing and patterning methodology
TWI732208B (zh) 產生積體電路佈局方法及系統
US20230325575A1 (en) Method of manufacturing semiconductor device and system for same
US11928415B2 (en) Hard-to-fix (HTF) design rule check (DRC) violations prediction
US11829700B2 (en) Method of analyzing and detecting critical cells
US20240126973A1 (en) Post-Routing Congestion Optimization
TW202001637A (zh) 修正電線佈線布置的佈圖的方法
US20210242205A1 (en) Semiconductor device having buried logic conductor type of complementary field effect transistor, method of generating layout diagram and system for same
TWI735961B (zh) 積體電路佈局圖產生系統及其產生方法
US12001773B2 (en) Automated system and method for circuit design
TW202139047A (zh) 製造半導體裝置的方法以及用於減少網表的遷移錯誤的系統
US20230014110A1 (en) Variable tracks and non-default rule routing
TW202242698A (zh) 製程技術評估的方法
TW202247026A (zh) 設計積體電路的方法
US11776958B2 (en) Semiconductor device having buried logic conductor type of complementary field effect transistor, method of forming same
CN220984174U (zh) 半导体装置及集成电路
US20230244845A1 (en) Method, non-transitory computer-readable medium, and apparatus for arranging electrical components within a semiconductor device
CN118070743A (zh) 执行设计流程的方法、存储媒体与制造半导体组件的系统

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent