TW201528017A - 透過考量不同電路拓撲之輸入波形產生來特徵化元件 - Google Patents

透過考量不同電路拓撲之輸入波形產生來特徵化元件 Download PDF

Info

Publication number
TW201528017A
TW201528017A TW103117574A TW103117574A TW201528017A TW 201528017 A TW201528017 A TW 201528017A TW 103117574 A TW103117574 A TW 103117574A TW 103117574 A TW103117574 A TW 103117574A TW 201528017 A TW201528017 A TW 201528017A
Authority
TW
Taiwan
Prior art keywords
input
different
feature
waveforms
component
Prior art date
Application number
TW103117574A
Other languages
English (en)
Other versions
TWI575394B (zh
Inventor
King-Ho Tam
Yen-Pin Chen
Wen-Hao Chen
Chung-Hsing Wang
Original Assignee
Taiwan Semiconductor Mfg
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 Taiwan Semiconductor Mfg filed Critical Taiwan Semiconductor Mfg
Publication of TW201528017A publication Critical patent/TW201528017A/zh
Application granted granted Critical
Publication of TWI575394B publication Critical patent/TWI575394B/zh

Links

Classifications

    • 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
    • G06F30/3315Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • 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
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • 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/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
    • 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)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

在部分實施例中,在藉由至少一處理器執行的一方法中,透過該至少一處理器進行一元件對於一輸入轉換特徵之特徵化,其中,該元件對於該輸入轉換特徵之特徵化係透過考量一預驅動器驅動該元件之不同電路拓撲進行,且該等不同電路拓撲所產生之該輸入轉換特徵相同。

Description

