新四季網

緩衝器的插入方法及裝置的製作方法

2023-10-31 21:14:12

專利名稱:緩衝器的插入方法及裝置的製作方法
技術領域:
本發明涉及集成電路製造和設計領域,具體而言,涉及一種緩衝器的插入方法及
>J-U ρ α裝直。
背景技術:
時序邏輯是數字電路設計中的重要組成部分。而保持時間(hold time)是指數據穩定後保持的時間,如果保持時間無法滿足預設條件,那麼數據就不能被穩定的輸入觸發器。當發生保持時間違例時,數字電路設計的功能就不能正確地實現。因此,修復保持時間違例是數字電路設計中一項必要且非常重要的工作。工藝、電壓和溫度是影響電路性能的三個基本因素,但是,在研究過程中不可能窮儘其所有組合來分析電路行為。相關技術中,在籤核(signoff)階段通常採用抽樣分析的方法,考慮上述三者的極端情況組合,來保證設計在整個組合空間中都能正常工作。在進入納米工藝後,此種抽樣分析方法受到了很大的挑戰,最主要的問題就在於採樣點數目急劇膨脹。由於隨著電晶體尺寸的不斷變小,時序路徑延遲由之前的器件延遲佔主導地位變為由線延遲佔主導地位。在計算線延遲時,電阻電容的提取方式對靜態時序分析非常重要。現代數字電路要保證能在各種極端環境下正常工作,而且在各種環境下的頻率要求不盡相同,因此,物理設計中考慮工作、電壓和溫度要比以前多很多。為了滿足數字電路高性能要求的同時也要考慮低功耗,因此數字電路存在著多個工作模式,例如:在正常工作模式下,數字電路運行在較高頻率下,此時數字電路功耗較大,當數字電路處於休眠模式時,數字電路運 行在較低頻率下,此時數字電路功耗較低。如此,可以將數字電路以某種工作模式運行在某個工藝角下定義為數字電路的一種時序分析模式(scenario)。當數字電路有ml種工作電壓、m2種工作溫度、m3種提取電容電阻的模式、m4種工作模式時,數字電路總的scenario數量就有ml*m2*m3*m4種。隨著工藝技術的改進,為了保證數字電路時序分析的精度,工作電壓種類、工作溫度種類、電阻電容提取模式種類、數字電路工作模式種類都會發生增長,數字電路的時序分析模式會呈指數級增長的趨勢。所以要在越來越多的時序分析模型下修復保持時間違例對於設計者而言將是巨大的挑戰。相關技術中,修復保持時間違例的較為有效的方法是在出現保持時間違例的時序路徑上插入適量的緩衝器。但現有的修復保持時間違例的方法均忽略了多工藝角多模式的條件,插入緩衝器過多對原有的設計改變太大,存在著迭代次數過多、時間過長的缺陷。下面對相關技術中的幾種常用的修復保持時間違例的技術方案分別進行介紹。技術方案一、該發明首先通過電子設計自動化(Electronic Design Automation,簡稱為EDA)工具的report timing命令得到保持時間違反的路徑;其次採用reporttiming命令得到路徑中建立時間較為富裕的點;然後根據前後級器件的驅動大小來選擇插入緩衝器的類型,插入緩衝器後再通過import timing命令判斷建立時間是否違反,保持時間是否修復;最後通過EDA工具將路徑上其他的器件加以固定,通過ixnite eco命令來進行布線。
該技術方案的缺陷在於以下幾點:(I)該發明沒有考慮到多工藝角多模式情況下修復保持時間違例;(2)該發明大量地使用了 EDA工具中的命令來計算時序,這在超大規模集成電路設計中使得修復保持時間變得很慢;(3)該發明在修復保持時間違例時只考慮單條時序路徑,沒有全局考慮到集成電路中時序路徑的相互影響,這樣使得修復的點過多,插入的緩衝器數量過多,以致對原來的設計產生了巨大的影響。技術方案二、該發明通過建立鬆弛和保持鬆弛的約束條件來得到保持時間違反的路徑和路徑中可以修復的點;然後在不違反建立時間約束的條件下插入合適的延遲器件。該技術方案的缺陷在於以下幾點:(I)該發明沒有考慮到多工藝角多模式情況下修復保持時間違例;(2)該發明沒有考慮到修復保持時間的快速性,在現有超大規模集成電路設計中,時序路徑數量都是千萬數量級的,根據每條時序路徑的時序約束來確定方案所花費的時間非常長;(3)該發明在修復保持時間違例時只考慮單條時序路徑,而沒有全局考慮到集成電路中時序路徑的相互影響,這樣使得修復的點過多,插入的緩衝器數量過多,以致對原有設計產生了巨大的影響。技術方案三、該發明首先將存在著保持時間違例的路徑分成各個線段,建立起線段與路徑間的關係,為每個線段計算出通過線段的路徑數;然後根據通過每個線段的路徑數目來為每個線段進行排序;再次選出排序第一的線段來判斷是否存在著修復保持時間的建立時間餘量,若存在則插入緩衝器來修復保持時間違例;若不存在則將該線段捨棄,重新對線段進行排序。該技術方案的缺陷在於以下幾點:(I)該發明沒有考慮到多工藝角多模式情況下修復保持時間違例;(2)該發明在選擇線段來修復保持時間違例的時候只考慮到了該線段所影響到的路徑的數目,沒有考慮到該線段的保持時間的鬆弛(slack)的大小,這會發生保持時間最大的鬆弛(slack)的路徑沒有被修復下去的情況。技術方案四、該發明首先從TIMING ANALYSIS TOOLS得到時序結果,然後為每個要插入的buffer按照load的範圍提供一個大概的延遲值;然後從存在保持時間違例的路徑的尾端開始從後往前找,在分叉點處根據負載(load)的值、建立時間和保持時間來選擇合適的緩衝器插入。該技術方案的缺陷在於以下幾點:(I)該發明沒有考慮到多工藝角多模式情況下修復保持時間違例;(2)該發明緩衝器的延遲值只是給出幾個區域內估算的範圍值,並沒有根據實質情況的電容和上下沿變化時間來決定延遲值,所以在選擇插入的緩衝器類型時,其選擇並不是最優的;(3)在插入的緩衝器的點的考慮上,僅考慮到插入緩衝器對其他路徑的影響儘量小,這樣使得插入點的數量過多,對原有的設計改變過多。技術方案五、該發明僅提到了讀入多工藝角多模式下的鏡像來得到整個設計的內容,讀入多工藝角多模式的資料庫信息來得到整個設計的約束文件,然後即可得出技術更改指令(Engineering Change Orders,簡稱為 ECO)的結果。該技術方案的缺陷在於以下幾點:( I)該發明中僅提到了需要導入設計內容和設計的約束文件,這兩個條件概括範圍較為寬泛,基本包含了後端設計的全部內容,而沒有指出該發明具體需要的信息;(2)該發明最終結果是得出ECO的結果,而無法體現迭代次數少、插入緩衝器數量少的優勢。

