TWI512499B - 使用快速評估技術之以有效窮盡路徑為基礎的靜態時序分析 - Google Patents

使用快速評估技術之以有效窮盡路徑為基礎的靜態時序分析 Download PDF

Info

Publication number
TWI512499B
TWI512499B TW099111444A TW99111444A TWI512499B TW I512499 B TWI512499 B TW I512499B TW 099111444 A TW099111444 A TW 099111444A TW 99111444 A TW99111444 A TW 99111444A TW I512499 B TWI512499 B TW I512499B
Authority
TW
Taiwan
Prior art keywords
path
delay
paths
evaluation
segment
Prior art date
Application number
TW099111444A
Other languages
English (en)
Other versions
TW201104454A (en
Inventor
Christian Soviani
Rachid N Helaihel
Khalid Rahmat
Original Assignee
Synopsys Inc
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 Synopsys Inc filed Critical Synopsys Inc
Publication of TW201104454A publication Critical patent/TW201104454A/zh
Application granted granted Critical
Publication of TWI512499B publication Critical patent/TWI512499B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • 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

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)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

使用快速評估技術之以有效窮盡路徑為基礎的靜態時序分析
本發明一般係相關於用以執行用於積體電路(IC)晶片之靜態時序分析(STA)的技術。尤其是,本發明係相關於藉由使用快速路徑延遲評估來執行以有效窮盡路徑為基礎的STA之方法及設備。
計算技術的快速發展使其能夠在有時大至數百萬兆位元組之資料組上執行每秒數百萬兆的計算操作。這些進步大部分歸因於積體電路的尺寸和複雜性呈指數型增加。
由於積體電路的尺寸和複雜性增加,所以變得需要使用精密工具來驗證時序限制。
在靜態時序分析(STA)出現之前,典型上使用以模擬為基礎的技術來驗證時序限制。隨著積體電路的複雜性增加,使用以模擬為基礎的技術來驗證時序限制變得不實用,因為它們的執行時間長、容量低、及分析不完全。
不像以模擬為基礎的技術,STA藉由在不必列舉所有可能路徑之下計算最壞情況和最佳情況延遲來驗證時序。因此,STA在合理的時間量內可執行用於大的積體電路之完整的時序分析。結果,出現STA來當作用以驗證用於大的積體電路之時序限制的選擇之方法。
在積體電路(IC)設計的STA階段期間,通常使用以圖形為基礎的STA和以路徑為基礎的分析二者。以圖形為基礎的STA非常快(O (N );N 為設計中之單元的數目),但是結果通常是悲觀的。以路徑為基礎的STA典型上被用於提供比以圖形為基礎的STA較不悲觀(和更準確)的評估給時序弛放(或”弛放”)。尤其是,藉由將來自以圖形為基礎的分析之結果排序、開始於最悲觀的終點、及為終止在那裡的每一路徑重新計算到那終點的弛放,而通常在以圖形為基礎的分析之後執行以路徑為基礎的分析。雖然因為以路徑為基礎的弛放在時序圖形中的每一出現點不使用最壞轉動(其為以圖形為基礎的分析所需的),但是可改變用於每一終點的相對提高,所以它們通常較不悲觀。
不幸的是,以路徑為基礎的STA是計算上密集的處理,需要追蹤設計內的每一可能路徑。雖然以路徑為基礎的STA是準確的,但是執行以路徑為基礎的STA所需之計算量會隨著單元的數目而呈指數型增加單元的數目。
因此,所需的是能夠減少與以窮盡路徑為基礎的STA相關聯之執行時間的方法和設備。
本發明的一實施例提供在電路設計中執行以有效路徑為基礎的靜態時序分析(STA)之系統。在操作期間,系統識別電路設計內的一組路徑,其中各個路徑包括一或多個區段。就此組路徑中的路徑而言,系統決定是否路徑中的至少一區段與先前藉由執行以路徑為基礎的STA所計算之不同路徑共享,其中不同路徑中的至少一區段係與先前計算之以路徑為基礎的時序資訊相關聯。若是,則至少依據與不同路徑中的共享區段相關聯之以路徑為基礎的時序資訊,系統執行用於路徑之以路徑為基礎的延遲之評估。否則,藉由在路徑上執行以路徑為基礎的STA,系統計算用於路徑之以路徑為基礎的延遲。
在一些實施例中,在執行評估之後,藉由首先決定是否評估的以路徑為基礎之延遲大於臨界延遲,而系統決定是否與路徑相關聯之以路徑為基礎的延遲為此組路徑之中最壞以路徑為基礎的延遲。若是,則藉由在路徑上執行以路徑為基礎的STA,系統計算用於路徑之以路徑為基礎的延遲。否則,系統決定以路徑為基礎的延遲不是此組路徑之中最壞以路徑為基礎的延遲。需注意的是,依據評估的以路徑為基礎之延遲,卻未實際計算用於路徑延遲之以路徑為基礎的延遲,而做出決定,藉以減少計算時間。
在一些實施例中,系統試圖識別此組路徑之中最壞以路徑為基礎的延遲和最壞以路徑為基礎的弛放。
在一些實施例中,在執行評估之後,藉由首先決定是否評估的以路徑為基礎之延遲小於臨界延遲,而系統決定是否與路徑相關聯之以路徑為基礎的延遲為此組路徑之中最佳情況的以路徑為基礎之延遲。若是,則藉由在路徑上執行以路徑為基礎的STA,系統計算用於路徑之以路徑為基礎的延遲。否則,系統決定以路徑為基礎的延遲不是此組路徑之中最佳情況的以路徑為基礎之延遲。需注意的是,依據評估的以路徑為基礎之延遲,卻未實際計算用於路徑延遲之以路徑為基礎的延遲,而做出決定,藉以減少計算時間。
在一些實施例中,系統試圖識別此組路徑之中最佳情況的以路徑為基礎之延遲和最佳情況的以路徑為基礎之弛放。
在一些實施例中,此組路徑終止於電路設計中的共同終點上。
在一些實施例中,以路徑為基礎的時序資訊包括以路徑為基礎的延遲和以路徑為基礎的轉動。
在一些實施例中,藉由依據與不同路徑中的同一區段相關聯之以路徑為基礎的延遲和以路徑為基礎的轉動,來評估用於路徑中的區段之以路徑為基礎的延遲,而系統執行用於路徑之以路徑為基礎的延遲之評估。
在一些實施例中,路徑中的各個區段係與先前依據以圖形為基礎的STA為路徑所計算之以圖形為基礎的延遲和以圖形為基礎的轉動相關聯。需注意的是,以圖形為基礎的延遲和以圖形為基礎的轉動提供最壞情況評估給與路徑相關聯之以路徑為基礎的延遲和以路徑為基礎的轉動。
在一些實施例中,藉由依據與區段相關聯之以圖形為基礎的轉動,來評估用於路徑中的區段之以路徑為基礎的延遲,而系統執行用於路徑之以路徑為基礎的延遲之評估。
在一些實施例中,藉由為路徑中的各個區段進行評估,而系統執行用於路徑之以路徑為基礎的延遲之評估。尤其是,就各個區段而言,系統決定是否區段與先前依據以路徑為基礎的STA所計算之另一路徑共享,其中另一路徑中的區段係與先前計算的以路徑為基礎之時序資訊相關聯。若是,則依據與另一路徑中之共享區段相關聯之以路徑為基礎的時序資訊,而系統執行用於區段之以路徑為基礎的延遲之評估。否則,系統使用與區段相關聯之以圖形為基礎的延遲當作用於區段之評估的以路徑為基礎之延遲。最後,系統加總用於路徑中的所有區段之評估的以路徑為基礎之延遲,以獲得用於路徑之評估的以路徑為基礎之延遲。
在一些實施例中,此組路徑終止於電路設計中的多個終點上。
提出下面說明以使精於本技藝之人士能夠進行和使用本發明,並且按特定應用和其要求來提供下面說明。只要不違背本揭示的精神和範疇,精於本技藝之人士將容易出現針對所揭示的實施例之各種修正,及此處所定義之通則可應用到其他實施例和應用。如此,本發明並不侷限於所示之實施例,而是符合與此處所揭示之原則和特徵一致的最廣泛範圍。
此詳細說明所說明之資料結構和碼典型上係儲存於電腦可讀取儲存媒體上,此電腦可讀取儲存媒體可以是能夠儲存供給電腦系統使用的碼及/或資料之任何裝置或媒體。電腦可讀取儲存媒體包括但並不侷限於:揮發性記憶體,非揮發性記憶體,磁性及光學儲存裝置,諸如碟驅動器、磁帶、CD(小型碟)、DVD(數位多用途碟或數位視頻碟)等,或能夠儲存現在已知或以後發展的電腦可讀取媒體之其他媒體。
此詳細說明段所說明之方法和處理可被賦予碼及/或資料的形式,其可被儲存在如上述之電腦可讀取儲存媒體。當電腦系統讀出和執行儲存在電腦可讀取儲存媒體上之碼及/或資料時,電腦系統執行被賦予資料結構和碼的形式並且儲存在電腦可讀取儲存媒體內之方法及處理。
而且,可將此處所說明的方法及處理包括在硬體模組或設備中。這些模組或設備可包括但並不侷限於:應用特定積體電路(ASIC)晶片、現場可程式閘陣列(FPGA)、在特定時間執行特定軟體模組或一段碼之專屬或共享處理器、及/或現在已知或以後將發展之其他可程式邏輯裝置。當致動硬體模組或設備時,硬體模組或設備執行包括在它們之中的方法及處理。
積體電路設計流
圖1為積體電路的設計和製造之各種步驟圖。處理開始於產品概念的產生(階段100),其使用電子設計自動化(EDA)軟體設計處理來實現(階段110)。當完成設計,可將其下線(階段140)。在下線之後,完成製造處理(階段150),及執行封裝及組裝處理(階段160),最後生產所完成的晶片(階段170)。
EDA軟體設計處理(階段110)包含將說明如下之階段112-130。需注意的是,此設計流說明僅用於圖解目的。此說明並不用來限制本發明。例如,實際積體電路設計需要設計者能夠以除了此處說明的順序以外之不同順序來執行設計階段。下面討論提供設計處理的階段之進一步細節。
系統設計(階段112):設計者描述欲實施的功能。他們亦能夠執行”會如何”規畫以使功能更加提升並且核對成本。硬體-軟體架構劃分可出現在此階段。可用於此階段之來自SYNOPSYS,INC.的例示EDA軟體產品包括MODEL ARCHITECT、SABER、SYSTEM STUDIO、及DESIGNWARE產品。
邏輯設計和功能驗證(階段114):在此階段,寫入用於系統中的模組之VHDL或Verilog碼,及為功能準確性核對設計。尤其是,可核對設計以確保其產生正確輸出。可用於此階段之來自SYNOPSYS,INC.的例示EDA軟體產品包括VCS、VERA、DESIGNWARE、MAGELLAN、FORMALITY、ESP和LEDA產品。
合成和設計(階段116):此處,可將VHDL/Verilog翻譯成網路連線表。可為目標技術最佳化網路連線表。此外,設計和實施測試,以核對完成的晶片。可用於此階段之來自SYNOPSYS,INC.的例示EDA軟體產品包括DESIGN COMPLIER、PHYSICAL COMPLIER、TEST COMPLIER、POWER COMPLIER、FPGA COMPLIER、TETRAMAX、及DESIGNWARE產品。
網路連線表驗證(階段118):在此階段,為遵循時序限制和為與VHDL/Verilog來源碼的對應性核對網路連線表。可用於此階段之來自SYNOPSYS,INC.的例示EDA軟體產品包括FORMALITY、PRIMETIME、及VCS產品。
設計規劃(階段120):此處,可為時序和最高位準的路由構製和分析用於晶片的整個平面設計。可用於此階段之來自SYNOPSYS,INC.的例示EDA軟體產品包括ASTRO和IC COMPILER產品。
實體實施(階段122):在此階段發生置放(電路元件的定位)和路由(互連的置放)。可用於此階段之來自SYNOPSYS,INC.的例示EDA軟體產品包括ASTRO和IC COMPILER產品。
分析和析取(階段124):在此階段,可以電晶體位準驗證電路的功能;接著,此讓”會如何”更加精鍊。可用於此階段之來自SYNOPSYS,INC.的例示EDA軟體產品包括ASTRORAIL、PRIMERAIL、PRIMETIME、及STAR-RCXT產品。
時序驗證(階段125):典型上在此階段發生靜態時序分析(STA),其中為遵循時序限制和為與VHDL/Verilog來源碼的對應性核對網路連線表。可用於此階段之來自SYNOPSYS,INC.的例示EDA軟體產品包括PRIMETIME產品。
實體驗證(階段126):在此階段,核對設計,以確保製造、電議題、微影議題、和電路系統的正確性。可用於此階段之來自SYNOPSYS,INC.的例示EDA軟體產品包括HERCULES產品。
解析度增強(階段128):此階段包含佈局的幾何操縱,以提高設計的可製造性。可用於此階段之來自SYNOPSYS,INC.的例示EDA軟體產品包括PROTEUS、PROTEUSAF、及PSMGED產品。
遮罩資料備製(階段130):此階段包含用於遮罩產生的下線資料,以產生完成晶片。可用於此階段之來自SYNOPSYS,INC.的例示EDA軟體產品包括CATS產品家族。
可在一或多個上述步驟期間使用本發明的實施例。尤其是,可在時序驗證階段125期間使用本發明的一實施例。
靜態時序分析(STA)
圖2為在積體電路的設計和實施期間典型上如何使用STA之流程圖。
首先,設計積體電路(步驟202)。接著,析取寄生(步驟204)。然後執行靜態時序分析(步驟206)。若發現時序違反(步驟208),則處理回到電路設計步驟202,使得電路能夠被扭擰以校準時序違反。另一方面,若未發現時序違反,則處理繼續到製造處理的下一步驟。
以窮盡路徑為基礎的分析
圖3為在IC設計上執行習知以窮盡路徑為基礎的STA之處理的流程圖。此處理在具有以最壞的重新計算路徑為基礎之弛放的一組路徑之中搜尋路徑。
在執行以路徑為基礎的STA之前,假設已在IC設計上執行以圖形為基礎的STA。結果,各個時序終點(下面稱作”終點”),例如正反器,係與被稱作”以圖形為基礎的STA弛放”或”GBA弛放”之弛放相關聯。需注意的是,用於給定終點之GBA弛放係藉由首先計算用於終止於終點之此組路徑的GBA弛放,然後在用於此組路徑的此組GBA弛放之中選擇最壞GBA弛放所獲得。在下面討論中,將給定終點上所執行之以路徑為基礎的STA之處理稱作”重新計算”,因為其發生在已執行以圖形為基礎的STA之後。
為了執行以窮盡路徑為基礎的STA,系統典型上開始於依據相關的GBA弛放將IC設計中的此組終點理出優先順序(步驟302)。然後系統選擇具有尚未被重新計算之最壞GBA弛放的終點(或”最壞GBA終點”)(步驟304)。接著,系統以漸增的弛放值順序,依據它們相關的GBA弛放,將終止於此終點之此組路徑分類,即、最壞弛放接收較高的優先權(步驟306)。
尤其是,就GBA弛放順序中的此組路徑之中的各個路徑而言,系統決定是否GBA弛放大於臨界弛放(步驟308)。此臨界弛放保留目前最壞的重新計算之PBA弛放,隨著處理更多路徑,它們被疊代更新。典型上,臨界弛放具有足夠大的初始值,它們容易被重新計算的PBA弛放取代。
若用於目前處理的路徑之GBA弛放大於臨界弛放,則已找出最壞的重新計算之PBA弛放,其等於臨界弛放(步驟310)並且終止處理。需注意的是,針對被處理的第一個路徑而言(即、具有最壞GBA弛放的路徑),這是極罕見的例子。
然而,若用於目前處理的路徑之GBA弛放小於臨界弛放,則系統在此路徑上執行以路徑為基礎的STA,以獲得重新計算的PBA弛放(步驟312)。需注意的是,重新計算的PBA弛放典型上大於用於同一路徑的GBA弛放。系統接著決定是否重新計算的PBA弛放小於目前的臨界弛放(步驟314)。若是,則找出用於最壞PBA弛放之新值,及系統以最近重新計算的PBA弛放取代臨界弛放(步驟316)。然後系統以優先處理順序來繼續處理此組路徑中的下一路徑,直到此組路徑之中最壞的重新計算之PBA弛放找到為止。
若步驟314為假,即、重新計算的PBA弛放大於臨界弛放,則系統返回,以優先處理順序來處理此組路徑中的下一路徑。然後重複上述處理,直到最壞的重新計算之PBA弛放找到為止。
藉由將圖3所說明之窮盡PBA弛放計算處理施加於優先處理的終點,系統能夠識別用於與最壞GBA弛放相關聯的那些終點之最壞的重新計算之PBA弛放。
應指出此窮盡PBA弛放計算處理不一定必須處理終止於選定的終點之此組路徑中的每一路徑。圖4為在例示終點400上執行窮盡PBA弛放計算圖。
尤其是,圖4為終止於終點400上之用於一組路徑的重新計算弛放之處理圖。如圖4所示,GBA弛放軸410和PBA弛放軸420被圖示成,若兩值具有相同水平位置,則軸410上的每一GBA弛放值等於軸420上的PBA弛放值。
需注意的是,以GBA弛放的漸增順序,將與各自GBA弛放401A-409A(九個循環)相關聯之九個路徑配置在GBA弛放軸410上,其中路徑401A的最壞GBA弛放在軸410的左端上。在窮盡PBA弛放計算處理期間,根據圖3所說明的技術連續處理此組路徑,其開始於與弛放401A(淺色陰影圓圈)相關聯的路徑。此在PBA弛放軸402上產生重新計算的PBA弛放401B(深色陰影圓圈),其大於GBA弛放401A,且被期待著,因為GBA弛放較悲觀。需注意的是,PBA弛放401B接著變成最壞的重新計算之PBA弛放(當沒有其他值可用時)。接著,與GBA弛放402A相關聯的路徑被重新計算,並且在PBA軸420上獲得PBA弛放402B。因為PBA弛放402B小於GBA弛放401B,所以弛放402B取代401B當作新的最壞PBA弛放。
同樣地,與GBA弛放403A、404A、及405A(所有淺色陰影圓圈)相關聯的路徑被重新計算,以分別在PBA軸420上獲得PBA弛放403B、404B、及405B(所有深色陰影圓圈)。需注意的是,GBA弛放403A-405A的每一個小於最壞PBA弛放402B。而且,對應的GBA弛放403B-405B的每一個大於最壞PBA弛放402B。因此,在重新計算PBA弛放405B之後,PBA弛放402B仍舊是最壞PBA弛放。
接著,與GBA弛放406A(空圓圈)相關聯的新路徑被處理。首先比較GBA弛放406A與最壞PBA弛放402B。因為GBA弛放406A大於最壞PBA弛放402B,所以在GBA弛放軸410上之GPA弛放的漸增值確保與GBA弛放406A-409A(所有空圓圈)相關聯的路徑將不會產生比目前最壞PBA弛放402B還小的PBA弛放值。結果,這些新的路徑未被重新計算,藉以節省計算資源,及以路徑為基礎的STA報告用於終點400的最壞PBA弛放。
需注意的是,雖然在圖4並非重新計算所有路徑,徹底重新計算與GBA弛放403A-405A相關聯的那些路徑,但是重新計算的PBA弛放未影響搜尋用於終點400的最壞PBA弛放之結果。
使用快速評估之以改良路徑為基礎的STA本發明的實施例提供以改良路徑為基礎的STA技術,其能夠明顯減少必須使用以路徑為基礎的STA來重新計算之路徑數目。尤其是,若新路徑或新路徑的一部分(如、區段)與一或多個先前重新計算的路徑重疊,則不需要從起跑線重新計算新路徑。取而代之的是,能夠再使用與已經重新計算的路徑相關聯之以路徑為基礎的時序資訊,來快速評估用於尚未分析的新路徑之路徑延遲。
例如,若將徹底重新計算之最前面M 路徑解體(即、未具有共同區段),同時下一N 新路徑與最前面M 路徑的某一些共享一些區段,則可試圖在這些新路徑中透過以圖形為基礎的分析來評估以路徑為基礎的分析之改良,而不必重新計算所有N 新路徑。
需注意的是,在再使用已重新計算的路徑來評估用於新路徑之PBA延遲的一般概念之下,可使用不同的評估技術。其中一評估技術組合諸如PBA延遲等時序資訊,及來自以路徑為基礎的STA之PBA轉動,與從以圖形為基礎的STA可取得之最壞情況轉動,來產生用於新路徑的路徑延遲之足夠準確的評估。此評估典型上比以完全路徑為基礎的STA計算快很多。
需注意的是,執行此快速評估的其中一目標係盡可能刪減如以窮盡路徑為基礎的STA期間一般多的路徑。例如,當搜尋用於終點的最壞PBA弛放時,可為新路徑進行快速評估,其中可將評估與目前最壞PBA延遲/弛放比較。若評估的延遲/弛放比目前的最壞PBA延遲/弛放好,則從進一步考量來刪減新路徑。如此,本技術避免在新路徑上重新計算PBA延遲/弛放。需注意的是,在此實施例中,評估提供時序邊界給新路徑。下面將更詳細說明此評估技術。
評估技術的品質通常影響透過習知以路徑為基礎的STA之改良的執行時間量。若評估技術品質低(即、若評估準則較悲觀),則只刪減幾個路徑,仍必須重新計算許多路徑。相反地,若評估技術品質高(即、若評估準則較不悲觀),則可刪減大部分的路徑,只需重新計算幾個路徑。在一實施例中,評估技術被設計成,其產生大體上等同完全重新計算的結果之結果,或者比完全重新計算的結果悲觀但同時盡可能接近完全重新計算的結果。此種評估技術提供較大的執行時間改良。在一實施例中,適當設計的評估技術產生比以圖形為基礎的STA結果較不悲觀之結果,但是從不會比完全重新計算的以路徑為基礎之STA結果樂觀。
圖5為根據本發明的實施例之使用快速評估在新路徑上執行以改良路徑為基礎的STA之處理的流程圖。
在操作期間,系統接收新路徑,其包含一組互相鏈結的區段(步驟502)。需注意的是,各個路徑已依據以圖形為基礎的STA事先計算有GBA延遲/弛放。因此,新路徑中的各個區段係與GBA延遲相關聯,其可被使用當作最壞情況的延遲評估。用於此組區段之所有GBA延遲的總和等於用於新路徑的GBA延遲。然後,可將此GBA延遲轉換成用於同一路徑的GBA弛放。記得各個區段亦與共同的最壞情況轉動相關聯,如同以圖形為基礎的STA所需一般。
接著,就此組區段中的各個區段而言,系統決定是否新路徑與先前已依據以路徑為基礎的STA重新計算之至少一不同路徑共享區段(即、重疊)(步驟504)。
圖6為根據本發明的實施例之具有共享共同區段606的兩路徑(即、路徑602及604)之電路概要圖。尤其是,路徑602包括至少三個緩衝器、一個鎖存器、及兩個AND閘(及閘)608及610。路徑604包括一個鎖存器和AND閘608及610。而且,路徑602及604重疊在區段606上,區段606包括AND閘608及610。
在本發明的一實施例中,各個區段被界定作一連串4接腳,例如,圖6中的A-X-M-Y。需注意的是,兩路徑602及604經過接腳A-X-M-Y。而且,各個區段亦包含兩欄位:關鍵欄位和資料欄位。關鍵欄位被用於驗證新路徑是否匹配給定的區段。此欄位另外包含4接腳、4上升/下降方向、及單元弧數目,例如用於弧AX和MY的數目。在區段的此實施例中,就一路徑中的區段匹配(或共享)另一路徑中的區段而言,兩區段必須具有一連串相同的4接腳,及所有匹配接腳上的相同上升/下降方向。
資料欄位包含用於以GBA為基礎和以PBA為基礎的延遲和轉動二者之資料結構。用於區段的資料欄位可包含評估用於共享相同區段之新路徑的PBA延遲所需之延遲和轉動。資料欄位亦可儲存相同統計(如、年紀、存取次數等)。需注意的是,通常可將本發明通常應用到任何類型的區段結構。因此,本發明並不侷限於如上述和圖6所圖解之特有區段結構。
在一些實施例中,將區段儲存在快取記憶體中。此快取記憶體係由各個區段的鍵來編索引。儲存區段之主要的資料結構可以僅是一表格或更高階的資料結構,以幫助快速查詢和更新。各個區段亦可與得分相關聯。在一實施例中,此得分可以是透過GBA延遲改良之PBA延遲,其可由以路徑為基礎的STA來保證。利用此得分,若在快取記憶體已滿的同時必須添加新區段,則系統可從快取記憶體去除具有最低得分的區段。
回頭參考圖5,若步驟504為真,則系統試圖使用與在先前重新計算的路徑中的區段相關聯之所儲存的GBA及PBA延遲和轉動,以評估用於新路徑中之共享區段的PBA延遲(步驟506)。需注意的是,在步驟506期間可能發生幾個變化。理想上,若可從先前重新計算的路徑檢索延遲和轉動,則它們隨後可被用於執行用於新路徑的評估。然而,在一些實施例中,延遲和轉動未能從先前重新計算的路徑得到。當存在多個有資格的路徑並且在步驟504被識別,及只有與最佳值(如、最小延遲)相關聯的路徑具有所儲存的延遲和弛放時可能發生。在此例中,系統必須在多個有資格的路徑之中定位包含值的路徑。然而,若多個有資格的路徑都具有所儲存的延遲和轉動,則系統可選擇與最佳值(如、最小延遲)相關聯之路徑,以評估用於新路徑中的共享區段之延遲。需注意的是,這些多個有資格的路徑可終止於同一終點上或終止於不同終點上。
若步驟504結果是假,也就是說為此區段未找出匹配路徑,則系統使用原始GBA延遲當作用於區段的PBA延遲評估(步驟508)。需注意的是,再使用GBA延遲未在那區段上進行改良。
接著,系統返回,以處理尚未評估的新路徑中的下一區段,及隨後重複步驟504-508。此處理繼續直到新路徑的所有區段已被評估為止。在此點,系統將新路徑中的所有區段上之所評估的PBA延遲加起來,以獲得用於新路徑的評估PBA延遲(步驟510)。理想上,此評估的PBA延遲,及隨後評估的PBA弛放比原始GBA延遲/弛放在準確度上大幅提高,並且較不悲觀,因為先前重新計算的PBA值之效果。若如此,已以非常快速的方式獲得評估的PBA延遲/弛放。在一實施例中,然後可將完全路徑評估用於決定是否從相關的以路徑為基礎之STA刪減路徑,卻不必重新計算,或必須重新計算新路徑。下面將連同圖7及8更詳細說明此處理。
在當整個新路徑未具有與其他路徑重疊的區段之最壞情況方案中,評估的PBA延遲變成原始GBA延遲值,而沒有改良。此方案典型上發生在處理IC設計中非常前面的幾個路徑。如下面圖7所說明一般,這些路徑典型上必須使用以路徑為基礎的STA重新計算,及建立用於未來路徑的值。隨著越來越多的延遲和轉動被重新計算,重疊區段的數目增加,及可在以路徑為基礎的STA上進行更多評估。在一些實施例中,當正處理第二路徑時,盡早發生重疊和應用評估技術。
需注意的是,使用快速評估的其中一目標係用以在新路徑上透過GBA延遲提供更準確和較不悲觀的PBA延遲。現在說明評估技術。
在本發明的一實施例中,依據先前為不同路徑中的同一區段所計算之PBA延遲和PBA轉動二者來進行用於新路徑中的區段之PBA延遲的評估。理想上,可藉由直接再使用重新計算的PBA延遲當作用於新路徑中的PBA延遲之評估來進行評估。然而,此通常不正確,因為就給定區段而言,在區段的輸入接腳中之不同的轉動在區段上產生不同的PBA延遲,其中大輸入轉動產生較大的PBA延遲。因為與新路徑相關聯的轉動是未知的,所以無法立即知道是否新路徑中的區段之PBA延遲大於或小於不同路徑中的同一區段之重新計算的PBA延遲。
本發明的一些實施例將使用時序圖中的各個節點之最壞轉動(即、最大轉動值)計算GBA延遲列入考量。亦應注意的是,隨著輸入的轉動之PBA延遲的變化被電路的電特性侷限性決定。依據這些考量,可設計提供用於隨著輸入轉動增加而PBA延遲下降的上限之公式。
例如,其中一公式使用下面式子來評估用於新路徑中的共享區段之PBA延遲的上限。
D” D ’+F(S -S)
其中S 為區段上的GBA轉動,D’/S’ 為用於已重新計算的路徑中的區段之PBA延遲/轉動,及D”為用於新路徑的區段之PBA延遲。而且,F() 為兩轉動SS’ 之間的差之非負函數。在一實施例中,F(S -S’) =α x(S -S’ ),其中α>0為轉動延遲係數。需注意的是,上述式子提供依據先前計算的區段之PBA延遲和PBA轉動的新路徑之最壞可能延遲下降的評估。需注意的是,不由評估技術來評估用於新路徑的轉動。
圖7為根據本發明的實施例之在IC設計上執行以改良窮盡路徑為基礎的STA之處理的流程圖。與圖3所說明之習知處理類似,此處理在終止於具有最壞的重新計算之PBA弛放的給定終點上之一組路徑之中搜尋路徑。
系統典型上開始於藉由依據相關的GBA弛放(未圖示於圖7)來優先處理IC設計中的一組終點。然後系統選擇具有尚未被重新計算的最壞GBA弛放之終點(或”最壞GBA終點”)(步驟702)。接著,系統以漸增的弛放值順序,依據它們相關的GBA弛放,將終止於此終點之此組路徑分類,即、最壞弛放接收較高的優先權(步驟704)。
接著,就GBA弛放順序的此組路徑之中的各個路徑而言,系統決定是否GBA弛放大於臨界弛放(步驟706)。需注意的是,此臨界弛放保留目前最壞的重新計算之PBA弛放,隨著處理更多路徑,它們被疊代更新。典型上,臨界弛放具有足夠大的初始值,它們容易被重新計算的PBA弛放取代。
若用於目前處理的路徑之GBA弛放大於臨界弛放,則已找出最壞的重新計算之PBA弛放,其等於臨界弛放(步驟708)並且終止處理。需注意的是,針對被處理的第一個路徑而言(即、具有最壞GBA弛放者),這是極罕見的例子。
然而,若用於目前處理的路徑之GBA弛放小於臨界弛放,則系統隨後決定是否路徑具有在共享同一區段之不同路徑中已使用以路徑為基礎的STA重新計算之至少一區段(步驟710)。需注意的是,此不同路徑可以是IC設計中的任何路徑,因此並不侷限於被處理之此組路徑中的路徑。
若步驟710為真,系統例如使用連同圖5所說明之評估處理來為路徑快速評估PBA弛放(步驟712)。系統隨後決定是否評估的PBA弛放大於目前臨界弛放(步驟714)。若是,系統決定目前路徑未與最壞PBA弛放相關聯,因此可刪減路徑。結果,系統未重新計算此路徑上的PBA弛放,及節省計算資源。然後,系統返回,以優先處理順序來處理此組路徑中的下一路徑。需注意的是,此比較是安全的,因為評估的PBA弛放是用於與此路徑相關聯之實際PBA弛放的下限(即、較悲觀的值)。換言之,若步驟710為真,則若評估的PBA弛放被實際PBA弛放取代,則其亦為真。
然而,若步驟710或步驟714任一個決定為假,即、路徑未具有先前重新計算的區段或評估的PBA小於臨界弛放,則系統隨後在路徑上執行以路徑為基礎的STA,以獲得重新計算的PBA弛放(步驟716)。然後系統決定是否重新計算的PBA弛放大於目前臨界弛放(步驟718)。若是,系統決定目前路徑未與最壞PBA弛放相關聯,及返回以優先處理順序來處理此組路徑中的下一路徑。
否則,找出新的最壞PBA弛放,及系統以重新計算的PBA弛放取代臨界弛放(步驟720)。系統接著繼續以優先處理順序來處理此組路徑中的下一路徑,直到找出最壞的重新計算之PBA弛放為止。系統最後輸出最壞的重新計算的PBA弛放(步驟722)。透過圖3的習知處理之此處理的一明顯改良即為,在此處理中,實際上重新計算非常少的路徑。
圖8為根據本發明的實施例之在圖4的例示終點400上執行改良的窮盡PBA弛放計算圖。
在改良窮盡PBA弛放計算處理期間,根據圖7所說明的技術連續處理與GBA延遲401A-409A相關聯之此組路徑,其開始於與弛放401A(淺色陰影圓圈)相關聯的路徑。為了簡化,以路徑的GBA弛放值來談論路徑。在未使用評估之下重新計算與GBA弛放401A及402A相關聯的路徑之後,弛放402B(深色陰影圓圈)被視作最壞PBA弛放。
接著,處理路徑403A。在此例中,路徑403A具有與先前重新計算的路徑重疊之區段,其包括但並不侷限於路徑401A及402A(即、包括終止於其他終點上之路徑)。因此,路徑403A被評估,及評估的PBA弛放被圖示於PBA弛放軸420上當作403B’,其為實際PBA弛放403B的評估。路徑403A隨後下降,因為403B’大於402B。同樣地,路徑404A及405A亦被評估且隨後下降。需注意的是,在圖8中,評估的路徑403A-405A係以平行線相交的陰影圓圈來表示,以將它們與重新計算的路徑401A及402A區隔開。與圖4類似,不重新計算或評估路徑406A-409A。
與圖4所說明的處理比較,在圖8中只重新計算兩路徑,比之前的三路徑少。然而,改良的處理產生與習知處理相同的最壞PBA弛放402B。
需注意的是,雖然以用於最壞情況PBA延遲和弛放的窮盡搜尋之背景來說明本評估技術,但是本評估技術亦可被用於執行用於最佳情況PBA延遲和弛放的窮盡搜尋。為了如此作,圖7所說明的處理被修正成,臨界弛放現在表示最佳的重新計算之PBA弛放,及僅保留步驟706、714、及718中的條件。而且,用於區段上之延遲的新評估技術需要提供用於實際PBA延遲的下限來取代上限。通常,本評估技術可應用於任何以路徑為基礎的STA處理。
在一些實施例中,本技術的有效性可藉由增加平行性來進一步提高,諸如藉由使用多串接或其他平行技術等。藉由同時處理IC設計中的更多路徑和更多終點,當分析新路徑時,可利用更多先前重新計算的時序資訊。
圖9為根據本發明的實施例之在IC設計中執行以有效路徑為基礎的STA之設備。
設備902可包含透過有線或無線通訊頻道彼此通訊之機構。尤其是,設備902可包含識別機構904、決定機構906、評估機構908、及計算機構910。上述機構的每一個係可使用一或多個積體電路,或當作萬用處理器的模組來實現。設備902可以是電腦系統的一部分。
在一些實施例中,識別機構904可被組配成識別IC設計內的一組路徑,其中各個路徑包含一多個區段;決定機構906可被組配成決定是否此組路徑之中的路徑中之至少一區段與先前藉由執行以路徑為基礎的STA所計算之不同路徑共享,其中不同路徑中的至少一區段係與先前計算的以路徑為基礎之時序資訊相關聯;評估機構908可被組配成至少依據與不同路徑中的共享區段相關聯之以路徑為基礎的時序資訊,執行用於路徑之以路徑為基礎的延遲之評估;以及計算機構910可被組配成藉由在路徑上執行以路徑為基礎的STA,計算用於路徑之以路徑為基礎的延遲。
僅為了圖解和說明而提供本發明的實施例之上述說明。它們並不用於窮盡或侷限本發明於所揭示的形式。因此,許多修正和變化對精於本技藝之人士相當明顯。此外,上述揭示並不用於侷限本發明。本發明的範疇係由附錄於後的申請專利範圍來定義。
400...終點
401A...以圖形為基礎的弛放
401B...以路徑為基礎的弛放
402A...以圖形為基礎的弛放
402B...以路徑為基礎的弛放
403A...以圖形為基礎的弛放
403B...以路徑為基礎的弛放
403B’...以路徑為基礎的弛放
404A...以圖形為基礎的弛放
404B...以路徑為基礎的弛放
405A...以圖形為基礎的弛放
405B...以路徑為基礎的弛放
406A...以圖形為基礎的弛放
407A...以圖形為基礎的弛放
408A...以圖形為基礎的弛放
409A...以圖形為基礎的弛放
410...以圖形為基礎的弛放軸
420...以路徑為基礎的弛放軸
602...路徑
604...路徑
606...共同區段
608...及閘
610...及閘
902...設備
904...識別機構
906...決定機構
908...評估機構
910...計算機構
圖1為根據本發明的實施例之積體電路的設計和製造之各種步驟圖。
圖2為在積體電路的設計和實施期間典型上如何使用STA之流程圖。
圖3為在IC設計上執行習知以窮盡路徑為基礎的STA之處理的流程圖。
圖4為在例示終點上執行窮盡PBA弛放計算圖。
圖5為根據本發明的實施例之使用快速評估在新路徑上執行以改良路徑為基礎的STA之處理的流程圖。
圖6為根據本發明的實施例之具有共享共同區段的兩路徑之電路概要圖。
圖7為根據本發明的實施例之在IC設計上執行以改良窮盡路徑為基礎的STA之處理的流程圖。
圖8為根據本發明的實施例之在圖4的例示終點上執行改良窮盡PBA弛放計算圖。
圖9為根據本發明的實施例之在IC設計中執行以有效路徑為基礎的STA之設備。