透過考量不同電路拓撲之輸入波形產生來特徵化元件
在一積體電路(integrated circuit,IC)晶片的一設計流程中,不同的階段使用用於在電子電路中估計延遲的靜態時序分析,以例如驗證IC晶片設計的操作的正確性以及優化IC晶片設計的效能。在靜態時序分析中影響延遲計算之準確度的一因素為用於特徵化一元件以供進行延遲計算之一預定輸入波形與在一靜態時序分析所分析的電路中傳播至元件之一傳播輸入波形的相似度。然而,隨著技術的進步,用於電路連結的互連之長度的增加以及在微型化電晶體以及非平面電晶體之米勒(Miller)電容的增加的效果導致傳播輸入波形相對於預定輸入波形之形變。忽略此傳播輸入波形的形變將有損延遲計算的準確度。
2‧‧‧軟體系統
20‧‧‧元件庫創建工具
25‧‧‧靜態時序分析工具
100‧‧‧元件設計流程
102‧‧‧元件設計階段
104‧‧‧元件特徵化階段
150‧‧‧晶片設計流程
152‧‧‧系統設計階段
154‧‧‧邏輯設計階段
156‧‧‧邏輯合成階段
158‧‧‧實體實施階段
160‧‧‧寄生提取階段
162‧‧‧實體驗證及電性簽核階段
192‧‧‧元件電路網表
202‧‧‧波形獲得模組
204‧‧‧元件特徵化模組
244‧‧‧實體電路網表
252‧‧‧時序圖形建立及遍歷模組
254‧‧‧延遲計算模組
502‧‧‧預驅動器
504‧‧‧元件
800‧‧‧時序路徑
802‧‧‧發起暫存器
804‧‧‧擷取暫存器
402,404‧‧‧實施操作302之操作
822‧‧‧電壓探測器
830‧‧‧組合邏輯電路之部分
1300‧‧‧電路
1302‧‧‧NMOS
1450‧‧‧執行波形傳播的相對應方法
302,304,306,308,310‧‧‧實施方法300之操作
500,520,540‧‧‧電路網表
1650‧‧‧用於執行波形傳播之一相對應方法
1900‧‧‧波形圖
2102‧‧‧第一選擇尾部特徵
2104‧‧‧第二選擇尾部特徵
2106‧‧‧第三選擇尾部特徵
2108‧‧‧第四選擇尾部特徵
2110‧‧‧第五選擇尾部特徵
2308‧‧‧實施方法2308之操作
300,2200‧‧‧方法
2500‧‧‧執行波形傳播的方法
2600‧‧‧系統
2602‧‧‧處理器
2604‧‧‧網路介面
2606‧‧‧輸入及輸出(I/O)裝置
2608‧‧‧儲存器
2610‧‧‧匯流排
2612‧‧‧記憶體
702,704,706,708‧‧‧實施圖7之方法之操作
600,620,640,1100‧‧‧輸入波形
1602,1604‧‧‧實施操作304之步驟
810,812,814,816‧‧‧連結元件
1800,2100‧‧‧空間
1802,2112‧‧‧位置
1402,1404,1406‧‧‧實施操作304之步驟
1452,1454,1456‧‧‧實施方法1450之步驟
1656,1658,1660‧‧‧實施方法1450之操作
2502,2504‧‧‧實施方法2500之操作
902,912,914,922,924,926‧‧‧波形圖
242,1200,1500,1700,2000‧‧‧時序庫
1002,1004,1006,1008,1010,1012,1014‧‧‧實施操作302之操作
506,526,8302‧‧‧互連
508,548,8304‧‧‧扇出
2202,2204,2206,2208,2210‧‧‧實施方法2200之操作
2402,2404,2406,2408,2410‧‧‧實施方法2200之操作
26122‧‧‧使用者空間
26124‧‧‧核心
CL‧‧‧集總電容
I lin ‧‧‧放電電流
VDD‧‧‧電源供應器
v,Vin,Vout,Vupper,Vlower,Vtail‧‧‧電壓
Vfinal‧‧‧穩態電壓
Vinitial‧‧‧初始電壓
t‧‧‧時間
tupper,tlower,ttail‧‧‧時間點
R‧‧‧電阻
C‧‧‧電容
本揭露之一或多個實施例之細節闡述於附圖式及以下說明中。本揭露之其餘特徵及優點闡明於實施方式、圖式及申請專利範圍中。
圖1為根據部分實施例之一種元件設計流程及積體電路(integrated circuit,IC)晶片之晶片設計流程的流程圖;圖2為根據部分實施例之一種用於創建一時序庫及使用此時序庫執行時序分析的軟體系統的功能方塊圖; 圖3為根據部分實施例之一種使用考量不同電路拓撲之輸入波形產生來為延遲計算特徵化元件之方法的流程圖,其中不同電路拓撲所產生之輸入轉換特徵相同;圖4為根據部分實施例之一種實施圖3之操作302的方法流程圖;圖5為根據部分實施例之預驅動器驅動元件之不同電路網表的電路示意圖;圖6為根據部分實施例之分別使用預驅動器驅動元件之不同電路網表來建立具有相同的輸入轉換特徵之不同輸入波形的波形示意圖;圖7為根據部分實施例之另一種實施圖3之操作302的方法流程圖;圖8為根據部分實施例所繪示之在晶片中之例示性時序路徑800執行波形收集之示意圖;圖9為根據部分實施例所繪示之從圖7之操作702、704及706所獲得波形的波形示意圖;圖10為根據部分實施例之又一種實施圖3之操作302的方法流程圖;圖11為用於繪示一尾部比率之一例示性輸入波形的波形示意圖;圖12為根據部分實施例之在晶片中收集波形之尾部比率分佈之機率密度函數(probability density function,pdf)的示意圖;圖13為根據部分實施例之用於推導線性Y-MOS方程式之電路的電路示意圖;圖14為根據部分實施例之一種實施圖3之操作304之方法,及一種在相應在對於一實體電路網表執行時序分析期間執行波形傳播的方法的流程圖;圖15為根據部分實施例之用於元件之時序庫的示意圖;圖16為根據部分實施例之另一種實施圖3之操作304的方法及一 種相應在對於一實體電路網表上執行時序分析期間執行波形傳播之方法的流程圖;圖17為根據部分實施例之元件之時序庫的示意圖;圖18為根據部分實施例之對應於不同電路拓撲之輸入波形之一空間的示意圖;圖19為根據部分實施例之分別不具有靈敏度修正、具有高電阻靈敏度修正及進一步具有高扇出靈敏度修正之輸出響應1902、1904及1906的波形示意圖;圖20為根據部分實施例之元件之另一時序庫的示意圖;圖21為根據部分實施例之對應於不同電路拓撲之輸入波形之一空間2100的示意圖;圖22為根據部分實施例之另一方法之流程圖,該方法係使用考量不同電路拓撲之輸入波形產生來為延遲計算特徵化一元件,其中不同電路拓撲所產生之輸入轉換特徵相同;圖23為根據部分實施例之一種實施圖22之操作2202的方法流程圖;圖24為根據部分實施例之另一種實施圖22之操作2202的方法流程圖;圖25為根據部分實施例之一種在對於實體電路網表執行時序分析期間執行波形傳播的方法的流程圖;以及圖26為根據部分實施例之一種用於實施如圖2所描述之軟體系統實施例以及如圖3至圖25所描述之方法實施例的硬體系統的方塊圖。
現使用特定語言描述繪示於圖式中之本揭露之實施例或範例。然而應當理解的是,本揭露之保護範圍並不因此而受限。本揭 露所屬技術領域中具通常知識者可預期發生所描述的實施例中之任何變化和修改及本文件中描述的原理的任何進一步應用係在考量的範圍中。元件符號可能重複使用於該等實施例中,但即使該等實施例共享相同的元件符號,並不需要將一個實施例的一或多個特徵應用於另一實施例中。
部分實施例具有一或下列特點及/或優點之一組合。在部分實施例中,進行一元件對於一輸入轉換特徵之特徵化,其特徵化係透過考量一預驅動器驅動一元件之不同電路拓撲進行,且該等不同電路拓撲所產生之輸入轉換特徵相同。在部分實施例中,藉由進一步考量該等不同電路拓撲來執行波形匹配,該元件的一輸出響應係使用一模型來產生,該模型係使用較佳類似於形變傳播輸入波形的一輸入波形來進行特徵化,而使該輸出響應較為準確。在部分實施例中,藉由進一步考量該等不同電路拓撲來進行靈敏度修正,該元件的一輸出響應經進行關於在該傳播輸入波形之形變效果的修正而更為準確。在部分實施例中,藉由採用考量該等不同電路拓撲所獲得的具有一代表性尾部特徵的一輸入波形,該元件的該輸出響應係使用一模型來產生,該模型係使用較佳類似於形變傳播輸入波形的一輸入波形來進行特徵化,而使該輸出響應較為準確。
圖1為根據部分實施例之一種元件設計流程100及積體電路(integrated circuit,IC)晶片之晶片設計流程150的流程圖。流程100及150利用一或多個電子設計自動化(electronic design automation,EDA)工具以執行在流程100及150中之一或多個階段或操作。
晶片設計流程150旨在從一高階層規格至一實體佈局圖實施IC晶片設計,並且使實體布局圖經過例如功能性、效能及功率之驗證。元件設計流程100提供元件之實體設計及實體設計後元件之模型化以供在晶片設計流程150中作為建構區塊。在部分實施例中,如圖1 所示,元件設計流程100係另外在晶片設計流程150之特定階段之前來執行。在其他實施例中,該元件設計流程100係併入至晶片設計流程150中。
在部分實施例中,元件設計流程100包含一元件設計階段102及一元件特徵化階段104。
於元件設計階段102,根據規格、技術關聯資訊及設計規則,進行電晶體層級元件設計以及元件電路之實體佈局及驗證。
於元件特徵化階段104,特徵化經實體實施之元件以例如創建元件之時序模型及功率模型。在部分實施例中,在一標準元件庫中收集可供使用之元件之電路網表(netlist)、經實體實施之元件及元件之模型。在此及本揭露所使用之術語「電路網表」指的是以圖形為基礎表示及/或以文字為基礎表示的一電路。本揭露之部分實施例可用於元件設計流程100之此階段或其他階段。
在部分實施例中,晶片設計流程150包含一系統設計階段152、一邏輯設計階段154、一邏輯合成階段156、一實體實施階段158、一寄生提取階段160及一實體驗證及電性簽核階段162。
於系統設計階段152,設計者以分別職掌不同特定功能之較大模組來描述IC晶片。再者,設計者透過研究包含設計架構等選項,以考量例如在優化設計規格和成本之間的權衡。IC晶片的時序需求係規範於此階段。
於邏輯設計階段154,使用VHDL或Verilog來在暫存器轉移層級(register transfer level,RTL)描述IC晶片的多個模組,且針對功能準確度驗證該等模組。
於邏輯合成階段156,將IC晶片的該等模組在RTL的描述轉譯為在閘層級的電路網表。在部分實施例中,邏輯閘與暫存器至可供使用之元件之技術映射亦發生於此階段,可供使用之元件係來自元 件設計流程100且在已創建之標準元件庫中。在邏輯合成完成之後,IC晶片設計已完成前端設計製程且在後續階段中進入一後端實體設計製程。
於實體實施階段158,將閘層級電路網表分隔成若干區塊並創建該等區塊之一平面佈置圖。在該等區塊中之邏輯閘及暫存器所映射元件係置放於IC晶片設計之一晶片區域之特定位置。合成一時脈網路並進行該等元件之互連繞線。在部分實施例中,執行IC晶片設計之時序導向佈局及繞線以於較早設計階段為時序收斂而計畫。在此階段之後,IC晶片之一已佈局及繞線之佈局圖(placed-and-routed layout)已創建。
於寄生提取階段160,從IC晶片之佈局圖提取一實體電路網表。此實體電路網表包含由至該等元件之互連所引入的寄生效應,例如寄生電阻及寄生電容。
於實體驗證及電性簽核階段162,對實體電路網表執行時序分析及繞線後(post-route)優化以確保時序收斂。在元件庫中之時序模型係用於在時序分析其間之延遲計算。在本揭露之部分實施例可用於晶片設計流程150之此階段或其他階段。檢查IC晶片之佈局圖以確保其對應至閘層級電路網表且確保沒有例如電性問題及製造時之光刻問題。執行增量修補以達成在設計送交製造之前設計的最終簽核。
圖1之元件設計流程100及晶片設計流程150為例示性。階段或操作之其他順序、階段之分隔或在該等階段之前、之間或之後的額外階段或操作皆在本揭露之應用範圍之內。
圖2為根據部分實施例之一種用於創建一時序庫及使用此時序庫執行時序分析的軟體系統2的功能方塊圖。軟體系統2包含一元件庫創建工具20及一靜態時序分析工具25。元件庫創建工具20經組態以使用考量不同電路拓撲之輸入波形產生來為延遲計算特徵化一元 件,其中不同電路拓撲所產生之輸入轉換特徵相同。元件庫創建工具20係例如用於圖1之元件設計流程100之元件特徵化階段104。元件庫創建工具20包含一波形獲得模組202及一元件特徵化模組204。波形獲得模組202經組態以接收一輸入轉換特徵及例如從元件特徵化模組204接收所欲考量之預驅動器驅動元件之不同電路拓撲之資訊,並獲得不同電路拓撲之一代表性輸入波形,或分別獲得不同電路拓撲之不同輸入波形。元件特徵化模組204經組態以接收一元件電路網表192及來自波形獲得模組202之具有輸入轉換特徵之一或多個輸入波形,且對於一或多個輸入波形進行元件之特徵化,以在一時序庫242中創建用於延遲計算之一或多筆資料。靜態時序分析工具25經組態以接收例如在圖1之寄生提取階段160所獲得的一實體電路網表244,並使用時序庫242對實體電路網表244執行時序分析。靜態時序分析工具25係例如用於在圖1之晶片設計流程150之實體驗證及電性簽核階段162。靜態時序分析工具25包含一時序圖形建立及遍歷(traversing)模組252及一延遲計算模組254。時序圖形建立及遍歷模組252經組態以由實體電路網表制定一時序圖且遍歷此時序圖,以執行用於延遲計算之輸入波形傳播。延遲計算模組254經組態以自元件特徵化模組204接收時序庫242、元件之類型及來自時序圖形建立及遍歷模組252之至元件之一傳播輸入波形,並用以產生元件的一輸出響應以作為至其後元件之一傳播輸入波形。
圖3為根據部分實施例之一種使用考量不同電路拓撲之輸入波形產生來為延遲計算特徵化元件之方法300的流程圖,其中不同電路拓撲所產生之輸入轉換特徵相同。在部分實施例中,方法300執行於圖1之元件設計流程100之元件特徵化階段104。在部分實施例中,方法300藉由在圖2之元件庫創建工具20來執行。於操作302,獲得不同輸入波形,該等不同輸入波形係對應至預驅動器驅動元件之不同電路拓撲,且該等不同電路拓撲所產生之輸入轉換特徵相同。於操作304,使 用不同輸入波形來特徵化元件,以在一元件庫中創建與輸入轉換特徵及不同電路拓撲相關聯的多筆資料(entries)。於操作306,檢查是否有任何列舉在時序庫中之輸入轉換特徵尚未被特徵化。若是,則於操作308中,改變欲被特徵化之輸入轉換特徵至列舉在時序庫中之另一輸入轉換特徵,並使此方法返回至操作302。若否,則於一連結或終止點310,已有建立之元件之時序庫供使用。
在圖3之操作302,建立不同輸入波形,不同輸入波形係對應至預驅動器驅動元件之不同電路拓撲,且不同電路拓撲所產生之輸入轉換特徵相同。圖4為根據部分實施例之一種實施圖3之操作302的方法流程圖。於操作402,接收預驅動器驅動元件之不同電路網表。於操作404,使用預驅動器驅動元件之不同電路網表來建立具有輸入轉換特徵之不同輸入波形。
於圖4之操作402,接收預驅動器驅動元件之不同電路網表。圖5為根據部分實施例之預驅動器驅動元件之不同電路網表500、520及540的電路示意圖。不同電路網表為一平均電路拓撲之電路網表500、一高電阻(R)電路拓撲之電路網表520及一高扇出(fanout,FO)電路拓撲之電路網表540。平均電路拓撲之電路網表500包含預驅動器502、預驅動器502之FO 508及介於預驅動器502與預驅動器502之FO 508之間的互連506。在FO 508之元件504係為欲使用輸入波形進行特徵化之元件,輸入波形為位於元件504之輸入之電壓Vin之變化。在部分實施例中,藉由具有電阻R之電阻器及各具有電容C之二個電容器來模型化一互連區段。每一電容器耦接於電阻器之末端與接地端之間。包含於一互連之互連區段之數目係例如藉由此互連之長度來決定。在電路網表500之平均電路拓撲之示意性實例中,該互連506包含一個互連區段及具有一平均R。此外,對於平均電路拓撲之實例中,FO 508為平均3個FO。高R電路拓撲之電路網表520及高FO電路拓撲之電路網表540除 了分別有互連電阻之差異及FO之差異外,類似於平均電路拓撲之電路網表500。高R電路拓撲之電路網表520中,互連526將FO 508耦接至預驅動器502,互連526例如包含10個互連區段。因此,互連526之電阻為10R。高FO電路拓撲之電路網表540中,預驅動器502之FO 548例如包含60個元件。因此,FO 548為FO 508之20倍。
於圖4之操作404,使用如圖5所示之例示性之預驅動器502驅動元件504之不同電路網表500、520及540來建立具有輸入轉換特徵之不同輸入波形。圖6為根據部分實施例之分別使用預驅動器驅動元件504之不同電路網表500、520及540來建立具有相同的輸入轉換特徵之不同輸入波形600、620及640的波形示意圖。不同輸入波形係為在電路網表500中之平均電路拓撲之輸入波形600、在電路網表520中之高R電路拓撲之輸入波形620及在電路網表540中之高FO電路拓撲之輸入波形640。不同輸入波形600、620及640之每一者在相對應之電路網表500、520及540中之元件504之輸入處係為電壓Vin相對於時間t之一上升轉變。在部分實施例中,對於輸入波形600、620及640之每一者,電壓Vin之上升轉變於時間點tlower到達電壓Vlower,電壓Vlower位在穩態電壓Vfinal及初始電壓Vinitial之間之差異的30%,並於時間點tupper到達電壓Vupper,電壓Vupper位在穩態電壓Vfinal及初始電壓Vinitial之間之差異的70%。輸入波形600、620及640具有相對應之時間點tlower及時間點tupper。因此,輸入波形600、620及640具有相同的輸入轉換特徵,在部分實施例中,輸入轉換特徵為等於tupper-tlower之輸入轉換時間。在部分實施例中,藉由調整電路網表500、520及540相對應的互連506、526及506,使得使用電路網表500、520及540產生的每一輸入波形600、620及640之輸入轉換時間等於彼此。然而,每一輸入波形600、620及640在電壓Vin從電壓Vupper上升至穩態電壓Vfinal之期間具有不同的尾部。高R電路拓撲之輸入波形620相較於平均電路拓撲之輸入波形600而言具有一較 長尾部。高FO電路拓撲之輸入波形640相較於平均電路拓撲之輸入波形600而言亦具有一較長尾部。再者,輸入波形640之尾部具有一扭曲,其係由於耦接於FO 548之元件之輸入與輸出之間的米勒(Miller)電容所導致。在圖6所繪示之實例中,僅顯示上升輸入波形600、620及640。然而,亦可類似地顯示下降輸入波形在分別到達電壓Vupper及電壓Vlower之時間點tupper與tlower之間具有一輸入轉換時間,且自電壓Vlower至穩態電壓Vfinal之間具有一尾部。
雖然輸入波形600、620及640具有相同的輸入轉換波形,但是輸入波形600、620及640之不同尾部導致元件504之不同輸出響應,元件504之不同輸出響應對於其相對應之輸入波形600、620及640具有實質上不同的延遲。當特徵化在時序庫中元件504之時序模型時,若僅考慮不同輸入波形600、620及640中之一者,例如是平均電路拓撲之輸入波形600,則會忽略不同輸入波形600、620及640之不同尾部。從圖1之寄生提取階段160所獲得的實體電路網表中,若元件504係設置於高R或高FO電路拓撲,則至元件504之一實際傳播輸入波形具有一尾部特徵,此尾部特徵不同於用以特徵化元件5004之時序模型之輸入波形600之尾部特徵。使用特徵化時序模型所產生的元件504的輸出響應所具有之延遲實質上不同於使用實際傳播輸入波形進行特徵化的時序模型所產生的實際輸出響應的延遲。因此,為了考量傳播輸入波形的尾部,在如圖11及圖13所描述的部分實施例中,建立於操作404之不同輸入波形600、620及640係利用以特徵化元件之不同時序模型或具有靈敏度之元件504之一時序模型,此些靈敏度係用以修正使用此時序模型所產生的輸出響應。
圖7為根據部分實施例之另一種實施圖3之操作302的方法流程圖。相較於如圖4所描述之方法,其使用具有不同電路拓撲之不同電路網表來產生輸入波形,圖7之方法用以從至少一晶片中收集波形 並從已收集波形中選擇輸入波形。於操作702,從至少一晶片中收集波形,至少一晶片包含代表驅動元件之不同電路拓撲的電路拓撲。於操作704,根據該等波形之輸入轉換特徵而群組來自至少一晶片之波形。於操作706,將具有輸入轉換特徵之波形群組中之波形依據各自之尾部特徵進行排序。於操作708,從具有輸入轉換特徵之波形群組中選擇具有一代表性尾部特徵之波形,並選擇具有在一尾部特徵範圍內之尾部特徵之其餘波形以作為不同輸入波形,其中尾部特徵範圍包含代表性尾部特徵及包含在至少一晶片中之尾部特徵至少50%之發生所在。在部分實施例中,當圖3之方法300對於一不同輸入轉換特徵而返回執行操作302時,並不需要每次重覆執行操作702、704及706。也就是說,操作702、704及706係在包含選擇操作708之操作302之前執行,且每當方法300返回操作302時,選擇操作708係針對不同輸入轉換特徵執行。
在圖7之操作702中,收集來自包含多個電路拓撲之至少一晶片之多個波形,該等電路拓撲代表驅動元件之不同電路拓撲。在此所使用的術語「晶片」指的是例如從圖1之實體驗證及電性簽核階段162所獲得的晶片。在部分實施例中,晶片係為一實體電路網表的形式,且例如可使用SPICE以在實體電路網表中的多個電路節點來產生或探測多個波形。典型地,晶片包含許多時序路徑。圖8為根據部分實施例所繪示之在晶片中之例示性時序路徑800執行波形收集之示意圖。時序路徑800起始於一發起暫存器802而結束於一擷取暫存器804,其中發起暫存器802用以傳送資料至例示性繪示為連結元件810、812、814及816之組合邏輯電路,擷取暫存器804用以自組合邏輯電路擷取資料。在部分實施例中,舉例而言,由SPICE提供的電壓探測器822於暫存器802與元件810之間、元件810與元件812之間、元件812與元件814之間、元件814與元件816之間、元件816與暫存器804之間的多個電路節點來收集波形。其中組合邏輯電路之部分830之更多細節說明如後。 於部分830中,藉由互連8302耦接元件812與元件814。元件812之FO 8304包含元件814及其他元件。電壓探測器822耦接至介於互連8302與元件814之間的電路節點。
在部分實施例中,從關鍵的時序路徑中收集波形。為了使在時序路徑800中之資料傳播成功,介於一時脈週期與發起暫存器802基於一時脈邊緣輸出資料、組合邏輯電路基於發起暫存器802輸出資料而產生資料以及擷取暫存器804自組合邏輯電路擷取資料之時間之間的一時序餘量(timing slack)應為正。時脈週期可能因時脈偏移而降低。時序餘量愈小,則關鍵時序路徑愈多。高電阻及/或高扇出電路拓撲所反應在組合邏輯電路之延遲使得關鍵時序路徑較可能包含設置於高電阻及/或高扇出電路拓撲中的一或多個元件,例如是設置於高電阻及/或高扇出電路拓撲中的元件812及814。因此,從該等關鍵關鍵時序路徑中收集的波形較能代表具有多種R及FO的電路拓撲所產生的波形,例如圖6所繪示之波形600、620及640。
圖9為根據部分實施例所繪示之從圖7之操作702、704及706所獲得波形的波形示意圖。波形圖902繪示為操作702所收集之波形,其細節描述於圖8。於圖7之操作704,根據該等波形之輸入轉換特徵群組來自至少一晶片之波形。波形圖912及914繪示為根據該等波形之輸入轉換特徵所群組之波形群組。舉例而言,在波形圖912中之波形群組具有從電壓Vlower至電壓Vupper為50ps之輸入轉換特徵。波形圖914中之波形群組具有100ps之輸入轉換特徵。
於圖7之操作706,將具有輸入轉換特徵之波形群組中之波形依據各自之尾部特徵進行排序。波形圖922、924及926繪示為依據各自之尾部特徵進行排序之具有50ps之輸入轉換特徵之波形群組。在部分實施例中,尾部特徵為一尾部轉換時間,尾部轉換時間為波形從一電壓位準位於穩態電壓Vfinal與初始電壓Vinitial之間的電壓差的70% 轉換至一電壓位準位於此電壓差的90%的時間。穩態電壓Vfinal與初始電壓Vinitial已於圖6中描述。對於例如波形圖922中之波形之一上升轉換,位於穩態電壓Vfinal與初始電壓Vinitial之間的電壓差的70%及90%的電壓位準分別為電壓Vupper及電壓Vtail。在部分實施例中,具有50ps之輸入轉換特徵之波形群組例如以升序排列順序來進行排序,如波形圖922、924及926中所示分別具有40ps、60ps及90ps之尾部特徵之波形。
於操作708,自具有輸入轉換特徵之波形群組中選擇具有一代表性尾部特徵之波形。在部分實施例中,中位數尾部特徵係選為此代表性尾部特徵。再者,於操作708,亦選擇具有在一尾部特徵範圍內之尾部特徵之其餘波形以作為不同輸入波形,其中尾部特徵範圍包含代表性尾部特徵及包含在至少一晶片中之尾部特徵至少50%之發生所在。具有50ps之輸入轉換特徵之波形群組包含3個例示性波形。在其他實例中,一群組中可呈現更多波形,且可獲得在群組中之波形之尾部特徵之一分佈。除了中位數尾部特徵為此分佈之第50個百分位之外,例如亦可選擇此分佈之第25個百分位及此分佈之第75個百分位。尾部特徵範圍限制於第25個百分位與第75個百分位之間包含此分佈中之至少50%之波形。
圖10為根據部分實施例之又一種實施圖3之操作302的方法流程圖。相較於如圖7所描述之方法,其從至少一晶片中所收集之波形中選擇多種分別具有不同尾部特徵之輸入波形,圖10之方法係藉由擬合線性Y-MOS方程式至從至少一晶片收集之多種不同的尾部特徵來建立輸入波形。於操作1002,從產生於至少一晶片之波形中收集尾部特徵,至少一晶片包含代表預驅動器驅動元件之不同電路拓撲之電路拓撲。於操作1004,從已收集之尾部特徵中選擇一代表性尾部特徵,且亦選擇在一尾部特徵範圍內之其他尾部特徵,其中尾部特徵範圍包含代表性尾部特徵及包含在至少一晶片中之尾部特徵至少50%之發生 所在。於操作1006,藉由擬合一線性Y-MOS方程式至輸入轉換特徵及不同尾部特徵中之一尾部特徵以獲得模擬方程式。於操作1008,解決該等聯立方程式以獲得一經擬合線性Y-MOS方程式。於操作1010,使用經擬合線性Y-MOS方程式來建立輸入波形。於操作1012,檢查是否有任何所選擇之尾部特徵尚未被建立。若是,則於操作1014中,將欲被建立之尾部特徵改變至在所選擇尾部特徵中之另一尾部特徵,且此方法返回至操作1006以建立具有此尾部特徵之一輸入波形。若否,已建立不同輸入波形,圖10之操作302之方法接續圖3之操作304。
於操作1002,從產生於至少一晶片之波形中收集尾部特徵,至少一晶片包含代表預驅動器驅動元件之不同電路拓撲之電路拓撲。在部分實施例中,尾部特徵為一尾部比率(ratio)。圖11為用於繪示一尾部比率之一例示性輸入波形1100的波形示意圖。輸入波形1100為欲被特徵化之元件之輸入處之電壓v相對於時間t之一下降轉換。假設電壓v係相對於輸入波形1100之轉換之範圍進行正規化且具有[0,1]之範圍。在部分實施例中,於時間點tupper,電壓v之下降轉換到達電壓Vupper等於0.7,亦即輸入波形1100之轉換範圍之30%;於時間點tlower,到達電壓Vlower等於0.3,亦即輸入波形1100之轉換範圍之70%;於時間點ttail,到達電壓Vtail等於0.1,亦即輸入波形1100之轉換範圍之90%。藉由考量基於在電壓Vupper與Vlower之間的輸入波形1100的一部分所獲得的一輸入轉換特徵,以及考量基於在電壓Vlower與Vtail之間的輸入波形1100的一部分所獲得的一額外輸入轉換特徵來獲得尾部比率。在部分實施例中,下降輸入波形1100之尾部比率係藉由下列公式來計算:
其中,tlower-tupper為輸入轉換特徵,ttail-tlower為額外輸入轉換特徵。
在圖11中,輸入波形1100為一下降輸入波形。在一上升輸入波形的例子中,首先於時間點tlower,電壓v到達電壓Vlower等於0.3,亦即上升輸入波形之轉換範圍之30%;接著於時間點tupper,到達電壓Vupper等於0.7,亦即上升輸入波形之轉換範圍之70%;於時間點ttail,到達電壓Vtail等於0.9,亦即上升輸入波形之轉換範圍之90%。因此,用於計算一上升輸入波形之尾部比率之公式具有下列形式:
其中,tupper-tlower為輸入轉換特徵,tlower-ttail為額外輸入轉換特徵。
參見圖5及圖6之描述,藉由預驅動器驅動元件所產生的若干輸入波形可具有相同的輸入轉換特徵但具有不同的尾部。藉由考量輸入波形1100之尾部比率,可辨別與輸入波形1100具有相同輸入特徵但由於不同尾部而具有不同額外輸入特徵之另一輸入波形。因此,所接收之不同尾部比率可用以建立具有相同輸入轉換特徵但具有不同尾部之輸入波形。接下來將描述一種用於選擇不同電路拓撲之代表尾部比率之方法。
圖12為根據部分實施例之在晶片中收集波形之尾部比率分佈之機率密度函數(probability density function,pdf)的示意圖。類似於圖7與圖8所描述之實施例,從晶片中之多個時序路徑中收集波形。該等時序路徑通過設置於具有廣泛範圍之互連阻抗及扇出之電路拓撲中之多個元件。因此,已收集波形具有多種不同的尾部比率。已收集波形之尾部比率形成一尾部比率分佈。然後,將此尾部比率分佈轉換為一pdf,其用於反映在尾部比率分佈中不同尾部比率分別之發生機率。於操作1004,從已收集尾部特徵中選擇一代表性尾部特徵,且亦選擇在一尾部特徵範圍內之其他尾部特徵,其中尾部特徵範圍包含代表性尾部特徵及包含在至少一晶片中之尾部特徵至少50%之發生所 在。在部分實施例中,從此pdf中選擇操作1004中之代表性尾部特徵及其他尾部特徵。舉例而言,選擇中位數尾部比率、第1個百分位之尾部比率及第99個百分位之尾部比率以涵蓋代表性尾部比率以及從晶片中所收集之較為極端之尾部比率。在此pdf中對於其他百分位之選擇或者用於選擇尾部比率之其他方法皆在本揭露之預想範圍之內。
於操作1006,將一線性Y-MOS方程式擬合至輸入轉換特徵及不同尾部特徵中之一尾部特徵以獲得模擬方程式。圖13為根據部分實施例之用於推導線性Y-MOS方程式之電路1300的電路示意圖。電路1300包含一NMOS 1302及一集總電容CL。NMOS 1302之源極以及集總電容CL之一端接地,NMOS 1302之汲極以及集總電容CL之另一端係耦接在一起,且NMOS 1302之閘極耦接至一電源供應器VDD。獲得電路1300之一差分方程式,此差分方程式是關於電路1300處於NMOS 1302之閘極完全開啟且NMOS操作於線性區域而使集總電容CL放電之狀態下,其中差分方程式如下所示:
其中,I lin 為從集總電容CL通過NMOS 1302之一放電電流;v為NMOS 1302之汲極至源極電壓;ab分別為差分方程式中第一階及第二階項目之係數;t為時間。該線性Y-MOS方程式可從差分方程式(3)中推得,且如下所示:
為了擬合線性Y-MOS方程式至輸入轉換特徵及尾部比率,在一例示性下降輸入波形中識別三個點(Vupper,tupper)、(Vlower,tlower)及(Vtail,ttail)。然後,以對應於輸入轉換特徵tlower-tupper的點建立聯立方程式之 一者,以對應於該尾部比率之點建立聯立方程式之另一者。因此,可獲得具有兩個未知數ab的兩個方程式。
於操作1008,解決該等聯立方程式以獲得一經擬合線性Y-MOS方程式。藉由解決該等聯立方程式,可解決兩個未知數ab。線性Y-MOS方程式及解決之ab即為擬合至輸入轉換特徵及尾部比率之線性Y-MOS方程式。
於操作1010,使用經擬合線性Y-MOS方程式建立具有輸入轉換波形及尾部特徵之一輸入波形。舉例而言,現在可從經擬合線性Y-MOS方程式中獲得不同時間點之電壓,且可使用不同時間點之電壓來建立一輸入波形。
接著,圖10中用於操作302之方法對於不同之一尾部特徵返回執行擬合線性Y-MOS方程式,並且建立具有輸入轉換特徵及該不同之尾部特徵之一輸入波形,直至在操作1004中選擇的不同尾部特徵之每一者皆經擬合。然後,用於操作302之方法接續圖3之操作304。
於圖3之操作304,使用該等不同輸入波形來特徵化元件以在一元件庫中創建與輸入轉換特徵及不同電路拓撲相關聯的多筆資料。圖14為根據部分實施例之一種實施圖3之操作304之方法,及一種相應在對於一實體電路網表執行時序分析期間執行波形傳播的方法1450的流程圖。於操作1402,在元件之時序庫中建立一完整特徵化模型,完整特徵化模型係與輸入轉換特徵及所建立的不同輸入波形中之一輸入波形相關聯。於操作1404,檢查是否有任何不同輸入波形尚未用於建立一完整特徵化模型。若是,則方法接續操作1406以將欲被建立之輸入波形改變至在不同輸入波形中之另一輸入波形,且返回操作1402。若否,圖14中操作304之方法接續圖3之操作306,檢查是否有欲被特徵化之另一輸入轉換特徵。
在連結點310建立元件之時序庫之後,使用此時序庫執行方法1450。在部分實施例中,於圖1之實體驗證及電性簽核階段162執行方法1450。在部分實施例中,藉由圖2之時序分析工具25執行方法1450。於操作1452,對於實體電路網表執行時序分析,以獲得至元件之輸入之傳播輸入波形。於操作1454,傳播輸入波形之輸入轉換特徵係用以查詢出在時序庫中且在輸入轉換特徵之下之不同輸入波形之資料。於操作1456,將傳播輸入波形與時序庫中之不同輸入波形進行匹配,以查詢出用於產生元件之輸出響應之該等筆資料之一者。
於操作1402,在元件之時序庫中建立一完整特徵化模型,完整特徵化模型係與輸入轉換特徵及所建立的不同輸入波形中之一輸入波形相關聯。一完整特徵化模型為一時序模型,其用於產生使用此輸入波形進行特徵化之元件之一輸出響應,且該輸出響應之使用獨立於使用其他輸入波形進行特徵化之元件庫之其他筆資料。在部分實施例中,時序模型為一電流源模型。圖15為根據部分實施例之元件之時序庫1500的示意圖。在部分實施例中,藉由執行操作1402,在時序庫1500中,建立關於輸入轉換特徵(例如第一輸入轉換特徵)及關於輸入波形(例如平均電路拓撲之波形)之完整特徵化模型。
經由操作1404及1406,操作304之方法接續返回至操作1402,以創建其他輸入波形之完整特徵化模型,例如,在時序庫1500中之第一輸入轉換特徵之下之一高R電路拓撲之波形及一高FO電路拓撲之波形。然後,完成關於第一輸入轉換特徵之特徵化。如圖7及圖10之描述,不同輸入波形用於完整特徵化模型亦可為具有不同尾部特徵之輸入波形。
然後,圖14之操作304之方法繼續進行圖3之操作306。為了進行關於時序庫1500中之第二輸入轉換特徵之特徵化,方法300返回至操作302,以獲得具有第二輸入轉換特徵之不同輸入波形,例如建立 具有第二輸入轉換特徵之平均電路拓撲、高R電路拓撲及高FO電路拓撲之不同輸入波形。然後,方法300繼續至操作1402,以創建具有第二輸入轉換特徵之不同輸入波形之完整特徵化模型。對於另一輸入轉換特徵,則重複上述程序直至在時序庫中欲被特徵化之每一輸入轉換特徵皆已處理。在創建元件之時序庫1500之後,可使用一輸入轉換特徵及一輸入波形作為查詢鍵(key)來查詢模型。
於操作1452,對於一實體電路網表執行時序分析,以獲得至元件之輸入之一傳播輸入波形。為了對於實體電路網表執行時序分析,由實體網路網表制定一時序圖。經由遍歷時序圖之各個節點,接收於節點之輸入之傳播輸入波形傳播至節點之輸出,以作為至下一節點之輸入的傳播輸入波形。假設具有已經使用如圖3至圖13所描述之方法而被特徵化之元件之節點係為進行波形傳播之目前節點。在執行時序分析之程序中,獲得至目前節點之元件之輸入之傳播輸入波形。
於操作1454,至元件之傳播輸入波形之一輸入轉換特徵係用以查詢在時序庫中之輸入轉換特徵下之不同輸入波形之資料。舉例而言,假設傳播輸入波形具有對應於在圖15之時序庫1500之第一轉換特徵之一輸入轉換特徵,則接著查詢出在圖15之時序庫1500之第一轉換特徵下之該等筆資料。
於操作1456,將傳播輸入波形與時序庫中之不同輸入波形進行匹配,以查詢出用於產生元件之一輸出響應之該等筆資料中之一者。舉例而言,當藉由在實體電路網表中之一預驅動器進行驅動時,若元件係設置於一高R電路拓撲,則在時序庫1500中,產生的傳播輸入波形係較佳匹配於高R電路拓撲之波形。因此,高R電路拓撲之波形下的完整特徵化模型經找出以用於產生目前節點的元件的輸出響應。所產生的輸出響應接著用作為下一節點之元件之輸入的一傳播輸入波形。
圖3至圖15所描述之實施例對於不同輸入波形係進行元件之完整特徵化,其中,不同輸入波形係透過使用預驅動器驅動元件之不同電路拓撲所建立,且不同電路拓撲所產生之輸入轉換特徵相同。藉由進一步執行波形匹配以查詢出較接近於傳播輸入波形之輸入波形,其不僅在於輸入轉換特徵之接近,還包括波形的另一部分之接近,例如尾部,因而可減少傳播輸入波形對於用以特徵化元件之輸入波形的形變。因此,元件的輸出響應係使用較佳類似於形變傳播輸入波形的輸入波形來進行特徵化的模型產生,故而較為準確。
圖16為根據部分實施例之另一種實施圖3之操作304的方法及一種相應在對於一實體電路網表執行時序分析期間執行波形傳播之方法1650的流程圖。相較於如圖14所描述之方法,圖16所描述之方法創建不同輸入波形之一者之一完整特徵化模型以及創建不同輸入波形之一部份之靈敏度,以用於修正使用該完整特徵化模型所產生的一輸出響應。於操作1602,在時序庫中建立與輸入轉換特徵及不同輸入波形之一或多個輸入波形相關聯之一或多個完整特徵化模型。於操作1604,在時序庫中分別建立與輸入轉換特徵及不同輸入波形之其他輸入波形相關聯之靈敏度。然後,圖16之操作304之方法繼續進行圖3之操作306,其用以檢查是否有其他輸入轉換特徵欲被特徵化。
在部分實施例中,於連結點310建立元件之時序庫之後,使用時序庫來執行方法1650。在部分實施例中,在圖1之實體驗證及電性簽核階段162執行方法1650。在部分實施例中,藉由圖2之時序分析工具25來執行方法1650。於操作1452,對於一實體電路網表執行時序分析,以獲得元件之一輸入之一傳播輸入波形。於操作1454,傳播輸入波形之一輸入轉換特徵係用以查詢出在時序庫中之輸入轉換特徵之下之不同輸入波形之資料。方法1650之操作1452及1454類似於圖14之方法1450之操作1452及1454,在此省略其細節。於操作1656,將傳播 輸入波形投射至對應於不同電路拓撲之輸入波形之一空間,以決定在該空間中之傳播輸入波形之一位置。於操作1658,使用已查出資料之一者之一完整特徵化模型來產生一輸出響應。於操作1660,使用已查出資料中之至少一靈敏度及在空間中之傳播輸入波形之位置來進行對輸出響應之修正。
於圖16之操作1602,在時序庫中建立與輸入轉換特徵及不同輸入波形之一或多個輸入波形相關聯之一或多個完整特徵化模型。於操作1604,分別建立與輸入轉換特徵及不同輸入波形之其他輸入波形相關聯的靈敏度。圖17為根據部分實施例之元件之時序庫1700的示意圖。在部分實施例中,於操作1602及1604,對於一輸入轉換特徵,例如第一輸入轉換特徵,不同電路拓撲之不同輸入波形係儲存於時序庫1700中,其中不同電路拓撲例如是平均R及平均FO電路拓撲、高R及平均FO電路拓撲與平均R及高FO電路拓撲,並且在不同輸入波形之下建立一或多個完整特徵化模型及靈敏度。在其他實施例中,於操作1602及1604,對於例如是第一輸入轉換特徵之一輸入轉換特徵,計算電路拓撲方面在不同輸入波形上之效果,例如電阻及扇出之效果,且將已計算之結果儲存於時序庫1700中。在不同輸入波形之已計算之結果下創建一或多個完整特徵化模型及靈敏度。為了簡化,以下將完整特徵化模型及靈敏度視為在時序庫1700中之相對應電路拓撲之下。
於圖16之操作1452之在元件之輸入接收一傳播輸入波形之後,於操作1454,傳播輸入波形之一輸入轉換特徵係用以查詢出在時序庫1700中之輸入轉換特徵之下之不同輸入波形之資料。接下來,作為一實例,已查出資料假定為在時序庫1700之第一輸入轉換特徵之條件下。
於操作1656,將傳播輸入波形投射至對應於不同電路拓撲之輸入波形之一空間,以決定在該空間中之傳播輸入波形之一位置。圖18為根據部分實施例之對應於不同電路拓撲之輸入波形之一空間1800的示意圖。於空間1800,對應於平均R及平均FO之電路拓撲之輸入波形位於原點,一高FO軸為輸入波形上之較高FO之效果的一軸,且一高R軸為輸入波形上之較高R之效果的一軸。於圖18所示之例示性實例中,高FO軸及高R軸為正交。在其他實例中(未繪示),空間之該等軸為非正交,因此,在FO之效果之增加或減少伴隨著R的效果的增加或減少。在部分實施例中,藉由執行操作1656,傳播輸入波形係投射至位於空間1800中之一位置1802。位置1802之高FO軸分量反映以平均R及平均FO之輸入波形為參考之高FO之效果,位置1802之高R軸分量反映以平均R及平均FO之輸入波形為參考之高R之效果。
於操作1658,在已查出資料之一者中使用一完整特徵化模型來產生一輸出響應。藉由執行操作1658,使用平均R及平均FO電路拓撲下之完整特徵化模型來產生輸出響應。於操作1660,使用已查出資料中之至少一靈敏度及在空間中之傳播輸入波形之位置來進行對輸出響應之修正。圖19為根據部分實施例之分別不具有靈敏度修正、具有高電阻靈敏度修正及進一步具有高扇出靈敏度修正之輸出響應1902、1904及1906的波形示意圖。在圖19中,一輸出響應為回應於元件之輸入處的一輸入波形,在元件之輸出處的電壓Vout關於時間t之轉換。於操作1658,使用在時序庫1700中之已查出資料中之平均R及平均FO電路拓撲下之完整特徵化模型來產生的輸出響應即為輸出響應1902。在時序庫1700之已查出資料中,伴隨著平均R及平均FO電路拓撲之完整特徵化模型之靈敏度係用以依據不同R及FO對於所傳播的輸入波形的效果修正使用平均R及平均FO電路拓撲之完整特徵化模型產生的輸出響應1902。藉由高R及平均FO電路拓撲的靈敏度及在圖18之 傳播輸入波形之位置1802之高R分量來進行對輸出響應1902的高R修正,因而獲得關於高R之修正後的輸出響應1904。然後,藉由平均R及高FO電路拓撲的靈敏度及傳播輸入波形之位置1802之高FO分量來進行對輸出響應1904的高FO修正,因而獲得關於高R及高FO之修正後的輸出響應1906。
圖20為根據部分實施例之元件之另一時序庫2000的示意圖。相較於如圖17所描述之實施例,在圖20之時序庫2000之不同尾部特徵下分別創建一或多個完整特徵化模型及靈敏度。於操作1602,對於第一輸入轉換特徵,分別使用具有一第二選擇尾部比率及一第五選擇尾部比率的輸入波形來創建兩個完整特徵化模型,例如為第一及第二完整特徵化模型,且將兩個完整特徵化模型儲存於時序庫2000中之該第二選擇尾部比率及該第五選擇尾部比率之下。於操作1604,分別使用具有一第一選擇尾部比率及一第三選擇尾部比率的輸入波形來創建用於修正一輸出響應的靈敏度,該輸出響應係使用第一完整特徵化模型所產生,並且將靈敏度儲存於時序庫2000中之第一選擇尾部比率及第三選擇尾部比率之下。用於修正使用第二完整特徵化模型所產生的一輸出響應的靈敏度係類似地創建與儲存。
於圖16之操作1452中,在元件之輸入處接收一傳播輸入波形之後,於操作1454,該傳播輸入波形之一輸入轉換特徵係用以查詢出在時序庫2000中之輸入轉換特徵之下之不同尾部比率之資料。接下來,作為一實例,已查出資料假定為在時序庫2000之第一輸入轉換特徵之條件下。
於操作1656,將傳播輸入波形投射至對應於不同電路拓撲之輸入波形之一空間,以決定在空間中之傳播輸入波形之一位置。圖21為根據部分實施例之對應於不同電路拓撲之輸入波形之一空間2100的示意圖。尾部特徵之空間2100為一條線。在空間2100中,具有 第二選擇尾部特徵2104及第五選擇尾部特徵2110之輸入波形係以實心圓形來表示,且具有第一選擇尾部特徵2102、第三選擇尾部特徵2106及第四選擇尾部特徵2108之輸入波形係以空心圓形來表示。藉由執行操作1656,傳播輸入波形係投射至位於空間2100中之一位置2112。傳播輸入波形具有接近且稍為高於第三選擇尾部特徵2106之尾部特徵。
於操作1658,使用已查出資料之一者之一完整特徵化模型來產生一輸出響應。因為傳播輸入波形的位置2112最接近第三選擇尾部特徵2106,所以先使用在第二選擇尾部特徵2104之下的第一完整特徵化模型來產生輸出響應。
於操作1660,使用已識別資料中之至少一靈敏度及在空間中之傳播輸入波形之位置來進行對輸出響應之修正。因為位置2112最接近第三選擇尾部特徵2106,所以利用對應於時序庫2000中之第三選擇尾部特徵的靈敏度以及介於傳播輸入波形之位置2112及第二選擇尾部比率之間的距離以進行對於使用第一完整特徵化模型所產生的輸出響應之修正。
如圖3至圖13及圖16至圖21所描述之實施例對於部分之不同輸入波形係進行元件之完整特徵化,對於其他之不同輸入波形則係進行靈敏度之特徵化,其中,不同輸入波形係透過使用預驅動器驅動元件之不同電路拓撲所建立,不同電路拓撲所產生之輸入轉換特徵相同。基於不同輸入波形之空間中之傳播輸入波形之一已投射位置,進一步對僅考量傳播輸入波形之輸入轉換特徵所產生之輸出響應進行靈敏度修正,可考量傳播輸入波形相對於用以特徵化元件之輸入波形之形變效果。因此,元件之輸出響應係針對在傳播輸入波形中之形變效果進行修正,故而較為準確。
圖22為根據部分實施例之另一方法2200之流程圖,該方法係使用考量不同電路拓撲之輸入波形產生來為延遲計算特徵化一元 件,其中不同電路拓撲所產生之輸入轉換特徵相同。相較於圖3之方法300,方法2200使用具有一代表性尾部特徵之一單一波形以作為用於進行關於輸入轉換特徵之元件特徵化之輸入波形。於操作2202,獲得具有輸入轉換特徵及尾部特徵的一輸入波形,其中,尾部特徵係由考量預驅動器驅動元件之不同電路拓撲來進行選擇,不同電路拓撲所產生之輸入轉換特徵相同。於操作2204,使用輸入波形來特徵化元件,以在時序庫中創建與輸入轉換特徵相關聯的一資料。於操作2206,檢查是否有任何列舉在時序庫中之輸入轉換特徵尚未特徵化。若是,則於操作2208中,改變欲被特徵化之輸入轉換特徵至列舉在時序庫中之另一輸入轉換特徵,並使方法返回操作2202。若否,則於一終止點或連結點2210,已有建立之元件之時序庫。除了用於進行元件對於一輸入轉換特徵之特徵化之一代表性波形之外,操作2204及2206類似於圖3之操作302及304。用於實施操作302之不同實施例亦可適用於實施操作2202,如下所描述之更多細節。以下亦提供操作2204之一實施例,其不同於操作304之實施例。操作2206、2208及2210類似於圖3之操作306、308及310,因此省略進一步地描述。
圖23為根據部分實施例之一種實施圖22之操作2202的方法流程圖。相較於如圖7所描述之方法,圖23之方法包含操作702、704、708及2308,操作702、704、708相同於圖7之方法之操作702、704及706,而操作2308不同於圖7之方法之操作708。與圖7之操作相同之圖23之操作在此省略描述。於操作2308,從具有輸入轉換特徵之波形群組中選擇具有一代表性尾部特徵之一波形作為輸入波形。在部分實施例中,類似於圖7之操作708,選擇中位數尾部特徵作為代表性尾部特徵。用於定位中位數尾部特徵之方法已詳細描述於圖9因而在此省略。類似於如圖7所描述之實施例,在部分實施例中,每當圖22之方法2200返回至 執行另一不同輸入轉換特徵之操作2202,圖23之方法之操作702、704及706並不會重複地執行。
圖24為根據部分實施例之另一種實施圖22之操作2202的方法流程圖。相較於圖10所描述之方法,圖24之方法包含操作2402、2404、2406、2408及2410,其中操作2402、2408及2410相同於圖10之方法之操作1002、1008及1010,操作2404及2406不同於圖10之操作1004以及1006。相同於操作1002之操作2402省略描述。於操作2404,從已收集尾部特徵中選擇單一代表性尾部特徵。操作2404與操作1004不同的地方在於從已收集尾部特徵中選擇單一尾部特徵。操作2404之選擇代表性尾部特徵之方法類似於操作1004,因而在此省略。於操作2406,將線性Y-MOS方程式擬合至輸入轉換特徵以及代表性尾部特徵以獲得聯立方程式。相同於操作1008及1010之操作2408及2410省略描述。
圖25為根據部分實施例之一種在對於實體電路網表執行時序分析期間執行波形傳播的方法2500的流程圖。相較於圖14之方法1450及圖16之方法1650,方法2500僅使用輸入轉換特徵以查詢用於產生元件之輸出響應的一相對應資料。於連結點2210創建元件的時序庫之後,使用此時序庫來執行方法2500。在部分實施例中,於圖1之實體驗證及電性簽核階段162執行方法2500。在部分實施例中,藉由圖2之時序分析工具25來執行方法2500。於操作2502,對於實體電路網表執行時序分析,以獲得至元件之輸入的傳播輸入波形。操作2502類似於圖14之操作1452而在此省略。於操作2504,傳播輸入波形的輸入轉換特徵係用以查詢出時序庫中與輸入轉換特徵相關聯的資料,藉以產生元件的輸出響應。除了使用傳播輸入波形的輸入轉換特徵所找到的資料係直接用以產生元件的輸出響應之外,操作2504類似於圖14之操作1454及1456,且省略用於查詢在此輸入轉換特徵下之多筆資料中之一者之波形匹配。
在圖22至25所描述之實施例對於具有代表不同輸入波形之尾部特徵之中位數尾部特徵之輸入波形進行元件之完整特徵化,其中不同輸入波形係使用預驅動器驅動元件之不同電路拓撲可建立,且該等不同電路拓撲所產生之輸入轉換特徵相同。藉由採用中位數尾部特徵以建立用於特徵化元件之輸入波形,傳播輸入波形相對於用以特徵化元件之輸入波形之形變較可能會減少。因此,元件的輸出響應係使用模型來產生,此模型係使用較佳類似於形變傳播輸入波形的一輸入波形來進行特徵化,而使該元件的輸出響應較為準確。
圖26為根據部分實施例之一種用於實施如圖2所描述之軟體系統實施例以及如圖3至圖25所描述之方法實施例的硬體系統2600的方塊圖。系統2600包含至少一處理器2602、一網路介面2604、一輸入及輸出(I/O)裝置2606、一儲存器2608、一記憶體2612以及一匯流排2610。匯流排2610將網路介面2604、I/O裝置2606、儲存器2608以及記憶體2612耦接至處理器2602。
在部分實施例中,記憶體2612包括一隨機存取記憶體(RAM)及/或其他揮發性儲存裝置及/或可讀記憶體(ROM)及/或非揮發性記憶體。記憶體2612包含一核心26124及使用者空間26122,記憶體2612經組態以儲存由處理器2602執行的程式指令以及由程式指令存取的資料。
在部分實施例中,當執行程式指令時,處理器2602經組態以作為如圖2所描述之軟體系統2,或經組態以執行如圖3~圖25所描述之方法。
在部分實施例中,軟體指令儲存於非暫態電腦可讀記錄媒體,例如一或多個光碟、硬碟及非揮發性記憶體裝置。
在部分實施例中,由至少一處理器執行的方法中,透過至少一處理器進行元件對於輸入轉換特徵之特徵化,其中,元件對於 輸入轉換特徵之特徵化係透過考量預驅動器驅動元件之不同電路拓撲進行,且不同電路拓撲所產生之輸入轉換特徵相同。
在部分實施例中,系統包含至少一處理器及至少一記憶體。至少一處理器經組態以執行用以組態至少一處理器為一元件庫創建工具的程式指令。元件庫創建工具經組態以進行元件對於輸入轉換特徵之特徵化,其係透過考量預驅動器驅動元件之不同電路拓撲進行,且不同電路拓撲所產生之輸入轉換特徵相同。至少一記憶體經組態以儲存程式指令。
上述描述包含例示性操作,但這些操作並不需要如所示之順序來執行。根據本揭露之精神與範圍可增加、替換、交換順序及/或適當的移除操作。據此,本揭露之保護範圍當視後附之申請專利範圍所界定者為準及與該等申請專利範圍等效之全部範圍。
302,402,404‧‧‧操作