發明內容
本發明提供了一種緩衝器的插入方法及裝置,以至少解決相關技術中通過插入緩衝器來修復保持時間違例的方法易造成迭代次數過多、修復時間過長的問題。根據本發明的一個方面,提供了一種緩衝器的插入方法。根據本發明的緩衝器的插入方法包括:獲取當前集成電路中各個器件相互間埠的連接關係,其中,連接關係包括:輸入埠、輸出埠以及輸入埠與輸出埠之間的連接路徑;在多種時序分析模型下從連接關係中選取待插入緩衝器的一個或多個埠。優選地,在多種時序分析模型下從連接關係中選取待插入緩衝器的一個或多個埠包括:從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算每個埠的在該時序分析模型下的權重值;獲取連接關係中每個埠在多種時序分析模型下的權重值的總和,確定總和最大的一個或多個埠為待插入緩衝器的埠。優選地,在多種時序分析模型下從連接關係中選取待插入緩衝器的一個或多個埠包括:從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算每個埠的在該時序分析模型下的權重值;獲取連接關係中每個埠在多種時序分析模型下的權重值的總和並選取權重值總和最大的一個或多個埠 ;獲取選取的每個埠在多種時序分析模型下的保持時間鬆弛的參數值集合,並在與選取的每個埠對應的參數值集合中獲取與選取的每個埠對應的保持時間鬆弛的參數值的最小值;比較與選取的每個埠對應的保持時間鬆弛的參數值的最小值,並將獲取到的與選取的每個埠對應的保持時間鬆弛的參數值的最小值中保持時間鬆弛的參數值最小的一個或多個埠確定為待插入緩衝器的一個或多個埠。優選地,在多種時序分析模型下從連接關係中選取待插入緩衝器的一個或多個埠包括:從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算每個埠的在該時序分析模型下的權重值;獲取連接關係中每個埠在多種時序分析模型下的權重值的總和並選取權重值總和最大的一個或多個埠 ;獲取選取的每個埠在多種時序分析模型下的保持時間鬆弛的參數值集合,並在與選取的每個埠對應的參數值集合中獲取與選取的每個埠對應的保持時間鬆弛的參數值的最小值;比較與選取的每個埠對應的保持時間鬆弛的參數值的最小值,得到保持時間鬆弛的參數值最小的一個或多個埠 ;判斷得到的一個或多個埠是否在同一條連接路徑上;如果是,則根據在同一條連接路徑上的一個或多個埠的位置關係確定待插入緩衝器的一個或多個埠。
優選地,從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算每個埠的在該時序分析模型下的權重值包括:對每個輸入埠的權重值進行初始化,並從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在該時序分析模型下的保持時間鬆弛的參數值的大小;如果相鄰兩個埠中的前一個埠的保持時間鬆弛的參數值大於或者等於後一個埠的保持時間鬆弛的參數值,則增加後一個埠的權重值;統計連接關係的各個埠中每個埠在各種時序分析模型下權重值的總和,並將權重值總和最大的一個或多個埠確定為待插入緩衝器的一個或多個埠。優選地,在確定待插入緩衝器的一個或多個埠之後,還包括:獲取當前待使用的緩衝器的類型;根據同種類型或多種不同類型緩衝器所形成的緩衝器集合的面積確定待插入緩衝器的類型和數量,其中,同種類型或多種不同類型緩衝器中的每個緩衝器分別位於不同的埠。優選地,在根據每種緩衝器集合的面積確定待插入緩衝器的類型和數量之後,還包括:根據待插入緩衝器的類型、待插入緩衝器的每個埠在多種時序分析模型下的上升下降時間、電容以及單元庫中的時序信息計算待插入緩衝器自身的延遲以及與待插入緩衝器的每個埠相鄰的前一個埠與後一個埠的延遲變化;採用計算結果更新待插入緩衝器的每個埠所在的一條或多條連接路徑上除該埠之外的其他埠中每個埠的保持時間鬆弛、建立時間鬆弛以及通過該埠的連接路徑的權重。根據本發明的另一方面,提供了 一種緩衝器的插入裝置。根據本發明的緩衝器的插入裝置包括:第一獲取模塊,用於獲取當前集成電路中各個器件相互間埠的連接關係,其中,連接關係包括:輸入埠、輸出埠以及輸入埠與輸出埠之間的連接路徑;選取模塊,用於在多種時序分析模型下從連接關係中選取待插入緩衝器的一個或多個埠。 優選地,選取模塊包括:計算單元,用於從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算每個埠在該時序分析模型下的權重值;確定單元,用於獲取連接關係中每個埠在多種時序分析模型下的權重值的總和,確定總和最大的一個或多個埠為待插入緩衝器的端□。優選地,選取模塊包括:計算單元,用於從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算每個埠在該時序分析模型下的權重值;選取單元,用於獲取連接關係中每個埠在多種時序分析模型下的權重值的總和,並選取權重值總和最大的一個或多個埠 ;獲取單元,用於獲取選取的每個埠在多種時序分析模型下的保持時間鬆弛的參數值集合,並在與選取的每個埠對應的參數值集合中獲取與選取的每個埠對應的保持時間鬆弛的參數值的最小值;第一比較單元,用於比較與選取的每個埠對應的保持時間鬆弛的參數值的最小值;確定單元,用於將獲取到的與選取的每個埠對應的保持時間鬆弛的參數值的最小值中保持時間鬆弛的參數值最小的一個或多個埠確定為待插入緩衝器的一個或多個端□。優選地,選取模塊包括:計算單元,用於從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算每個埠在該時序分析模型下的權重值;選取單元,用於獲取連接關係中每個埠在多種時序分析模型下的權重值的總和,並選取權重值總和最大的一個或多個埠 ;獲取單元,用於獲取選取的每個埠在多種時序分析模型下的保持時間鬆弛的參數值集合,並在與選取的每個埠對應的參數值集合中獲取與選取的每個埠對應的保持時間鬆弛的參數值的最小值;第二比較單元,用於比較與選取的每個埠對應的保持時間鬆弛的參數值的最小值,得到保持時間鬆弛的參數值最小的一個或多個埠 ;判斷單元,用於判斷得到的一個或多個埠是否在同一條連接路徑上;確定單元,用於在判斷單元輸出為是時,則根據在同一條連接路徑上的一個或多個埠的位置關係確定待插入緩衝器的一個或多個埠。優選地,計算單元包括:比較子單元,用於對每個輸入埠的保持時間鬆弛的參數值進行初始化,並從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值的大小;處理子單元,用於在相鄰兩個埠中的前一個埠的保持時間鬆弛的參數值大於或者等於後一個埠的保持時間鬆弛的參數值時,則增加後一個埠的權重值。優選地,上述裝置還包括:第二獲取模塊,用於獲取當前待使用的緩衝器的類型;確定模塊,用於根據同種類型或多種不同類型緩衝器所形成的緩衝器集合的面積確定待插入緩衝器的類型和數量,其中,同種類型或多種不同類型緩衝器中的每個緩衝器分別位於不同的埠。優選地,上述裝置還包括:計算模塊,用於根據待插入緩衝器的類型、待插入緩衝器的每個埠在多種時序分析模型下的上升下降時間、電容以及單元庫中的時序信息計算待插入緩衝器自身的延遲以及與待插入緩衝器的每個埠相鄰的前一個埠與後一個埠的延遲變化;更新模塊,用於採用計算結果更新待插入緩衝器的每個埠所在的一條或多條連接路徑上除該埠之外的其他埠中每個埠的保持時間鬆弛、建立時間鬆弛以及通過該埠的連接路徑的權重。通過本發明,採用獲取當前集成電路中不同器件的埠之間的連接關係,連接關係包括:輸入埠、輸出埠以及輸入埠與輸出埠之間的連接路徑;在多種時序分析模型下從連接關係中選取待插入緩衝器的一個或多個埠,即從所有時序分析模型的角度對連接關係中的各條連接路徑進行綜合分析,在考慮多種時序分析模型的時序約束的情況下,從整個連接關係的全局上確定待插入緩衝器的一個或多個埠,由此解決了相關技術中通過插入緩衝器來修復保持時間違例的方法易造成迭代次數過多、修復時間過長的問題,進而降低了通過插入緩衝器來修復保持時間違例的迭代次數和修復時間。


