TW201926217A - 針對設計半導體裝置的資源規劃的方法、系統及儲存媒介 - Google Patents
針對設計半導體裝置的資源規劃的方法、系統及儲存媒介 Download PDFInfo
- Publication number
- TW201926217A TW201926217A TW107141117A TW107141117A TW201926217A TW 201926217 A TW201926217 A TW 201926217A TW 107141117 A TW107141117 A TW 107141117A TW 107141117 A TW107141117 A TW 107141117A TW 201926217 A TW201926217 A TW 201926217A
- Authority
- TW
- Taiwan
- Prior art keywords
- design
- metal
- cell
- grid
- layout
- Prior art date
Links
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
根據本發明的一些實施例,一種方法包含:存取一積體電路(IC)之一設計資料,該設計資料包含複數個層。針對該等層中之每一者,該方法執行:基於該各別層之一佈局性質而指派該各別層之一分格大小;及根據該所指派分格大小而執行一基於分格之構件分配。該方法亦包含:根據該基於分格之構件分配而更新該設計資料。由至少一個處理器進行該等存取、指派、執行及更新步驟中之至少一者。
Description
本發明實施例係有關針對設計半導體裝置的資源規劃的方法、系統及儲存媒介。
在先進半導體技術中,裝置大小之持續減小及日益複雜之電路配置已使積體電路(IC)之設計及製作較具挑戰性且昂貴的。在針對IC之電路設計經遞送以進行大量生產之前,必須確認該設計滿足設計規範及製造準則。為了儘可能早地偵測設計誤差或缺陷,電腦輔助電路設計工具已在半導體工業中被廣泛接受,該等電腦輔助電路設計工具幫助電路設計者識別可能電路誤差。然而,隨著電路複雜性及裝置密度持續迅速地增加,進行電路設計及驗證之軟體程序現在消耗大量時間及資源,且在滿足電路設計需求方面有困難。因此,改良設計流程以用於減少設計循環時間同時維持設計品質係必要的。
根據本發明的一實施例,一種方法包括:存取一積體電路(IC)之一設計資料,該設計資料包括複數個層;針對該等層中之每一者,執行:基於該各別層之一佈局性質而指派該各別層之一分格大小;及根據該所指派分格大小而執行一基於分格之構件分配;以及根據該基於分格之構件分配而更新該設計資料,其中由至少一個處理器進行該等存取、指派、執行及更新步驟中之至少一者。
根據本發明的一實施例,一種系統包括一或多個處理器及一或多個程式,該一或多個程式包含指令,該等指令在由該一或多個處理器執行時致使該系統執行以下步驟:存取一積體電路(IC)之一設計資料,該設計資料包括複數個層;針對該等層中之每一者,執行:基於該各別層之一佈局性質而指派該各別層之一分格大小;及根據該所指派分格大小而執行一基於分格之構件分配;以及根據該基於分格之構件分配而更新該設計資料。
根據本發明的一實施例,一種非暫時性電腦可讀儲存媒介包括指令,該等指令在由一處理器執行時執行以下步驟:存取一積體電路(IC)之一設計資料,該設計資料包括複數個層;針對該等層中之每一者,執行:基於該各別層之一佈局性質而指派該各別層之一分格大小;及根據該所指派分格大小而執行一基於分格之構件分配;以及根據該基於分格之構件分配而更新該設計資料。
以下揭露提供用於實施所提供標之物之不同構件之諸多不同實施例或實例。下文闡述組件及配置之特定實例以簡化本揭露。當然,此等僅係實例且並非意欲係限制性的。舉例而言,在描述中一第一構件在一第二構件上方或該第二構件上形成可包含其中第一構件與第二構件直接接觸地形成之實施例且亦可包含其中額外構件可形成於第一構件與第二構件之間使得第一構件與第二構件可不直接接觸之實施例。另外,本揭露可在各種實例中重複參考編號及/或字母。此重複係出於簡單及清晰目的且並非本質上指示所論述之各種實施例及/或組態之間的一關係。
此外,可在本文中為易於描述而使用空間相對術語(諸如「下方」、「下面」、「下部」、「上面」、「上部」及諸如此類)來闡述一個元件或構件與另一元件或構件之關係,如各圖中所圖解說明。該等空間相對術語意欲囊括在使用或操作中之裝置之除各圖中所繪示定向之外的不同定向。設備可以其他方式定向(旋轉90度或以其他定向)且可因此同樣地理解本文中所使用之空間相對描述語。
貫穿本揭露所使用之術語「資源」係指一佈局中之放置一積體電路(IC)或晶片之組件所需之一或多個空間。可就相對單元或量測值來闡述資源或空間。在某些實例中,一資源之一部分可藉由其大小、尺寸或面積來指定。在IC之設計階段期間所消耗之資源可顯著影響IC之成品中之層之佔用面積或數目。
貫穿本揭露所使用之術語「資源規劃」係指在一電路設計階段期間對IC組件之空間管理。由於資源係有限的,且更重要地,為了開發以一較小佔用面積提供較大功能性之一先進IC,應在資源規劃時期期間將每一組件之放置及組件之間的關係作為一整體進行考量。針對一特定組件之資源規劃任務可涉及判定尺寸、面積、位置、定向、形狀及其他因素。針對一組件或由較多組件構成之一模組(區塊)之資源規劃任務可涉及其功能性、電力、延遲、熱效能、材料及其他因素。資源規劃必需遵從一預定設計規則以便最佳化IC之製造。另外,不同組件可競爭一資源,且因此設計規則可用於使一個組件或區塊優先於另一組件或區塊。由於在一IC之設計期間必須同時考量之極大數目個組件(舉例而言,數百萬個電晶體閘極),因此資源規劃之許多工作需要使用現代電腦輔助自動化工具。另外,一佈局通常被分割成稱為分格(bin)之較小單元,且在一逐分格基礎上進行資源規劃。自動化工具經組態以針對每一分格制定一最佳化問題,其中問題空間(或問題複雜性)由每一分格內之經分配資源之組合判定。一手動檢驗或修改程序可對於校正電腦執行之資源規劃所留下之可能設計誤差或缺陷仍係必要的。
本揭露論述一種用於半導體IC製造之設計階段中之資源規劃方法。隨著閘極計數及電路複雜性持續增加,資源規劃程序包括由硬體及軟體消耗之一經增加百分比之計算資源、電力及時間。可減輕計算負擔,但最終設計之有效模型化精確度將相應地減小。當在一泛用框架中針對IC之所有層相等地提供模型化參數時,情形可變得更糟,此乃因半導體裝置設計趨向於增加之層間電路差異。舉例而言,針對具有一金屬層堆疊之一互連結構,一資源規劃操作可藉由以下操作而執行:將金屬層中之每一者分割成分格之一陣列,且在一逐分格基礎上執行金屬構件(例如,金屬線)之資源規劃。然而,若下部及上部金屬層被指派有相等分格大小以用於資源規劃,但實際上具有相異金屬分佈及佈局性質,則模型化準確度將受損。模擬結果展示,隨著層之間的差異增加,效率及準確度下降。
在本揭露中,提供一種經改良基於分格之資源規劃方法以在不大大增加計算工作量之情況下提供一較準確模型化結果。針對包含一金屬層堆疊之一設計資料(例如,一接線對照表),提出針對個別金屬層而指派不同分格大小。可針對每一金屬層基於其佈局性質或電路幾何形狀而最佳化分格大小。可改良模型化準確度且可減少計算時間。另外,透過所提出方案而提供之資源規劃結果可較佳地反映金屬層之最終佈局,且因此可減少遞歸或手動固定之設計工作量。
圖1係圖解說明根據某些實施例之一半導體積體電路(IC)之一設計流程100之一示意圖。用於設計半導體IC或晶片之設計流程100利用一或多個電子設計自動化(EDA)工具來在其中執行操作。一工作站或個人電腦通常用於執行工具以實現設計流程100。設計流程100包括一系統設計階段110、一邏輯設計階段120、一合成階段130、一預佈局模擬階段140、一安置與佈線開發階段150、一參數提取階段160及一後佈局模擬階段170。
最初,在系統設計階段110處,以一高階描述提供所關注晶片之一系統架構。在階段110處,根據一設計規範而判定晶片功能以及效能要求。晶片功能通常由各別示意性功能模組或區塊表示。另外,可尋求一最佳化或效能折衷從而以可接受成本及電力位準達成設計規範。
在邏輯設計階段120處,使用一硬體描述語言在一暫存器轉移層級(RTL)中闡述功能模組或區塊。通常使用市售語言工具,諸如Verilog或VHDL。在一實施例中,在階段120處執行一初步功能性檢查以驗證所實施功能是否符合階段110中所陳述之規範。
隨後,在合成階段130處,將RTL描述中之模組轉換成一接線對照表資料,其中確立每一功能模組之電路結構(例如,邏輯閘及暫存器)。在某些實施例中,進行邏輯閘及暫存器至標準胞元庫中之可用胞元之技術映射。此外,接線對照表資料經提供以闡述一閘極層級處之晶片之功能關係。在一實施例中,接線對照表資料自閘極層級視圖變換至一電晶體層級視圖。
隨後,在預佈局模擬階段140處驗證閘極層級接線對照表資料。在階段140之驗證程序期間,若功能中之某些功能在模擬中未通過驗證,則設計流程100可暫時停止或者可返回至階段110或120以進行進一步修改。在預佈局模擬階段140之後,晶片設計已通過一初步驗證且前段設計程序完成。接下來,一後段實體設計程序隨後進行。
在安置與佈線階段150處,實施表示在前段程序期間判定之晶片之一實體架構。佈局開發涉及依序進行一安置操作及一佈線操作。在安置操作中判定晶片之組件之詳細結構及相關聯幾何形狀。在安置操作之後佈線不同組件當中之互連件。安置操作及佈線操作兩者皆經執行以滿足一設計規則檢查(DRC)組(deck),使得達到晶片之製造要求。在一實施例中,在安置與佈線階段處針對一數位電路執行一時脈樹合成操作,其中將時脈產生器及電路併入至設計中。在一實施例中,在初步佈線操作之後執行一後佈線操作以便解決初步佈線操作之時序問題。一旦完成階段150,便形成一經安置與佈線佈局且因此產生一接線對照表以及關於安置與佈線之資料。
在參數提取階段160處,進行一佈局參數提取(LPE)操作以導出由在階段150中開發之佈局產生之佈局相依參數,諸如寄生電阻及電容。隨後,產生包含佈局相依參數之一後佈局接線對照表資料。
在後佈局模擬階段170處,考量在先前階段中所獲取之參數而執行一實體驗證。進行一電晶體層級行為模擬以檢查晶片效能是否滿足所要求系統規範。在某些實施例中,執行後佈局模擬以使在晶片製造程序期間之電問題或佈局困難之可能性最小化。
接下來,在階段180中,判定後佈局接線對照表是否滿足設計規範。若係肯定的,則在階段190處接受電路設計且然後因此簽出。根據所接受後佈局接線對照表而製造晶片。然而,若後佈局模擬之結果係不利的,則設計流程100往回迴圈至先前階段以調諧功能性或結構。舉例而言,設計流程100可往回迴圈至階段150,其中重新開發佈局以自一實體角度解決問題。另一選擇係,倘若無法在後段程序內解決問題,則設計流程100可後退至一較早階段110或120以自一功能層級重作晶片設計。
在階段191處,基於階段190中之經驗證後佈局接線對照表而產生至少一個光罩。一光罩係一經圖案化遮罩,該經圖案化遮罩用於允許光之一部分通過同時阻擋光之其他部分以便在一光敏層(舉例而言,一晶圓上之一光阻劑層)上形成一構件圖案。在某些實施例中,一多層佈局接線對照表可需要多個光罩,其中在對應光罩中確立每一層中之構件圖案。因此,透過一曝光操作而將光罩上之佈局構件之幾何形狀轉印至光敏層。
在階段192處,使用在階段191中產生之光罩而在晶圓上製作電路。該製作可涉及已知半導體製造操作,諸如微影、蝕刻、沈積及熱操作。在某些實施例中,可在階段192之一中間或最終時期中利用一測試操作以確保所製作電路之實體及功能完整性。在某些實施例中,一單粒化操作可用於將電路晶圓分離成個別電路晶粒。因此完成電路之製作。
圖1中所圖解說明之設計流程100係例示性的。對上文所提及階段之修改(諸如改變該等階段之次序、分割該等階段及刪除或添加階段)係在本揭露之預期範疇內。
圖2係根據某些實施例之一自動安置與佈線(APR)功能200之一示意圖。APR功能200可對應於圖1中之階段150之安置與佈線操作。最初,接收或提供一設計資料表示202及一設計套組204以用於APR功能200。設計資料202可包含示意性地闡述晶片之組件之電性質及該等組件之間的連接之一種形式之接線對照表或其他可交換資料格式。在一實施例中,設計套組204含有對晶片之組件之程序相關描述。設計套組204可由一IC製造公司建立,從而基於其專屬製造程序而定義技術細節或變化。IC設計者可利用設計套組204來在將完整設計資料遞送至製造公司以生產IC之前促進對晶片進行模型化及模擬。
APR功能200可包含以下各項中之至少一者:一平面規劃操作212、一安置操作214、一時脈樹合成操作216、一佈線操作218及一後佈線操作220。可連續執行APR功能200之上文所提及操作,如圖2中所圖解說明。另一選擇係,倘若偵測到一誤差或一內嵌設計規則檢查例程發現一設計問題,則可使上文所提及操作反覆。在某些實施例中,可自APR功能200中之處理流程省略至少一個操作。另外,APR功能200包含一資源規劃操作230。如圖2中所圖解說明,資源規劃操作230可與APR功能200中之操作中之任一者互動。在以下段落中詳述互動細節。
圖3A係根據某些實施例之針對圖2之一資源規劃操作230之一佈局300的一示意圖。佈局300包含一電晶體層302及位於電晶體層302上方之一互連結構303。電晶體層302包含數個組件,諸如電晶體及金屬線(未單獨展示)。電晶體及金屬線可由選自一經證實電路庫之一電路對應物(亦即,庫胞元)構造。互連結構303經組態以透過其金屬層而電耦合電晶體層302中之組件,且該互連結構有時稱為一重佈層。作為一實例,互連結構303構造有諸如一第一金屬層304、一第二金屬層306及一第三金屬層308之金屬層之一堆疊。一般而言,資源規劃操作230判定電晶體層302中之胞元及互連結構303中之金屬線兩者之放置。此外,針對互連結構303之資源規劃可需要調適以與針對電晶體層302之資源規劃對準。在某些方面中,在本文中稱為APR功能200之基本操作之操作212、214、216、218及220更多地關於電晶體層302而非互連結構303。貫穿本揭露,資源規劃操作230涵蓋電晶體層302及互連結構303,但可更集中於互連結構303。當針對電晶體層302執行基本操作中之每一者時,可自動觸發一資源規劃操作230以用於修改互連結構303。在以下描述中,將第一操作(亦即,平面規劃操作212)闡述為一第一實例以解釋基本操作與資源規劃操作230之間的互動。
參考圖2及圖3A,在平面規劃操作212期間,提供圖3A中之電晶體層302之一初始規劃。平面規劃操作212可將設計資料之分量基於其功能性而分群至數個功能區塊或模組中。此外,平面規劃操作212將區塊分配於電晶體層302之適合位置中。平面規劃操作212亦可提供區塊座標,但該等區塊座標可為近似值。可就佈局300之一對參考座標來表示區塊座標。
當在平面規劃操作212期間將功能區塊分配至其在電晶體層302中之位置時,由資源規劃操作230啟動針對互連結構303之一資源規劃。將第一金屬層304、第二金屬層306及第三金屬層308中之每一者分割成分格(亦即,分別分格1、分格2及分格3)之一陣列。該等分格可具有一矩形形狀且分格大小可由長度L3及寬度W3表徵。金屬層304、306及308中之每一者可被指派有個別分格大小。在圖3A之所繪示實例中,分格長度L3及分格寬度W3針對所有金屬層之分格1、分格2及分格3係相同的。在替代實施例中,針對不同金屬層而不同地指派分格大小。在指派各別金屬層之分格大小之後,針對每一金屬層執行一基於分格之構件分配。
圖3B係根據某些實施例之第三金屬層308之一佈局之一示意圖。假定資源規劃操作230以第三金屬層308之一第一分格(舉例而言,分格31)繼續進行。最初,判定多少金屬線可容納於一單個分格中。判定因素包含金屬層之線密度及分格大小。在某些實施例中,判定因素涉及金屬線之一代表線寬度或線間隔值,其中可藉由計算一平均值而獲得代表值。在某些實施例中,判定因素涉及金屬線之一電阻電容(RC)值,其中RC值計及金屬線之一延遲。在所繪示實例中,分格31中之四個虛線表示分格31之金屬線容量係四個。接下來,將由一實線表示之一例示性金屬線M3分配至分格31。金屬線M3係沿著x軸配置。基於分格31之座標而提供水平金屬線M3之一參考位置。舉例而言,將分格31之具有座標(x3, y3)之一左下頂點提供為金屬線M3之一近似位置。另一選擇係,分格31之形心座標(未展示)或其他代表座標亦可用作金屬線M3之一參考位置。在一實施例中,分格31之索引用作金屬線M3之參考位置。在彼情形中,可需要分格索引與實際分格位置之間的一變換。圖解說明金屬線M3與分格31中之一虛線重合並非意指資源規劃操作230當前已判定金屬線M3在分格31中之一準確位置。實際上,可在第三金屬層308內僅以分格31之大小之粒度(或解析度)來界定金屬線M3之位置。應透過資源規劃操作230之另一反覆而達成金屬線M3在第三金屬層308中之一較準確定位,其中一較小分格大小與APR功能200之一後續基本操作相關聯。隨後以類似於分格31之方式之一方式處理第三金屬層308中之其他分格直至已處理待分配於第三金屬層308中之所有金屬線為止。
圖3C係根據某些實施例之第二金屬層306之一佈局之一示意圖。資源規劃操作230以第二金屬層306之一第一分格(舉例而言,分格21)繼續進行。最初,判定多少金屬線可容納於一單個分格21中。判定因素類似於用於第三金屬層308之判定因素。在某些實施例中,互連結構303中之金屬層之線寬度或線間隔自一底部層(例如,第一金屬層304)至一頂部層(例如,第三金屬層308)而增加。在所繪示實例中,分格21中之十二個虛線指示分格21之金屬線容量係十二個,其係第三金屬層308中之分格31之金屬線容量之三倍,此乃因線寬度或線間隔之差異。因此判定將分格21進一步劃分成九個較小分格,例如分格201至分格209。分格201至209可視為母分格21之子分格,其中每一分格具有一分格長度L2及一分格寬度W2。分格21之分格大小可為分格201至209中之每一者之分格大小之一倍數。在一實施例中,針對分格大小之判定因素包含一分格之金屬線容量。藉由將分格21劃分成較小分格201至209,使每分格之金屬線容量保持在近似四個,其與分格31之金屬線容量相同。
接下來,將經排程以橫跨分格31之整個寬度W3之一例示性金屬線M2劃分成三個分段M21、M22及M23,每一分段具有等於分格寬度W2之一線長度。金屬線分段由實線表示且被分配至分格21之一各別子分格中。第二金屬層306中之金屬線分段M21至M23可透過介入導電通路(未展示)而電連接至第一金屬層304或第三金屬層308以改變金屬線M2之定向及佈線。在某些實施例中,在實質上垂直方向上配置毗鄰金屬層中之金屬線。舉例而言,與第三金屬層308中之水平金屬線M3相比,金屬線分段M21、M22及M23係沿著y軸配置。
基於分格201之座標而提供金屬線分段M21之一參考位置。舉例而言,將分格201之具有座標(x21, y21)之一左下頂點提供為金屬線分段M21之一近似位置。另一選擇係,分格201之形心座標(未展示)或其他代表座標可用作金屬線分段M21之一參考位置。以用於金屬線分段M21之一方法進行將金屬線分段M22及M23分別分配至分格205及分格209中。在一實施例中,分格201、205及209之索引分別用作金屬線分段M21、M22及M23之參考位置。在彼情形中,可需要分格索引與實際分格位置之間的一變換。然而,圖解說明金屬線分段M21至M23與各別分格中之對應虛線重合並非意指資源規劃操作230已判定金屬線分段M21、M22及M23分別在分格201、205及209中之準確座標。實際上,可在第二金屬層306內僅以分格21之子分格(例如,分格201)之粒度(或解析度)來識別金屬線分段之位置。可透過資源規劃操作230之另一反覆而達成金屬線分段M21至M23在第二金屬層306中之較準確定位,其中一較小分格大小與APR功能200之一後續基本操作相關聯。隨後以類似於分格21之方式之一方式處理第二金屬層306中除分格21之外的分格直至已處理待分配於第二金屬層306中之所有金屬線為止。
現有方案藉由採用分格31之分格大小作為用於分配金屬線M2之一基礎而處理分格21。亦即,僅基於用於第三金屬層308之分格31之分格大小而判定分格21之分格大小。然而,分格21之金屬線容量已增加三倍。因此,與第三金屬線308中之分配不確定性相比,分格21之較大金屬線容量導致第二金屬線306中之較大(例如,三倍)分配不確定性。如此,額外反覆資源規劃任務在後續操作中可為必要的,此乃因由平面規劃操作階段212導致之資源規劃不確定性保持為相對高的,尤其在第二金屬層306中。此外,軟體工具可需要利用與分格31之空間相比三倍之空間來處理針對分格21之一資源規劃問題。與本揭露之方法相比,根據現有方案需要較多處理時間且較難以達成最佳解決方案(若存在)。
透過所提出框架,第二金屬層306中之金屬線分段之參考位置提供自L3至L2之定位準確度之一個三重增加。分格201至209中之金屬線不確定性保持為與第三金屬層308中之分格31之金屬線不確定性相當。另外,問題空間之大小減小,此可幫助減少處理時間並找到構件分配之一較佳解決方案。雖然待處理分格之總數目倍增,但總體處理時間可並未增加很多,此乃因每一分格之問題空間之階次已降低。更重要地,不同金屬層中之金屬線之分配不確定性位準之差異跨越整個互連結構303而降低。電路設計不包含具有比其他層過分多之佈線不確定性之任何層。可因此實現一較佳資源規劃輸出及較可預測佈線效能。
針對分格21之分格***之另一優點由金屬線M2之額外佈線可能性產生。一般而言,一資源規劃操作為簡單起見允許沿著一個一致方向在一分格中分配一金屬線,如分格31中之金屬線M3之圖解說明中可見。***分格201至209允許金屬線M2在三個金屬線分段之間包含至少兩個匝數。由於線密度提高,因此一較小分格大小可幫助設計者或設計工具將更多匝數併入至一金屬線,如金屬線M2之圖解說明中所展示。可在設計程序之一早期階段處實現一較緊湊且準確佈線佈局。
圖3D係根據某些實施例之第一金屬層304之一佈局之一示意圖。資源規劃操作230以第一金屬層304之一第一分格(舉例而言,分格11)繼續進行。在所繪示實例中,分格11中之十六個虛線指示分格11之金屬線容量係十六個,其係第三金屬層308中之分格31之金屬線容量之四倍,此乃因一較小線寬度或較緊密線間隔。因此,將分格11劃分成十六個較小分格,例如分格101至分格116。分格101至116可視為母分格11之子分格,其中每一分格具有一分格長度L1及一分格寬度W1。分格11之分格大小可為分格101至116中之每一者之分格大小之一倍數。藉由將分格11劃分成較小分格101至116,使每分格之金屬線容量保持在近似四個,其與分格21及分格31之金屬線容量相同。在一實施例中,使分格大小自一底部層(例如,第一金屬層304)至一頂部層(例如,第三金屬層308)逐漸變大。在一實施例中,最大分格大小(L3、W3)係其他較小分格大小(諸如分格大小(L2、W2)或分格大小(L1、W1))之一倍數。
接下來,將經排程以橫跨分格31之整個長度L3之一例示性金屬線M1劃分成四個分段M11、M12、M13及M14,每一分段具有等於分格長度L1之一線長度。金屬線分段由實線表示且被分配至分格11之個別子分格中。第一金屬層304中之金屬線分段M11至M14可透過介入導電通路(未展示)而電連接至第二金屬層306以改變金屬線M1之定向及佈線。在某些實施例中,與第二金屬層306中之垂直金屬線分段M21至M23相對比,金屬線分段M11至M14係沿著x軸配置。
基於分格101之座標而提供金屬線分段M11之一參考位置。舉例而言,將分格101之具有座標(x11, y11)之一左下頂點提供為金屬線分段M11之一近似位置。另一選擇係,分格101之形心座標(未展示)亦可用作金屬線分段M11之一參考位置。以類似於金屬線分段M11之方法之一方法進行將線分段M12、M13及M14分別分配至分格114、107及104中。在一實施例中,分格101、114、107及104之索引分別用作金屬線分段M11、M12、M13及M14之參考位置。在彼情形中,可需要分格索引與實際分格位置之間的一變換。如先前所論述,可在第一金屬層304內僅以分格11之子分格(例如,分格101)之粒度(或解析度)來指定金屬線分段M11至M14之位置。可透過資源規劃操作230之另一反覆而達成金屬線M1在第一金屬層304中之一較準確定位,其中一較小分格大小與APR功能200之一後續基本操作相關聯。隨後以類似於分格11之方式之一方式處理第一金屬層304中除分格11之外的分格直至已處理待分配於第一金屬層304中之所有金屬線為止。
在一實施例中,將另一金屬線M4分配至分格11。金屬線具有一線長度4*L1且被分配至子分格109、110、111及112。可執行一金屬線擁塞分析以確認可在遵從設計準則之同時將金屬線M1及M4一起分配於分格11內。此乃因顯然,兩個不同金屬線M1及M4被分配至分格11之不同子分格中。此資訊被掩埋且對於使用採用母分格11之一分格大小之現有方案之一設計者係不可見的。可因此在設計程序之一較早階段處解決分配不確定性問題。若無法利用***分格201至216達成上文所提及之至單獨子分格中之構件分配,則此亦可幫助防止對後續佈線效能進行過分樂觀之預期。
在一實施例中,在資源規劃操作230之後執行一設計規則檢查以判定金屬層304、306及308中之金屬線之構件分配是否滿足製造準則及設計規範。設計規則可包含一最小線間隔、一最大線寬度及諸如此類。
返回參考圖2,當完成與平面規劃操作212相關聯之針對互連結構303中之所有金屬層之資源規劃時,更新用於互連結構303之佈局資料。經更新佈局資料可包含金屬層中之每一者中之金屬線之座標。在一實施例中,資源規劃操作230之結果(例如,基於不同分格大小之金屬線之經更新座標)可儲存於軟體工具之一資料庫中且可由APR功能200之其他操作存取。接下來,APR功能200可以後續操作(諸如安置操作214)繼續進行。透過安置例程而將電晶體層302中之組件之胞元分配於其適合地方中。隨後,啟動與安置操作214相關聯之一資源規劃操作。與安置操作214相關聯之針對金屬層304、306或308之資源規劃之分格大小可比與平面規劃操作212相關聯之分格大小小以用於獲得較大金屬線位置準確度。
以上程序可應用於APR功能200之其餘操作。在時脈樹合成操作216期間,將時脈訊號產生器安置於電晶體層302中且跨越佈局300對各節點執行一時序分析以確保時序分佈滿足規範要求。在佈線操作218期間,併入接線連接以連接佈局300之電晶體層302中之胞元。在一實施例中,執行設計規則檢查以判定接線組態(例如,導線間隔)是否滿足製造準則及設計規範。在一實施例中,佈局300可需要進一步細化以解決電力或時序問題。因此,可引入後佈線操作220以考量佈局細化而修改先前佈線組態。所有基本操作經執行而後續接著一相關聯資源規劃操作230,該相關聯資源規劃操作修改互連結構303中之金屬線組態。此外,隨著APR功能以更多基本操作繼續進行,互連結構303中之每一金屬層之分格大小可逐漸變小。
圖4係圖解說明根據某些實施例之一IC之一設計流程400之一示意圖。在操作402中,存取或接收IC之一設計資料。設計資料包含由若干層之一堆疊構成之一互連結構,其中每一層含有數個構件,諸如金屬線。在操作404中,選擇APR功能之一基本操作。基本操作可包含以下各項中之至少一者:一平面規劃操作、一安置操作、一時脈樹合成操作、一佈線操作及一後佈線操作。隨後,執行一資源規劃操作。在操作406中,個別地指派該等層中之每一者之一分格大小。在操作408中,基於各別分格大小而執行針對每一層之一基於分格之構件分配。在操作410中,基於該基於分格之構件分配而更新設計資料。
在操作412中,判定是否完成APR功能。若係肯定的,則設計流程400以後續功能(諸如參考圖1所闡述及圖解說明之設計流程100之階段160或170)繼續進行。若判定並未執行APR功能之所有必要基本操作,則流程返回至操作404且選擇APR功能之另一操作。
圖5係根據某些實施例之實施佈局設計之一系統500之一示意圖。系統500包含一處理器501、一網路介面503、一輸入/輸出(I/O)裝置505、一儲存裝置507、一匯流排508及一記憶體509。匯流排508將網路介面503、I/O裝置505、儲存裝置507、記憶體509及處理器501彼此耦合。
處理器501經組態以執行程式指令,該等程式指令包含經組態以執行如參考本揭露之各圖所闡述及圖解說明之方法之一工具。因此,該工具經組態以執行諸如以下各項之步驟:提供設計規範、產生一電路之一接線對照表、執行預佈局模擬、產生用於一佈局之一設計資料、執行資源規劃、執行安置與佈線操作、執行LVS、藉由併入參數而產生一經合併接線對照表、執行後佈局模擬及驗證後佈局模擬結果。
網路介面503經組態以存取程式指令及透過一網路(未展示)而遠端儲存之由該等程式指令存取之資料。
I/O裝置505包含經組態以達成與系統500之使用者互動之一輸入裝置及一輸出裝置。在某些實施例中,輸入裝置包括(舉例而言)一鍵盤、一滑鼠及其他裝置。輸出裝置包括(舉例而言)一顯示器、一印表機及其他裝置。
儲存裝置507經組態以用於儲存程式指令及由該等程式指令存取之資料。在某些實施例中,儲存裝置507包括一非暫時性電腦可讀儲存媒介,舉例而言,一快閃記憶體、一磁碟、一光碟或諸如此類。
記憶體509經組態以儲存將由處理器501執行之程式指令及由該等程式指令存取之資料。在某些實施例中,記憶體509包括一隨機存取記憶體(RAM)、某一其他揮發性儲存裝置、一唯讀記憶體(ROM)及某一其他非揮發性儲存裝置之任何組合。
根據一實施例,一種方法包含:存取一積體電路(IC)之一設計資料,該設計資料包括複數個層。針對該等層中之每一者,該方法包含:基於該各別層之一佈局性質而指派該各別層之一分格大小;及根據該所指派分格大小而執行一基於分格之構件分配。該方法亦包含:根據該基於分格之構件分配而更新該設計資料。由至少一個處理器進行該等存取、指派、執行及更新步驟中之至少一者。
根據一實施例,一種系統包含:一或多個處理器及一或多個程式,該一或多個程式包含指令,該等指令在由該一或多個處理器執行時致使該系統執行以下步驟:存取一積體電路(IC)之一設計資料,該設計資料包括複數個層;針對該等層中之每一者,執行:基於該各別層之一佈局性質而指派該各別層之一分格大小;及根據該所指派分格大小而執行一基於分格之構件分配。該等步驟亦包含:根據該基於分格之構件分配而更新該設計資料。
根據一實施例,一種非暫時性電腦可讀儲存媒介包括指令,該等指令在由一處理器執行時執行以下步驟:存取一積體電路(IC)之一設計資料,該設計資料包括複數個層;針對該等層中之每一者,執行:基於該各別層之一佈局性質而指派該各別層之一分格大小;及根據該所指派分格大小而執行一基於分格之構件分配。該等步驟亦包含:根據該基於分格之構件分配而更新該設計資料。
前述內容概述數個實施例之構件,使得熟習此項技術者可較佳地理解本揭露之態樣。熟習此項技術者應瞭解,其可容易地使用本揭露作為設計或修改用於實施與本文中介紹之實施例相同之目的及/或達成與該等實施例相同之優點之其他程序及結構之一基礎。熟習此項技術者亦應認識到,此等等效構造並不背離本揭露之精神及範疇,且其可在不背離本揭露之精神及範疇之情況下在本文中做出各種改變、替換及更改。
100‧‧‧設計流程
110‧‧‧系統設計階段/階段
120‧‧‧邏輯設計階段/階段
130‧‧‧合成階段
140‧‧‧預佈局模擬階段/階段
150‧‧‧安置與佈線開發階段/安置與佈線階段/階段
160‧‧‧參數提取階段/階段
170‧‧‧後佈局模擬階段/階段
180‧‧‧階段
190‧‧‧階段
191‧‧‧階段
192‧‧‧階段
200‧‧‧自動安置與佈線功能
202‧‧‧設計資料表示/設計資料
204‧‧‧設計套組
212‧‧‧平面規劃操作/操作/平面規劃操作階段
214‧‧‧安置操作/操作
216‧‧‧時脈樹合成操作/操作
218‧‧‧佈線操作/操作
220‧‧‧後佈線操作/操作
230‧‧‧資源規劃操作
300‧‧‧佈局
302‧‧‧電晶體層
303‧‧‧互連結構
304‧‧‧第一金屬層/金屬層
306‧‧‧第二金屬層/金屬層
308‧‧‧第三金屬層/金屬層
400‧‧‧設計流程
402‧‧‧操作
404‧‧‧操作
406‧‧‧操作
408‧‧‧操作
410‧‧‧操作
412‧‧‧操作
500‧‧‧系統
501‧‧‧處理器
503‧‧‧網路介面
505‧‧‧輸入/輸出裝置
507‧‧‧儲存裝置
508‧‧‧匯流排
509‧‧‧記憶體
L1‧‧‧分格長度
L2‧‧‧分格長度
L3‧‧‧長度/分格長度
M3‧‧‧金屬線/水平金屬線
M4‧‧‧金屬線
M11‧‧‧分段/金屬線分段
M12‧‧‧分段/金屬線分段/線分段
M13‧‧‧分段/金屬線分段/線分段
M14‧‧‧分段/金屬線分段/線分段
M21‧‧‧分段/金屬線分段
M22‧‧‧分段/金屬線分段
M23‧‧‧分段/金屬線分段
W1‧‧‧分格寬度
W2‧‧‧分格寬度
W3‧‧‧寬度/分格寬度
依據與附圖一起閱讀之以下詳細描述最佳地理解本揭露之態樣。應注意,根據工業中之標準實踐,各種構件未按比例繪製。實際上,為論述清晰起見,可任意地增加或減小各種構件之尺寸。 圖1係圖解說明根據某些實施例之一積體電路(IC)之一設計流程之一示意圖。 圖2係根據某些實施例之一自動安置與佈線功能之一示意圖。 圖3A至圖3D係根據某些實施例之針對一資源規劃操作之一佈局之示意圖。 圖4係圖解說明根據某些實施例之一IC之一設計流程之一示意圖。 圖5係根據某些實施例之實施佈局設計之一系統之一示意圖。
Claims (1)
- 一種方法,其包括: 存取一積體電路(IC)之一設計資料,該設計資料包括複數個層; 針對該等層中之每一者,執行: 基於該各別層之一佈局性質而指派該各別層之一分格大小;及 根據該所指派分格大小而執行一基於分格之構件分配;以及 根據該基於分格之構件分配而更新該設計資料, 其中由至少一個處理器進行該等存取、指派、執行及更新步驟中之至少一者。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762589188P | 2017-11-21 | 2017-11-21 | |
US62/589,188 | 2017-11-21 | ||
US15/961,181 | 2018-04-24 | ||
US15/961,181 US10671788B2 (en) | 2017-11-21 | 2018-04-24 | Method, system, and storage medium of resource planning for designing semiconductor device |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201926217A true TW201926217A (zh) | 2019-07-01 |
Family
ID=66534486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107141117A TW201926217A (zh) | 2017-11-21 | 2018-11-19 | 針對設計半導體裝置的資源規劃的方法、系統及儲存媒介 |
Country Status (3)
Country | Link |
---|---|
US (3) | US10671788B2 (zh) |
CN (1) | CN110020454A (zh) |
TW (1) | TW201926217A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259615B (zh) * | 2020-01-09 | 2023-06-06 | 中国人民解放军国防科技大学 | 一种基于原有布图规划的自动化物理单元***方法 |
US11113443B1 (en) * | 2020-06-12 | 2021-09-07 | Taiwan Semiconductor Manufacturing Co., Ltd. | Integrated circuit with thicker metal lines on lower metallization layer |
CN117217165B (zh) * | 2023-11-08 | 2024-01-30 | 芯砺智能科技(江苏)有限公司 | 一种芯片设计前端质量行为的执行方法、装置及设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6507941B1 (en) * | 1999-04-28 | 2003-01-14 | Magma Design Automation, Inc. | Subgrid detailed routing |
KR100363087B1 (ko) * | 2000-04-06 | 2002-12-02 | 삼성전자 주식회사 | 비표준 셀을 포함하는 집적회로의 설계 및 레이아웃 방법및 이를 기록한 기록매체 |
JP5029070B2 (ja) * | 2007-03-02 | 2012-09-19 | 日本電気株式会社 | 集積回路のレイアウト設計支援装置、方法、及びプログラム |
US8466560B2 (en) * | 2010-12-30 | 2013-06-18 | Stmicroelectronics, Inc. | Dummy structures having a golden ratio and method for forming the same |
JP2016105446A (ja) * | 2014-12-01 | 2016-06-09 | 富士通セミコンダクター株式会社 | 設計方法、設計装置及びプログラム |
US10976946B2 (en) * | 2015-11-27 | 2021-04-13 | Hitachi, Ltd. | Method and computer system for managing blocks |
-
2018
- 2018-04-24 US US15/961,181 patent/US10671788B2/en active Active
- 2018-11-19 TW TW107141117A patent/TW201926217A/zh unknown
- 2018-11-20 CN CN201811384427.0A patent/CN110020454A/zh active Pending
-
2020
- 2020-05-07 US US16/869,575 patent/US10956643B2/en active Active
-
2021
- 2021-03-05 US US17/193,396 patent/US11574106B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10671788B2 (en) | 2020-06-02 |
CN110020454A (zh) | 2019-07-16 |
US20190155980A1 (en) | 2019-05-23 |
US20200265180A1 (en) | 2020-08-20 |
US20210192117A1 (en) | 2021-06-24 |
US11574106B2 (en) | 2023-02-07 |
US10956643B2 (en) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kahng et al. | VLSI physical design: from graph partitioning to timing closure | |
US11853676B2 (en) | Layout context-based cell timing characterization | |
Pui et al. | RippleFPGA: A routability-driven placement for large-scale heterogeneous FPGAs | |
US11574106B2 (en) | Method, system, and storage medium of resource planning for designing semiconductor device | |
US11893334B2 (en) | Method for optimizing floor plan for an integrated circuit | |
US11176306B2 (en) | Methods and systems to perform automated Integrated Fan-Out wafer level package routing | |
US10229239B2 (en) | Capacity model for global routing | |
CN111128998A (zh) | 集成电路布局方法 | |
TWI789911B (zh) | 用於電容值提取的系統、方法及儲存媒體 | |
US20210209281A1 (en) | Method and system for improving propagation delay of conductive line | |
US20230252219A1 (en) | Method and system of forming semiconductor device | |
US9293450B2 (en) | Synthesis of complex cells | |
US20230259680A1 (en) | Standard cell characterization for internal conductive line of cell | |
US20230267261A1 (en) | Design system, design method and method of manufacture of semiconductor device | |
US11144700B1 (en) | Grouping nets to facilitate repeater insertion | |
TWI845737B (zh) | 執行自動化整合扇出晶圓級封裝佈線的方法及系統、及其非暫時性電腦可讀媒體 | |
US20230061120A1 (en) | Routing of high-speed, high-throughput interconnects in integrated circuits | |
CN111143767A (zh) | 统计模型的开发方法及开发*** |