Claims (10)

  1. 一種藉由至少一處理器執行的方法,其包括:透過該至少一處理器進行一元件對於一輸入轉換特徵之特徵化,其中,該元件對於該輸入轉換特徵之特徵化係透過考量一預驅動器驅動該元件之不同電路拓撲進行,且該等不同電路拓撲所產生之該輸入轉換特徵相同。
  2. 如請求項1之方法,其中透過該至少一處理器進行一元件對於一輸入轉換特徵之特徵化包括:考量該等不同電路拓撲以獲得具有該輸入轉換特徵之不同輸入波形;以及使用該等不同輸入波形來特徵化該元件以在一元件庫中創建與該輸入轉換特徵及該等不同電路拓撲相關聯的若干筆資料。
  3. 如請求項2之方法,其中考量該等不同電路拓撲以獲得具有該輸入轉換特徵之不同輸入波形涉及獲得具有該輸入轉換特徵及不同第一特徵之不同輸入波形,該預驅動器驅動該元件之該等不同電路拓撲導致該等不同第一特徵,以及該等不同第一特徵係從至少一晶片中所收集之第一特徵中選出,該至少一晶片包括代表該預驅動器驅動該元件之該等不同電路拓撲之電路拓撲。
  4. 如請求項3之方法,其中獲得具有該輸入轉換特徵及不同第一特徵之不同輸入波形包括:從該至少一晶片中收集波形,該至少一晶片包括代表該預驅動器驅動該元件之該等不同電路拓撲之該等電路拓撲;根據該等波形之輸入轉換特徵而群組來自該至少一晶片中之 該等波形;將具有該輸入轉換特徵之波形群組中之波形依據各自之第一特徵進行排序;以及從具有該輸入轉換特徵之該波形群組中選擇具有一代表性第一特徵之一波形,並選擇具有在一第一特徵範圍內之第一特徵之其餘波形,以作為具有該等不同第一特徵之該等輸入波形,該第一特徵範圍包括該代表性第一特徵且包含在該至少一晶片中第一特徵至少50%之發生所在。
  5. 如請求項3之方法,其中獲得具有該輸入轉換特徵及不同第一特徵之不同輸入波形包括:從產生自該至少一晶片之波形中收集第一特徵,該至少一晶片包括代表該預驅動器驅動該元件之該等不同電路拓撲之該等電路拓撲;從已收集第一特徵中選擇一代表性第一特徵,並選擇在一第一特徵範圍內之其餘第一特徵,該第一特徵範圍包括該代表性第一特徵及包含在該至少一晶片中之第一特徵至少50%之發生所在;以及藉由擬合一方程式至該輸入轉換特徵及每一選擇之該第一特徵來建立該等不同輸入波形。
  6. 如請求項3之方法,其中:該第一特徵係一尾部特徵;該輸入轉換特徵涉汲相對應輸入波形的一第一部分;以及該尾部特徵涉汲在該相對應輸入波形的一第二部分,該相對應輸入波形的該第二部分在該相對應輸入波形的該第一部分之後。
  7. 如請求項2之方法,其中考量該等不同電路拓撲以獲得具有該輸入轉換特徵之不同輸入波形包括: 接收該預驅動器驅動該元件之不同電路網表;以及使用該預驅動器驅動該元件之該等不同電路網表來建立該等不同輸入波形。
  8. 如請求項7之方法,其中:該等不同電路網表包括該預驅動器驅動該元件之一第一電路網表及一第二電路網表;在該第一電路網表中,該預驅動器經由一較長導線來驅動該元件,但該預驅動器具有一較小扇出;以及在該第二電路網表中,該預驅動器經由一較短導線來驅動該元件,但該預驅動器具有一較高扇出。
  9. 如請求項2之方法,其中使用該等不同輸入波形來特徵化該元件以在一元件庫中創建與該輸入轉換特徵相關聯的若干筆資料包括:對於每一該等不同輸入波形,在該元件庫中創建該等筆資料之一者,該筆資料之使用獨立於該等筆資料之其餘者;以及該方法進一步包括:在一電路網表上執行時序分析,以使至該元件之具有該輸入轉換特徵的一傳播輸入波形與該等不同輸入波形匹配,以查詢出在該元件庫中之該等筆資料之一者,藉以產生該元件的一輸出響應。
  10. 如請求項2之方法,其中使用該等不同輸入波形來特徵化該元件以在一元件庫中創建與該輸入轉換特徵相關聯的若干筆資料包括:對於該等不同輸入波形之至少一輸入波形,在該元件庫中創建在該等筆資料中之至少一第一筆資料,該至少一第一筆資料之使用獨立於該等筆資料中之第二筆資料,以及對於該等不同輸入波 形之其他輸入波形,在該元件庫中創建在該等筆資料中之該等第二筆資料,該等第二筆資料之使用依附於該至少一第一筆資料;以及該方法進一步包括:在一電路網表上執行時序分析,以使至該元件之具有該輸入轉換特徵的一傳播輸入波形投射至具有不同電路拓撲之輸入波形之一空間,以使用第一筆資料產生一輸出響應,並依據第二筆資料決定修正該輸出響應之一量值。