Claims (25)

  1. 一種在電路設計中用以執行以有效路徑為基礎的靜態時序分析(STA)之方法,該方法包含:識別該電路設計內的一組路徑,其中各個路徑包含一或多個區段;就該組路徑中的路徑而言,決定是否該路徑中的至少一區段與先前藉由執行以路徑為基礎的STA所計算之不同路徑共享,其中該不同路徑中的該至少一區段係與先前計算之以路徑為基礎的時序資訊相關聯;以及若是,則至少依據與該不同路徑中的該共享區段相關聯之該以路徑為基礎的時序資訊,執行用於該路徑之以路徑為基礎的延遲之評估;否則,藉由在該路徑上執行以路徑為基礎的STA,計算用於該路徑之以路徑為基礎的延遲,其中該方法藉由再利用與先前計算的路徑相關聯之時序資訊,以快速評估用於尚未分析的路徑之以路徑為基礎的延遲,來減少計算時間。
  2. 根據申請專利範圍第1項之方法,其中在執行該評估之後,該方法另外包含:決定是否與該路徑相關聯之該以路徑為基礎的延遲為該組路徑之中最壞情況以路徑為基礎的延遲,係藉由:決定是否該評估的以路徑為基礎之延遲大於臨界延遲;以及若是,則藉由在該路徑上執行以路徑為基礎的STA,計算用於該路徑之該以路徑為基礎的延遲;否則,決定該以路徑為基礎的延遲不是該組路徑之中最壞情況以路徑為基礎的延遲,其中依據該評估的以路徑為基礎之延遲,卻未實際計算用於該路徑延遲之該以路徑為基礎的延遲,而做出該決定,藉以減少計算時間。
  3. 根據申請專利範圍第2項之方法,其中該方法被用於識別該組路徑之中最壞情況以路徑為基礎的延遲和最壞情況以路徑為基礎的弛放。
  4. 根據申請專利範圍第1項之方法,其中在執行該評估之後,該方法另外包含:決定是否與該路徑相關聯之該以路徑為基礎的延遲為該組路徑之中最佳情況以路徑為基礎的延遲,係藉由:決定是否該評估的以路徑為基礎之延遲小於臨界延遲;以及若是,則藉由在該路徑上執行以路徑為基礎的STA,計算用於該路徑之該以路徑為基礎的延遲;否則,決定該以路徑為基礎的延遲不是該組路徑之中最佳情況以路徑為基礎的延遲,其中依據該評估的以路徑為基礎之延遲,卻未實際計算用於該路徑延遲之該以路徑為基礎的延遲,而做出該決定,藉以減少計算時間。
  5. 根據申請專利範圍第4項之方法,其中該方法被用於識別該組路徑之中最佳情況以路徑為基礎的延遲和最佳情況以路徑為基礎的弛放。
  6. 根據申請專利範圍第1項之方法,其中該組路徑終止於該電路設計中的共同終點上。
  7. 根據申請專利範圍第1項之方法,其中該以路徑為基礎的時序資訊包括以路徑為基礎的延遲和以路徑為基礎的轉動。
  8. 根據申請專利範圍第7項之方法,其中執行用於該路徑之該以路徑為基礎的延遲之該評估包含:至少依據與該不同路徑中的同一區段相關聯之該以路徑為基礎的延遲和以路徑為基礎的轉動,評估用於該路徑中的該區段之以路徑為基礎的延遲。
  9. 根據申請專利範圍第8項之方法,其中該路徑中的各個區段係與先前依據以圖形為基礎的STA為該路徑所計算之以圖形為基礎的延遲和以圖形為基礎的轉動相關聯,其中該以圖形為基礎的延遲和該以圖形為基礎的轉動提供對於與該路徑相關聯之以路徑為基礎的延遲和以路徑為基礎的轉動之最壞情況評估。
  10. 根據申請專利範圍第9項之方法,其中執行用於該路徑之該以路徑為基礎的延遲之該評估包含:至少依據與該區段相關聯之該以圖形為基礎的轉動,評估用於該路徑中的該區段之該以路徑為基礎的延遲。
  11. 根據申請專利範圍第10項之方法,其中執行用於該路徑之該以路徑為基礎的延遲之評估另外包含:就該路徑中的各個區段而言,決定是否該區段與先前依據以路徑為基礎的STA所計算之另一路徑共享,其中另一路徑中的該區段係與先前計算的以路徑為基礎之時序資訊相關聯;若是,則至少依據與另一路徑中之該共享區段相關聯之該以路徑為基礎的時序資訊,執行用於該區段之以路徑為基礎的延遲之評估;否則,使用與該區段相關聯之該以圖形為基礎的延遲當作用於該區段之評估的以路徑為基礎之延遲;以及加總用於該路徑中的所有區段之該評估的以路徑為基礎之延遲,以獲得用於該路徑之該評估的以路徑為基礎之延遲。
  12. 根據申請專利範圍第1項之方法,其中該組路徑終止於該電路設計中的多個終點上。
  13. 一種電腦可讀取儲存媒體,其儲存當電腦執行時使該電腦能夠執行在電路設計中用以執行以有效路徑為基礎的靜態時序分析(STA)之方法的指令,該方法包含:識別該電路設計內的一組路徑,其中各個路徑包含一或多個區段;就該組路徑中的路徑而言,決定是否該路徑中的至少一區段與先前藉由執行以路徑為基礎的STA所計算之不同路徑共享,其中該不同路徑中的該至少一區段係與先前計算的以路徑為基礎之時序資訊相關聯;若是,則至少依據與該不同路徑中的該共享區段相關聯之該以路徑為基礎的時序資訊,執行用於該路徑之以路徑為基礎的延遲之評估;否則,藉由在該路徑上執行以路徑為基礎的STA,計算用於該路徑之以路徑為基礎的延遲,其中該方法藉由再利用與先前計算的路徑相關聯之時序資訊,以快速評估用於尚未分析的路徑之以路徑為基礎的延遲,來減少計算時間。
  14. 根據申請專利範圍第13項之電腦可讀取儲存媒體,其中在執行該評估之後,該方法另外包含:決定是否與該路徑相關聯之該以路徑為基礎的延遲為該組路徑之中最壞情況以路徑為基礎的延遲,係藉由:決定是否該評估的以路徑為基礎之延遲大於臨界延遲;以及若是,則藉由在該路徑上執行以路徑為基礎的STA,計算用於該路徑之該以路徑為基礎的延遲;否則,決定該以路徑為基礎的延遲不是該組路徑之中最壞情況以路徑為基礎的延遲,其中依據該評估的以路徑為基礎之延遲,卻未實際計算用於該路徑延遲之該以路徑為基礎的延遲,而做出該決定,藉以減少計算時間。
  15. 根據申請專利範圍第14項之電腦可讀取儲存媒體,其中該方法被用於識別該組路徑之中最壞情況以路徑為基礎的延遲和最壞情況以路徑為基礎的弛放。
  16. 根據申請專利範圍第13項之電腦可讀取儲存媒體,其中在執行該評估之後,該方法另外包含:決定是否與該路徑相關聯之該以路徑為基礎的延遲為該組路徑之中最佳情況以路徑為基礎的延遲,係藉由:決定是否該評估的以路徑為基礎之延遲小於臨界延遲;以及若是,則藉由在該路徑上執行以路徑為基礎的STA,計算用於該路徑之該以路徑為基礎的延遲;否則,決定該以路徑為基礎的延遲不是該組路徑之中最佳情況以路徑為基礎的延遲,其中依據該評估的以路徑為基礎之延遲,卻未實際計算用於該路徑延遲之該以路徑為基礎的延遲,而做出該決定,藉以減少計算時間。
  17. 根據申請專利範圍第16項之電腦可讀取儲存媒體,其中該方法被用於識別該組路徑之中最佳情況以路徑為基礎的延遲和最佳情況以路徑為基礎的弛放。
  18. 根據申請專利範圍第13項之電腦可讀取儲存媒體,其中該組路徑終止於該電路設計中的共同終點上。
  19. 根據申請專利範圍第13項之電腦可讀取儲存媒體,其中該以路徑為基礎的時序資訊包括以路徑為基礎的延遲和以路徑為基礎的轉動。
  20. 根據申請專利範圍第19項之電腦可讀取儲存媒體,其中執行用於該路徑之該以路徑為基礎的延遲之該評估包含:至少依據與該不同路徑中的同一區段相關聯之該以路徑為基礎的延遲和以路徑為基礎的轉動,評估用於該路徑中的該區段之以路徑為基礎的延遲。
  21. 根據申請專利範圍第20項之電腦可讀取儲存媒體,其中該路徑中的各個區段係與先前依據以圖形為基礎的STA為該路徑所計算之以圖形為基礎的延遲和以圖形為基礎的轉動相關聯,其中該以圖形為基礎的延遲和該以圖形為基礎的轉動提供對於與該路徑相關聯之以路徑為基礎的延遲和以路徑為基礎的轉動之最壞情況評估。
  22. 根據申請專利範圍第21項之電腦可讀取儲存媒體,其中執行用於該路徑之該以路徑為基礎的延遲之該評估包含:至少依據與該區段相關聯之該以圖形為基礎的轉動,評估用於該路徑中的該區段之該以路徑為基礎的延遲。
  23. 根據申請專利範圍第22項之電腦可讀取儲存媒體,其中執行用於該路徑之該以路徑為基礎的延遲之評估另外包含:就該路徑中的各個區段而言,決定是否該區段與先前依據以路徑為基礎的STA所計算之另一路徑共享,其中另一路徑中的該區段係與先前計算的以路徑為基礎的時序資訊相關聯;若是,則至少依據與另一路徑中該共享區段相關聯之該以路徑為基礎的時序資訊,執行用於該區段之以路徑為基礎的延遲之評估;否則,使用與該區段相關聯之該以圖形為基礎的延遲當作用於該區段之評估的以路徑為基礎之延遲;以及加總用於該路徑中的所有區段之該評估的以路徑為基礎的延遲,以獲得用於該路徑之該評估的以路徑為基礎之延遲。
  24. 根據申請專利範圍第13項之電腦可讀取儲存媒體,其中該組路徑終止於該電路設計中的多個終點上。
  25. 一種在電路設計中用以執行以有效路徑為基礎的靜態時序分析(STA)之設備,包含:識別機構,被組配成識別該電路設計內的一組路徑,其中各個路徑包含一或多個區段;決定機構,被組配成決定是否該路徑中的至少一區段與先前藉由執行以路徑為基礎的STA所計算之不同路徑共享,其中該不同路徑中的該至少一區段係與先前計算的以路徑為基礎之時序資訊相關聯;評估機構,被組配成至少依據與該不同路徑中的該共享區段相關聯之該以路徑為基礎的時序資訊,執行用於該路徑之以路徑為基礎的延遲之評估;以及計算機構,被組配成藉由在該路徑上執行以路徑為基礎的STA,計算用於該路徑之以路徑為基礎的延遲,其中該設備藉由再利用與先前計算的路徑相關聯之時序資訊,以快速評估用於尚未分析的路徑之以路徑為基礎的延遲,來減少計算時間。
