TWI488062B - 使用持續虛擬繞徑互連驅動實體合成 - Google Patents
使用持續虛擬繞徑互連驅動實體合成 Download PDFInfo
- Publication number
- TWI488062B TWI488062B TW098119769A TW98119769A TWI488062B TW I488062 B TWI488062 B TW I488062B TW 098119769 A TW098119769 A TW 098119769A TW 98119769 A TW98119769 A TW 98119769A TW I488062 B TWI488062 B TW I488062B
- Authority
- TW
- Taiwan
- Prior art keywords
- network
- margin
- design
- function
- delay
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
本發明關於實體合成,更特別是使用持續虛擬繞徑之互連驅動實體合成。
在現代製程技術中,精確地預測互連延遲在高效率整合積體電路(IC)設計中已經變成其中之一的關鍵步驟。尤其在65奈米體系與其更高者中,互連延遲可以根據繞徑拓樸和層分配而戲劇化改變。由於,在預繞徑(pre-route)階段的電路最佳化期間內,從虛擬繞徑所評估之腳位到腳位延遲(pin-to-pin delay)和寄生效應可以非常不同於在繞徑後之實際延遲。
此種在腳位到腳位延遲和寄生效應之差異可能會錯誤引導該電路最佳化軌道,即導致在並非為關鍵的網路(net)中浪費過度最佳化的努力(在預繞徑最佳化期間內)。此外,可以藉由在預繞徑階段採用電路最佳化步驟而留下未最佳化之真正的關鍵網路,藉以在後繞徑(postroute)最佳化期間(其趨向於相較於預繞徑最佳化為較少的彈性)而需要昂貴的最佳化步驟。因此,由於在設計流程中的不可預測性,使得設計整合變得困難,且通常會導致生產出具有低下效能的IC。
在最後十年期間,由傳統合成所使用的以扇出(fanout)為基礎的線載(wireload)模型已增加對的延遲和寄生效應之以配置為基礎的
模型而做為實體合成廣泛採用的一部分。早期實體合成技術使用簡單半矩形周長(HRPM),其根據在預繞徑階段之電路最佳化期間對網路評估的線長。然而,雖然該HRPM度量是包含有兩個或三個腳位之網路的最小線長之精確測量,其也可能顯著低估,甚至在最可能線長所需對多腳位網路繞徑。
當線延遲變得更為顯著時(主要由於過程比例),此以簡單HRPM為基礎的線長評估的弱點係以實證扇出補償因子改正。不幸地,即使這樣的增強也未能對驅動器對吸入端(driver-to-sink)之線長或對多重腳位網路的側向負載(side-load)寄生效應提供良好的評估。於是,虛擬繞徑器之使用在線延遲評估之目的上獲得廣泛接受。這些虛擬繞徑器的範圍從簡單貪婪樹(greedy tree)拓樸產生方案到更尖端之直觀推斷法(heurist-ics)。
一個例示性虛擬繞徑器係使用史戴那樹(Steiner tree),其中給定一組點(頂點),該互連連接到這些點的長度可以藉由增加一或更多的中間頂點而得到最小化。例如:第1A圖表示由一虛擬繞徑器(沒有使用史戴那樹)所產生的繞徑,其中一驅動器101使用互連105、106和107來驅動元件(cell)102、103和104。相反地,第1B圖表示一虛擬繞徑器所產生之基於史戴那樹的繞徑,其中驅動器101使用互連108來驅動元件102、103和104。雖然史戴那樹可以提供由整體繞徑器產生的實際拓樸之較佳近似值,但它們仍是遭受多種問題,逐漸成為更嚴重線延誤之低劣縮放。
注意因為由上述種類的虛擬繞徑器所產生之拓樸係為對壅塞並不注意,繞徑評估可以表示最小線長。特別是,這些繞徑評估未能在寄生效應和網路延遲上塑造出繞徑繞道(detour)的影響。處理這樣問題的早期影響係根據障礙物感知(blockage-aware)繞徑嵌入去捕捉出由硬巨集(hard macro)所取得的繞道。例如:第1C圖表示一驅動器120使用一互連124以驅動元件121。然而,由於在巨集122和123之間的窄通道之壅塞,驅動器120可能使用互連125來驅動元件121,其相當於大於互連124。一旦該配置穩定,一個整合繞徑器可以用在產生近似壅塞地圖。此種壅塞地圖可
以隨後由後續網路拓樸產生演算法所使用。不幸地,這種技術已顯著地浪費成本。
早期以史戴那為基礎的線延遲評估方案係企圖藉由依靠平均層寄生效應而獲得層分配之複雜性。雖然這個平均滿足早期製程技術,其中該線延遲為相對小的,但因其精確層的缺乏和經由塑模可能導致在現代設計上之大型評估失誤,其中穿孔可能為高度抗性和易變的,且不同的金屬層可能產生龐大的不同延遲。請參照第1D圖和第1E圖,驅動器130分別經由互連132或133其中之一以驅動元件131。互連132和133為相同長度,但形成在不同層中且因此可能導致不同的延遲。例如:在68奈米的節點上之一公釐長的銅線的RC延遲可能會依據其層而有從209ps到767ps之變化。一般而言,在繞徑在較低金屬層時之長線的傳播延遲顯著高於繞徑在較高金屬層,不幸地,虛擬繞徑器將為裝備不良而去預測何層將最終用於任何特定線中。
注意在相對長線的情況中,相較於較高金屬層而言,在較低金屬層中可能顯著需要較多的緩衝器。事實上,一般而言,顯示在第1A、1B、1C、1D和1E圖中的不同繞徑途徑也可能導致需要驅動該繞徑途徑的不同數量的緩衝器、對這些緩衝器的不同尺寸、以及關聯於這些緩衝器的不同尺寸之吸入閘(sink gate)。所有上述之不良導致在配置程序中的額外壅塞、可能的預繞徑以及全部較大的不確定。
繞徑評估之問題分歧(這是部分原因,因為虛擬繞徑器所使用的拓撲產生演算法之估計目的是明顯不同於該實際整體繞徑器所使用的)可以在配置階段其本身期間對繞徑拓樸評估使用快速整體繞徑器所部份解決。這就是,相同的拓樸產生演算法可以使用在評估和繞徑上。不幸地,即使該技術可以準確地塑模層之具體壅塞和穿孔,其也具有明顯計算負載過重。
然而,進一步而言,該整體繞徑器所產生的拓樸係對於任何
給定網路可能是非常不同於其延遲評估所使用者。這也就是,一個整體繞徑器可以因應於該壅塞地圖中的微小變化而對相同網路產生非常不同的拓樸。這可以想像這個問題可以由在第一次產生時藉由修復它們的繞徑而對評估所使用保證其繞徑所解決,且隨後將它們視為後續之預繞徑網路。然而,因為以下數個理由,這個簡單的方式是不切實際的。首先,在以配置為基礎的電路最佳化期間對所有的網路產生高品質的壅塞感知繞徑是過分的昂貴。其次,在該電路最佳化進行中,因為緩衝作用、邏輯重構、在元件尺寸及/或元件配置上的改變,使得事前產生的繞徑將變得無效。再者,即使該繞徑係依照壅塞感知規則而產生,由於限制其放置在拆除且重新繞徑(rip-up-and-reroute)引擎中(即未允許修改這些預繞徑網路),使得修復甚至網路的重要部分在最後整體繞徑階段之繞徑完成期間中具有巨大影響。
因此,對於改善技術的需求提升可以更節省成本地在配置階段中考慮精確延遲和寄生效應評估。
在現代設計中,網路延遲可能根據其繞徑而有明顯變化。不幸地,在預繞徑階段之大的評估失誤可能通常會誤導網路連線表(netlist)的最佳化。與習知互連驅動實體合成相比,持續虛擬繞徑可以有利地保證用於最靈敏的網路之網路繞徑,以便驅動電路最佳化且最小化該可繞徑能力的影響。持續虛擬繞徑可以在尖端工業實體合成流程中產生明顯效能改善。
在此使用的用詞“持續性”、“持續”係涉及在繞徑之前(例如:在以配置為基礎的最佳化期間)保證用於某些明智選擇的網路之繞徑且隨後在後續以配置為基礎的最佳化步驟期間中這些選擇的網路可使用實際的寄生效應和網路延遲。這些持續性可以達成精確性和可預測性以對設
計的可繞徑能力而具有最小的影響。
根據持續性的一個觀點,該設計的網路可以根據一或更多預先決定準則而過濾。例示性的預先決定準則可以包含邊界盒(bounding box)尺寸、網路是否位於具有負的寬裕值(negative slack)或較小的正寬裕值(positive slack)之路徑上、網路的扇出(其被定義為由該網路所驅動的吸入端腳位數目)、及/或電子靈敏度。在過濾之後,剩餘的網路可以使用一或更多個成本函數來進行排序。
在此所使用者,網路的寬裕值可以被定義為通過該網路的最大關鍵路徑之時序寬裕值。在一實施例中,網路的成本函數可以取決於該網路的電子靈敏度。在另一實施例中,網路的成本函數可以是取決於其寬裕值的函數、取決於其延遲的函數以及取決於其扇出的函數之乘積。在又一實施例中,該成本函數可以是取決於網路之電子靈敏度的函數和取決於其網路扇出之函數的乘積。在又一實施例中,該成本函數可以是取決於網路之電子靈敏度的函數、取決於其網路扇出函數以及取決於該網路邊界盒尺寸之函數的乘積。在又一實施例中,此成本函數可以是取決於網路之電子靈敏度之函數、取決於網路扇出之函數、取決於網路延遲之函數以及取決於網路寬裕值之函數的乘積。
在一實施例中,根據寬裕值的函數可以是藉由預設邊限(在此被稱為寬裕值偏移(slack offset))而增加之網路時序寬裕值、或是此增加的寬裕值和寬裕權重的乘積。在一實施例中,任何給定寬裕值的寬裕權重可以從具有最差負寬裕值W和由(寬裕值偏移-W)/3所得出的標準差(standard deviation)之平均值的高斯分佈(Gaussian distribution)所獲得。在一實施例中,該寬裕值偏移可以是在設計中之最快時脈週期之片斷或是取決於用於實施該設計之流程技術的預設數目。在一實施例中,取決於延遲的函數可以是網路本身的延遲或是網路延遲的平方根。在一實施例中,取決於扇出的函數可以是該網路扇出f的平方根或是表達式(1+log f)k,
其中k是某些正數(像是0.5、1、2或3)。在一實施例中,取決於網路之電子靈敏度之函數可以是電子靈敏度本身或是電子靈敏度提升到大於1的某些正功率。在一實施例中,取決於邊界盒尺寸的函數可以是環繞網路的所有腳位的最小矩形周長的一半(在此被稱為半周長(half-perimeter))或是此半周長的平方根。特別是,上述舉例並非代表是函數之詳盡列表,這些乘積是用來計算可用於排序網路的成本函數,但僅僅是屬於可以用來建構該成本函數之說明性的函數類別。
注意如果網路延遲和寬裕值之良好可預測性係為有可能的,然後僅有具有負寬裕值的網路將是有幫助的(即為具有正寬裕值的網路已經最佳化)。然而,根據不完美的可預測性,可能創造出一邊限(margin),而此邊限係為上述所提到的寬裕值偏移,其確保所有的網路具有相較於所考慮之小正值的寬裕值為更差的寬裕值。在一實施例中,此寬裕值偏移可以被定義為該設計之操作頻率的函數。例如:該寬裕值偏移可以是T/20,其中T是在該設計中的最快時脈週期。
注意具有相同數目之腳位、邊界盒跨度和時序寬裕值的相同網路可能在當給定子最佳繞徑時對遞增延遲和寄生效應改變中表現出不同變化。各種實施例可以捕捉該網路的此電子靈敏度以繞徑出錯誤預報以在通過該網路之路徑上而做為時序違規的可能性、在網路的驅動器中之最大負載違規、或在其吸入端其中之一中的最大扭轉違規。修復這些違規之最佳化引擎的能力可以不同於網路對網路(即使用於違規的相同強度),且因此也可以在一些實施例中被分解為電子靈敏度量度,而網路的電子靈敏度可以作為模範而正規化到0和1之間的數值。
在一實施例中,網路排序演算法可以被實施以便保持由連線數目所限制的清單尺寸,其網路數目係對持續性所選擇。在這樣的實施例中,一旦此清單成長到其最後預定尺寸,只要其成本函數較佳於在清單上之目前最差網路者(其將在程序中從該清單刪除),一個新的網路將插入此
清單中。這個清單可以實施以做為漸進效率網路選擇(asymptotically efficient net selection)之優先佇列。
本發明提供一種在實體合成期間實施持續驅動最佳化之方法,其可以包括基於不可預測性和預期成果品質(quality-of-result)影響以在一設計中排序網路。在一實施例中,此排序可以包含前述之過濾和排序。接著,第一預定最高百分比之該排序網路可以被選擇作為第一持續網路。時序驅動之整體繞徑可以實施在該第一持續網路。特別是,一時序圖表可以為具有在第一持續網路上藉由執行時序趨動整體繞徑所決定之實際延遲和寄生效應的反向標註(back-annotated)。可以使用第一持續網路之該實際延遲和寄生效應在該設計上對網路進行合成,其中該合成有利於維持和更新該第一持續網路之繞徑。在此時,可以在合成之後根據不可預測性和預期成果品質影響重新排列在該設計的網路。第二預定最高百分比之該重新排列網路可以選擇作為第二持續網路,這組網路典型地將也會包括許多第一持續網路。
在後續步驟期間中,時序驅動整體繞徑可以在這些第二持續網路中執行,其並未於稍早在第一持續網路中被選擇出。接著,可以在該設計中的剩餘網路中執行整體繞徑,且維持第二持續網路的繞徑。剩餘網路的整體繞徑可以為時序驅動的。根據整體繞徑,可以輸出最佳化設計的最終佈局。請注意,本發明也描述了可以在電腦上執行之包含有電腦指令之電腦可讀媒體係產生訊號以控制前述過程步驟。
本發明也描述了一種持續驅動的最佳化工具可藉由一電腦及儲存在電腦可讀媒體上所執行。該工具可以包括一網路選擇模組、一互連合成模組、一互連感知電路最佳化模組以及一整體繞徑轉變和維護模組。該網路選擇模組可以根據不可預測性和預期成果品質影響而在一設計中過濾和排序網路,且隨後輸出所選擇網路的清單。該互連合成模組可以執行所選擇之網路的時序驅動拓樸產生、層分配以及整體繞徑,且接著輸
出對所選擇網路具有實際寄生效應和延遲之持續整體繞徑。該互連感知電路最佳化模組可以根據該持續整體繞徑之實際寄生效應和延遲而驅動配置驅動最佳化,且接著輸出具有該持續整體繞徑之最佳化設計。該整體繞徑轉變和維護模組可以將該持續整體繞徑轉變為預先存在之整體繞徑,且接著輸出適合整體繞徑以及後繞徑最佳化之設計檔案。
300‧‧‧使用持續虛擬繞徑之互連驅動實體合成技術
201‧‧‧配置
202‧‧‧後配置最佳化
301‧‧‧持續驅動最佳化
203‧‧‧繞徑
204‧‧‧後繞徑最佳化
101、120、130‧‧‧驅動器
102、103、104、121、131‧‧‧驅動元件
105、106、107、124、125、132、133‧‧‧互連
122、123‧‧‧巨集
200‧‧‧上下實體合成技術
500‧‧‧持續驅動最佳化工具
501‧‧‧網路選擇模組
502‧‧‧互連合成模組
503‧‧‧互連感知電路最佳化模組
504‧‧‧整體繞徑轉變和維護模組
510、511‧‧‧繞徑網格
521、523、522‧‧‧線路探測器
512‧‧‧漏失點
600‧‧‧過濾階段
700‧‧‧排序階段
800‧‧‧產品概念
810‧‧‧EDA軟體
840‧‧‧設計定案
850‧‧‧製造
860‧‧‧封裝組裝
870‧‧‧晶片
812‧‧‧系統設計
814‧‧‧邏輯設計和功能驗證
816‧‧‧合成與測試設計
818‧‧‧網路連線表驗證
820‧‧‧設計計畫
822‧‧‧實體實施
824‧‧‧分析與擷取
826‧‧‧實體驗證
828‧‧‧解析度增強
830‧‧‧遮罩資料準備
第1A至1E圖表示使用來自習知虛擬繞徑器之結果的不精確。
第2圖表示一種習知之目前最先進從上到下之實體合成技術。
第3圖表示使用持續虛擬繞徑之一種互連驅動實體合成技術。
第4圖表示一種持續驅動之最佳化技術。
第5A圖表示一種持續驅動之最佳化工具。
第5B圖表示一種藉由混成點對點繞徑器所執行之例示性繞徑。
第6圖表示一種例示性過濾階段。
第7圖表示一種例示性排序階段。
第8圖表示一種例示性數位ASIC設計流程之簡化表示法,其中其可以執行在互連驅動實體合成之持續性。
在65奈米與後續製程技術,在繞徑上之延遲和寄生效應評估的敏感度的變化為非常高。不幸地,根據如此的敏感度,使用虛擬繞徑器之習知技術可以不再提供精確的結果。根據改良的互連驅動實體合成,在晚期階段的配置期間產生的整體繞徑(具有精確的寄生效應和腳位對腳位
延遲評估)可以透過後續以配置為基礎的最佳化和設計流程之繞徑階段保存。尤其是,整體繞徑之維護(在此稱為“持續”)會被限制在設計中的非常小百分比的整體網路(如:0.5到5%)。
有利地,由於這些持續繞徑以最小化該設計之反向繞徑能力,此持續技術可以達成提昇可預測性之獲益。如以上所描述者,可以依據不可預測性和預期成果品質影響(有時稱為臨界性)過濾和排序設計的網路,藉以顯著限制這些被選擇網路的數目。因此,因為小量的持續網路,整體繞徑能力的影響會徹底限制甚至做為該設計之可預測性顯著改善。
為了更佳了解由持續可能進行之改良,現提供習知合成技術之簡要描述。第2圖係表示一種習知之的目前最先進從上到下之實體合成技術200。在技術200中,該設計反復通過配置201和後配置最佳化202(譬如:調整閘大小(gate sizing)、緩衝器植入(buffer insertion)、邏輯重建(logic restructuring))以產生具有改善效能之詳細正當的配置解決方案。在初始通過配置201和後配置最佳化202期間(可稱為“早期階段”配置),在該設計中之標準元件的位置(及其腳位)可以如該設計非常變化為最佳化且經歷配置配置認可。這些對元件/腳位位置之擾動(perturbation)在之後通過配置201和後配置最佳化202變得較小(稱為“晚期階段”配置)。
在後配置最佳化202期間,在互連延遲中之大部份的不確定是由於缺乏關於最後對網路之後繞徑拓樸和層分配。目前的設計流程採用虛擬繞徑器以進行這些預告,其依序驅動以配置為基礎的最佳化。不幸地,這些預告係與藉由繞徑203和後繞徑最佳化204所產生的相關網路的最後繞徑明顯不同,從而導致在該設計流程之配置和繞徑階段之間大的錯誤相關性(miscorrelation)。於是,在最佳非關鍵網路上之顯著努力可能被浪費。更確切地,技術200可能不能夠識別導致在設計效能的後續損失之實際關鍵網路。
特別是,因為該設計在配置階段的靈活性,以配置為基礎的
最佳化具有極大的潛能以從該設計中擷取效能。即是,可以對該設計進行主動性改變(例如:緩衝器植入、調整閘大小以及邏輯重建)而可以導致顯著的實體擾動,其因為後續增加的配置和認可可以改正這些早於繞徑203的改變。因此,在晚期階段配置和後繞徑延遲之間具有相關性,且寄生效應預測可以驅動對最佳化效能獲益的最佳化軌道。
相反地,雖然該後繞徑最佳化204具有關於該設計寄生效應之精確資訊,該網路之繞徑不允許在該設計上之大的擾動以便維持該繞徑之正確性。於是,具有非常受限制數量之可用最佳化(如:最小緩衝器植入、調整閘大小、層移位以及一些重新繞徑)而設計者可以在繞徑203和後繞徑最佳化204期間使用。
使用持續網路以能夠保證相關性而可以有利地驅動以配置為基礎之最佳化步驟去擷取大的效能獲益。根據使用持續虛擬繞徑之互連驅動實體合成,在該設計流程中之該配置和繞徑階段之延遲和寄生效應評估之間的相關性可以有利的實施。如以下進一步之詳細描述,持續虛擬繞徑可以在關鍵的和不可預期的網路之晚期配置期間驅動有效的最佳化且避免在非關鍵或可預期的網路中之任何放費的最佳化努力。
一般而言,為了達到這種最佳化,在晚期配置期間可以產生對所選擇的候選網路之整體繞徑。這些整體繞徑可以用於評估互連寄生效應和延遲評估(騎用於驅動後續後配置最佳化)。更特別為,這些繞徑可以由透過後續整體繞徑階段保存它們而造成持續。
第3圖表示使用持續虛擬繞徑300之互連驅動實體合成技術。在技術300中,當該配置已經穩定時(注意在第2圖所描述之配置201、後配置最佳化202、繞徑203以及後繞徑最佳化204),在晚期配置期間可以援引持續驅動最佳化301。如先前所指出。後續最佳化確實可以對腳位位置引起小的擾動以做為調整元件大小、緩衝器植入或其他轉換的成果。然而,技術300具有透過持續整體繞徑修補以處理許多這些改變之能力。
第4圖表示一種例示性持續驅動之最佳化技術。由於虛擬時脈,為了評估可以存在時序路徑之不確定性,可以在早於援引持續驅動最佳化技術400之前合成、最佳化與繞徑一時脈樹401。在技術400中,步驟402可以根據其合適時脈/電子臨界性(也稱為成果品質或QoR)影響和合適不可預期性在該設計中排序網路。
尤其是做為經驗證明,網路的數量為(1)具有其擁有的顯著延遲以及(2)在關鍵路徑(關聯於QoR影響之網路)通常是相對小的(如:少於總網路之20%)。可以會遇到任何網路中其延遲錯誤預測具有顯著影響(例如:通過該網路之大部分關鍵路徑之延遲有超過10%之差異)之不可預期性情況。有趣者,許多關鍵的網路也是可預測的。這就是,任何合理的最佳化引擎可以透過緩衝器植入以區隔非關鍵的吸入端,以及時序驅動繞徑器可以優先地繞徑它們。然而,使用該QoR影響和該不可預期性準則可以開始在步驟402中形成小的清單(例如:少於10%之總網路),且其可以快速地排序。
在步驟402所產生的排序可以用於選擇在步驟403變得持續的候選網路。在一實施例中,所選擇的網路百分比可以為在設計中總網路之0.5到5%(其中一典型IC設計可以具有500,000到數百萬個總網路)。在另一實施例中,其中從該設計中僅有一區塊被合成。所選擇的網路百分比可以是在該區塊中之3到5%的總網路(其中一典型IC區塊可以具有50,000到500,000個網路)。
特別是,該選擇的網路不總是專門地與大部分關鍵網路相關連。更確切地,該選擇的網路通常是傾向該網路接近於其特徵係屬關鍵,即為接近關鍵之網路。可由對接近關鍵之網路的良好繞徑(例如通常由虛擬繞徑器所假設)進行鑑別所解釋(儘管為事後)之此種觀測可以有利地從關鍵路徑維持如此的網路。然而,對於接近關鍵網路之損換繞徑(例如可以由整體繞徑器所實際產生)可以使這些網路變得關鍵。如參考第6圖之
更詳細解釋,網路的選擇可以基於以時序寬裕值為基礎的臨界、腳位對腳位延遲、扇出腳位的數目及/或以邊界盒為基礎的實體跨度(span)。
步驟404可以對所選擇的網路進行壅塞感知、時序驅動整體繞徑/這些持續整體繞徑可以用於評估所選擇的網路之腳位對腳位延遲和寄生效應。步驟405隨後可以用這些延遲和寄生效應反向標註一時序圖表。步驟406可以請求由從該持續網路看到的寄生效應所驅動之以配置為基礎的最佳化。這就是可以使用以繞徑為基礎的延遲和寄生效應執行合成。注意在合成維持其整體繞徑之有效性期間,該持續網路可以優先地被處理。再者,持續繞徑係於合成通常可被遞增地更新期間進行改變。
在此時,步驟407可以根據不可預測性和合適QoR影響重新排序所有網路。步驟408從在步驟407中產生的新排序中選擇最高的少數網路。注意在步驟403中選擇之一些網路可以從此修改後清單中刪除,且一些新的網路可能出現在根據該設計之目前狀況而做為關鍵和不可預測性之清單中。在一實施例中,在步驟408中新選擇之每一網路可以與已經存在選擇網路之清單上的網路(在步驟403中產生)進行比較,藉以維持列表之預定尺寸。
在一實施例中,在步驟403中選擇的網路百分比(如:5到6%)可以大於在步驟408中選擇的網路百分比(如:3%)。依此規則,原始所選擇網路的70到90%可能倖存在此再新週期(refresh cycle)中。有利地,在步驟404到408期間保持較大的列表於合成階段期間(不像繞徑階段)具有非常小的損失(penalty)。
倖存的持續網路可以保留其原始繞徑且新的整體繞徑可以在步驟409中對新增加的持續網路產生。藉由主動控制這些關鍵、不可預測之網路的整體繞徑,該整體繞徑器避免這些網路意外產生損壞的繞徑。這些整體繞徑可以被轉變為在步驟410中之預先存在的整體繞徑,藉以在網路資料庫中實施持續。
該整體繞徑引擎可以隨後引用到完成剩餘網路之整體繞徑且在步驟411中優先地處理該持續整體繞徑(藉著不將其考慮為拆除且重新繞徑(rip-up-and-reroute)之候選者)。在一實施例中,該剩餘網路之整體繞徑可以為時序驅動。步驟412可以執行後繞徑最佳化且隨後輸出該設計之最終佈局413。注意步驟411和412可為特徵在於為繞徑和後繞徑最佳化階段之部分,但顯示在第4圖之上下文。
第5A圖表示一種例示性之持續驅動之最佳化工具500可以用來致能步驟402至411。在一實施例中。工具500之例示性模組可以包括一網路選擇模組501、一互連合成模組502、一互連感知電路最佳化模組503以及一整體繞徑轉變和維護模組504。注意工具500之其他實施例可以包括更少或更多的模組,即是,為了簡化可以在模組501至504之間分割機能,且不需要描述實際之軟體模組。
網路選擇模組501可以用來預測在該設計中之大部份關鍵、不可預測之網路。在一實施例中,網路之小數目(如少於5%)在持續範例之情況下可以被選擇,藉以最小化任何惡化之該設計之可繞徑性。網路選擇模組501可以根據透過捕捉不可預測性和關鍵性之各種成本量度而變得關鍵之其可能性執行網路之有效排序。在一實施例中,成本函數包括一或更多量度(metrics),譬如:可以使用以關鍵性為基礎之時序寬裕值、腳位對腳位延遲、扇出腳位之數量、電子敏感度以及以邊界盒為基礎之實體跨度。在一實施例中,網路選擇模組501可以實施步驟402、403、407和408(第4圖)。
互連合成模組502可以執行選擇網路之時序驅動拓樸產生、層分配以及整體繞徑。因為持續網路通常是關鍵或接近關鍵,而高品質時序驅動繞徑可以從這些網路中產生。然而,如稍早所指出,在設計中之剩餘(即:非持續性)網路的可繞徑性可以維持本質上不受影響。有利地,僅選擇作為持續之網路的一小片段可以顯著最小化如此的可繞徑性問題。
此外,為了使可繞徑性問題降為最低,互連合成模組502可以明確考量壅塞且對持續網路產生時序趨動繞徑,藉以不使該設計流程之後續整體繞徑階段的複雜性更為惡化。互連合成模組502可以啟發式地最小化預期壅塞。在一實施例中,互連合成模組502可以在該非持續網路之每一區域中保留該繞徑資源之某些片段以改善壅塞。在另一實施例中,在後續整體繞徑中保留在每一整體繞徑元件之繞徑資源的片段可以與其預期需求之某些非減少函數為等比例,其中該需求可以從壅塞圖表(congestion map)中評估。注意互連合成模組502之該壅塞圖表可以使用一快速整體繞徑器或是透過機率技術獲得。
較佳地,互連合成模組502可以使用避免明顯計算負載過重(overhead)。例如:在一實施例中,互連合成模組502可以使用單一網路繞徑器依照時序驅動及/或壅塞驅動規則以產生該網路之層感知史戴那拓樸,且隨後使用混成點對點繞徑器來繞徑每一個史戴那區段(Steiner segment)以將迷宮繞徑(maze-routing)和線路探測器繞徑(line-probe routing)混合而在執行(runtime)和繞徑能力之間獲得良好交換。
該點對點繞徑器可以將使用迷宮繞徑器而可獲得之高解決方案品質和線路探測器繞徑器之執行效率組合。第5B圖表示一種藉由混成點對點繞徑器所執行之例示性繞徑。混成點對點繞徑器可以反覆地在可允許層(如:包含點虛線的繞徑網格510和511之層)以及從起源點S沿著穿孔(其可以設想為在層之間的垂直線)上依照所有可能繞徑方向產生線路探測器,以及隨後使用直觀推斷法去產生多重漏失點(escape point)512以進一步探索而可達到目標點T。
例如:在第5B圖中,線路探測器521可以在起源點S的交叉中形成且順著於繞徑網格510(即雙向探測器線路)上的線。接著,沿著線路探測器521可以產生漏失點512。尤其是,每一漏失點512可以關聯於可以計算做為壅塞成本和時序成本(計算做為一個從起源點到目前點之路徑之
預期延遲的函數)之組合的累積成本。該漏失點512之密度和位置可以使用各種不同的直觀推斷法來決定(例如:使用朝向最終目標方向之貪婪偏壓(greedy bias)或是藉由較低成本之優先探測器)。然而,漏失點之產生係為有利地非完全徹底,藉以將運算資源最小化。
每一漏失點512可以做為線路探測器之下一組合之來源,其在第5B中為線路探測器522。線路探測器522係垂直於包含了繞徑網格510和511之層,且因此可以被視為在這些層之間的潛在穿孔。線路探測器523可以在目標點T的交叉上形成且順著繞徑網格511上之線。在一實施例中,這些雙向線路探測器523可以在雙向線路探測器521之前、實質上為同時或是在之後形成。漏失點可以依照如上所描述之線路探測器521的類似規則(僅為簡化顯示)在線路探測器523上形成。
因此,反覆產生線路探測器和在這些線路探測器上使用漏失點以探測之過程可以用於完成在起源點S和目標點T之間的路徑。其最終解決方案可以選擇為在起源點和目標點之間所發現之最低成本路徑。可以從起源點S和目的地點T中均運行混成點對點繞徑器,且起源於起源點S和目的地點T之線路探測器之任何交集係為對該混成點對點繞徑器之有效繞徑解決方案。
在另一實施例中,互連合成模組可以採用如上所描述之互連合成引擎以對大部份關鍵網路(如所有網路之0.5至1%)產生持續整體繞徑以及在時序驅動模式中使用整體繞徑器以對持續所選擇出的剩餘5到5.5%之網路產生繞徑。在又一實施例中,該互連合成模組502可以在時序驅動模式中使用整體繞徑而無須依賴以上所描述之互連合成引擎以對高達5至6%之網路產生繞徑,藉以導致持續網路選擇和繞徑產生執行係為相對地不依賴於所選擇網路數量。
在一實施例中,最後選擇的持續繞徑可以透過使用輕型資料結構來表達繞徑樹之合成流程的剩餘部份來保存。如先前所指示者,持續
網路之寄生效應和延遲可以使用者些繞徑來計算,以及時序圖表可以被適當地更新以驅動未來最佳化。
注意建議支持續流程係為不依賴於實際繞徑演算法,其係為用於互連合成。在一實施例中,互連合成模組可以執行步驟404和409(第4圖)。
互連感知電路最佳化模組503可以根據持續整體繞徑反向標註至該時序圖表之寄生效應和延遲而驅動配置驅動最佳化。該最佳化可以使用由所有其他(即非持續者)網路之虛擬繞徑器所產生的寄生效應和延遲而執行。在一實施例中,互連感知電路最佳化模組503可以依據對寄生效應擷取之相同引擎的使用以及對於持續和非持續繞徑兩者之延遲計算而避免校正失誤。
有利地,該寄生效應之改良準確度使得該關鍵、不可預期網路更為精確的識別,藉以更有效地驅動該最佳化軌道。依序得到關於給定網路關鍵性之精確評估可以減少不充分之可能性或是該網路之過度最佳化。如先前所知,因為由於其高敏感度而導致繞徑不足,其甚至使得目前不是關鍵的持續網路可能變為關鍵。因此,使這樣的潛在關鍵網路持續以避免它們在該合成流程的後期期間內變得關鍵。
注意像是調整元件尺寸和緩衝器植入之一般所使用的最佳化技術可能導致腳位位置改變與甚至是互連拓樸之改變,藉以潛在地展現該持續繞徑為無效。因此,互連感知電路最佳化模組503可以執行數種演算法以優先地處理持續網路,所以調整元件尺寸和緩衝器植入盡可能地維持持續整體繞徑之有效性。此種優先處理可以在調整元件尺寸以及從在緩衝器植入後拆分為多重網路之持續網路整體繞徑繼承之後包括在腳位位置遞增地修補整體繞徑。更精確而言,在一或更多個緩衝器插入持續網路後所獲得的新網路之繞徑可以起源自原始網路之繞徑。在一實施例中,預繞徑階段的緩衝器植入演算法可以被改良為使其感知到持續網路的整體繞徑,
且決定新緩衝器的拓樸和幾何位置。此種改良對來自原始持續繞徑之繞徑的新形成網路(且因此這些新網路精確寄生效應的使用)允許持續繞徑之實質部分的恢復。注意某些大部分侵入式最佳化技術可能不會允許所引起網路之繞徑的衍生(derivation)。在這樣情況中,預設虛擬繞徑器可以用於這些網路。在一實施例中,互連感知電路最佳化模組503可以執行步驟405和406(第4圖)。
整體繞徑轉變和維護模組504有利地保存合成流程之持續特徵。在第一次將持續網路之繞徑轉變為在資料庫中之實際整體繞徑,模組504可以將整體繞徑引擎致能為注重這些繞徑而做為預先存在的整體繞徑,且對在設計諸的剩餘(非持續)網路完成整體繞徑。注意由持續整體繞徑所使用的繞徑資源並非可利用在當拆除且重新繞徑期間之整體繞徑引擎。在一實施例中,在詳細繞徑或是後續後繞徑電路最佳化步驟期間中(以及其相關增加的重新繞徑)沒有對持續網路特別保護,以為了避免在這些步驟之效果上的任何限制。在一實施例中,整體繞徑轉變和維護模組504可以執行步驟410和411(第4圖)。簡而言之,藉由使用模組501至504,持續驅動最佳化工具可以有利地平衡寄生效應和可繞徑性之精確度。
注意以上所描述之模組可以實施在高階程序或是物件導向程式語言中、或是若需要可在組合或機器語言中。在任一情況下,該語言可以是編譯或是直譯式語言。適當的處理器包括如一般和特殊目的微處理器兩者和其他類型的微控制器。一般而言,處理器可以從唯讀記憶體(ROM)及/或隨機存取記憶體(RAM)中接收指令和資料。一般而言,電腦通常包括用以儲存資料檔案之一或更多個大量儲存裝置。例示性之大量儲存裝置包括磁碟片(例如:內部硬碟以及可移動式碟片)、磁性光碟片以及光碟片。適用於明白體驗電腦程式指令和資料之儲存裝置包括所有形式之非揮發性記憶體,其包括例如半導體記憶體裝置(像是EPROM、EEPROM以及快閃記憶體裝置)、磁碟片(像是內部硬碟以及可移動式碟片)、磁性光碟片以
及CDROM碟片。上述任一可以由特定應用積體電路(ASICs)所增補或合併於其中。
第6圖表示可以在排序網路步驟(步驟402,第4圖)期間所使用之一種例示性過濾階段600。一般而言,步驟601、603、605和607可以根據預測準則決定數值,反之,步驟602、604、606和608可以分別根據在步驟601、603、605和607所決定之數值過濾網路。注意步驟601、603、605和607可以在任何順序中執行,相反地,步驟602、604、606和608可以分別在步驟601、603、605和607之候的任何時間中執行。在一實施例中,步驟601/602、603/604以及605/607可以被執行;然而在其他實施例中,較少或更多之步驟則可以被執行。正如更詳細的說明,步驟601/602、603/604以及605/605可具特點為過濾網路,此網路具有小的實體跨度、具有扇出和低電子敏感度或是不是位在關鍵或接近關鍵路徑上。
根據過濾技術之一實施例,步驟601可以決定關聯於網路之邊界盒的尺寸。該邊界盒係為具有網路之所有腳位之最小矩形。此邊界盒之尺寸可以藉由從最大x座標減去最小x座標以產生x長度、從最大y座標減去最小y座標以產生y長度,以及隨後總計出x和y長度與乘以2。
該計算出之邊界盒數值可以隨後與一臨界值比較,即是在設計中之一整體繞徑元件(即整體元件(global cell;gcell))之3倍的平均邊界盒。注意整體元件的尺寸通常為已知的先驗(priori)且其係取決於用於設計流程之繞徑器和由該設計所使用之元件庫(cell library)。如果所計算出之邊界盒數值小於該臨界值,接著可以忽略該網路。換言之,倘若所計算出之邊界盒數值係為等於或大於該臨界值,接著該網路可以包含在該清單中。在一實施例中,步驟601和602可以典型地濾除在設計中至少70%的網路。
注意步驟601和602指出該網路之實體跨度。考量到如果該網路之實體跨度非常小,接著該網路具有大的延遲之可能性也非常小。於是,該網路之跨度(例如:做為該邊界盒所測量)可以提供有關於關聯於其網
路之延遲的資訊。典型地,具有短的延遲之網路的錯誤預測僅最低限度地影響合成。這就是說,該網路對其位在大部分關鍵路徑之延遲之貢獻為最小。因此,虛擬繞徑器可以提供僅具有小的絕對誤差之短網路的延遲,但對較長的網路進行到目前為止係為較少的成功率。
根據過濾技術之另一實施例,步驟603可決定網路是否位於具有負的寬裕值或小的正寬裕值之路徑上。在此所使用的網路之寬裕值可以定義為通過其網路之大部分關鍵路徑之時序寬裕值。考量到如果通過網路之所有路徑具有大的正寬裕值,接著其網路或許不為關鍵。於是,步驟604可以忽略具有中到大的正寬裕值之網路。在一實施例中,該臨界設定到區別“小”和“中”之正寬裕值為+T/20,其中T為該設計中之最快時脈的週期。
根據過濾技術之另一實施例,步驟605可決定關聯於網路之電子敏感度和扇出。敏感度係為捕捉變為時序關鍵或是具有電子DRC(設計規則檢查)違規之網路的可能性之電子概念,即是最大扭轉或是最大電容式負載違規(ca-pacitive load violation)。當網路的長度增加時,其延遲也隨之增加。此外,當其網路長度增加時,在網路之吸入端的訊號過渡時間(即扭轉)和由該網路之驅動器所驅動的電容式負載所隨之增加。對於網路之給定驅動器,其具有其能支援之最大扭轉和其能無需DRC違規而驅動之最大電容式負載。在測量敏感度之一實施例中,可以評估出將導致網路變得時序關鍵時之網路長度的最大增加、或是網路之總電容值以及其吸入端腳位變得更大於其網路之驅動器的最大允可電容值、或是在某些吸入端腳位之扭轉變得更差於其最差允許扭轉。此允許線長的增加然後可以被正規化(normalized)和通過各種路徑中點和時脈域而被聚合,且接著再重新正規化以產出介於0和1之數值。網路可以基於此電子敏感度量度而排序。較高之正規化數值代表為較高的敏感度。
一般而言,增加網路之吸入端腳位的數量(即增加其扇出)可能導致較大的不可預測性。這即就是更大的扇出和更多的拓樸選擇會增
加不可預測性。尤其是一個好的合成演算法可以清楚地將緩衝器插入關鍵路徑以將其非關鍵吸入端腳位從其網路驅動器隔離。因此,大部分的關鍵路徑傾向於不具有大的扇出。在一實施例中,步驟606可以限制在省略並非為非常敏感之2-腳位(即一個吸入端腳位)網路。換句話說,僅有這些在敏度度臨界值以上之2-腳位網路才會包含在清單中,除此之外包含具有三個或更多個角位之所有網路。在一實施例中,對於如此的2-腳位網路的電子敏感度之臨界值係為0.85。
根據過濾技術之另一實施例,步驟607可決定關聯於每一網路之其他準則。一個例示性準則可以是網路是否為在設計中之部份匯流排。在一實施例中,如果該網路係為部份之匯流排,然後可以忽略其網路,於是,如果可能的話,其可以藉著特定匯流排繞徑器來繞徑。其它準則可以包含驅動或是被設計之輸入/輸出腳位所驅動的網路。通過上述過慮器之網路然後可以使用成本函數而進行排序。
第7圖表示一種例示性排序階段700,其可以用在選擇用於持續之最高少數網路之步驟(步驟403,第4圖)期間中。一般而言,步驟701、703、705以及707可以決定關聯於被過濾網路之成本函數的度量數值,反之步驟702、704、706以及708可以分別使用在步驟701、703、705以及707所決定的數值去排序這些被過濾的網路。在一實施例中,步驟701/702、703/704、705/706以及707/708可以相互獨立進行,即僅有一個成本函數是用在網路排序。在另一實施例中,多個成本函數可以用於排序各自具有其給定權重之成本函數的網路。
根據網路排序技術之一實施例,步驟701可以決定每一個被過濾之網路的敏感度以及步驟702可以根據其網路之電子敏感度而排序網路。
在另一實施例中,步驟703可以決定每一個被過濾網路之寬裕值、延遲和扇出,以及步驟704可以根據取決於寬裕值、延遲和扇出之函
數的乘積而排序網路。該寬裕值之函數可以為藉由預設邊限(可以被稱為寬裕值偏移)所增加之網路的時序寬裕值或是此增加的寬裕值和寬裕值權重的乘積。任何給定寬裕值的寬裕權重可以從具有於最差負寬裕值W與由(寬裕值偏移-W)/3而得出的標準差之平均值的高斯分佈所獲得。該寬裕值偏移可以是在設計中之最快時脈週期之部份或是取決於用於實施該設計之製程技術的預設數目。該延遲函數可以為網路本身的延遲或是網路之延遲的平方根。該扇出函數可以是該網路之扇出f的平方根或是表達式(1+log f)k,其中k是某些正數(像是0.5、1、2或3)。
在又一實施例中,步驟705可以決定每一個被過濾網路的敏感度和扇出,且步驟706可以根據取決於敏感度和扇出之函數的乘積而排序網路。該網路之電子敏感度函數可以是其電子敏感度本身或是電子靈敏度提升至大於或等於1的某些正功率。該扇出函數可以是該網路之扇出f的平方根或是表達式(1+log f)k,其中k是某些正數(像是0.5、1、2或3)。
在又一實施例中,步驟707可以決定每一個被過濾網路之敏感度、扇出以及邊界盒尺寸,以及步驟708可以根據取決於敏感度、扇出以及邊界盒之函數的乘積排序網路。該網路之電子敏感度函數可以為其電子敏感度本身或是電子靈敏度提升至大於或等於1的某些正功率。該扇出函數可以是該網路之扇出f的平方根或是表達式(1+log f)k,其中k是某些正數(像是0.5、1、2或3)。該邊界盒函數可以是環繞網路的所有腳位之最小矩形周長的一半(在此被稱為半周長)或是此半周長的平方根。
在又一實施例中,步驟709可以決定每一個過濾網路之敏感度、扇出、延遲和寬裕值,且步驟710可以根據取決於敏感度、扇出、延遲和寬裕值之函數的乘積。該網路之電子敏感度函數可以為其電子敏感度本身或是電子靈敏度提升至大於或等於1的某些正功率。該扇出函數可以是該網路之扇出f的平方根或是表達式(1+log f)k,其中k是某些正數(像是0.5、1、2或3)。該延遲函數可以為該網路本身的延遲或是該網路之延遲的平方
根。該寬裕值之函數可以為藉由預設邊限(可以被稱為寬裕值偏移)所增加之網路的時序寬裕值或是此增加的寬裕值和寬裕值權重的乘積。任何給定寬裕值的寬裕權重可以從具有於最差負寬裕值W與由(寬裕值偏移-W)/3而得出的標準差之平均值的高斯分佈所獲得。該寬裕值偏移可以是在設計中之最快時脈週期之部份或是取決於用於實施該設計之製程技術的預設數目。
尤其是上述舉例並非代表是函數之詳盡列表,這些乘積是用來計算可用於排序網路的成本函數,但僅僅是屬於可以用來建構該成本函數之說明性的函數類別。
注意如果網路延遲的和寬裕值的良好可預測性係為可能的,然後僅有具有負寬裕值的網路將為有幫助的(即為具有正寬裕值的網路已經最佳化)。然而,根據不完美的可預測性,可能創造出一邊限,而此邊限係為上述所提到的寬裕值偏移,其確保所有的網路具有相較於所考慮之小正值的寬裕值為更差的寬裕值。在一實施例中,此寬裕值偏移可以被定義為該設計之操作頻率的函數。例如:該寬裕值偏移可以是T/20,其中T是在該設計中的最快時脈週期。
注意具有相同數目之腳位、邊界盒跨度和時序寬裕值的相同網路可能在當給定子最佳繞徑時對遞增延遲和寄生效應改變中表現出不同變化。各種實施例可以捕捉該網路的此電子靈敏度以繞徑出錯誤預報以在通過該網路之路徑上做為時序違規的可能性、在網路的驅動器中之最大負載違規、或在其吸入端其中之一中的最大扭轉違規。修復這些違規之最佳化引擎的能力可以不同於網路對網路(即使用於違規的相同強度),且因此也可以在一些實施例中被分解為電子靈敏度量度。網路的電子靈敏度可以作為模範而正規化到0和1之間的數值。
在一實施例中,網路排序演算法可以被實施以便保持由網路數目所限制的清單尺寸,其網路數目係對持續性所選擇。在這樣的實施例
中,一旦此清單成長到其最後預定尺寸,只要其成本函數較佳於在清單上之目前最差網路者(其將在程序中從該清單刪除),一個新的網路將插入此清單中。這個清單可以實施以做為漸進效率網路選擇之優先佇列。
第8圖顯示一種例示性數位ASIC設計流程之簡化表示法,其中可以執行在互連驅動實體合成中之持續性。在一高層中,流程開始於其產品概念(步驟800)和在EDA軟體設計程序中實現(步驟810)。當該設計完成時,其可以設計定案(taped-out)(事件840)。在設計定案之後,製造程序(步驟850)以及封裝與組裝程序(步驟860)發生以結果導致最終地之完成晶片(結果870)。
該EDA軟體設計程序(步驟810)實際上係由一些步驟812至830所組成,其係以簡化之線性方式顯示出。而在一實際ASIC設計流程中,特定的設計可能必須透過步驟回溯,直到某些測試得以通過。簡而言之,在任何實際設計流程中,這些步驟可能會以不同順序或組合而產生。此種描述因此可以由上下文和一般解釋所提供而並非是用於特定ASIC之特定或建議的設計流程。
該EDA軟體設計流程(步驟810)組件步驟之詳細描述現將提供如下述:系統設計(步驟812):設計者描述其想要實施的機能、其可以執行假設為計畫完善機能、檢查成本等等。硬體軟體架構分割可以在此階段發生。來自新思科技(Syn-opsys,Inc.)之例示性EDA軟體產品可以在此步驟中使用,其包括Model Arcbitect(模型架構)、Saber(系統模擬軟體)、System Studio(系統開發和模擬工具)以及DesignWare®之產品。
邏輯設計和功能驗證(步驟814):在此階段,可以寫入在系統中用於模組之VHDL或是Verilog編碼以及該設計係對功能精確度進行檢查。更具體而言,該設計被檢查以確保其產出正確的輸出。來自新思科技之例示性EDA軟體產品可以在此步驟中使用,其包括VCS(功能驗證解決
方案)、VERA(測試平台開發產品)、DesignWare®、Magellan、Formality、ESP以及LEDA之產品。
合成與測試設計(步驟816):在此,VHDL/Verilog被轉譯到網路連線表中。該網路連線表可以對目標技術進行最佳化。此外,產生該測試之設計與實施以允許最後完成晶片之檢查。來自新思科技之例示性EDA軟體產品可以在此步驟中使用,其包括Design compiler®、Physical Compiler(實體合成最佳化軟體)、Test Compiler、Power Compiler、FPGA Compiler、Tetramax(自動測試模式生成工具)以及DesignWare®之產品。
網路連線表驗證(步驟818):在此步驟中,該網路連線表可以對遵守時序限制和符合VHDL/Verilog原始碼進行檢查。來自新思科技之例示性EDA軟體產品可以在此步驟中使用,其包括Formality、PrimeTime以及VCS產品。
設計計畫(步驟820):在此,該晶片的全部平面圖對時序和頂層繞徑進行建構和分析。自新思科技之例示性EDA軟體產品可以在此步驟中使用,其包括Astro以及IC Compiler產品。
實體實施(步驟822):在此步驟中出現配置(電路元件之定位)和繞徑(其電路元件之連接)。來自新思科技之例示性EDA軟體產品可以在此步驟中使用,其包括Astro以及IC Compiler產品。以上所描述之使用持續虛擬繞徑之互連驅動實體合成可以在步驟822中使用。如上所指出,任何壅塞感知效能驅動互連合成引擎可以用在對所選擇的網路之初始繞徑。此程序典型地對這些關鍵、不可預測的網路會產出相較於其可能使用整體繞徑器(且有鑑於所選擇之少數這種網路,其計算負載過重為相當地小)為較高品質之繞徑。再者,本發明的方式擔保用於大部分關鍵、非預測的網路之最佳化的寄生效應係根據實際繞徑(且非僅在可能或不可能被實例化之合適拓樸上)。
分析與擷取(步驟824):在此步驟中,該電路功能在電晶體
層次上進行驗證,此依序允許假設為完善。來自新思科技之例示性EDA軟體產品可以在此步驟中使用,其包括AstroRail、PrimeRail、Primetime以及Star RC/XT產品。
實體驗證(步驟826):在此步驟中,各種檢查功能被執行以對:製造、電子問題、微影(lithographic)問題以及電路保證其正確性。來自新思科技之例示性EDA軟體產品可以在此步驟中使用,其包括Hercules產品。
解析度增強(步驟828):該步驟包含佈局之幾何操作以改善該設計的可製造性。來自新思科技之例示性EDA軟體產品可以在此步驟中使用,其包括Proteus、ProteusAF以及PSMGen產品。
遮罩(mask)資料準備(步驟830):該步驟提供用於微影使用到產生完成晶片之遮罩生產的“設計定案”資料。來自新思科技之例示性EDA軟體產品可以在此步驟中使用,其包括CATS(R)家族之產品。
雖然本發明之說明性實施例已經在此參考所附之圖式而詳細描述,但其應可了解本發明並不僅限制在這些精準的實施例中,而並未企圖去徹底或是去限制本發明到所揭露的精確形式。因此,在此領域中從事之人員對其許多改良和變化將為顯而易得。於是,其預期本發明之範圍將藉由以下的申請專利範圍與其均等所定義出。
300‧‧‧使用持續虛擬繞徑之互連驅動實體合成技術
201‧‧‧配置
202‧‧‧後配置最佳化
301‧‧‧持續驅動最佳化
203‧‧‧繞徑
204‧‧‧後繞徑最佳化
Claims (51)
- 一種使用持續驅動最佳化以執行實體合成之方法,該方法包含:使用一處理器;根據不可預知性和預期成果品質影響將一設計中的網路進行排序;擇該排序的網路的一第一預設最高百分比做為第一持續網路;在該第一持續網路上執行時序驅動整體繞徑;利用在該第一持續網路上執行該時序驅動整體繞徑所決定之實際延遲和寄生效應反向標註一時序圖表;使用該第一持續網路之該實際延遲和該寄生效應以執行在該設計中該網路之合成,其中該合成維持和更新該第一持續網路之繞徑;根據不可預知性和預期成果品質影響,在合成之後重新排序在該設計中的網路;選擇一第二預設最高百分比之該重新排序的網路做為第二持續網路;在並未於該第一持續網路中選擇之該第二持續網路中執行時序驅動整體繞徑;執行該設計之網路的整體繞徑且維持該第二持續網路之現存繞徑;以及根據該整體繞徑,輸出該設計之一最終佈局。
- 如申請專利範圍第1項之方法,其中,根據不可預測性和預期成果品質影響排序和重新排序設計中的網路至少其中之一包括:根據一或更多個預設準則過濾該設計之網路;以及在該過濾之後,排序剩餘網路。
- 如申請專利範圍第2項之方法,其中用於過濾的該預設準則包括一或更多個邊界盒尺寸、一網路是否位於具有負寬裕值或小的正寬裕值之一路 徑、扇出以及一網路之電子靈敏度。
- 如申請專利範圍第3項之方法,其中,當用於過濾的該預設準則包括邊界盒尺寸時,該過濾將該邊界盒尺寸與一臨界值比較且在該邊界盒尺寸小於該臨界值時忽略該網路。
- 如申請專利範圍第3項之方法,其中,當用於過濾的該預設準則包括該網路是否位於具有負寬裕值或小的正寬裕值之一路徑時,該過濾在其具有一寬裕值大於一預設值時忽略該網路。
- 如申請專利範圍第5項之方法,其中該預設值為該設計之一操作頻率之一函數。
- 如申請專利範圍第3項之方法,其中,當用於過濾的該預設準則包括電子靈敏度時,決定靈敏度包括以下其中之一:評估將會導致該網路變成時序關鍵的該網路之一長度之最大增加;該網路之一總電容量和其吸入端腳位變得大於該網路之一驅動器的一最大可允許電容量之前,評估該網路的一長度之一最大增加;以及在該網路之一吸入端腳位的扭轉變得比一最差可允許扭轉為差之前,評估該網路的一長度之最大增加,其中過濾包括忽略具有低靈敏度之網路。
- 如申請專利範圍第3項之方法,其中,當用於過濾的該預設準則包括扇出時,該過濾包括忽略具有低靈敏度之二腳位網路。
- 如申請專利範圍第3項之方法,其中排序包括使用一或更多的成本函數。
- 如申請專利範圍第9項之方法,其中每一成本函數係根據電子靈敏度、寬裕值、延遲、扇出以及邊界盒尺寸其中至少之一。
- 如申請專利範圍第10項之方法,其中該成本函數根據電子靈敏度來排序網路。
- 如申請專利範圍第10項之方法,其中該成本函數依據取決於寬裕值、延遲以及扇出之函數的一乘積來排序網路。
- 如申請專利範圍第12項之方法,其中,取決於寬裕值之一函數係為一網路之一時序寬裕值加上一預設邊限以及一增加的寬裕值和一寬裕值權重之一乘積的其中之一。
- 如申請專利範圍第13項之方法,其中該預設邊限為一寬裕值偏移。
- 如申請專利範圍第14項之方法,其中該寬裕值權重係從具有一最差負寬裕值與由(寬裕值偏移-最差負寬裕值)/3得出的一標準差之一平均的一高斯分佈所獲得。
- 如申請專利範圍第14項之方法,其中該寬裕值偏差為該設計之一操作頻率的一函數。
- 如申請專利範圍第12項之方法,其中,取決於延遲之一函數為該網路本身的一延遲或是該網路的延遲之平方根其中之一。
- 如申請專利範圍第12項之方法,其中,取決於扇出之一函數為該網路之扇出f的平方根或是表達式(1+log f)k其中之一,其中k為一正數。
- 如申請專利範圍第10項之方法,其中該成本函數根據取決於電子靈敏度和扇出之函數的一乘積來排序網路。
- 如申請專利範圍第19項之方法,其中,取決於扇出之一函數為該網路之扇出f的平方根或是表達式(1+log f)k其中之一,其中k為一正數。
- 如申請專利範圍第19項之方法,其中,取決於電子靈敏度之一函數為電子靈敏度本身或提昇到大於或等於1之一預設正功率的電子靈敏度其中之一。
- 如申請專利範圍第10項之方法,其中該成本函數根據取決於電子靈敏度、扇出以及邊界盒尺寸之函數的一乘積來排序網路。
- 如申請專利範圍第22項之方法,其中,取決於電子靈敏度之一函數為電子靈敏度本身或提昇到大於或等於1之一預設正功率的一電子靈敏度其中之一。
- 如申請專利範圍第22項之方法,其中,取決於扇出之一函數為該網路之 扇出f的平方根或是表達式(1+log f)k其中之一,其中k為一正數。
- 如申請專利範圍第22項之方法,其中,取決於邊界盒尺寸之一函數為圍繞該網路所有腳位之一最小矩形之半周長以及該半周長之平方根其中之一。
- 如申請專利範圍第10項之方法,其中該成本函數根據取決於電子靈敏度、扇出、延遲和寬裕值之函數的一乘積來排序網路。
- 如申請專利範圍第26項之方法,其中,取決於電子靈敏度之一函數為該電子靈敏度本身或提昇到大於或等於1之一預設正功率的一電子靈敏度其中之一。
- 如申請專利範圍第26項之方法,其中,取決於扇出之一函數為該網路之扇出f的平方根以及表達式(1+log f)k其中之一,其中k為一正數。
- 如申請專利範圍第26項之方法,其中,取決於延遲之一函數為該網路本身的一延遲或是該網路的延遲之平方根其中之一。
- 如申請專利範圍第26項之方法,其中,取決於寬裕值之一函數為一網路之一時序寬裕值加上一預設邊限以及一增加的寬裕值和一寬裕值權重之一乘積其中之一。
- 如申請專利範圍第30項之方法,其中該預設邊限為一寬裕值偏移。
- 如申請專利範圍第31項之方法,其中該寬裕值權重係從具有一最差負寬裕值與由(寬裕值偏移-最差負寬裕值)/3得出的一標準差之一平均的一高斯分佈所獲得。
- 如申請專利範圍第31項之方法,其中該寬裕值偏差為該設計之一操作頻率的一函數。
- 如申請專利範圍第10項之方法,其中,排序網路和重新排序網路各包括形成一預設尺寸的一優先佇列,其中只有在一新的網路的成本函數較佳於在目前在該優先佇列中一最差網路的成本函數時,將該新的網路插入該優先佇列中。
- 一種包含電腦指令之電腦可讀取儲存裝置,該電腦指令在一電腦上執行時產生信號以控制下列過程步驟:根據不可預知性和預期成果品質影響將一設計中的網路進行排序;選擇排序的網路的第一預設最高百分比做為第一持續網路;在該第一持續網路上執行時序驅動整體繞徑;利用在該第一持續網路上執行該時序驅動整體繞徑所決定之實際延遲和寄生效應反向標註一時序圖表;使用該第一持續網路之該實際延遲和該寄生效應以執行在該設計中該網路之合成,其中該合成維持和更新該第一持續網路之繞徑;根據不可預知性和預期成果品質影響,在合成之後重新排序在該設計中的網路;選擇一第二預設最高百分比之該重新排序的網路做為第二持續網路;在並未於該第一持續網路中選擇之該第二持續網路中執行時序驅動整體繞徑;執行該設計之網路的整體繞徑且維持該第二持續網路之現存繞徑;以及根據該整體繞徑,輸出該設計之一最終佈局。
- 如申請專利範圍第35項之電腦可讀取儲存裝置,其中,根據不可預測性和預期成果品質影響,排序和重新排序設計中的網路至少其中之一包括:根據一或更多個預設準則過濾該設計之網路;以及在該過濾之後,排序剩餘網路。
- 如申請專利範圍第36項之電腦可讀取儲存裝置,其中,用於過濾的該預設準則包括一或更多個邊界盒尺寸、一網路是否位於具有負寬裕值或小的正寬裕值之一路徑、扇出以及一網路之電子靈敏度。
- 如申請專利範圍第37項之電腦可讀取儲存裝置,其中,當用於過濾的該預設準則包括邊界盒尺寸時,該過濾將該邊界盒尺寸與一臨界值進行比 較且在該邊界盒尺寸小於該臨界值時忽略該網路。
- 如申請專利範圍第37項之電腦可讀取儲存裝置,其中,當用於過濾的該預設準則包括該網路是否位於具有負寬裕值或小的正寬裕值之一路徑時,該過濾在其具有一寬裕值大於一預設值時忽略該網路。
- 如申請專利範圍第39項之電腦可讀取儲存裝置,其中該預設值為該設計之一操作頻率之一函數。
- 如申請專利範圍第37項之電腦可讀取儲存裝置,其中,當用於過濾的該預設準則包括電子靈敏度時,決定靈敏度包括以下其中之一:評估將會導致該網路變成時序關鍵的該網路之一長度之最大增加;該網路之一總電容量和其吸入端腳位變得大於該網路之一驅動器的一最大可允許電容量之前,評估該網路的一長度之一最大增加;以及在該網路之一吸入端腳位的扭轉變得比一最差可允許扭轉為差之前,評估該網路的一長度之最大增加,其中過濾包括忽略具有低靈敏度之網路。
- 如申請專利範圍第37項之電腦可讀取儲存裝置,其中,當用於過濾的該預設準則包括扇出時,該過濾包括忽略具有低靈敏度之二腳位網路。
- 如申請專利範圍第37項之電腦可讀取儲存裝置,其中排序包括使用一或更多的成本函數。
- 如申請專利範圍第43項之電腦可讀取儲存裝置,其中每一成本函數係根據電子靈敏度、寬裕值、延遲、扇出以及邊界盒尺寸其中至少之一。
- 如申請專利範圍第44項之電腦可讀取儲存裝置,其中該成本函數根據電子靈敏度來排序網路。
- 如申請專利範圍第44項之電腦可讀取儲存裝置,其中該成本函數依據取決於寬裕值、延遲以及扇出之函數的乘積來排序網路。
- 如申請專利範圍第44項之電腦可讀取儲存裝置,其中該成本函數係根據取決於電子靈敏度和扇出之函數的一乘積來排序網路。
- 如申請專利範圍第44項之電腦可讀取儲存裝置,其中該成本函數依據取決於電子靈敏度、扇出以及邊界盒尺寸之函數的一乘積來排序網路。
- 如申請專利範圍第44項之電腦可讀取儲存裝置,其中該成本函數依據取決於電子靈敏度、扇出、延遲以及寬裕值之函數的一乘積來排序網路。
- 如申請專利範圍第44項之電腦可讀取儲存裝置,其中,排序網路和重新排序網路各包括形成一預設尺寸的一優先佇列,其中只要一新網路的成本函數較佳於目前在該優先佇列中一最差網路的成本函數,將該新網路插入該優先佇列中。
- 一種可由一電腦執行且儲存在一電腦可讀取儲存裝置上的持續驅動的最佳化工具,該持續驅動的最佳化工具包括:一網路選擇模組,其根據不可預測性和預期成果品質影響而在一設計中過濾和排序網路,該網路選擇模組輸出選擇的網路的一清單;一互連合成模組,用於執行該選擇的網路的時序驅動拓樸產生、層分配以及整體繞徑,該互連合成模組輸出該選擇的網路之具有實際寄生效應和延遲之持續整體繞徑;一互連感知電路最佳化模組,其根據該持續整體繞徑之實際寄生效應和延遲來驅動配置驅動最佳化且維持並更新這些持續繞徑,該互連感知電路最佳化模組輸出具有該持續整體繞徑之一最佳化設計;以及一整體繞徑轉變和維護模組,用於將該持續整體繞徑轉變為由繞徑資料庫所辨識之一格式,以做為在整體繞徑期間被保留的預先存在之整體繞徑,該整體繞徑轉變和維護模組輸出適合整體繞徑的一設計檔案,其後為如軌道分配和詳細繞徑之後續繞徑步驟以及後繞徑最佳化。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/145,405 US7853915B2 (en) | 2008-06-24 | 2008-06-24 | Interconnect-driven physical synthesis using persistent virtual routing |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201001216A TW201001216A (en) | 2010-01-01 |
TWI488062B true TWI488062B (zh) | 2015-06-11 |
Family
ID=41432603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098119769A TWI488062B (zh) | 2008-06-24 | 2009-06-12 | 使用持續虛擬繞徑互連驅動實體合成 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7853915B2 (zh) |
TW (1) | TWI488062B (zh) |
WO (1) | WO2009158206A1 (zh) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7448012B1 (en) | 2004-04-21 | 2008-11-04 | Qi-De Qian | Methods and system for improving integrated circuit layout |
US8541879B2 (en) | 2007-12-13 | 2013-09-24 | Tela Innovations, Inc. | Super-self-aligned contacts and method for making the same |
US8658542B2 (en) | 2006-03-09 | 2014-02-25 | Tela Innovations, Inc. | Coarse grid design methods and structures |
US7446352B2 (en) | 2006-03-09 | 2008-11-04 | Tela Innovations, Inc. | Dynamic array architecture |
US8839175B2 (en) * | 2006-03-09 | 2014-09-16 | Tela Innovations, Inc. | Scalable meta-data objects |
US9035359B2 (en) | 2006-03-09 | 2015-05-19 | Tela Innovations, Inc. | Semiconductor chip including region including linear-shaped conductive structures forming gate electrodes and having electrical connection areas arranged relative to inner region between transistors of different types and associated methods |
US7763534B2 (en) | 2007-10-26 | 2010-07-27 | Tela Innovations, Inc. | Methods, structures and designs for self-aligning local interconnects used in integrated circuits |
US7908578B2 (en) | 2007-08-02 | 2011-03-15 | Tela Innovations, Inc. | Methods for designing semiconductor device with dynamic array section |
US8448102B2 (en) | 2006-03-09 | 2013-05-21 | Tela Innovations, Inc. | Optimizing layout of irregular structures in regular layout context |
US7956421B2 (en) | 2008-03-13 | 2011-06-07 | Tela Innovations, Inc. | Cross-coupled transistor layouts in restricted gate level layout architecture |
US9563733B2 (en) | 2009-05-06 | 2017-02-07 | Tela Innovations, Inc. | Cell circuit and layout with linear finfet structures |
US8653857B2 (en) | 2006-03-09 | 2014-02-18 | Tela Innovations, Inc. | Circuitry and layouts for XOR and XNOR logic |
US9230910B2 (en) | 2006-03-09 | 2016-01-05 | Tela Innovations, Inc. | Oversized contacts and vias in layout defined by linearly constrained topology |
US9009641B2 (en) | 2006-03-09 | 2015-04-14 | Tela Innovations, Inc. | Circuits with linear finfet structures |
US8667443B2 (en) | 2007-03-05 | 2014-03-04 | Tela Innovations, Inc. | Integrated circuit cell library for multiple patterning |
US8205182B1 (en) * | 2007-08-22 | 2012-06-19 | Cadence Design Systems, Inc. | Automatic synthesis of clock distribution networks |
US8453094B2 (en) | 2008-01-31 | 2013-05-28 | Tela Innovations, Inc. | Enforcement of semiconductor structure regularity for localized transistors and interconnect |
US7939443B2 (en) | 2008-03-27 | 2011-05-10 | Tela Innovations, Inc. | Methods for multi-wire routing and apparatus implementing same |
WO2010008948A2 (en) | 2008-07-16 | 2010-01-21 | Tela Innovations, Inc. | Methods for cell phasing and placement in dynamic array architecture and implementation of the same |
US9122832B2 (en) | 2008-08-01 | 2015-09-01 | Tela Innovations, Inc. | Methods for controlling microloading variation in semiconductor wafer layout and fabrication |
US7971174B1 (en) * | 2008-09-18 | 2011-06-28 | Cadence Design Systems, Inc. | Congestion aware pin optimizer |
US8028260B1 (en) * | 2008-10-14 | 2011-09-27 | Altera Corporation | Determination of most critical timing paths in digital circuits |
US8291366B2 (en) * | 2008-12-04 | 2012-10-16 | Stmicroelectronics Pvt Ltd | Routing system and method using a routing tree rip-up |
US8239808B2 (en) * | 2008-12-05 | 2012-08-07 | Stmicroelectronics International N.V. | Routing system |
US8736050B2 (en) | 2009-09-03 | 2014-05-27 | Taiwan Semiconductor Manufacturing Company, Ltd. | Front side copper post joint structure for temporary bond in TSV application |
US8181139B1 (en) * | 2008-12-22 | 2012-05-15 | Lattice Semicondutor Corporation | Multi-priority placement for configuring programmable logic devices |
US8151232B2 (en) * | 2009-04-10 | 2012-04-03 | Oracle America, Inc. | Repeater driven routing methodology |
US8631366B2 (en) * | 2009-04-30 | 2014-01-14 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated circuit design using DFM-enhanced architecture |
US8429589B2 (en) * | 2009-09-08 | 2013-04-23 | Synopsys, Inc. | Generating net routing constraints for place and route |
US8336015B2 (en) * | 2009-09-08 | 2012-12-18 | Synopsys, Inc. | Pre-route and post-route net correlation with defined patterns |
US8661392B2 (en) | 2009-10-13 | 2014-02-25 | Tela Innovations, Inc. | Methods for cell boundary encroachment and layouts implementing the Same |
US8281274B1 (en) | 2010-01-08 | 2012-10-02 | Altera Corporation | Method and apparatus for performing efficient incremental compilation |
US8495534B2 (en) | 2010-06-08 | 2013-07-23 | International Business Machines Corporation | Post-placement cell shifting |
US8347257B2 (en) | 2010-06-08 | 2013-01-01 | International Business Machines Corporation | Detailed routability by cell placement |
US8370782B2 (en) * | 2010-06-25 | 2013-02-05 | International Business Machines Corporation | Buffer-aware routing in integrated circuit design |
US8762914B2 (en) * | 2010-07-24 | 2014-06-24 | Cadence Design Systems, Inc. | Methods, systems, and articles of manufacture for constraint verification for implementing electronic circuit designs with electrical awareness |
US9159627B2 (en) | 2010-11-12 | 2015-10-13 | Tela Innovations, Inc. | Methods for linewidth modification and apparatus implementing the same |
US8667441B2 (en) | 2010-11-16 | 2014-03-04 | International Business Machines Corporation | Clock optimization with local clock buffer control optimization |
US8365120B2 (en) | 2010-12-02 | 2013-01-29 | International Business Machines Corporation | Resolving global coupling timing and slew violations for buffer-dominated designs |
US8725483B2 (en) * | 2011-01-19 | 2014-05-13 | International Business Machines Corporation | Minimizing the maximum required link capacity for three-dimensional interconnect routing |
US8443324B2 (en) | 2011-03-14 | 2013-05-14 | International Business Machines Corporation | Routing and timing using layer ranges |
US8386985B2 (en) * | 2011-05-06 | 2013-02-26 | International Business Machines Corporation | Timing driven routing in integrated circuit design |
US8856495B2 (en) | 2011-07-25 | 2014-10-07 | International Business Machines Corporation | Automatically routing super-compute interconnects |
US8464196B1 (en) * | 2012-03-28 | 2013-06-11 | Cadence Design Systems, Inc. | Method and system for routing optimally between terminals through intermediate vias in a circuit design |
US8762904B2 (en) * | 2012-03-28 | 2014-06-24 | Synopsys, Inc. | Optimizing logic synthesis for environmental insensitivity |
US9003344B2 (en) | 2012-06-20 | 2015-04-07 | Synopsys, Inc. | Generating pattern-based estimated RC data with analysis of route information |
US8875075B2 (en) | 2012-06-20 | 2014-10-28 | Synopsys, Inc. | Generating pattern-based estimated RC data with analysis of route information |
US9058456B2 (en) * | 2012-09-25 | 2015-06-16 | International Business Machines Corporation | Method and system to fix early mode slacks in a circuit design |
US8769468B1 (en) | 2013-01-09 | 2014-07-01 | International Business Machines Corporation | Automatic generation of wire tag lists for a metal stack |
US9191330B2 (en) * | 2013-11-14 | 2015-11-17 | International Business Machines Corporation | Path selection for network service requests |
US8881089B1 (en) | 2013-12-17 | 2014-11-04 | International Business Machines Corporation | Physical synthesis optimization with fast metric check |
US9495502B2 (en) | 2014-05-28 | 2016-11-15 | International Business Machines Corporation | Congestion aware layer promotion |
US9443047B2 (en) * | 2014-05-28 | 2016-09-13 | International Business Machines Corporation | Physical aware technology mapping in synthesis |
US9483601B2 (en) * | 2015-03-24 | 2016-11-01 | International Business Machines Corporation | Circuit routing based on total negative slack |
US9858383B2 (en) | 2015-12-18 | 2018-01-02 | International Business Machines Corporation | Incremental parasitic extraction for coupled timing and power optimization |
US9922154B2 (en) * | 2016-05-20 | 2018-03-20 | International Business Machines Corporation | Enabling an incremental sign-off process using design data |
US10445457B1 (en) * | 2016-06-30 | 2019-10-15 | Cadence Design Systems, Inc. | Methods, systems, and articles of manufacture for implementing a physical design of an electronic design with DFM and design specification awareness |
KR20180092692A (ko) | 2017-02-10 | 2018-08-20 | 삼성전자주식회사 | Beol을 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템 |
US10360341B2 (en) | 2017-08-31 | 2019-07-23 | Synopsys, Inc. | Integrated metal layer aware optimization of integrated circuit designs |
US10867105B2 (en) * | 2018-12-19 | 2020-12-15 | Synopsys, Inc. | Real-time interactive routing using topology-driven line probing |
US10831971B1 (en) * | 2019-06-05 | 2020-11-10 | International Business Machines Corporation | Net layer promotion with swap capability in electronic design |
CN113848455A (zh) * | 2021-09-24 | 2021-12-28 | 成都华微电子科技有限公司 | Fpga内部互联线延时测试方法 |
CN114070448B (zh) * | 2021-12-06 | 2023-07-25 | 重庆邮电大学 | 一种基于多属性决策的主时钟选取方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030177455A1 (en) * | 2000-03-01 | 2003-09-18 | Sequence Design, Inc. | Method and apparatus for interconnect-driven optimization of integrated circuit design |
TW200405210A (en) * | 2002-08-28 | 2004-04-01 | Advanced Micro Devices Inc | Extracting wiring parasitics for filtered interconnections in an integrated circuit |
US20040243964A1 (en) * | 2003-05-30 | 2004-12-02 | Mcelvain Kenneth S. | Method and apparatus for automated circuit design |
US7337100B1 (en) * | 2003-06-12 | 2008-02-26 | Altera Corporation | Physical resynthesis of a logic design |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5856927A (en) * | 1995-05-01 | 1999-01-05 | Vlsi Technology, Inc. | Method for automatically routing circuits of very large scale integration (VLSI) |
US6353918B1 (en) | 1996-03-15 | 2002-03-05 | The Arizona Board Of Regents On Behalf Of The University Of Arizona | Interconnection routing system |
US6622291B1 (en) | 2000-10-30 | 2003-09-16 | Cadence Design Systems, Inc. | Method and apparatus for physical budgeting during RTL floorplanning |
US7484194B2 (en) | 2005-07-18 | 2009-01-27 | Synopsys, Inc. | Automation method and system for assessing timing based on Gaussian slack |
-
2008
- 2008-06-24 US US12/145,405 patent/US7853915B2/en active Active
-
2009
- 2009-06-11 WO PCT/US2009/047104 patent/WO2009158206A1/en active Application Filing
- 2009-06-12 TW TW098119769A patent/TWI488062B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030177455A1 (en) * | 2000-03-01 | 2003-09-18 | Sequence Design, Inc. | Method and apparatus for interconnect-driven optimization of integrated circuit design |
TW200405210A (en) * | 2002-08-28 | 2004-04-01 | Advanced Micro Devices Inc | Extracting wiring parasitics for filtered interconnections in an integrated circuit |
US20040243964A1 (en) * | 2003-05-30 | 2004-12-02 | Mcelvain Kenneth S. | Method and apparatus for automated circuit design |
US7337100B1 (en) * | 2003-06-12 | 2008-02-26 | Altera Corporation | Physical resynthesis of a logic design |
Also Published As
Publication number | Publication date |
---|---|
WO2009158206A1 (en) | 2009-12-30 |
US7853915B2 (en) | 2010-12-14 |
TW201001216A (en) | 2010-01-01 |
US20090319977A1 (en) | 2009-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI488062B (zh) | 使用持續虛擬繞徑互連驅動實體合成 | |
US8490042B2 (en) | Performing routing optimization during circuit design | |
US10387604B2 (en) | Multi-threaded global routing | |
JP5197770B2 (ja) | 回路設計ツール | |
US7650580B2 (en) | Method and apparatus for determining the performance of an integrated circuit | |
US7984397B2 (en) | Power network stacked via removal for congestion reduction | |
US11205032B2 (en) | Integrated circuit design method, system and computer program product | |
US8429589B2 (en) | Generating net routing constraints for place and route | |
EP2529327B1 (en) | Improving pre-route and post-route net correlation with defined patterns | |
Li et al. | Guiding a physical design closure system to produce easier-to-route designs with more predictable timing | |
Qi et al. | VFGR: A very fast parallel global router with accurate congestion modeling | |
Lee | Physical Design and Technology Optimizations for Advanced VLSI Manufacturing | |
Chinnery et al. | Design Flows | |
Subramaniyan | On DFM Considerations and Assessment for Nanometer SoCs |