TW103117574A 2014-01-08 2014-05-20 透過考量不同電路拓撲之輸入波形產生來特徵化元件 TWI575394B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/150,350 US9563734B2 (en) 2014-01-08 2014-01-08 Characterizing cell using input waveform generation considering different circuit topologies

Publications (2)

Publication Number Publication Date
TW201528017A true TW201528017A (zh) 2015-07-16
TWI575394B TWI575394B (zh) 2017-03-21

Family

ID=53443221

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103117574A TWI575394B (zh) 2014-01-08 2014-05-20 透過考量不同電路拓撲之輸入波形產生來特徵化元件

Country Status (5)

Country Link
US (2) US9563734B2 (zh)
KR (1) KR101690378B1 (zh)
CN (1) CN104765902B (zh)
DE (1) DE102014118932A1 (zh)
TW (1) TWI575394B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9424380B2 (en) * 2014-09-05 2016-08-23 Synopsys, Inc. Augmented simulation method for waveform propagation in delay calculation
US9659139B2 (en) * 2015-06-18 2017-05-23 Nvidia Corporation Approach for performing improved timing analysis with improved accuracy
CN117272924A (zh) 2017-04-28 2023-12-22 三星电子株式会社 设计集成电路的方法
KR102402673B1 (ko) 2017-04-28 2022-05-26 삼성전자주식회사 Beol의 공정 변이를 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템
US10768211B2 (en) * 2017-08-25 2020-09-08 Oracle International Corporation System and method for current sense resistor compensation
US11663384B1 (en) * 2020-10-13 2023-05-30 Synopsys, Inc. Timing modeling of multi-stage cells using both behavioral and structural models

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09259170A (ja) 1996-03-18 1997-10-03 Dainippon Printing Co Ltd 集積回路用セルの波形情報ライブラリ作成装置
JPH10275166A (ja) 1997-03-28 1998-10-13 Sony Corp 回路動作判定装置、回路設計装置およびその方法
US6532576B1 (en) 2001-03-07 2003-03-11 Lsi Logic Corporation Cell interconnect delay library for integrated circuit design
AU2003286569A1 (en) * 2002-10-21 2004-05-13 Advanced Power Technology, Inc. Ac-dc power converter having high input power factor and low harmonic distortion
JP2005122498A (ja) 2003-10-17 2005-05-12 Matsushita Electric Ind Co Ltd タイミングライブラリ作成方法
JP2005332378A (ja) 2004-04-19 2005-12-02 Matsushita Electric Ind Co Ltd 波形変歪を考慮したセル特性キャラクタライズ方法及びその方法を使用した半導体集積回路の遅延時間計算方法
US20050232066A1 (en) * 2004-04-19 2005-10-20 Matsushita Electric Industrial Co., Ltd. Method for characterizing cells with consideration for bumped waveform and delay time calculation method for semiconductor integrated circuits using the same
US7673260B2 (en) * 2005-10-24 2010-03-02 Cadence Design Systems, Inc. Modeling device variations in integrated circuit design
US7398495B1 (en) 2006-04-06 2008-07-08 Advanced Micro Devices, Inc. Method and apparatus for characterizing arrays using cell-based timing elements
US8103990B2 (en) 2008-02-28 2012-01-24 Arm Limited Characterising circuit cell performance variability in response to perturbations in manufacturing process parameters
JP2010113528A (ja) * 2008-11-06 2010-05-20 Panasonic Corp 遅延シミュレーション装置、遅延シミュレーション方法、pldマッピング装置、pldマッピング方法、及び半導体集積回路
US8547131B2 (en) * 2009-04-03 2013-10-01 Taiwan Semiconductor Manufacturing Company, Ltd. System and method for observing threshold voltage variations
US8584075B2 (en) 2011-02-15 2013-11-12 Qualcomm Incorporated Method and apparatus for characterizing and reducing proximity effect on cell electrical characteristics