TW099111444A 2009-04-30 2010-04-13 使用快速評估技術之以有效窮盡路徑為基礎的靜態時序分析 TWI512499B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/433,203 US8079004B2 (en) 2009-04-30 2009-04-30 Efficient exhaustive path-based static timing analysis using a fast estimation technique

Publications (2)

Publication Number Publication Date
TW201104454A TW201104454A (en) 2011-02-01
TWI512499B true TWI512499B (zh) 2015-12-11

Family

ID=43019572

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099111444A TWI512499B (zh) 2009-04-30 2010-04-13 使用快速評估技術之以有效窮盡路徑為基礎的靜態時序分析

Country Status (4)

Country Link
US (1) US8079004B2 (zh)
CN (1) CN101877017B (zh)
TW (1) TWI512499B (zh)
WO (1) WO2010126687A2 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7900165B2 (en) * 2007-03-30 2011-03-01 Synopsys, Inc. Determining a design attribute by estimation and by calibration of estimated value
CN103177145B (zh) * 2011-12-20 2016-03-30 国际商业机器公司 一种用于集成电路的多个时序模式合并的方法和系统
US8788995B1 (en) * 2013-03-15 2014-07-22 Cadence Design Systems, Inc. System and method for guiding remedial transformations of a circuit design defined by physical implementation data to reduce needed physical corrections for detected timing violations in the circuit design
US8839167B1 (en) 2013-04-02 2014-09-16 International Business Machines Corporation Reducing runtime and memory requirements of static timing analysis
US10354042B2 (en) 2014-09-08 2019-07-16 Synopsys, Inc. Selectively reducing graph based analysis pessimism
CN105701266B (zh) 2014-11-28 2019-05-07 国际商业机器公司 用于电路设计中的静态时序分析的方法和系统
US9798850B2 (en) 2016-01-05 2017-10-24 International Business Machines Corporation System and method for combined path tracing in static timing analysis
US9875333B1 (en) * 2016-01-19 2018-01-23 Cadence Design Systems, Inc. Comprehensive path based analysis process
US10002225B2 (en) * 2016-02-12 2018-06-19 Synopsys, Inc. Static timing analysis with improved accuracy and efficiency
CN108470078B (zh) * 2017-02-23 2021-12-03 上海复旦微电子集团股份有限公司 一种基于查找表的fpga芯片逻辑单元时延建模方法和系统
US10289774B1 (en) * 2017-03-30 2019-05-14 Cadence Design Systems, Inc Systems and methods for reuse of delay calculation in static timing analysis
US10534883B1 (en) * 2017-10-25 2020-01-14 Avatar Integrated Systems, Inc. Local path-based analysis for circuit place and route optimization
US10534878B1 (en) 2017-10-25 2020-01-14 Avatar Integrated Systems, Inc. Circuit place and route optimization based on path-based timing analysis
US10671782B2 (en) 2018-10-29 2020-06-02 International Business Machines Corporation Architecture for ordered write of data collected in parallel
US10776547B1 (en) * 2019-10-14 2020-09-15 Cadence Design Systems, Inc. Infinite-depth path-based analysis of operational timing for circuit design

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040255257A1 (en) * 2003-06-06 2004-12-16 Curtis Ratzlaff Apparatus and methods for compiled static timing analysis
TW200527237A (en) * 2003-09-19 2005-08-16 Ibm System and method for statistical timing analysis of digital circuits
TW200620115A (en) * 2004-05-28 2006-06-16 Qualcomm Inc Method and apparatus for fixing hold time violations in a circuit design
TWI273673B (en) * 2004-04-09 2007-02-11 Incentia Design Systems Corp Method and system for providing fast design for testability prototyping in integrated circuit designs
TWI275931B (en) * 2005-04-21 2007-03-11 Faraday Technology Grop Method of build-in at-speed testing in a system-on-chip
US7404163B2 (en) * 2006-03-24 2008-07-22 International Business Machines Corporation Static timing slacks analysis and modification
US20080209372A1 (en) * 2007-02-26 2008-08-28 International Business Machines Corporation Estimation Of Process Variation Impact Of Slack In Multi-Corner Path-Based Static Timing Analysis
TW200912747A (en) * 2007-04-27 2009-03-16 Ibm IC chip at-functional-speed testing with process coverage evaluation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636372A (en) * 1994-09-30 1997-06-03 International Business Machines Corporation Network timing analysis method which eliminates timing variations between signals traversing a common circuit path
US7356793B2 (en) * 2004-07-12 2008-04-08 International Business Machines Corporation Genie: a method for classification and graphical display of negative slack timing test failures
US7979820B1 (en) * 2005-10-24 2011-07-12 Cadence Design Systems, Inc. Temporal replicant simulation
US7853911B1 (en) * 2005-11-04 2010-12-14 Altera Corporation Method and apparatus for performing path-level skew optimization and analysis for a logic design
US7546500B2 (en) * 2006-03-02 2009-06-09 Synopsys, Inc. Slack-based transition-fault testing
US7698674B2 (en) * 2006-12-01 2010-04-13 International Business Machines Corporation System and method for efficient analysis of point-to-point delay constraints in static timing
US7694254B2 (en) * 2007-01-03 2010-04-06 International Business Machines Corporation Method, computer program product, and apparatus for static timing with run-time reduction
US8365115B2 (en) * 2009-03-06 2013-01-29 Taiwan Semiconductor Manufacturing Company, Ltd. System and method for performance modeling of integrated circuits

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040255257A1 (en) * 2003-06-06 2004-12-16 Curtis Ratzlaff Apparatus and methods for compiled static timing analysis
TW200527237A (en) * 2003-09-19 2005-08-16 Ibm System and method for statistical timing analysis of digital circuits
TWI273673B (en) * 2004-04-09 2007-02-11 Incentia Design Systems Corp Method and system for providing fast design for testability prototyping in integrated circuit designs
TW200620115A (en) * 2004-05-28 2006-06-16 Qualcomm Inc Method and apparatus for fixing hold time violations in a circuit design
TWI275931B (en) * 2005-04-21 2007-03-11 Faraday Technology Grop Method of build-in at-speed testing in a system-on-chip
US7404163B2 (en) * 2006-03-24 2008-07-22 International Business Machines Corporation Static timing slacks analysis and modification
US20080270962A1 (en) * 2006-03-24 2008-10-30 Chadwick Thomas B Static timing slacks analysis and modification
US20080209372A1 (en) * 2007-02-26 2008-08-28 International Business Machines Corporation Estimation Of Process Variation Impact Of Slack In Multi-Corner Path-Based Static Timing Analysis
TW200912747A (en) * 2007-04-27 2009-03-16 Ibm IC chip at-functional-speed testing with process coverage evaluation

