TWI817646B - 用於設計上下文感知電路的方法及系統 - Google Patents
用於設計上下文感知電路的方法及系統 Download PDFInfo
- Publication number
- TWI817646B TWI817646B TW111129834A TW111129834A TWI817646B TW I817646 B TWI817646 B TW I817646B TW 111129834 A TW111129834 A TW 111129834A TW 111129834 A TW111129834 A TW 111129834A TW I817646 B TWI817646 B TW I817646B
- Authority
- TW
- Taiwan
- Prior art keywords
- context
- aware
- electrical property
- parameter
- context parameter
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000004458 analytical method Methods 0.000 claims abstract description 38
- 230000003068 static effect Effects 0.000 claims abstract description 37
- 230000035945 sensitivity Effects 0.000 claims abstract description 35
- 238000013461 design Methods 0.000 claims description 68
- 230000000694 effects Effects 0.000 claims description 21
- 238000003860 storage Methods 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 abstract description 5
- 239000011295 pitch Substances 0.000 description 53
- 230000006870 function Effects 0.000 description 10
- 238000000605 extraction Methods 0.000 description 8
- 238000000926 separation method Methods 0.000 description 8
- 230000001934 delay Effects 0.000 description 7
- 238000005352 clarification Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000012512 characterization method Methods 0.000 description 4
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 229920005591 polysilicon Polymers 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000004513 sizing Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000006249 magnetic particle Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/373—Design optimisation
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/18—Chip packaging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
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)
- Microelectronics & Electronic Packaging (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
一種用於設計上下文感知電路的方法。所述方法包括:識別將被設計到上下文感知電路中的至少一個單元;識別對所述上下文感知電路的佈局相關效應有影響的至少一個上下文參數;為每個單元及每個上下文參數產生與所述單元相關聯的多個鄰接環境;針對每個單元及每個上下文參數,通過在所述多個鄰接環境下產生所述單元的多個電性質值而估測所述單元的至少一個電性質對所述上下文參數的敏感度;以及基於每個單元的所述至少一個電性質的所述敏感度且基於至少一個預定閾值,判斷每個上下文參數是否是用於所述上下文感知電路的靜態分析的關鍵上下文參數。
Description
在本發明的實施例中闡述的技術大體來說涉及電路設計,且更具體來說,涉及用於設計上下文感知電路的方法。
積體電路的現代設計程序廣泛使用模塊化組件。電路設計者通常在暫存器傳送階層(register-transfer level,RTL)生成設計描述。RTL源描述(例如,外理羅格(Verilog)代碼)被編譯成“單元(cell)”的例子。所述單元是電路的基本構件,例如閘或記憶體位元單元(memory bit cell)。單元實施邏輯或其他電子功能。各種代工廠(foundries)及獨立的單元庫供應商(cell library vendor)提供標準單元庫。這些庫中的單元已經過建模且取得資格,可用於特定的積體電路技術。電子設計自動化(Electronic Design Automation,EDA)工具可通過將所選擇的標準單元佈局在積體電路(integrated circuit,IC)平面圖(floor plan)中的恰當位置處、並對各種單元之間的互連進行佈線以產生IC佈局來執行自動佈局及佈線(automatic place and route,APR)。在產生佈局後,執行一系列驗證及驗收程序(verification and acceptance procedure)。當設計已通過其驗證程序時,在設計被定案(taped out)之前執行簽核(signoff)。
IC設計者使用在設計給定IC時可用的標準單元庫來設計電路。當前的標準單元庫假定固定的表徵環境(characterization environment),並為每個單元提供標準電信息。然而,給定的單元可能會用於不同的環境或上下文中。傳統方法預先表徵所有可能的標準單元鄰接環境(abutment environment),這是不實際的,因為時間複雜性高。雖然可提取標準單元鄰接環境來進行佈局後表徵(post layout characterization),但所述方式非常耗時,並且在具有大量閘數(例如,數百萬個)的設計中不切實際。此外,為了保護其知識產權,IC設計者可能不想向其顧客公開其詳細佈局信息。
因此,現有的電路設計不能完全令人滿意地克服上述缺點。
本發明實施例提供一種用於設計上下文感知電路的方法,包括:識別將被設計到所述上下文感知電路中的至少一個單元;識別對所述上下文感知電路的佈局相關效應有影響的至少一個上下文參數;為所述至少一個單元的每個單元及所述至少一個上下文參數的每個上下文參數產生與所述單元相關聯的多個鄰接環境;針對所述至少一個單元的每個單元及所述至少一個上下文參數的每個上下文參數,通過在所述多個鄰接環境下產生所述單元的多個電性質值而估測所述單元的至少一個電性質對所述上下文參數的敏感度;以及基於所述至少一個單元的每個單元的所述至少一個電性質的所述敏感度且基於至少一個預定閾值,判斷所述至少一個上下文參數的每個上下文參數是否是用於所述上下文感知電路的靜態分析的關鍵上下文參數。
以下參照附圖對本公開的各種示例性實施例進行闡述,以使所屬領域中的普通技術人員能夠理解並使用本公開。如對所屬領域中的普通技術人員將顯而易見,在閱讀本公開之後,可在不背離本公開的範圍的條件下對本文中所述的實例作出各種改變或潤飾。因此,本公開並非僅限於本文中所闡述及所示出的示例性實施例及應用。另外,本文中所公開的方法中的步驟的具體次序和/或層級僅為示例性方法。可基於設計偏好而在本公開的範圍內對所公開的方法或程序的步驟的具體次序或層級進行重新排列。因此,所屬領域中的普通技術人員應理解,本文中所公開的方法及技術是以樣本次序呈現各種步驟或動作,且除非另外明確說明,否則本公開並非僅限於所呈現的具體次序或層級。
此外,為易於說明,本文中可能使用例如“在...之下(beneath)”、“在...下方(below)”、“下部的(lower)”、“在...上方(above)”、“上部的(upper)”等空間相對性用語來闡述圖中所示的一個元件或特徵與另一(其他)元件或特徵的關係。所述空間相對性用語旨在除圖中所繪示的取向外還囊括器件在使用或操作中的不同取向。裝置可具有其他取向(旋轉90度或處於其他取向),且本文中所使用的空間相對性描述語可同樣相應地進行解釋。除非另外明確闡述,否則例如“附接(attached)”、“固定(affixed)”、“連接(connected)”及“互連(interconnected)”等用語是指其中結構直接地或通過中間結構間接地彼此固定或附接的關係以及指可移動的或剛性的附接或關係兩者。
除非另有定義,否則本文使用的所有用語(包括技術及科學用語)具有與本公開所屬領域的普通技術人員通常理解的含義相同的含義。還應理解,用語(例如那些在常用詞典中定義的用語)應被解釋為具有與其在相關技術及本公開的上下文中的含義一致的含義,且除非在本文中明確定義,否則不應以理想化或過於正式的意義來解釋。
現在將詳細參考本公開的當前實施例,這些實施例的實例在附圖中示出。在圖式及說明書中盡可能使用相同的參考編號來指代相同或相似的部件。
本公開提供用於上下文感知電路設計的系統及方法,以允許設計簽核以簡化及安全的格式感知單元上下文,以保護知識產權(intellectual property,IP),同時保持更快速及準確地評估電路電性質的波動(例如,洩漏、功率或定時信息)的能力。在一個實施例中,所公開的系統可在自動佈局及佈線(APR)或簽核階段期間自適應性地調諧電性質信息,感知每個單元的實際周圍環境,以便用最少的關鍵上下文信息進行準確的設計簽核。
本公開提供一種打開及關閉佈局效應的方法,以獲得電性質響應於不同的佈局或不同的鄰接環境的敏感度。基於所述敏感度,識別決定性的佈局效應或關鍵上下文參數以進行提取。基於所提取的關鍵上下文參數,計算電性質值以產生參數化的上下文感知降額表,所述降額表用於在APR或簽核階段期間關於佈局效應的定時和/或功率估測。基於參數化的上下文感知降額表的電路設計基於查找和/或插值提供對真實情形中的鄰接環境的更好適應,而不是僅考慮最好及最壞情形中的鄰接環境。
所公開的方法可幫助設計者在定案階段之前識別佈局中的弱點,此在晶片設計水平上、例如在功率或面積消耗方面改善了整體性能。此外,所公開的方法可使向終端用戶的IP信息暴露最小化,同時保持關於佈局效應的電性質估測的高精度,此減少了由於最壞或最好情形的標準單元表徵而導致的任意容限不準確性(arbitrary margin inaccuracy)。
圖1示出根據本公開的一些實施例,用於產生上下文感知降額表的方法100。如圖1所示,方法100包括基於敏感度的關鍵上下文識別及澄清112,隨後是關鍵上下文參數提取114。執行基於敏感度的關鍵上下文識別及澄清112以基於電性質對標準單元的子集110中的單元的上下文參數的敏感度來識別上下文參數是否是關鍵上下文參數。執行關鍵上下文參數提取114以提取在操作112處識別的關鍵上下文參數。
根據各種實施例,上下文參數可包括與以下相關的信息:與單元相關聯的有源區(active region,AR)間隔效應、與單元相關聯的多晶矽節距(poly pitch)或多晶矽長度。根據各種實施例,在本文中提到的電性質可包括與以下相關的信息:上升延遲、下降延遲、約束、洩漏或與單元相關聯的功率。在一個實施例中,判斷上下文參數是否是關鍵上下文參數包括:為每個單元判斷所述單元的電性質的敏感度是否超過預定閾值;以及當任一單元的電性質的敏感度超過預定閾值時,將上下文參數識別為關鍵上下文參數。
如圖1所示,方法100包括上下文感知設計包產生(context aware design kit generation)122及上下文感知降額表130。基於標準單元120及所提取的關鍵上下文參數,執行上下文感知設計包產生122以產生一個或多個上下文感知單元庫。可基於在操作114處提取的關鍵上下文參數及在122處產生的一個或多個上下文感知單元庫來產生上下文感知降額表130。以下將示出對圖1中的這些操作的詳細說明。
圖2示出根據本公開的一些實施例,用於收集對佈局相關效應有影響的每個上下文參數的電性質的方法200。在操作210處,收集可能對電路的佈局相關效應(LDE)有影響的多個上下文參數。在操作220處,基於單元佈局數據庫202,為所述多個上下文參數中的一者的各種鄰接環境產生指南。
在一個實施例中,即使佈局相關效應可能需要相對長的距離來飽和(在10到20個多晶矽節距的範圍內),標準單元庫也可被設計成使得APR中的任何給定單元僅看到比10到20個多晶矽節距小得多的子集。在闡述到器件的左右側的AR間隔的AR間隔效應(AR spacing effect,ARSE)的情形中,可設計標準單元庫,使得任何給定的單元將僅看到小於2 CPP的AR間隔。各種鄰接環境的指南闡述了在實際的APR使用中可看到的佈局相關效應的實際範圍。此可有助於縮小佈局相關效應的範圍,並有助於使降額表更集中於最相關的APR鄰接範圍。根據各種實施例,佈局相關效應可為閾值電壓、定時延遲或依賴於佈局的其他電路效應。
在操作230處,為來自單元佈局數據庫202的所述多個上下文參數中的一者及來自單元網表數據庫204的單元中的一者產生各種鄰接環境。在一個實施例中,單元網表是示出具有電晶體連通性(transistor connectivity)及電晶體大小調整(transistor sizing)的輸入及輸出引腳的抽象視圖。此抽象視圖可用於RC提取,以創建交叉參考網名稱(cross reference net name)。
然後在操作240處,針對特定上下文參數及特定單元的各種鄰接環境來估測所關注的單元的電性質。然後在操作250處,判斷是否覆蓋了所有單元進行電性質估測。如果覆蓋了所有單元,則程序繼續到操作260;如果並非覆蓋了所有單元,則程序進行到操作255以繼續前進到下一單元,並返回操作230以產生下一單元的各種鄰接環境。
在操作260處,判斷是否覆蓋了所有上下文參數進行電性質估測。如果覆蓋了所有上下文參數,則程序繼續到操作270;如果並非覆蓋了所有上下文參數,則程序進行到操作265以繼續前進到下一上下文參數,並返回操作220以基於下一上下文參數產生各種鄰接環境。以這種方式,收集了對LDE有影響的每個上下文參數的電性質。在操作270處,程序繼續前進到關鍵上下文參數識別及提取,稍後將參照圖4闡述其詳細操作。
圖3示出根據本公開的一些實施例,用於關鍵上下文參數識別及澄清的各種鄰接環境。如圖3所示,AR間隔效應被用作示例性上下文參數,關於所述參數收集不同鄰接環境的電性質值,並將所述電性質值與無AR間隔的基線鄰接環境的電性質值進行比較。
所關注的單元301的左側及右側的AR間隔可不同,並且在圖3中考慮了所述兩者。如圖3所示,單元301可為具有電源接地區域305及OD區域306的反相器。單元301被虛擬單元302圍繞,其中在圖3所示的不同鄰接環境中,在相對於單元301的不同位置具有AR間隔303。舉例來說,在圖3所示的鄰接環境312中,AR間隔303僅位於單元301的左側,並且具有等於1的間隔節距,其意指一個單元的間隔距離。在鄰接環境314中,AR間隔僅位於反相器單元的右側,並且具有等於1的間隔節距。在鄰接環境316中,節距等於1的AR間隔位於反相器單元的左右兩側。在圖3的第二列中,除了鄰接環境322、324、326中的AR間隔具有等於2的間隔節距(其意指兩個單元的間隔距離)之外,鄰接環境322、324、326分別類似於鄰接環境312、314、316。按照這種方式,可獲得額外的鄰接環境(圖3中未示出),其中AR間隔的數量擴展到n。
對於圖3所示的每個列出的鄰接環境來說,可運行模擬來估測所關注的單元301的電性質值進行電路設計。在晶片實施期間,所關注的單元301可被在APR階段之前功能未知的其他單元包圍,以形成所關注的單元301的具體鄰接環境。所述具體鄰接環境可與圖3中列出的鄰接環境中的一者相同或相似。因此,可在晶片實施及簽核階段期間識別對應於特定鄰接環境的估測電性質值。
也可對其他所關注的單元執行類似的程序。儘管在圖3中將所關注的單元的左側及右側上的AR間隔用作示例性上下文參數,但在一些實施例中,可將所關注的單元上方及下方的AR間隔用作另一示例性上下文參數。
圖4示出根據本公開的一些實施例,用於關鍵上下文參數識別及提取的方法400。在操作410處,收集對LDE有影響的每個上下文參數的電性質值。在一個實施例中,操作410可包括圖2所示的詳細操作。在圖4中的操作420處,針對上下文參數計算對應於不同鄰接環境的每個電性質值與對應於與所關注的單元相關聯的基線鄰接環境的電性質值之間的比率。舉例來說,如圖3所示,當使用AR間隔作為上下文參數(關於所述參數收集不同鄰接環境的電性質值)時,基線鄰接環境可為在所關注的單元周圍無AR間隔的情形。因此,操作420產生多個比率,所述多個比率中的每一者對應於與單元相關聯的鄰接環境中的一者。
在操作430處,為單元且為上下文參數識別所述多個比率中的最大比率及最小比率。在操作440處,將最大比率及最小比率與預定閾值進行比較。舉例來說,將最大比率與第一預定閾值進行比較;並將最小比率與第二預定閾值進行比較。在操作450處,判斷是否超過所述閾值中的任一者。也就是說,在操作450處檢查兩個條件:最大比率是否大於或等於第一預定閾值,以及最小比率是否小於或等於第二預定閾值。如果滿足任一條件,則程序進行到操作455,以將所述上下文參數識別為關鍵上下文參數。否則,如果不滿足任何條件,則程序進行到操作460。
在操作460處,判斷是否覆蓋了所有上下文參數。如果覆蓋了所有上下文參數,則程序進行到操作470,以基於所有所識別的關鍵上下文參數來配置設計包產生。如果並非覆蓋了所有上下文參數,則程序進行到操作465以繼續前進到下一上下文參數,並返回到操作420以計算下一上下文參數的電性質比率。
此處的電性質值的所述多個比率表示所關注單元的電性質對上下文參數的敏感度。因此,方法400基本上基於所關注單元的電性質的敏感度且基於一些預定閾值來判斷每個上下文參數是否是關鍵上下文參數。
在一個實施例中,可針對從用於設計電路的標準單元的子集中選擇的每個所關注的單元來執行操作420到440。在操作450到455處,當任一所關注的單元滿足與當前上下文參數相關聯的上述閾值條件時,將當前上下文參數識別為關鍵上下文參數。
在一個實施例中,在操作410處,為每個上下文參數收集不同類型的電性質的電性質值。舉例來說,可收集與上升延遲、下降延遲、約束、洩漏及功率相關的值。在這種情形中,可針對每種類型的電性質來執行操作420到440。在操作450到455處,分別關於每一電性質將當前上下文參數評估為關鍵上下文參數。也就是說,方法400可基於所選擇單元的相應電性質的敏感度來判斷每個上下文參數是否分別為每個電性質的關鍵上下文參數。
圖5示出根據本公開的一些實施例的電性質比率的示例性計算。如上所述,可通過判斷對LDE有影響的不同鄰接環境下的單元的不同電性質值、並判斷每個電性質值與基線鄰接環境下的基線電性質值之間的比率來測量電性質的敏感度。在圖5所示的實施例中,所關注的單元是反相器;使用AR間隔效應(ARSE)作為上下文參數的實例,關於所述參數可獲得所關注的反相器單元周圍的不同鄰接環境;並且使用反相器的上升延遲作為要測量的電性質的實例。
如圖5所示,為反相器示出了基線鄰接環境510及LDE受影響的(LDE impacted)鄰接環境520兩者。在基線鄰接環境510中,反相器被虛擬單元包圍,其中在反相器的左側或右側無任何AR間隔。也就是說,在反相器的左右兩側上,反相器的ARSE節距都是0。在LDE受影響的鄰接環境520中,反相器被虛擬單元包圍,其中在反相器的左側具有一個虛擬單元的AR間隔,而在反相器的右側無任何AR間隔。具體來說,在反相器的左側,ARSE節距為1,且在反相器的右側,ARSE節距為0。在這種情形中,可通過在基線鄰接環境510下創建實際鄰接情形來獲得反相器的第一上升延遲;並且可通過在LDE受影響的鄰接環境520下創建實際鄰接情形來獲得反相器的第二上升延遲。也就是說,為測試情形520及510創建鄰接環境,以通過模擬獲得實際延遲。然後可計算兩種情形之間的延遲比率,例如為1.05。
然後,可計算第二上升延遲與第一上升延遲之間的電性質比率,即將從LDE受影響的鄰接環境520估測的第二上升延遲除以從基線鄰接環境510估測的第一上升延遲。如上所述,不同的AR間隔環境可能對所關注的單元具有佈局相關效應。也就是說,不同的AR間隔環境510、520可導致所關注的反相器相對於同一電性質具有不同的值,例如不同的上升延遲。因此,第一上升延遲可能不同於第二上升延遲。在圖5所示的實例中,第二上升延遲是第一上升延遲的1.05倍,即圖5中計算的電性質比率等於1.05。
儘管圖5示出計算一個LDE受影響的鄰接環境(即,ARSE左側節距=1且ARSE右側節距=0)的電性質比率,但可為不同的LDE受影響的鄰接環境(例如,圖3所示不同的AR間隔環境)計算不同的電性質比率。可基於這些電性質比率形成降額表,其中降額表中的每個元素是對應鄰接環境下的單元的電性質的比率。
圖6示出根據本公開的一些實施例,用於產生降額表的算法600的一部分。如圖6所示,分別為單元的兩種電性質(即,反相器的上升延遲及下降延遲)產生兩個降額表610、620。每個降額表包括代表不同ARSE節距環境下的電性質比率的元素。
如圖6所示,在產生每個降額表期間,考慮了ARSE左側節距的三種情形(分別等於0、1、3);並且考慮了ARSE右側節距的三種情形(分別等於0、1、3)。因此,每個降額表具有3x3的結構,共有9個元素,所述9個元素中的每一者對應於所考慮的ARSE左側節距及ARSE右側節距的組合。舉例來說,在圖6所示的上升延遲降額表610中,第一列及第二行的元素是1.05,這是如圖5所示計算的上升延遲比率。上升延遲降額表610中的每個元素是通過將對應於所考慮的ARSE左側節距及ARSE右側節距的相應組合(即,ARSE左側節距=0及ARSE右側節距=0的組合)的上升延遲除以對應於固定基線環境的上升延遲而計算的比率。因此,第一列及第一行的元素是1,因為所考慮的ARSE節距的各組合(即,ARSE左側節距=0及ARSE右側節距=0的組合)與基線環境相同。
在一個實施例中,從每個降額表中識別最大比率及最小比率,並與預定閾值進行比較。舉例來說,圖6中上升延遲降額表的最大比率是1.05,並與第一閾值進行比較;圖6中上升延遲降額表的最小比率是0.9,並與第二閾值進行比較。當最大比率1.05大於或等於第一預定閾值、或者最小比率0.9小於或等於第二預定閾值時,系統將把ARSE節距識別為關於上升延遲的關鍵上下文參數。舉例來說,當第一預定閾值為1.1並且第二預定閾值為0.9時,將ARSE節距識別為關於上升延遲的關鍵上下文參數,因為最小比率0.9等於第二預定閾值0.9。此指上升延遲對ARSE節距的敏感度足夠高,使得ARSE節距成為關於上升節距的關鍵上下文參數。
在另一實施例中,只有當最大比率1.05大於或等於第一預定閾值時,系統才會將ARSE節距識別為關於上升延遲的關鍵上下文參數。在這種情形中,當第一預定閾值為1.1時,不將ARSE節距識別為關於上升延遲的關鍵上下文參數,因為最大比率1.05不大於或等於第一預定閾值1.1。此指上升延遲對ARSE節距的敏感度不夠高,不足以使ARSE節距成為關於上升節距的關鍵上下文參數。
在又一實施例中,只有當最大比率1.05大於或等於第一預定閾值、並且最小比率0.9小於或等於第二預定閾值時,系統才會將ARSE節距識別為關於上升延遲的關鍵上下文參數。在這種情形中,當第一預定閾值為1.1並且第二預定閾值為0.9時,不將ARSE節距識別為關於上升延遲的關鍵上下文參數,因為最大比率1.05不大於或等於第一預定閾值1.1。此指上升延遲對ARSE節距的敏感度不夠高,不足以使ARSE節距成為關於上升節距的關鍵上下文參數。
關於下降延遲降額表620,圖6中下降延遲降額表620的最大比率是1.15,並與第三閾值進行比較;圖6中下降延遲降額表620的最小比率是1.00,並與第四閾值進行比較。當最大比率1.15大於或等於第三預定閾值、或者最小比率1.00小於或等於第四預定閾值時,系統將把ARSE節距識別為關於下降延遲的關鍵上下文參數。舉例來說,當第三預定閾值為1.1並且第四預定閾值為0.9時,將ARSE節距識別為關於下降延遲的關鍵上下文參數,因為最大比率1.15大於第三預定閾值1.1。此指下降延遲對ARSE節距的敏感度足夠高,使得ARSE節距成為關於下降節距的關鍵上下文參數。
在另一實施例中,只有當最大比率1.15大於或等於第三預定閾值時,系統才會將ARSE節距識別為關於下降延遲的關鍵上下文參數。在這種情形中,當第三預定閾值為1.1時,將ARSE節距識別為關於下降延遲的關鍵上下文參數,因為最大比率1.15大於第三預定閾值1.1。在又一實施例中,只有當最大比率1.15大於或等於第三預定閾值且最小比率1.00小於或等於第四預定閾值時,系統才會將ARSE節距識別為關於下降延遲的關鍵上下文參數。在這種情形中,當第三預定閾值為1.1且第四預定閾值為0.9時,不將ARSE節距識別為關於下降延遲的關鍵上下文參數,因為最小比率1.00不小於或等於第四預定閾值0.9。
在一個實施例中,下降延遲的第三預定閾值可不同於上升延遲的第一預定閾值;並且下降延遲的第四預定閾值可不同於上升延遲的第二預定閾值。在一個實施例中,判斷上下文參數是否是每個所關注的單元的關鍵上下文參數。在另一實施例中,一旦將一個上下文參數確定為一個單元的關鍵上下文參數,便將所述上下文參數識別為任何單元的關鍵上下文參數。在又一實施例中,通過在對應於所有所關注的單元(其可為用於設計電路的標準單元的子集)的一種類型的降額表的所有比率中選擇最大比率、並且將所述最大比率與預定閾值進行比較來判斷上下文參數是否是關鍵上下文參數。類似地,也可通過在對應於所有所關注的單元的一種類型的降額表的所有比率中選擇最小比率、並且將所述最小比率與預定閾值進行比較來判斷上下文參數是否是關鍵上下文參數。
圖6中的ARSE節距與所關注的單元左側及右側的AR間隔相關。在一個實施例中,與所關注的單元上方及下方的AR間隔相關的另一ARSE節距也可為將被評估是否是關鍵上下文參數的上下文參數。
在確定上下文參數是關鍵上下文參數時,系統可基於與關鍵上下文參數相關聯的不同鄰接環境並基於對應於不同鄰接環境的比率,為每個單元產生至少一個降額表。舉例來說,當ARSE節距被識別為相對於上升延遲的關鍵上下文參數時,可產生如圖6所示的上升延遲降額表,並在電路設計的APR和/或簽核階段期間提供所述降額表用於電路的靜態分析。如圖6所示,每個降額表可為將與單元相關聯的AR間隔值映射到與單元相關聯的時間延遲值的查找表;並且每個時間延遲比率是對應於相應AR間隔值的時間延遲值與當單元無AR間隔時對應於基線AR間隔值的基線時間延遲值之間的比率。
在一個實施例中,關於每個電性質判斷上下文參數是否是關鍵上下文參數。舉例來說,如圖6所示,可分別相對於上升延遲及下降延遲判斷ARSE節距是否是關鍵上下文參數。在另一實施例中,一旦將一個上下文參數確定為一個電性質的關鍵上下文參數,便將所述上下文參數識別為任何電性質的關鍵上下文參數。
在一個實施例中,例如通過從不同類型的降額表中產生最大比率的組合、並將所述組合與預定閾值進行比較而關於所有電性質判斷上下文參數是否是關鍵上下文參數。所述組合可為總和或平均值。舉例來說,圖6中的兩個降額表中的最大比率1.05及1.15的平均值被計算為1.10,並且等於預定閾值1.1。因此,ARSE節距被識別為關於上升延遲及下降延遲兩者、或者說關於包括上升延遲及下降延遲的總時間延遲的關鍵上下文參數。在這種情形中,通過取圖6所示的兩個降額表中每兩個對應元素的平均值,可為上升延遲及下降延遲兩者產生單個降額表。一般來說,當關於所有電性質將上下文參數確定為關鍵上下文參數時,可基於單元的所有電性質產生單個降額表,並在電路設計的APR和/或簽核階段期間提供所述單個降額表用於電路的靜態分析。
在一個實施例中,在基於敏感度的關鍵上下文識別及澄清操作期間,不需要產生降額表,只要可識別最大比率和/或最小比率並將其與用於關鍵上下文識別的預定閾值進行比較即可。可在識別關鍵上下文參數之後、並且僅關於與所識別的關鍵上下文參數相關聯的鄰接環境產生並提供降額表。
圖7示出根據本公開的一些實施例,在電路設計中產生上下文感知定時庫的示例性流程700。上下文感知定時庫是包括庫中單元的上下文信息(例如,如上所述的上下文感知降額表)的單元庫。如圖7所示,基於數據庫710中標準單元的子集,在操作720處執行鄰接表徵,以識別可能對佈局相關效應有影響的不同上下文參數。數據庫710可具有gds格式的單元及單元網表,單元網表是示出具有電晶體連通性及電晶體大小調整的輸入及輸出引腳的抽象視圖。
這些上下文參數可被稱為候選上下文參數。在操作730處,執行基於敏感度的關鍵上下文識別及分類,以識別候選上下文參數中的關鍵上下文參數。因此,候選上下文參數被分類為關鍵組及非關鍵組。然後,在操作740處提取關鍵上下文參數。
在操作750處,基於標準單元數據庫745產生不同的鄰接環境。在一個實施例中,基於在操作740處提取的關鍵上下文參數來產生不同的鄰接環境。然後在操作760處,對鄰接環境進行表徵以產生上下文感知工具包(context aware kit)。所述工具包包括具有上下文感知降額表的單元庫,以用於在APR及簽核階段期間的電路設計。舉例來說,可基於在定時延遲方面具有最好情形的鄰接環境的標準單元來產生快速庫(fast library)770;並且可基於在定時延遲方面具有最壞情形的鄰接環境的標準單元來產生慢速庫(slow library)780。如上所述,每個單元庫產生有上下文感知降額表,並在APR和/或簽核階段期間提供所述單元庫用於上下文感知靜態定時分析。
一般來說,可相對於單元的任何電性質(例如,定時延遲、功耗、洩漏、約束等)來產生單元庫及上下文感知降額表。因此,單元庫及上下文感知降額表可用於電路的任何靜態分析,例如靜態定時分析或靜態功率分析。
在一個實施例中,電路的上下文感知靜態分析包括:確定與電路相關聯的電性質的基線值;獲得所述電路的設計佈局;基於所述基線值、所述設計佈局及降額表產生所述電性質的上下文感知值;以及基於所述電性質的上下文感知值執行所述電路的靜態分析。如上所述,所述降額表包括與所述電性質對與所述設計佈局相關聯的上下文參數的敏感度相關的信息。可基於電路的輸入轉換及輸出負載來確定電性質的基線值。可基於輸入信號從預定電壓增加到另一預定電壓的轉變時間(transition time)來判斷輸入轉換。
在一個實施例中,產生電性質的上下文感知值包括:提取電路中的單元的至少一個關鍵上下文參數;基於所述電路的設計佈局,為至少一個關鍵上下文參數中的每一者確定與所述單元相關聯的鄰接環境;基於降額表及所述鄰接環境確定電性質比率;以及通過將所述電性質比率與基線值相乘來產生電性質的上下文感知值。如上所述,所述降額表提供用於將單元的鄰接環境映射到相應的電性質比率的查找表。因此,可通過以下中的至少一者來判斷電性質比率:基於鄰接環境搜索降額表;以及基於插值法計算電性質比率。根據各種實施例,可基於連接電路中的多個單元的路徑或圖形來執行靜態分析,以基於電性質的上下文感知值來產生報告。
圖8示出根據本公開的一些實施例,在電路設計中的上下文感知靜態定時分析的示例性流程800。如圖8所示,在操作850處,基於電路的設計網表820及設計佈局830,為路徑或圖形中的每個單元提取關鍵上下文參數。然後在操作860處,基於具有上下文感知降額表810的快速庫及慢速庫、設計網表820、所提取的關鍵上下文參數850及設計互連模型840來執行靜態定時分析。
在一個實施例中,設計網表820及設計互連模型840是APR運行的最終結果。設計網表820闡述了APR塊(APR block)的輸入及輸出引腳以及各種標準單元之間的連通性。設計互連模型840示出用於每個標準單元之間的金屬佈線(metal routing)的寄生RC。
如上所述,靜態定時分析可基於電路的期望設計佈局將每個單元的定時延遲關於所述單元的關鍵上下文參數的敏感度考慮在內,並且通過用從降額表確定的比率來調諧定時延遲的基線值,使用上下文感知降額表來確定定時延遲的上下文感知值。操作860產生一個或多個定時報告870,所述定時報告870可基於電路的期望設計佈局準確地反映所關注的路徑或圖形的定時延遲信息。
圖9示出根據本公開的一些實施例,製作具有佈局設計的積體電路的方法900。在操作910處,為電路的每個單元確定至少一個關鍵上下文參數。在一個實施例中,為電路中的一部分單元確定至少一個關鍵上下文參數。在操作920處,基於與關鍵上下文參數相關聯的鄰接環境,為每個單元產生至少一個降額表。在操作930處,利用至少一個降額表來執行電路設計的靜態分析。在操作940處,基於靜態分析產生包括關於定時延遲及最大頻率的信息的定時報告。在操作950處,根據定時報告產生電路佈局。在操作960處,基於電路佈局製作積體電路。圖2、圖4及圖9中的每一者中的操作順序可根據本教示內容的各種實施例來改變。
圖10是根據一些實施例,用於製作具有佈局設計的積體電路的系統1000的方塊圖。系統1000包括一個或多個程控處理器1010。在一些實施例中,佈局設計由兩個或更多個應用程式執行,每個應用程式在單獨的處理器上操作。在其他實施例中,佈局設計的操作都使用一個處理器來執行。儘管圖10示出將各種任務分配到具體模塊,但此僅為一個實例。可將所述各種任務指派到不同的模塊,以改善性能或改善程式化的容易度。
在此實例中,系統1000包括電子設計自動化(“EDA”)工具,所述工具可包括佈局及佈線工具1012。EDA工具是通過從非瞬態電腦可讀儲存媒體1020檢索所儲存的程式指令並在通用處理器1010上執行這些指令而形成的專用電腦。因此,指令將處理器1010的邏輯電路配置為充當EDA工具。非瞬態電腦可讀儲存媒體1020的實例包括但不限於硬碟驅動器(hard disk drive,HDD)、唯讀記憶體(“read only memory,ROM”)、隨機存取記憶體(“random access memory,RAM”)、快閃記憶體等。有形的、非瞬態機器可讀儲存媒體1020被配置成儲存由佈局及佈線工具1012產生的數據。佈局及佈線工具1012的路由器能夠從媒體1020接收所儲存的佈局1026作為電路設計的模板。路由器1012可配備有一組用於佈局設計的默認IC設計規則1022及技術文件1024。
根據各種實施例,系統1000還可包括:上下文分析器1014,被配置用於基於與電路的每個單元的關鍵上下文參數相關聯的鄰接環境來判斷關鍵上下文參數並產生降額表;以及佈局調整模塊1016,被配置用於利用降額表來調整晶片位置及個別單元或塊,以產生電路佈局及相應的定時報告。新設計的佈局可儲存在非暫時性機器可讀儲存媒體1020中。系統1000還可包括製作工具1040,其可以物理方式將經調整的佈局實施於積體電路中。
如圖10所示,系統1000還包括輸入/輸出(input/output,I/O)1030,其被配置成接收輸入並將輸出發送到外部電路。輸入/輸出1030通過匯流排1002電連接到一個或多個程控處理器1010、記憶體1020及製作工具1040。
在一些實施例中,公開了一種設計上下文感知電路的方法。所述方法包括:識別將被設計到所述上下文感知電路中的至少一個單元;識別對所述上下文感知電路的佈局相關效應有影響的至少一個上下文參數;為所述至少一個單元的每個單元及所述至少一個上下文參數的每個上下文參數產生與所述單元相關聯的多個鄰接環境;針對所述至少一個單元的每個單元及所述至少一個上下文參數的每個上下文參數,通過在所述多個鄰接環境下產生所述單元的多個電性質值而估測所述單元的至少一個電性質對所述上下文參數的敏感度;以及基於所述至少一個單元的每個單元的所述至少一個電性質的所述敏感度且基於至少一個預定閾值,判斷所述至少一個上下文參數的每個上下文參數是否是用於所述上下文感知電路的靜態分析的關鍵上下文參數。
在相關實施例中,判斷所述至少一個上下文參數的每個上下文參數是否是所述關鍵上下文參數包括:針對所述至少一個單元的每個單元及所述上下文參數,計算所述多個電性質值中的每一者與對應於與所述單元相關聯的基線鄰接環境的電性質值之間的比率以產生多個比率,所述多個比率中的每一者對應於與所述單元相關聯的所述多個鄰接環境中的一者。
在相關實施例中,判斷所述至少一個上下文參數的每個上下文參數是否是所述關鍵上下文參數還包括:針對所述至少一個單元的每個單元及所述上下文參數,識別所述多個比率中的最大比率及最小比率;將所述最大比率與第一預定閾值進行比較;將所述最小比率與第二預定閾值進行比較;以及在以下條件中的至少一者下將所述上下文參數識別為所述關鍵上下文參數:所述最大比率大於或等於所述第一預定閾值,以及所述最小比率小於或等於所述第二預定閾值。
在相關實施例中,所述的方法還包括:在確定所述上下文參數是所述關鍵上下文參數時,針對所述至少一個單元的每個單元,基於與所述關鍵上下文參數相關聯的所述多個鄰接環境且基於對應於所述多個鄰接環境的所述多個比率而產生至少一個降額表。
在相關實施例中,所述至少一個電性質包括多個電性質;以及所述至少一個降額表包括多個降額表,所述多個降額表中的每一者是針對所述單元的所述多個電性質中的相應一者產生的。
在相關實施例中,所述至少一個電性質包括多個電性質;以及所述至少一個降額表是基於所述單元的所有所述多個電性質產生的單個表。
在相關實施例中,所述的方法還包括:在以下電路設計階段中的至少一者期間利用所述至少一個降額表來執行對所述上下文感知電路的所述靜態分析:自動佈局及佈線以及簽核。
在相關實施例中,判斷所述至少一個上下文參數的每個上下文參數是否是所述關鍵上下文參數包括:針對所述至少一個單元的每個單元,判斷所述單元的所述至少一個電性質的所述敏感度是否超過所述至少一個預定閾值;以及當所述至少一個單元的任一單元的所述至少一個電性質的所述敏感度超過所述至少一個預定閾值時,將所述上下文參數識別為所述關鍵上下文參數。
在相關實施例中,所述至少一個上下文參數包括與以下中的至少一者相關的信息:與所述至少一個單元的每個單元相關聯的有源區間隔效應、以及與所述至少一個單元的每個單元相關聯的多晶矽長度。
在相關實施例中,所述至少一個電性質包括與以下中的至少一者相關的信息:與所述至少一個單元的每個單元相關聯的上升延遲、下降延遲、約束、洩漏及功率。
在相關實施例中,所述至少一個單元是被配置用於設計所述上下文感知電路的標準單元的子集;以及所述多個鄰接環境是基於所有所述標準單元而產生的。
在一些實施例中,公開了另一種用於設計上下文感知電路的方法。所述方法包括:確定與所述上下文感知電路相關聯的電性質的基線值;獲得所述上下文感知電路的設計佈局;基於所述基線值、所述設計佈局及降額表產生所述電性質的上下文感知值,其中所述降額表包括與所述電性質對與所述設計佈局相關聯的上下文參數的敏感度相關的信息;以及基於所述電性質的所述上下文感知值執行所述上下文感知電路的靜態分析。
在相關實施例中,基於所述上下文感知電路的輸入轉換及輸出負載來確定所述電性質的所述基線值。
在相關實施例中,產生所述電性質的所述上下文感知值包括:提取所述上下文感知電路中的單元的至少一個關鍵上下文參數;基於所述上下文感知電路的所述設計佈局,為所述至少一個關鍵上下文參數中的每一者確定與所述單元相關聯的鄰接環境;基於所述降額表及所述鄰接環境確定電性質比率;以及通過將所述電性質比率與所述基線值相乘來產生所述電性質的所述上下文感知值。
在相關實施例中,確定所述電性質比率包括以下中的至少一者:基於所述鄰接環境搜索所述降額表;以及基於插值法計算所述電性質比率。
在相關實施例中,所述上下文感知電路的所述靜態分析包括以下中的至少一者:靜態定時分析及靜態功率分析;以及基於連接所述上下文感知電路中的多個單元的路徑或圖形來執行所述靜態分析,以基於所述電性質的所述上下文感知值來產生報告。
在相關實施例中,基於所述降額表及與所述上下文感知電路相關聯的至少一個單元庫來執行所述靜態分析;以及在以下電路設計階段中的至少一者期間執行所述靜態分析:自動佈局及佈線及簽核。
在一些實施例中,公開了一種用於設計上下文感知電路的系統。所述系統包括:用指令集編碼的非暫時性儲存媒體;以及硬體處理器,與所述非暫時性儲存媒體以通信方式耦合,並被配置成執行所述指令集,所述指令集被配置成使所述硬體處理器:識別被配置用於設計所述上下文感知電路的標準單元的子集;基於所述子集中的多個單元的至少一個電性質對至少一個關鍵上下文參數的敏感度,確定所述多個單元的所述至少一個關鍵上下文參數;基於所述多個單元的所述至少一個電性質對所述至少一個關鍵上下文參數的所述敏感度,產生至少一個降額表;以及提供至少一個單元庫以及所述至少一個降額表,用於執行所述上下文感知電路的靜態分析。
在相關實施例中,所述至少一個降額表中的一者是查找表,所述查找表將與所述多個單元中的單元相關聯的有源區間隔值映射到與所述單元相關聯的時間延遲比率。
在相關實施例中,所述時間延遲比率中的每一者是對應於相應的有源區間隔值的時間延遲值與當所述單元無有源區間隔時對應於基線有源區間隔值的基線時間延遲值之間的比率。
儘管以上已闡述了本公開的各種實施例,然而應理解,所述實施例僅作為實例呈現而非用於進行限制。同樣,各個圖式可繪示示例性架構或配置,提供所述示例性架構或配置是為了使所屬領域中的普通技術人員能夠理解本公開的示例性特徵及功能。然而,所屬領域中的普通技術人員應理解,本公開並非僅限於所示出的示例性架構或配置,而是可使用各種替代架構及配置來實施。另外,如所屬領域中的普通技術人員應理解,一個實施例的一個或多個特徵可與本文中所述的另一實施例的一個或多個特徵進行組合。因此,本公開的廣度及範圍不應受上述示例性實施例中的任一示例性實施例限制。
還應理解,本文中每當使用例如“第一”、“第二”等稱謂來提及元件時均不是籠統地限制所述元件的數量或次序。而是,本文中使用這些稱謂作為區分兩個或更多個元件或區分元件的實例的便捷手段。因此,提及“第一元件”和“第二元件”並不意味著僅可採用兩個元件或者第一元件必須以某種方式在第二元件之前。
另外,所屬領域中的普通技術人員應理解,可使用各種不同的技術及技法中的任一種來表示信息及信號。舉例來說,數據、指令、命令、信息、信號、位元及符號(舉例來說,在以上說明中可能提及的)可由電壓、電流、電磁波、磁場或磁性粒子、光學場或光學粒子或其任意組合來表示。
所屬領域中的普通技術人員還應理解,結合本文所公開的各個方面闡述的各種例示性邏輯區塊、模塊、處理器、構件、電路、方法及功能中的任一者可由電子硬體(例如,數字實施形式、模擬實施形式或兩者的組合)、韌體、包含指令的各種形式的程序或設計代碼(為方便起見,在本文中可被稱為“軟體”或“軟體模塊”)或這些技術的任意組合來實施。
為清楚地例示硬體、韌體及軟體的此種可互換性,以上已對各種例示性組件、區塊、模塊、電路及步驟在其功能方面進行了大體闡述。此種功能是被實施為硬體、韌體還是軟體、抑或被實施為這些技術的組合取決於具體應用及施加於整個系統的設計約束條件。所屬領域中的技術人員可針對每一具體應用以各種方式實施所闡述的功能,但此種實施決策不會導致脫離本公開的範圍。根據各種實施例,處理器、器件、組件、電路、結構、機器、模塊等可被配置成執行本文中所述的功能中的一個或多個功能。本文中針對規定操作或功能使用的用語“被配置成”或“被配置用於”是指處理器、器件、組件、電路、結構、機器、模塊、信號等被實體構造成、程式化成、排列成和/或格式化成執行規定操作或功能。
此外,所屬領域中的普通技術人員應理解,本文中所述的各種例示性邏輯區塊、模塊、器件、組件及電路可在積體電路(IC)內實施或由積體電路(IC)執行,所述積體電路可包括數位信號處理器(digital signal processor,DSP)、應用專用積體電路(application specific integrated circuit,ASIC)、現場可程式化閘陣列(field programmable gate array,FPGA)或其他可程式化邏輯器件、或其任意組合。邏輯區塊、模塊及電路還可包括天線和/或收發器,以與網路內或器件內的各種組件進行通信。被程式化成執行本文中的功能的處理器將變成專門程式化的或專用的處理器,且可被實施為計算器件的組合,例如DSP與微處理器的組合、多個微處理器、一個或多個微處理器與DSP核的結合、或者執行本文中所述的功能的任何其他合適的配置。
如果以軟體的形式實施,則所述功能可作為一個或多個指令或代碼儲存在電腦可讀媒體上。因此,本文中所公開的方法或算法的步驟可被實施為儲存在電腦可讀媒體上的軟體。電腦可讀媒體包括電腦儲存媒體及通信媒體二者,包括任何可能夠將電腦程式或代碼從一個地方傳遞到另一地方的任何媒體。儲存媒體可為可由電腦存取的任何可用媒體。作為示例而非限制,這種電腦可讀媒體可包括隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可除程式化唯讀記憶體(electrically erasable programmable read-only memory,EEPROM)、唯讀光碟(compact disk- ROM,CD-ROM)或其他光碟儲存器器件、磁碟儲存器器件或其他磁性儲存器器件、或者可用於以指令或數據結構的形式儲存所期望的程式代碼且可由電腦存取的任何其他媒體。
在本文件中,本文使用的用語“模塊”是指用於執行本文中所述的相關功能的軟體、韌體、硬體以及這些元件的任意組合。另外,為便於論述,各種模塊被闡述為離散模塊;然而,對於所屬領域中的普通技術人員來說顯而易見的是,可將兩個或更多個模塊組合形成單個模塊,由所述單個模塊執行根據本公開的實施例的相關功能。
對本公開中所述的實施方式的各種修改對於所屬領域中的技術人員來說將顯而易見,且在不背離本公開的範圍的條件下,本文中所定義的一般原理也可應用於其他實施方式。因此,本公開並非旨在僅限於本文中所示的實施方式,而是符合與在以下發明申請專利範圍中所述的本文所公開新穎特徵及原理一致的最寬廣範圍。
100、200、400、900:方法
110:子集
112:基於敏感度的關鍵上下文識別及澄清/操作
114:關鍵上下文參數提取/操作
120:標準單元
122:上下文感知設計包產生
130:上下文感知降額表
202:單元佈局數據庫
204:單元網表數據庫
210、220、230、240、250、255、260、265、270、410、420、430、440、450、455、460、465、470、720、730、740、750、760、860、910、920、930、940、950、960:操作
301:所關注的單元/單元
302:虛擬單元
303:AR間隔
305:電源接地區域
306:OD區域
312、314、316、322、324、326:鄰接環境
510:基線鄰接環境/測試情形/AR間隔環境
520:LDE受影響的鄰接環境/測試情形/AR間隔環境
600:算法
610:上升延遲降額表
620:下降延遲降額表
700、800:示例性流程
710:數據庫
745:標準單元數據庫
770:快速庫
780:慢速庫
810:上下文感知降額表
820:設計網表
830:設計佈局
840:設計互連模型
850:操作/所提取的關鍵上下文參數
870:定時報告
1000:系統
1002:匯流排
1010:程控處理器/通用處理器
1012:佈局及佈線工具/路由器
1014:上下文分析器
1016:佈局調整模塊
1020:非瞬態電腦可讀儲存媒體/非瞬態機器可讀儲存媒體/非暫時性機器可讀儲存媒體/記憶體
1022:默認IC設計規則
1024:技術文件
1026:佈局
1030:輸入/輸出(I/O)
1040:製作工具
下面參照以下各圖詳細闡述本公開的各種示例性實施例。提供圖式僅是出於例示目的且這些圖式僅繪示本公開的示例性實施例以有助於讀者理解本公開。因此,圖式不應被視為限制本公開的廣度、範圍或適用性。應注意,為使例示清楚及容易起見,這些圖式並未按比例繪製。
圖1示出根據本公開的一些實施例,用於產生上下文感知降額表(context aware derate table)的方法。
圖2示出根據本公開的一些實施例,用於收集對佈局相關效應(layout dependent effect,LDE)有影響的每個上下文參數的電性質的方法。
圖3示出根據本公開的一些實施例,用於關鍵上下文參數識別及澄清(clarification)的各種鄰接環境。
圖4示出根據本公開的一些實施例,用於關鍵上下文參數識別及提取的方法。
圖5示出根據本公開的一些實施例的電性質比率的示例性計算。
圖6示出根據本公開的一些實施例,用於產生降額表的算法600的一部分。
圖7示出根據本公開的一些實施例,在電路設計中產生上下文感知定時庫(timing analysis)的示例性流程。
圖8示出根據本公開的一些實施例,在電路設計中的上下文感知靜態定時分析的示例性流程。
圖9示出根據本公開的一些實施例,製作具有佈局設計的積體電路的方法。
圖10是根據一些實施例,用於製作具有佈局設計的積體電路的系統1000的方塊圖。
200:方法
202:單元佈局數據庫
204:單元網表數據庫
210、220、230、240、250、255、260、265、270:操作
Claims (10)
- 一種用於設計上下文感知電路的方法,由具有非暫時性儲存媒體及硬體處理器的系統實施,所述硬體處理器與所述非暫時性儲存媒體以通信方式耦合並被配置成執行在所述非暫時性儲存媒體中編碼的指令集,所述方法包括: 識別對所述上下文感知電路的佈局相關效應有影響的至少一個上下文參數; 為將被設計到所述上下文感知電路中的一單元及所述至少一個上下文參數中的每個上下文參數,產生與所述單元相關聯的多個鄰接環境; 針對所述至少一個上下文參數中的每個上下文參數,通過在所述多個鄰接環境下產生所述單元的多個電性質值而估測所述單元的至少一個電性質對所述上下文參數的敏感度; 基於所述敏感度及至少一個預定閾值,從所述至少一個上下文參數中選擇用於所述上下文感知電路的靜態分析的至少一個關鍵上下文參數;以及 基於所述上下文感知電路的所述靜態分析產生所述上下文感知電路的設計佈局。
- 如請求項1所述的方法,其中從所述至少一個上下文參數中選擇所述至少一個關鍵上下文參數包括: 針對所述上下文參數,計算所述多個電性質值中的每一者與對應於與所述單元相關聯的基線鄰接環境的電性質值之間的比率以產生多個比率,所述多個比率中的每一者對應於與所述單元相關聯的所述多個鄰接環境中的一者。
- 如請求項2所述的方法,其中從所述至少一個上下文參數中選擇所述至少一個關鍵上下文參數還包括: 針對所述至少一個上下文參數中的一者,識別所述多個比率中的最大比率及最小比率; 將所述最大比率與第一預定閾值進行比較; 將所述最小比率與第二預定閾值進行比較;以及 在以下條件中的至少一者下將所述上下文參數識別為所述關鍵上下文參數:所述最大比率大於或等於所述第一預定閾值,以及所述最小比率小於或等於所述第二預定閾值。
- 如請求項1所述的方法,其中從所述至少一個上下文參數中選擇所述至少一個關鍵上下文參數包括: 判斷所述單元的所述至少一個電性質的所述敏感度是否超過所述至少一個預定閾值;以及 當所述敏感度超過所述至少一個預定閾值時,將所述上下文參數識別為所述關鍵上下文參數。
- 一種用於設計上下文感知電路的方法,包括: 確定與所述上下文感知電路相關聯的電性質的基線值; 基於所述基線值及降額表產生所述電性質的上下文感知值,其中所述降額表包括與所述電性質對與所述上下文感知電路相關聯的上下文參數的敏感度相關的信息;以及 基於所述電性質的所述上下文感知值執行所述上下文感知電路的靜態分析。
- 如請求項5所述的方法,其中產生所述電性質的所述上下文感知值包括: 提取所述上下文感知電路中的單元的至少一個關鍵上下文參數; 基於所述上下文感知電路的設計佈局,為所述至少一個關鍵上下文參數中的每一者確定與所述單元相關聯的鄰接環境; 基於所述降額表及所述鄰接環境確定電性質比率;以及 通過將所述電性質比率與所述基線值相乘來產生所述電性質的所述上下文感知值。
- 如請求項5所述的方法,其中: 所述上下文感知電路的所述靜態分析包括以下中的至少一者:靜態定時分析及靜態功率分析;以及 所述靜態分析是基於連接所述上下文感知電路中的多個單元的路徑或圖形來執行,以基於所述電性質的所述上下文感知值來產生報告。
- 如請求項5所述的方法,其中: 所述靜態分析是基於所述降額表及與所述上下文感知電路相關聯的至少一個單元庫來執行;以及 所述靜態分析是在以下電路設計階段中的至少一者期間執行:自動佈局及佈線以及簽核。
- 一種用於設計上下文感知電路的系統,包括: 用指令集編碼的非暫時性儲存媒體;以及 硬體處理器,與所述非暫時性儲存媒體以通信方式耦合,並被配置成執行所述指令集,所述指令集被配置成使所述硬體處理器: 識別被配置用於設計所述上下文感知電路的標準單元的子集; 基於所述子集中的多個單元的至少一個電性質對至少一個關鍵上下文參數的敏感度,確定所述多個單元的所述至少一個關鍵上下文參數; 基於所述多個單元的所述至少一個電性質對所述至少一個關鍵上下文參數的所述敏感度,產生至少一個降額表;以及 基於所述至少一個降額表,執行所述上下文感知電路的靜態分析。
- 如請求項9所述的系統,其中: 所述至少一個降額表中的一者是查找表,所述查找表將與所述多個單元中的一個單元相關聯的有源區間隔值映射到與所述單元相關聯的時間延遲比率。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/836,370 | 2020-03-31 | ||
US16/836,370 US11068637B1 (en) | 2020-03-31 | 2020-03-31 | Systems and methods for context aware circuit design |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202247031A TW202247031A (zh) | 2022-12-01 |
TWI817646B true TWI817646B (zh) | 2023-10-01 |
Family
ID=76507626
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111129834A TWI817646B (zh) | 2020-03-31 | 2020-08-04 | 用於設計上下文感知電路的方法及系統 |
TW109126298A TWI777210B (zh) | 2020-03-31 | 2020-08-04 | 用於設計上下文感知電路的方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109126298A TWI777210B (zh) | 2020-03-31 | 2020-08-04 | 用於設計上下文感知電路的方法 |
Country Status (3)
Country | Link |
---|---|
US (3) | US11068637B1 (zh) |
CN (1) | CN113051859B (zh) |
TW (2) | TWI817646B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11531802B2 (en) * | 2019-10-18 | 2022-12-20 | Taiwan Semiconductor Manufacturing Company Ltd. | Layout context-based cell timing characterization |
US11068637B1 (en) * | 2020-03-31 | 2021-07-20 | Taiwan Semiconductor Manufacturing Co., Ltd. | Systems and methods for context aware circuit design |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7882471B1 (en) * | 2005-11-15 | 2011-02-01 | Cadence Design Systems, Inc. | Timing and signal integrity analysis of integrated circuits with semiconductor process variations |
TWI459168B (zh) * | 2011-03-28 | 2014-11-01 | Tokyo Electron Ltd | 可調適之處方選擇器 |
US20170185709A1 (en) * | 2014-06-18 | 2017-06-29 | Arm Limited | Method and apparatus for adjusting a timing derate for static timing analysis |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266792B2 (en) * | 2003-12-16 | 2007-09-04 | Intel Corporation | Automated noise convergence for cell-based integrated circuit design |
US7237212B2 (en) * | 2004-10-22 | 2007-06-26 | Synopsys, Inc. | Method and apparatus for reducing timing pessimism during static timing analysis |
US7668992B2 (en) * | 2005-02-17 | 2010-02-23 | Samsung Electronics Co., Ltd. | Context-based operation reconfigurable instruction set processor and method of operation |
US8543954B1 (en) * | 2007-08-31 | 2013-09-24 | Cadence Design Systems, Inc. | Concurrent noise and delay modeling of circuit stages for static timing analysis of integrated circuit designs |
US20090013292A1 (en) * | 2007-07-03 | 2009-01-08 | Mentor Graphics Corporation | Context dependent timing analysis and prediction |
JP4882902B2 (ja) * | 2007-07-30 | 2012-02-22 | 富士通セミコンダクター株式会社 | シミュレーション方法及びプログラム |
US8677292B2 (en) * | 2009-04-22 | 2014-03-18 | Taiwan Semiconductor Manufacturing Company, Ltd. | Cell-context aware integrated circuit design |
CA2713743A1 (en) * | 2009-08-27 | 2011-02-27 | Solido Design Automation Inc. | Proximity-aware circuit design method |
US8516424B2 (en) * | 2011-09-27 | 2013-08-20 | Lsi Corporation | Timing signoff system and method that takes static and dynamic voltage drop into account |
US8566767B1 (en) * | 2011-11-23 | 2013-10-22 | Cadence Design Systems, Inc. | System and method for parametric intercoupling of static and dynamic analyses for synergistic integration in electronic design automation |
US9245071B2 (en) * | 2012-02-28 | 2016-01-26 | Clk Design Automation, Inc. | Database based timing variation analysis |
US20130239079A1 (en) * | 2012-03-09 | 2013-09-12 | Alexander Tetelbaum | System and method for taking inter-clock correlation into account in on-chip timing derating |
US8661393B2 (en) * | 2012-06-28 | 2014-02-25 | Freescale Semiconductor, Inc. | Method for analyzing placement context sensitivity of standard cells |
US8806413B2 (en) * | 2012-09-17 | 2014-08-12 | Texas Instruments Incorporated | Gradient AOCV methodology enabling graph-based timing closure with AOCV timing models |
US8713501B1 (en) * | 2012-12-07 | 2014-04-29 | Synopsys, Inc. | Dual-box location aware and dual-bitmap voltage domain aware on-chip variation techniques |
US8656331B1 (en) * | 2013-02-14 | 2014-02-18 | Freescale Semiconductor, Inc. | Timing margins for on-chip variations from sensitivity data |
US20150370955A1 (en) * | 2014-06-18 | 2015-12-24 | Arm Limited | Method for adjusting a timing derate for static timing analysis |
US9633159B1 (en) * | 2015-04-30 | 2017-04-25 | Cadence Design Systems, Inc. | Method and system for performing distributed timing signoff and optimization |
US9619609B1 (en) * | 2015-09-23 | 2017-04-11 | Globalfoundries Inc. | Integrated circuit chip design methods and systems using process window-aware timing analysis |
US9754069B2 (en) * | 2015-10-16 | 2017-09-05 | Synopsys, Inc. | Determining slack estimates for multiple instances of a cell in a hierarchical circuit design |
US9836566B2 (en) * | 2015-11-02 | 2017-12-05 | International Business Machines Corporation | Hybrid out of context hierarchical design flow for hierarchical timing convergence of integrated circuits for out of context signoff analysis |
US10460069B1 (en) * | 2015-12-30 | 2019-10-29 | Cadence Design Systems, Inc. | Functional reactive PCells |
US9875333B1 (en) * | 2016-01-19 | 2018-01-23 | Cadence Design Systems, Inc. | Comprehensive path based analysis process |
US10255395B2 (en) * | 2016-03-11 | 2019-04-09 | Synopsys, Inc. | Analyzing delay variations and transition time variations for electronic circuits |
US10521538B2 (en) * | 2016-04-27 | 2019-12-31 | Taiwan Semiconductor Manufacturing Co., Ltd | Method and system for integrated circuit design with on-chip variation and spatial correlation |
US10185795B1 (en) * | 2016-10-11 | 2019-01-22 | Cadence Design Systems, Inc. | Systems and methods for statistical static timing analysis |
US10423742B2 (en) * | 2017-01-24 | 2019-09-24 | Synopsys, Inc. | Method to perform full accuracy hierarchical block level timing analysis with parameterized chip level contexts |
WO2018188081A1 (en) * | 2017-04-14 | 2018-10-18 | Synopsys, Inc. | Pessimism reduction in static timing analysis |
US10878157B2 (en) * | 2017-11-15 | 2020-12-29 | Taiwan Semiconductor Manufacturing Company, Ltd. | Variant cell height integrated circuit design |
US10867109B2 (en) * | 2018-08-21 | 2020-12-15 | Taiwan Semiconductor Manufacturing Company Ltd. | Electromigration evaluation methodology with consideration of both self-heating and heat sink thermal effects |
US10776547B1 (en) * | 2019-10-14 | 2020-09-15 | Cadence Design Systems, Inc. | Infinite-depth path-based analysis of operational timing for circuit design |
US11531802B2 (en) * | 2019-10-18 | 2022-12-20 | Taiwan Semiconductor Manufacturing Company Ltd. | Layout context-based cell timing characterization |
US10990733B1 (en) * | 2020-03-10 | 2021-04-27 | Cadence Design Systems, Inc. | Shared timing graph propagation for multi-mode multi-corner static timing analysis |
US11068637B1 (en) * | 2020-03-31 | 2021-07-20 | Taiwan Semiconductor Manufacturing Co., Ltd. | Systems and methods for context aware circuit design |
-
2020
- 2020-03-31 US US16/836,370 patent/US11068637B1/en active Active
- 2020-08-04 CN CN202010770678.3A patent/CN113051859B/zh active Active
- 2020-08-04 TW TW111129834A patent/TWI817646B/zh active
- 2020-08-04 TW TW109126298A patent/TWI777210B/zh active
-
2021
- 2021-07-08 US US17/370,717 patent/US11816413B2/en active Active
-
2023
- 2023-08-10 US US18/232,742 patent/US20230401369A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7882471B1 (en) * | 2005-11-15 | 2011-02-01 | Cadence Design Systems, Inc. | Timing and signal integrity analysis of integrated circuits with semiconductor process variations |
TWI459168B (zh) * | 2011-03-28 | 2014-11-01 | Tokyo Electron Ltd | 可調適之處方選擇器 |
US20170185709A1 (en) * | 2014-06-18 | 2017-06-29 | Arm Limited | Method and apparatus for adjusting a timing derate for static timing analysis |
Also Published As
Publication number | Publication date |
---|---|
CN113051859B (zh) | 2024-07-02 |
TWI777210B (zh) | 2022-09-11 |
US20230401369A1 (en) | 2023-12-14 |
US11816413B2 (en) | 2023-11-14 |
TW202247031A (zh) | 2022-12-01 |
TW202139049A (zh) | 2021-10-16 |
US11068637B1 (en) | 2021-07-20 |
CN113051859A (zh) | 2021-06-29 |
US20210334447A1 (en) | 2021-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6845494B2 (en) | Method for generating design constraints for modules in a hierarchical integrated circuit design system | |
US9043738B2 (en) | Machine-learning based datapath extraction | |
US10418354B2 (en) | Integrated circuit and computer-implemented method of manufacturing the same | |
US20080127020A1 (en) | System and method for automatic elimination of voltage drop, also known as IR drop, violations of a mask layout block, maintaining the process design rules correctness | |
KR19980063998A (ko) | 집적 회로 설계 방법, 집적 회로 설계용 데이터베이스 장치 및집적 회로 설계 지원 장치 | |
KR101690378B1 (ko) | 상이한 회로 토폴로지를 고려하는 입력 파형 발생을 이용한 셀의 특성화 | |
US10928442B2 (en) | Computer implemented methods and computing systems for designing integrated circuits by considering back-end-of-line | |
TWI817646B (zh) | 用於設計上下文感知電路的方法及系統 | |
US10424518B2 (en) | Integrated circuit designing system and a method of manufacturing an integrated circuit | |
KR20180136801A (ko) | 와이어의 공정 변이를 고려한 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템 | |
TW202002166A (zh) | 整合裝置以及形成整合裝置的方法 | |
US12019972B2 (en) | Method and system of forming semiconductor device | |
US9064081B1 (en) | Generating database for cells routable in pin layer | |
TW202219807A (zh) | 用於電容值提取的系統、方法及儲存媒體 | |
US11270052B2 (en) | System and method of timing characterization for semiconductor circuit | |
US10733353B2 (en) | System and method for forming integrated device | |
CN118251675A (zh) | 用于布局与原理图比较的自动单元黑盒化 | |
JP2001093983A (ja) | 回路設計装置、回路設計方法および回路設計プログラムを格納したコンピュータ読取り可能な記録媒体 |