Also Published As

Publication number Publication date
DE102014118932A1 (de) 2015-07-09
US9563734B2 (en) 2017-02-07
US20150193569A1 (en) 2015-07-09
CN104765902A (zh) 2015-07-08
CN104765902B (zh) 2018-04-17
KR101690378B1 (ko) 2016-12-27
TWI575394B (zh) 2017-03-21
US10467364B2 (en) 2019-11-05
US20170116361A1 (en) 2017-04-27
KR20150083014A (ko) 2015-07-16

Similar Documents

Publication Publication Date Title
TWI575394B (zh) 透過考量不同電路拓撲之輸入波形產生來特徵化元件
US7962876B2 (en) Generation of engineering change order (ECO) constraints for use in selecting ECO repair techniques
US8924906B2 (en) Determining a design attribute by estimation and by calibration of estimated value
JP4521640B2 (ja) 集積回路製作におけるデルタ情報設計クロージャ
US8726211B2 (en) Generating an equivalent waveform model in static timing analysis
US20060190881A1 (en) Method for estimating propagation noise based on effective capacitance in an integrated circuit chip
CN106326510A (zh) 验证时钟树延迟
TWI789911B (zh) 用於電容值提取的系統、方法及儲存媒體
Tehrani et al. Deep sub-micron static timing analysis in presence of crosstalk
KR20220143809A (ko) 레지스터 전송 레벨 벡터로의 글리치 전력 분석
US8495544B2 (en) Statistical delay and noise calculation considering cell and interconnect variations
TWI817646B (zh) 用於設計上下文感知電路的方法及系統
US10963610B1 (en) Analyzing clock jitter using delay calculation engine
US20230260591A1 (en) Transforming local wire thru resistances into global distributed resistances
US8739093B1 (en) Timing characteristic generation and analysis in integrated circuit design
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US11270052B2 (en) System and method of timing characterization for semiconductor circuit
CN101794328B (zh) 针对门输出负载的快速且准确的估计
EP4256458A1 (en) Modelling timing behavior using augmented sensitivity data for physical parameters
US20120304135A1 (en) Method and apparatus for precision tunable macro-model power analysis
US9946824B2 (en) Efficient Ceff model for gate output slew computation in early synthesis
Das et al. Pessimism reduction in coupling-aware static timing analysis using timing and logic filtering
US8756545B2 (en) Delay time calculating apparatus and method
Mei et al. An accurate low-iteration algorithm for effective capacitance computation
CN116341479A (zh) 一种基于可布线性的重映射方法及集成电路