Also Published As

Publication number Publication date
US20100281445A1 (en) 2010-11-04
TW201104454A (en) 2011-02-01
US8079004B2 (en) 2011-12-13
WO2010126687A3 (en) 2011-01-13
CN101877017A (zh) 2010-11-03
CN101877017B (zh) 2014-06-18
WO2010126687A2 (en) 2010-11-04

Similar Documents

Publication Publication Date Title
TWI512499B (zh) 使用快速評估技術之以有效窮盡路徑為基礎的靜態時序分析
US7650580B2 (en) Method and apparatus for determining the performance of an integrated circuit
CN101789033B (zh) 用于在物理验证期间管理违例和错误分类的方法和设备
Blaauw et al. Statistical timing analysis: From basic principles to state of the art
TWI434191B (zh) 產生階層式電路設計的平面規劃之方法與設備及其非暫態電腦可讀式儲存媒體
US8015521B2 (en) Method and system for performing sequential equivalence checking on integrated circuit (IC) designs
US8548788B2 (en) Technology computer-aided design (TCAD)-based virtual fabrication
US8302044B2 (en) Abstraction-based livelock/deadlock checking for hardware verification
US7496884B2 (en) Distributed hierarchical partitioning framework for verifying a simulated wafer image
US10372856B2 (en) Optimizing constraint solving by rewriting at least one bit-slice constraint
US8495535B2 (en) Partitioning and scheduling uniform operator logic trees for hardware accelerators
US9069699B2 (en) Identifying inconsistent constraints
US9965575B2 (en) Methods and systems for correcting X-pessimism in gate-level simulation or emulation
EP2382566A2 (en) Method and apparatus for constructing a canonical representation
Huang et al. Fast path-based timing analysis for CPPR
US9529962B1 (en) System and method for generating and using sibling nets model for shared delay calculation across multi-instantiated blocks in the circuit design
US10650109B1 (en) Boolean satisfiability (SAT) solver
US9747405B2 (en) Buffer chain management for alleviating routing congestion
Garg Common path pessimism removal: An industry perspective: Special session: Common path pessimism removal
US11270052B2 (en) System and method of timing characterization for semiconductor circuit
US8132141B2 (en) Method and apparatus for generating a centerline connectivity representation
Chang et al. Test Methodology for Defect-Based Bridge Faults
Hung et al. Delay-bounded routing for shadow registers
Zhang et al. SRAM yield-per-area optimization under spatially-correlated process variation
Bodhe Algorithms for Efficient Fail Data Collection for Defect Diagnosis