此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中:圖1是根據本發明實施例的緩衝器的插入方法的流程圖;圖2是根據本發明優選實施例的緩衝器的插入方法的流程圖;圖3是根據本發明優選實施例的以器件的埠為點、器件埠之間的連接關係為線的示意圖4a是根據本發明優選實施例的初始情況下各個點的保持時間鬆弛/權重的示意圖;圖4b是根據本發明優選實施例的從A點開始追溯後各個點的保持時間鬆弛/權重的示意圖;圖4c是根據本發明優選實施例的在圖4b的基礎上從B點開始追溯後各個點的保持時間鬆弛/權重的示意圖;圖5是根據本發明優選實施例中為選擇緩衝器的類型所採用的分支優化方法的示意圖;圖6是根據本發明實施例的緩衝器的插入裝置的結構框圖;圖7是根據本發明優選實施例的緩衝器的插入裝置的結構框圖。
具體實施例方式下文中將參考附圖並結合實施例來詳細說明本發明。需要說明的是,在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互組合。圖1是根據本發明實施例的緩衝器的插入方法的流程圖。如圖1所示,該方法可以包括以下處理步驟:步驟S102:獲取當前集成電路中各個器件相互間埠的連接關係,其中,連接關係包括:輸入埠、輸出埠以及輸入埠與輸出埠之間的連接路徑;步驟S104:在多種時序分析模型下從連接關係中選取待插入緩衝器的一個或多個埠。相關技術中,在大規模數字電路設計過程中,修復保持時間違例的有效方法是插入緩衝器。但現有的通過插入緩衝器來修復保持時間違例的方法並沒有考慮到多工藝角多模式(即多種時序分析模型)的因素,缺乏從所有時序分析模式對時序路徑的能力進行有層次地分析,只是獨立地在各個時序分析模式下分析時序路徑,然後盲目地選擇修復點插入緩衝器,由此在其他時序分析模式下造成新的建立時間或保持時間的違例,即桌球效應。從而導致在修復保持時間違例時迭代次數過多、修復時間過長。採用如圖1所示的方法,獲取當前集成電路中各個器件相互間埠之間的連接關係,上述連接關係可以包括:輸入埠、輸出埠以及輸入埠與輸出埠之間的連接路徑;在多種時序分析模型下從連接關係中選取待插入緩衝器的一個或多個埠,即從所有時序分析模型的角度對連接關係中的各條連接路徑進行綜合分析,在考慮各種時序分析模型的時序約束的情況下,從整個連接關係的全局上確定待插入緩衝器的一個或多個埠,從而避免由於僅考慮一種時序分析模型或只考慮單條時序路徑而盲目地選擇修復點插入緩衝器而使得在其他時序分析模式下造成新的建立時間或保持時間的違例,由此解決了相關技術中通過插入緩衝器來修復保持時間違例的方法易造成迭代次數過多、修復時間過長的問題,進而降低了通過插入緩衝器來修復保持時間違例的迭代次數和修復時間。優選地,在步驟S104中,在多種時序分析模型下從連接關係中選取待插入緩衝器的一個或多個埠可以包括以下處理:步驟S1:從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算連接關係的各個埠中每個埠的在該時序分析模型下的權重值;步驟S2:獲取連接關係中每個埠在多種時序分析模型下的權重值的總和,確定總和最大的一個或多個埠為待插入緩衝器的埠。在優選實施例中,在特定的時序分析模型下,沿著每條連接路徑的輸入端至輸出端的方向上,從輸入埠開始依次比較相鄰兩個埠的保持時間鬆弛的參數值。在每對相鄰埠之間進行比較,如果靠近輸入埠的前一埠的保持時間鬆弛的參數值大於或者等於遠離輸入埠的後一埠的保持時間鬆弛的參數值,則需要增加後一埠的權重值。以此類推計算每條連接路徑上各個埠的權重值,進而得出在每種時序分析模型下的連接關係中的各個埠的權重值,最終統計連接關係中的各個埠中的每個埠在各種時序分析模型下權重值的總和,以確定待插入緩衝器的一個或多個埠。優選地,在步驟S104中,在多種時序分析模型下從連接關係中選取待插入緩衝器的一個或多個埠可以包括以下操作:步驟S3:從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算每個埠的在該時序分析模型下的權重值;步驟S4:獲取連接關係中每個埠在多種時序分析模型下的權重值的總和並選取權重值總和最大的一個或多個埠;步驟S5:獲取選取的每個埠在多種時序分析模型下的保持時間鬆弛的參數值集合,並在與選取的每個埠對應的參數值集合中獲取與選取的每個埠對應的保持時間鬆弛的參數值的最小值;步驟S6:比較與選取的每個埠對應的保持時間鬆弛的參數值的最小值,並將獲取到的與選取的每個埠對應的保持時間鬆弛的參數值的最小值中保持時間鬆弛的參數值最小的一個或多個埠確定為待插入緩衝器的一個或多個埠。在優選實施例中,按照上述統計結果可知,權重值最大的多個埠分別為埠 A、B、D ;假設經過計算,埠 A、B、D在多種時序分析模型下的保持時間鬆弛的參數值的最小值分別為:_5、_6、-6 ;經過比較可以得出,保持時間鬆弛的參數值最小的多個埠分別為端Π B、D。優選地,在步驟S104中,在多種時序分析模型下從連接關係中選取待插入緩衝器的一個或多個埠可以包括以下處理步驟:步驟S7:從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算每個埠的在該時序分析模型下的權重值;步驟S8:獲取連接關係中每個埠在多種時序分析模型下的權重值的總和並選取權重值總和最大的一個或多個埠;步驟S9:獲取選取的每個埠在多種時序分析模型下的保持時間鬆弛的參數值集合,並在與選取的每個埠對應的參數值集合中獲取與選取的每個埠對應的保持時間鬆弛的參數值的最小值;步驟SlO:比較與選取的每個埠對應的保持時間鬆弛的參數值的最小值,得到保持時間鬆弛的參數值最小的一個或多個埠;
步驟Sll:判斷得到的一個或多個埠是否在同一條連接路徑上;步驟S12:如果是,則根據在同一條連接路徑上的一個或多個埠的位置關係確定待插入緩衝器的一個或多個埠。在優選實施例中,除了要考慮每個埠的權重值以及保持時間鬆弛的參數值,還需要考慮各個埠在連接路徑上的位置關係。優選地,上述從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算每個埠的在該時序分析模型下的權重值可以包括以下步驟:步驟S13:對每個輸入埠的權重值進行初始化,並從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在該時序分析模型下的保持時間鬆弛的參數值的大小;步驟S14:如果上述相鄰兩個埠中的前一個埠的保持時間鬆弛的參數值大於或者等於後一個埠的保持時間鬆弛的參數值,則增加後一個埠的權重值;在優選實施例中,假設當前有輸入埠 A,輸出埠 D,而在埠 A與埠 D之間的連接路徑上存在埠 B和埠 C,已知埠 A、B、C、D的權重值均為0,而保持時間鬆弛的參數值依次為:_5、-5、-3、-5。先將埠 A的權重值初始化為1,從埠 A出發沿埠 A與埠 D之間的連接路徑開始追溯;由於埠 A的保持時間鬆弛的參數值與埠 B的保持時間鬆弛的參數值相等,因此,埠 B的權重值=0+1=1 ;由於埠 B的保持時間鬆弛的參數值小於埠 C的保持時間鬆弛的參數值,因此,埠 C的權重值保持不變;由於埠 C的保持時間鬆弛的參數值大於埠 D的保持時間鬆弛的參數值,因此,埠 D的權重值=0+1=1。經過統計,埠 A、B、C、D的權重值依次為1、1、0、1。上述過程僅是本發明所提供的技術方案的連接關係中一條連接路徑的各個埠的權重值的統計結果,而其他連接路徑上各個埠的權重值的統計結果與此相似,此處不再贅述。優選地,在步驟S104,確定待插入緩衝器的一個或多個埠之後,還可以包括以下操作:步驟S15:獲取當前待使用的緩衝器的類型;步驟S16:根據同種類型或多種不同類型緩衝器所形成的緩衝器集合的面積確定待插入緩衝器的類型和數量,其中,同種類型或多種不同類型緩衝器中的每個緩衝器分別位於不同的埠。在優選實施例中,可以採用分支優化的方法確定待插入緩衝器的類型和數量。例如,在確定第k級緩衝器的類型時,先為每種備選的緩衝器類型(即當前待使用的緩衝器的類型)設立一個分支,然後在每個分支再插入第k+Ι級每種緩衝器,根據第k級緩衝器類型和第k+Ι級緩衝器類型得到每個分支的最優代價值,該最優代價值即在滿足修復保持時間違例的前提下,使得第k級緩衝器類型和第k+Ι級緩衝器類型組合的面積最小(此時第k級緩衝器類型和第k+Ι級緩衝器類型可能是相同的,也可能是不同的),從而確定第k級和第k+Ι級緩衝器的類型,並且由於當前存在第k級和第k+Ι級,由此可以確定待插入緩衝器的數量為2個,其中,每一級對應一個埠,有多少級就意味著要插入多少個緩衝器,可以根據不同需要場景,確定插入緩衝器的數量。優選地,在步驟S16,根據每種緩衝器集合的面積確定待插入緩衝器的類型和數量之後,還可以包括以下步驟:
步驟S17:根據待插入緩衝器的類型、待插入緩衝器的每個埠在多種時序分析模型下的上升下降時間、電容以及單元庫中的時序信息計算待插入緩衝器自身的延遲以及與待插入緩衝器的每個埠相鄰的前一個埠與後一個埠的延遲變化;步驟S18:採用計算結果更新待插入緩衝器的每個埠所在的一條或多條連接路徑上除該埠之外的其他埠中每個埠的保持時間鬆弛、建立時間鬆弛以及通過該埠的連接路徑的權重。本發明所提供的技術方案充分考慮到多工藝角多模式下的時序約束,並且從全局上考慮緩衝器的插入點,使得在一處地方插入緩衝器便可解決多條具有保持時間違例的路徑;在對緩衝器的類型進行選擇時,能夠不藉助自動設計(EDA)工具來較為精確地計算出緩衝器的延遲,如此便能快速地不用保留餘量來修復保持時間違例,並且考慮到插入緩衝器對一些擁塞設計的影響,在保證能修復保持時間違例的同時,選擇面積最小的緩衝器組合;插入緩衝器後不需要通過EDA工具進行時序上的更新即可進行下一輪的修復,從而可以通過靜態時序分析模型的計算來更新受到影響的路徑的時序,然後再進行下一輪修復,以便減少修復保持時間違例的時間。圖2是根據本發明優選實施例的緩衝器的插入方法的流程圖。如圖2所示,該方法可以包括以下處理步驟:步驟S202:從設計的籤核時序報告中提取信息;提取信息是指從設計的籤核時序報告中提取出一些設計必要的信息,來保證在不違反設計規則的前提下修復保持時間違例。在該優選實施例中,需要提取的信息可以包括但不限於以下至少之一:屬性不可改變的線和器件,設計中每個器件埠(pin)上的建立時間鬆弛(setup timing slack)、保持時間鬆弛(hold timing slack)、上升下降時間(transition)、電容(capacitance)將時鐘路徑與普通的時序路徑相分離。步驟S204:構建邏輯連接關係;構造設計的邏輯連接關係是指為了構建設計的器件之間的連接關係圖,對後面步驟的緩衝器的插入和時序的更新起到重要作用。構造設計的邏輯連接關係可以有多種實現方式,既可以以器件為點、器件之間的連接關係為線,也可以以器件的埠為點、器件埠之間的連接關係為線。在該優選實施例中,圖3是根據本發明優選實施例的以器件的埠為點、器件埠之間的連接關係為線的示意圖。具體過程如下:從觸發器(register)的D端(即輸入埠)或者輸出埠(output port)觸發跟蹤器件的連接關係,直到觸發器的輸出端或者輸入埠(input port)終止,形成一個電路的關係圖G= (V, E), V代表設計中的pin或者port, E代表(埠 u,埠 V)或者(埠 j,埠 k)所構成的邊。實線(u, V)表示埠 u和埠 V之間存在的連接關係為器件之間的連接關係,虛線(j,k)表示埠 j和埠 k之間存在的連接關係為器件內部的連接關係;如圖3所示,A、B、E為同一個器件的3個埠,在該器件內部存在著以下連接關係:(A,E)和(B、E),即A和E之間存在連接關係,B和E之間也存在連接關係,由於上述(A,E)和(B、E)均為器件內部的連接,因此,可以採用虛線加以表示。同理,E、F、G、I分別為同一個器件的4個埠,在該器件內部存在著以下連接關係:(H, 1)、斤、1)和(6,I),即H、F、G分別與I相連接,由於上述(H,1)、斤、1)和(6,I)均為器件內部的連接,因此,同樣可以採用虛線加以表示。而E和H、C和F以及D和G彼此之間均為不同器件的埠,因此,(E, H)、(C,F)和(D、G)均採用實線加以表示,說明上述連接關係為器件之間的連接關係。緩衝器只能在實線處加入。步驟S206:確定插入緩衝器的點(即待插入緩衝器的埠);確定插入緩衝器的點是為了在設計的眾多點中選出關鍵點插入緩衝器來解決保持時間違例的問題。在上述眾多點中,可以通過點的保持時間約束鬆弛、建立時間約束鬆弛、該點連接拓撲結構、該點所影響到的路徑數、該點所影響到的器件數目等方面來決定點的關鍵程度,其中,可以通過該點所影響的路徑數目、保持時間約束鬆弛、建立時間約束鬆弛、該點的偏序關係等方法來確定點的關鍵性。為了全面地考慮點的關鍵性,可以綜合考慮通過該點的路徑權重、點的最差保持時間鬆弛以及點的偏序關係。在確定點所影響的路徑數目時可以採用以下方法:當存在(u,v)實線時,SL(U)和SL(V)分別為u、v兩點的保持時間鬆弛。假設在V點插入緩衝器增加延遲k,將會出現以下三種情況:情況一、當SL(U)彡SL(V)時,SL(U)將增加延遲k,此時說明V點對u點的延遲起主導作用;情況二、當SL (V)-k〈SL (u)〈SL (V)時,SL(U)增加的延遲值為 SL (u)-SL (v)+k,此時說明V點對U點延遲 起半主導作用;情況三、當SL (u) <SL (V) -k時,SL (U)延遲值將不會發生變化,此時說明V點對u點延遲不起主導作用。要使插入的緩衝器的數量最少,就需要在對路徑的延遲起主導作用的點上插入緩衝器即情況一下在V點插入緩衝器,其效果為最佳。步驟S208:計算各個點的路徑權重(即權重值),即計算各個點中的每個點在每種scenario下對路徑延遲起主導作用的保持時間鬆弛為負的路徑數目的總和;其方法在於將所有的V的weight (V)設為0,然後從一個保持時間鬆弛為負的觸發器的輸入pin出發並將該點的weight設為1,通過G (V,E)的連接關係圖向前追溯,當遇到一個V時,比較前一個點 u 的 SL,當 SL(U)彡 SL (V) B^JlJweight(v)=weight(v)+weight(u)。圖 4a 是根據本發明優選實施例的初始情況下各個點的保持時間鬆弛/權重的示意圖。如圖4a所示,A、B為觸發器的輸入pin,C、D、E為邏輯器件的pin,圖中數字所代表的含義為保持時間鬆弛/權重(SL/weight)。圖4b是根據本發明優選實施例的從A點開始追溯後各個點的保持時間鬆弛/權重的示意圖。如圖4b所示,開始時所有的pin的weight初始化為O,從A出發開始追溯,weight(A)為 1,由於 SL (A)彡 SL (C),因此 weight (C) =0+1=1 ;又因為 SL(C) ^ SL (D),所以weight (D) =0+1=1 ;而由於SL (C) <SL (E),因此weight (E) =0。同理,圖4c是根據本發明優選實施例的在圖4b的基礎上從B點開始追溯後各個點的保持時間鬆弛/權重的示意圖。如圖4c所示,從B點開始追溯,即可得到圖4c中的結果。步驟S210:選取權重總和最大的點;在確定插入緩衝器的點時,除了主要考慮通過該點的路徑權重的同時,還需要考慮到該點的最差保持時間鬆弛以及該點的偏序關係。最差保持時間鬆弛是指全部時序分析模型中最差保持時間鬆弛;偏序關係是在上述遍歷過程中所形成的順序關係。在確定優先級最高的點(即待插入緩衝器的埠)時,考慮的因素:首先是比較點的路徑權重一然後是比較點的最差保持時間鬆弛的值一最後是比較點的偏序關係。步驟S212:選擇合適的緩衝器;
選擇緩衝器的類型需要在某個插入點根據實質的上升下降時間和電容在不違反建立時間鬆弛的條件下來決定緩衝器的插入類型以修復保持時間違例。由於存在多種時序分析模型,而每種時序分析模型的保持時間鬆弛、建立時間鬆弛、上升下降時間以及電容都不盡相同,並且可以選擇的緩衝器類型又較多,由此可見,選擇緩衝器類型的策略好壞直接決定了是否能夠快速地修復保持時間違例。在該優選實施例中,記錄了每個點的保持時間鬆弛、建立時間鬆弛、上升下降時間以及電容,再根據單元庫(library)裡的時序信息來計算出在各個時序分析模型中緩衝器本身的延遲和插入點前一級與後一級的延遲變化情況,這樣就可以得到整條路徑的時序變化情況,以確定插入緩衝器能否在保證不違反各個時序分析模型的建立時間的前提下修復各個時序分析模型的保持時間。在選擇緩衝器的類型時可以採取遍歷所有緩衝器的方法,當尋找到一個能夠解決問題的緩衝器即可退出或者採用人工智慧的方法。鑑於選擇緩衝器所用到的時間和緩衝器的面積,該優選實施例中所採用的方法為:若單個緩衝器無法實現目標時,採用分支優化的方法來決定緩衝器的類型,其分支優化的方法為:在確定第k級緩衝器的類型時,先為每種緩衝器類型設立一個分支,然後每個分支再插入第k+Ι級每種緩衝器,根據第k級緩衝器類型和第k+Ι級緩衝器類型得到每個分支的最優代價值,該最優代價值在滿足修復保持時間違例的前提下,使得第k級緩衝器類型和第k+Ι級緩衝器類型組合的面積最小,最後根據每個分支的最優代價值來確定第k級緩衝器的類型。圖5是根據本發明優選實施例中為選擇緩衝器的類型所採用的分支優化方法的示意圖。如圖5所示,假設緩衝器的類型共有16種,分別從Xl到X16。在確定第K級緩衝器時,為每個緩衝器設一個分支,每個分支後面再插入上述從Xl到X16的16種緩衝器,然後根據第K級和第K+ 1級的緩衝器類型計算出每個分支的代價值,假設Xl分支的代價值為16,…,X16分支的代價值為50,最後從中選取代價值最高的分支,即第K級緩衝器的類型為X16,並刪除其他分支。步驟S214:更新時序路徑影響;更新緩衝器加入後對時序路徑的影響是指在某一處即將插入緩衝器但在實際的設計過程中還沒有真實地插入時,對受到影響的路徑在各個時序分析模型下的時序進行更新,以進行下一輪的修復。根據上述確定要插入緩衝器的類型、各個時序分析模型的上升下降時間、電容和library中的時序信息計算出各個時序分析模型中緩衝器本身的延遲和插入點前一級與後一級的延遲變化。最後更新受到影響的路徑中其他埠的保持時間鬆弛、建立時間鬆弛以及通過該點的路徑的權重。圖6是根據本發明實施例的緩衝器的插入裝置的結構框圖。如圖6所示,該緩衝器的插入裝置可以包括:第一獲取模塊10,用於獲取當前集成電路中各個器件相互間埠的連接關係,其中,連接關係包括:輸入埠、輸出埠以及輸入埠與輸出埠之間的連接路徑;選取模塊20,用於在多種時序分析模型下從所述連接關係中選取待插入緩衝器的一個或多個埠。採用如圖6所示的裝置,解決了相關技術中通過插入緩衝器來修復保持時間違例的方法易造成迭代次數過多、修復時間過長的問題,進而降低了通過插入緩衝器來修復保持時間違例的迭代次數和修復時間。優選地,在本優選實施例中,如圖7所示,選取模塊20可以包括:計算單元200,用於從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算每個埠在該時序分析模型下的權重值;確定單元202,用於獲取連接關係中每個埠在多種時序分析模型下的權重值的總和,確定總和最大的一個或多個埠為待插入緩衝器的埠。優選地,在本優選實施例中,如圖7所示,選取模塊20可以包括:計算單元200,用於從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算每個埠在該時序分析模型下的權重值;選取單元204,用於獲取連接關係中每個埠在多種時序分析模型下的權重值的總和並選取權重值總和最大的一個或多個埠 ;獲取單元206,用於獲取選取的每個埠在多種時序分析模型下的保持時間鬆弛的參數值集合,並在與選取的每個埠對應的參數值集合中獲取與選取的每個埠對應的保持時間鬆弛的參數值的最小值;第一比較單元208,用於比較與選取的每個埠對應的保持時間鬆弛的參數值的最小值;確定單元202,還用於將獲取到的與選取的每個埠對應的保持時間鬆弛的參數值的最小值中保持時間鬆弛的參數值最小的一個或多個埠確定為待插入緩衝器的一個或多個埠。優選地,在本優選實施例中,如圖7所示,選取模塊20可以包括:計算單元200,用於從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算每個埠在該時序分析模型下的權重值;選取單元204,用於獲取連接關係中每個埠在多種時序分析模型下的權重值的總和並選取權重值總和最大的一個或多個埠 ;獲取單元206,用於獲取選取的每個埠在多種時序分析模型下的保持時間鬆弛的參數值集合,並在與選取的每個埠對應的參數值集合中獲取與選取的每個埠對應的保持時間鬆弛的參數值的最小值;第二比較單元210,用於比較與選取的每個埠對應的保持時間鬆弛的參數值的最小值,得到保持時間鬆弛的參數值最小的一個或多個埠 ;判斷單元212,用於判斷得到的一個或多個埠是否在同一條連接路徑上;確定單元202,還用於在判斷單元輸出為是時,則根據在同一條連接路徑上的一個或多個埠的位置關係確定待插入緩衝器的一個或多個埠。優選地,如圖7所示,計算單元200可以包括:比較子單元2000,用於對每個輸入埠的保持時間鬆弛的參數值進行初始化,並從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值的大小;處理子單元2002,用於在相鄰兩個埠中的前一個埠的保持時間鬆弛的參數值大於或者等於後一個埠的保持時間鬆弛的參數值時,則增加後一個埠的權重值。優選地,如圖7所示,上述裝置還包括:第二獲取模塊30,用於獲取當前待使用的緩衝器的類型;確定模塊40,用於根據同種類型或多種不同類型緩衝器所形成的緩衝器集合的面積確定待插入緩衝器的類型和數量,其中,同種類型或多種不同類型緩衝器中的每個緩衝器分別位於不同的埠。優選地,如圖7所示,上述裝置還包括:計算模塊50,用於根據待插入緩衝器的類型、待插入緩衝器的每個埠在多種時序分析模型下的上升下降時間、電容以及單元庫中的時序信息計算待插入緩衝器自身的延遲以及與待插入緩衝器的每個埠相鄰的前一個埠與後一個埠的延遲變化;更新模塊60,用於採用計算結果更新待插入緩衝器的每個埠所在的一條或多條連接路徑上除該埠之外的其他埠中每個埠的保持時間鬆弛、建立時間鬆弛以及通過該埠的連接路徑的權重。
從以上的描述中,可以看出,上述實施例實現了如下技術效果(需要說明的是這些效果是某些優選實施例可以達到的效果):本發明所提供的技術方案主要關注在數字電路設計過程中在多工藝角多模式下的保持時序修復問題,通過提取信息、構造設計的邏輯連接關係、確定插入緩衝器的點、選擇緩衝器的類型並在插入點加入選出的緩衝器、更新緩衝器加入後對時序路徑的影響以使得整體設計在滿足多工藝角多模式的建立時間的情況下修復保持時間違例,從而具有迭代次數少、運行時間短、對原有設計改變少的優點。顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,並且在某些情況下,可以以不同於此處的順序執行所示出或描述的步驟,或者將它們分別製作成各個集成電路模塊,或者將它們中的多個模塊或步驟製作成單個集成電路模塊來實現。這樣,本發明不限制於任何特定的硬體和軟體結合。以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種緩衝器的插入方法,其特徵在於,包括: 獲取當前集成電路中各個器件相互間埠的連接關係,其中,所述連接關係包括:輸入埠、輸出埠以及所述輸入埠與所述輸出埠之間的連接路徑; 在多種時序分析模型下從所述連接關係中選取待插入緩衝器的一個或多個埠。
2.根據權利要求1所述的方法,其特徵在於,在所述多種時序分析模型下從所述連接關係中選取所述待插入緩衝器的一個或多個埠包括: 從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算所述每個埠在該時序分析模型下的權重值; 獲取所述連接關係中每個埠在所述多種時序分析模型下的權重值的總和,確定所述總和最大的一個或多個埠為待插入緩衝器的埠。
3.根據權利要求1所述的方法,其特徵在於,在所述多種時序分析模型下從所述連接關係中選取所述待插入緩衝器的一個或多個埠包括: 從每個輸入埠開始依次比較每條 連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算所述每個埠在該時序分析模型下的權重值; 獲取所述連接關係中每個埠在所述多種時序分析模型下的權重值的總和,並選取權重值總和最大的一個或多個埠; 獲取所述選取的每個埠在多種時序分析模型下的保持時間鬆弛的參數值集合,並在與所述選取的每個埠對應的參數值集合中獲取與所述選取的每個埠對應的保持時間鬆弛的參數值的最小值; 比較與所述選取的每個埠對應的保持時間鬆弛的參數值的最小值; 將獲取到的與所述選取的每個埠對應的保持時間鬆弛的參數值的最小值中保持時間鬆弛的參數值最小的一個或多個埠確定為所述待插入緩衝器的一個或多個埠。
4.根據權利要求1所述的方法,其特徵在於,在所述多種時序分析模型下從所述連接關係中選取所述待插入緩衝器的一個或多個埠包括: 從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算所述每個埠在該時序分析模型下的權重值; 獲取所述連接關係中每個埠在所述多種時序分析模型下的權重值的總和,並選取權重值總和最大的一個或多個埠; 獲取所述選取的每個埠在多種時序分析模型下的保持時間鬆弛的參數值集合,並在與所述選取的每個埠對應的參數值集合中獲取與所述選取的每個埠對應的保持時間鬆弛的參數值的最小值; 比較與所述選取的每個埠對應的保持時間鬆弛的參數值的最小值,得到保持時間鬆弛的參數值最小的一個或多個埠; 判斷得到的所述一個或多個埠是否在同一條連接路徑上; 如果是,則根據在所述同一條連接路徑上的一個或多個埠的位置關係確定所述待插入緩衝器的一個或多個埠。
5.根據權利要求2至4中任一項所述的方法,其特徵在於,從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算所述每個埠在該時序分析模型下的權重值包括: 對所述每個輸入埠的權重值進行初始化,並從所述每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在該時序分析模型下的保持時間鬆弛的參數值的大小; 如果所述相鄰兩個埠中的前一個埠的保持時間鬆弛的參數值大於或者等於後一個埠的保持時間鬆弛的參數值,則增加所述後一個埠的權重值。
6.根據權利要求1至4中任一項所述的方法,其特徵在於,在確定所述待插入緩衝器的一個或多個埠之後,還包括: 獲取當前待使用的緩衝器的類型; 根據同種類型或多種不同 類型緩衝器所形成的緩衝器集合的面積確定所述待插入緩衝器的類型和數量,其中,所述同種類型或所述多種不同類型緩衝器中的每個緩衝器分別位於不同的埠。
7.根據權利要求6所述的方法,其特徵在於,在根據每種緩衝器集合的面積確定所述待插入緩衝器的類型和數量之後,還包括: 根據所述待插入緩衝器的類型、所述待插入緩衝器的每個埠在多種時序分析模型下的上升下降時間、電容以及單元庫中的時序信息計算所述待插入緩衝器自身的延遲以及與所述待插入緩衝器的每個埠相鄰的前一個埠與後一個埠的延遲變化; 採用計算結果更新所述待插入緩衝器的每個埠所在的一條或多條連接路徑上除該埠之外的其他埠中每個埠的保持時間鬆弛、建立時間鬆弛以及通過該埠的連接路徑的權重。
8.一種緩衝器的插入裝置,其特徵在於,包括: 第一獲取模塊,用於獲取當前集成電路中各個器件相互間埠的連接關係,其中,所述連接關係包括:輸入埠、輸出埠以及所述輸入埠與所述輸出埠之間的連接路徑; 選取模塊,用於在多種時序分析模型下從所述連接關係中選取待插入緩衝器的一個或多個埠。
9.根據權利要求8所述的裝置,其特徵在於,所述選取模塊包括: 計算單元,用於從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算所述每個埠在該時序分析模型下的權重值; 確定單元,用於獲取所述連接關係中每個埠在所述多種時序分析模型下的權重值的總和,確定所述總和最大的一個或多個埠為待插入緩衝器的埠。
10.根據權利要求8所述的裝置,其特徵在於,所述選取模塊包括: 計算單元,用於從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算所述每個埠在該時序分析模型下的權重值; 選取單元,用於獲取所述連接關係中每個埠在所述多種時序分析模型下的權重值的總和,並選取權重值總和最大的一個或多個埠 ; 獲取單元,用於獲取所述選取的每個埠在多種時序分析模型下的保持時間鬆弛的參數值集合,並在與所述選取的每個埠對應的參數值集合中獲取與所述選取的每個埠對應的保持時間鬆弛的參數值的最小值; 第一比較單元,用於比較與所述選取的每個埠對應的保持時間鬆弛的參數值的最小值; 確定單元,用於將獲取到的與所述選取的每個埠對應的保持時間鬆弛的參數值的最小值中保持時間鬆弛的參數值最小的一個或多個埠確定為所述待插入緩衝器的一個或多個埠。
11.根據權利要求8所述的裝置,其特徵在於,所述選取模塊包括: 計算單元,用於從每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值,並根據比較結果來計算所述每個埠在該時序分析模型下的權重值; 選取單元,用於獲取所述連接關係中每個埠在所述多種時序分析模型下的權重值的總和,並選取權重值總和最大的一個或多個埠 ; 獲取單元,用於獲取所述選取的每個埠在多種時序分析模型下的保持時間鬆弛的參數值集合,並在與所述選取的每個埠對應的參數值集合中獲取與所述選取的每個埠對應的保持時間鬆弛的參數值的最小值; 第二比較單元,用於比較與所述選取的每個埠對應的保持時間鬆弛的參數值的最小值,得到保持時間鬆弛的參數值最小的一個或多個埠 ; 判斷單元,用於判斷得到的所述一個或多個埠是否在同一條連接路徑上; 確定單元,用於在判斷單元輸出為是時,則根據在所述同一條連接路徑上的一個或多個埠的位置關係確定所 述待插入緩衝器的一個或多個埠。
12.根據權利要求9至11中任一項所述的裝置,其特徵在於,所述計算單元包括: 比較子單元,用於對所述每個輸入埠的保持時間鬆弛的參數值進行初始化,並從所述每個輸入埠開始依次比較每條連接路徑中相鄰兩個埠在每個時序分析模型下的保持時間鬆弛的參數值的大小; 處理子單元,用於在所述相鄰兩個埠中的前一個埠的保持時間鬆弛的參數值大於或者等於後一個埠的保持時間鬆弛的參數值時,則增加所述後一個埠的權重值。
13.根據權利要求8至11中任一項所述的裝置,其特徵在於,所述裝置還包括: 第二獲取模塊,用於獲取當前待使用的緩衝器的類型; 確定模塊,用於根據同種類型或多種不同類型緩衝器所形成的緩衝器集合的面積確定所述待插入緩衝器的類型和數量,其中,所述同種類型或所述多種不同類型緩衝器中的每個緩衝器分別位於不同的埠。
14.根據權利要求13所述的裝置,其特徵在於,所述裝置還包括: 計算模塊,用於根據所述待插入緩衝器的類型、所述待插入緩衝器的每個埠在多種時序分析模型下的上升下降時間、電容以及單元庫中的時序信息計算所述待插入緩衝器自身的延遲以及與所述待插入緩衝器的每個埠相鄰的前一個埠與後一個埠的延遲變化;更新模塊,用於採用計算結果更新所述待插入緩衝器的每個埠所在的一條或多條連接路徑上除該埠之外的其他埠中每個埠的保持時間鬆弛、建立時間鬆弛以及通過該埠 的連接路徑的權重。
全文摘要
本發明公開了一種緩衝器的插入方法及裝置,在上述方法中,獲取當前集成電路中各個器件相互間埠的連接關係,其中,連接關係包括輸入埠、輸出埠以及輸入埠與輸出埠之間的連接路徑;在多種時序分析模型下從連接關係中選取待插入緩衝器的一個或多個埠。根據本發明提供的技術方案,降低了通過插入緩衝器來修復保持時間違例的迭代次數和修復時間。
文檔編號G06F17/50GK103164585SQ201310109808
公開日2013年6月19日 申請日期2013年3月29日 優先權日2013年3月29日
發明者包翔元, 高燕萍, 王洪生 申請人:龍芯中科技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