跨管線的時序瓶頸分析以利用有用偏差引導優(yōu)化的制作方法
【技術領域】
[OOOU 本公開設及電子設計自動化巧DA)。更具體地,本公開設及電路設計優(yōu)化。
【背景技術】
[0002] 處理技術上的進展W及對于消費電子的幾乎無限的欲望已經(jīng)激發(fā)了集成電路 (1C)設計的尺寸和復雜度上的快速增長。由于1C設計快速增長的尺寸和復雜度,將電路設 計的高級別描述轉化為滿足一組時序約束的實施方式并且同時對諸如面積、泄漏功率等的 附加量度進行優(yōu)化變得越來越困難。
【發(fā)明內(nèi)容】
[0003] 在此描述的一些實施例提供了用于引導電路設計的優(yōu)化的技術和系統(tǒng)。在此描述 的一些實施例針對電路設計中的邏輯路徑鏈的集合來計算總松弛(aggregateslack)的集 合(本公開中也被稱作超級路徑松弛(superpathslack))。每個邏輯路徑鏈從僅發(fā)射信 號但不捕獲信號的主輸入或時序電路元件開始,并且在僅捕獲信號但不發(fā)射信號的主輸出 或時序電路元件處結束。接下來,實施例基于總松弛的集合來引導電路設計的電路優(yōu)化。更 具體地,一些實施例基于總松弛的集合來對在時鐘樹綜合(CT巧之前執(zhí)行的電路優(yōu)化進行 引導。
[0004] 在一些實施例中,引導電路設計的電路優(yōu)化設及不試圖解決在其總松弛大于或等 于零的邏輯路徑鏈中的邏輯路徑的時序違規(guī)(timingviolation)。
[0005] 在一些實施例中,引導電路設計的電路優(yōu)化設及試圖解決在其總松弛為負的邏輯 路徑鏈中的邏輯路徑的時序違規(guī)。
[0006] 在一些實施例中,引導電路設計的電路優(yōu)化設及試圖增大其總松弛為負的邏輯路 徑鏈的總松弛。
[0007] 在一些實施例中,引導電路設計的電路優(yōu)化設及基于有多少具有負松弛的邏輯路 徑鏈包括邏輯路徑來向邏輯路徑指派優(yōu)先級,其中該電路優(yōu)化試圖按照優(yōu)先級的降序來增 大邏輯路徑的時序松弛。由最大數(shù)量的具有負松弛的邏輯路徑鏈(即,最大數(shù)量的超級路 徑)所共享的邏輯路徑可W被稱作"時序瓶頸"。
[000引在一些實施例中,引導電路設計的電路優(yōu)化設及在總松弛的集合中的所有總松弛 大于或等于零時終止電路優(yōu)化。
【附圖說明】
[0009] 圖1圖示了根據(jù)在此描述的一些實施例的電路設計。
[0010] 圖2圖示了根據(jù)在此描述的一些實施例如何能夠基于超級路徑分析來提供引導。
[0011] 圖3A-3B圖示了根據(jù)在此描述的一些實施例的其中使用多個時鐘對時序電路元 件進行計時的示例。
[0012] 圖4圖示了根據(jù)在此描述的一些實施例的包括回路的電路設計。
[0013] 圖5圖示了根據(jù)在此描述的一些實施例的用于計算并使用超級路徑松弛的過程。
[0014] 圖6圖示了根據(jù)在此描述的一些實施例的計算機系統(tǒng)。
【具體實施方式】
[0015] W下描述被呈現(xiàn)W使得本領域技術人員能夠制造并使用本發(fā)明,并且在特定應用 及其需求的上下文中被提供。針對所公開的實施例的各種修改對于本領域技術人員而言將 是顯而易見的,并且在此定義的總體原則可W被應用于其它實施例和應用而并不偏離本發(fā) 明的精神和范圍。因此,本發(fā)明不限于所示的實施例,而是將被賦予與在此公開的原則和特 征一致的最寬范圍。在本公開中,當術語"和/或"與實體列表一同使用時,其指代該實體 列表中的所有可能組合。例如,短語"X、Y和/或Z"覆蓋了W下情形;(1)僅X; (2)僅Y; (3)僅Z;(4)X和Y;化)X和Z;化)Y和Z;W及(7)X、Y和Z。
[001d由子巧計自動化化DA)流巧的概i術
[0017]EDA流程能夠被用來創(chuàng)建電路設計。一旦電路設計完成,其能夠進行制造、封裝和 裝配W生產(chǎn)集成電路巧片。邸A流程可W包括多個步驟,并且每個步驟能夠設及到使用一種 或多種邸A軟件工具。W下描述了一些邸A步驟和軟件工具。邸A步驟和軟件工具的該些 示例僅出于說明的目的而非旨在將實施例限于所公開的形式。
[0018] 一些邸A軟件工具使得電路設計者能夠描述電路設計的功能。該些工具還使得電 路設計者能夠執(zhí)行假設情景(what-if)規(guī)劃W完善功能、檢查成本等。在邏輯設計和功能 驗證期間,能夠編寫針對系統(tǒng)中的模塊的例如SystemVerilog的皿L(硬件描述語言)代碼 并且能夠檢查設計的功能準確性,例如,能夠?qū)υO計進行檢查W確保其產(chǎn)生正確的輸出。
[0019] 在針對測試的綜合和設計期間,皿L能夠使用一種或多種EDA軟件工具將皿L代 碼翻譯為網(wǎng)表(netlist)。進一步地,網(wǎng)表能夠針對目標技術被優(yōu)化,并且能夠設計并實施 測試W檢查所完成的巧片。在網(wǎng)表驗證期間,能夠針對與時序約束的兼容性W及與皿L代 碼的對應性來檢查網(wǎng)表。
[0020] 在設計規(guī)劃期間,巧片的整體平面布局(floorplan)能夠被構建W及針對時序和 頂層布線而被分析。在物理實施期間,電路元件能夠被放置在布局(放置)中并且能夠被 電禪合(布線)。
[0021] 在分析和提取期間,能夠在晶體管層面來驗證電路的功能并且能夠提取到寄生效 應。在物理驗證期間,能夠?qū)υO計進行檢查W確保制造、電氣問題、平版印刷問題和電路的 正確性。
[0022] 在分辨率增強期間,可W在布局上形成幾何操控W提高設計的可制造性。在掩模 數(shù)據(jù)準備期間,設計能夠被"流片(taped-out) "W產(chǎn)生在制造期間被使用的掩模。
[002引甚于胞級路巧扮弧來搖供優(yōu)化引導
[0024] 圖1圖示了根據(jù)在此描述的一些實施例的電路設計。電路設計100包括時序電路 元件104、108和112。輸入管腳"In"被禪合至組合邏輯102,組合邏輯102被禪合至時序 電路元件104的輸入管腳"D"。時序電路元件104的輸出管腳"Q"被禪合至組合邏輯106, 組合邏輯106被禪合至時序電路元件108的輸入管腳"D"。時序電路元件108的輸出管腳 "Q"被禪合至組合邏輯110,組合邏輯110被禪合至時序電路元件112的輸入管腳"D"。時 序電路元件112的輸出管腳"Q"被禪合至組合邏輯114,組合邏輯114被禪合至輸出管腳 "Out"。時序電路元件104、108和112的時鐘輸入被禪合至時鐘管腳"Cnk"。
[0025] 邊緣觸發(fā)的D觸發(fā)器已經(jīng)在本公開中被用作時序電路元件的示例。然而,術語"時 序電路元件"一般指代任意類型的邊緣觸發(fā)或電平觸發(fā)的時序電路元件,而不局限于本公 開中所公開的形式。對于本領域技術人員將會顯而易見的是,本公開中所描述的實施例總 體上可應用于任意類型的邊緣觸發(fā)或電平觸發(fā)的時序電路元件。
[0026] 在給定時鐘邊緣處(上升、下降或其二者),每個時序電路元件的輸入捕獲被提供 給該輸入的邏輯值,并且每個時序電路元件的輸出發(fā)射邏輯值,然后該邏輯值在到達下一 時序電路元件的輸入之前通過一個或多個口和/或網(wǎng)來傳播。
[0027] 在本公開中,術語超弧"超弧"指代從主輸入或時序電路元件的輸出開始并且在主 輸出或下一時序電路元件的輸入處結束的路徑。例如,電路設計100包括超弧116、118、120 和122。術語"超弧延遲"指代超弧的