TWI639075B - 電腦執行方法、時脈資料處理系統以及電腦可讀取儲存媒體 - Google Patents
電腦執行方法、時脈資料處理系統以及電腦可讀取儲存媒體 Download PDFInfo
- Publication number
- TWI639075B TWI639075B TW107105048A TW107105048A TWI639075B TW I639075 B TWI639075 B TW I639075B TW 107105048 A TW107105048 A TW 107105048A TW 107105048 A TW107105048 A TW 107105048A TW I639075 B TWI639075 B TW I639075B
- Authority
- TW
- Taiwan
- Prior art keywords
- clock
- blocks
- file
- weight
- pins
- Prior art date
Links
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
一種電腦執行方法,用以合成時脈樹電路,時脈樹電路包含複數個時脈接腳,時脈接腳任兩者之間設置有複數個權重值,時脈樹合成方法包含:建立圖形模型,其中圖形模型包含複數個節點以及複數個邊線,節點對應該些時脈接腳;基於權重值以及時脈接腳之位置,利用力導向演算計算分支位置;設置引導緩衝器至分支位置並且更新電路描述檔;進行時脈樹合成並執行合成後的靜態時序分析;判斷靜態時序分析之分析結果是否符合時序設定值;以及如果不符合則重新計算權重值,據以重新建立圖形模型。
Description
本案是有關於一種電腦執行方法、時脈資料處理系統以及電腦可讀取儲存媒體,且特別是有關於一種降低晶片變異影響的方法以及利用其方法的時脈資料處理系統以及電腦可讀取儲存媒體。
隨著科技產品的越來越輕薄化,單一晶片上所包含元件的數量大幅上升,對晶片製程而言,晶片變異(On-Chip-Variation,OCV)所帶來的影響越發的嚴重,尤其是在時脈樹合成(Clock tree synthesis)時,可能因為時序上的差異對整個晶片造成極大的影響,因此如何有效的降低時脈樹的晶片變異,為本領域待改進的問題之一。
本發明之主要目的係在提供一種電腦執行方法、時脈資料處理系統以及電腦可讀取儲存媒體,其主要係
改進晶片因內部操作環境(製程、溫度、電壓)的不同而導致有時序衝突(Timing violation)的問題,利用找出最佳的分支位置以延長多個時脈接腳的共同路徑,並讓分支位置至個別時脈接腳的分支路徑長度近似,達到讓延遲變異(Delay violation)最小化同時降低晶片變異的功效。
為達成上述目的,本案之第一態樣是在提供一種電腦執行方法,用以計算時脈樹電路的一分支位置,時脈樹電路包含複數個時脈接腳,時脈接腳任兩者之間設置有複數個權重值,電腦執行方法包含:建立圖形模型,其中圖形模型包含複數個節點以及複數個邊線,節點對應該些時脈接腳,邊線對應權重值;基於權重值以及時脈接腳之位置,利用力導向演算計算分支位置;設置引導緩衝器至分支位置並且更新電路描述檔;進行時脈樹合成並執行合成後的靜態時序分析;判斷靜態時序分析之分析結果是否符合時序設定值;以及如果不符合則重新計算權重值,根據重新建立圖形模型。
本案之第二態樣是在提供一種時脈資料處理系統,用以計算時脈樹電路的分支位置,時脈樹電路包含複數個時脈接腳,時脈接腳任兩者之間設置有複數個權重值,時脈資料處理系統包含:資料儲存單元以及處理器。資料儲存單元用以儲存時脈接腳以及權重值。處理器與資料儲存單元電性耦接,用以建立圖形模型並基於權重值以及時脈接腳之位置,利用力導向演算計算分支位置,處理器設置引導緩衝器至分支位置並且更新電路描述檔,接著進行時脈樹合成
並執行合成後的靜態時序分析,並判斷靜態時序分析之分析結果是否符合時序設定值,如果不符合則重新計算權重值,根據重新計算的權重值重新建立圖形模型;其中,圖形模型包含複數個節點以及複數個邊線,節點對應時脈接腳,邊線對應權重值。
本案之第三態樣是在提供一種電腦可讀取儲存媒體,用以儲存電腦程式,電腦程式用以載入至電腦系統中,並且使得電腦系統用以執行計算時脈樹電路的分支位置,時脈樹電路包含複數個時脈接腳,時脈接腳任兩者之間設置有複數個權重值,該電腦程式被處理器所執行時會執行以下步驟:建立圖形模型,其中圖形模型包含複數個節點以及複數個邊線,節點對應時脈接腳,邊線對應權重值;基於權重值以及時脈接腳之位置,利用力導向演算計算分支位置;設置引導緩衝器至分支位置並且更新電路描述檔;進行時脈樹合成並執行合成後的靜態時序分析;判斷靜態時序分析之分析結果是否符合時序設定值;以及如果不符合則重新計算權重值,根據重新計算的權重值重新建立圖形模型。
本發明之電腦執行方法、時脈資料處理系統以及電腦可讀取儲存媒體可在處理過程中找出最佳的分支位置並在分支位置設置引導緩衝器(Guide buffer),降低早期分支以及繞路(Detour issue)的問題,利用找出最佳的分支位置以延長多個時脈接腳的共同路徑,並讓分支位置至個別時脈接腳的分支路徑長度近似,達到降低晶片變異的功效。
100‧‧‧時脈樹電路
110‧‧‧時脈源
120‧‧‧時脈樹佈局線路
130‧‧‧引導緩衝器
p1、p2、p3、p4‧‧‧時脈接腳
A、B、C‧‧‧區塊
200‧‧‧電腦執行方法
e1、e2、e3、e4‧‧‧邊線
Q1、Q2‧‧‧區域
S210~S270、S251A、S251B、S252~S254‧‧‧步驟
600‧‧‧時脈資料處理系統
610‧‧‧資料儲存單元
620‧‧‧處理器
為讓本發明之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下:第1圖係根據本案之一些實施例所繪示之一種時脈樹電路的示意圖;第2圖係根據本案之一些實施例所繪示之一種時脈樹合成方法的流程圖;第3圖係根據本案之一些實施例所繪示之圖形模型的示意圖;第4A圖係根據本案之一實施例所繪示之其中一步驟的流程圖;第4B圖係根據本案之另一實施例所繪示之其中一步驟的流程圖;第5A圖係根據本案之一些實施例所繪示之一種時脈樹電路的示意圖;第5B圖係根據本案之一些實施例所繪示之一種時脈樹電路的示意圖;以及第6圖係根據本案之一些實施例所繪示之一種時脈資料處理系統的示意圖。
以下揭示提供許多不同實施例或例證用以實施本發明的不同特徵。特殊例證中的元件及配置在以下討論中被用來簡化本揭示。所討論的任何例證只用來作解說的用
途,並不會以任何方式限制本發明或其例證之範圍和意義。此外,本揭示在不同例證中可能重複引用數字符號且/或字母,這些重複皆為了簡化及闡述,其本身並未指定以下討論中不同實施例且/或配置之間的關係。
請參閱第1圖。第1圖係根據本案之一些實施例所繪示之一種時脈樹電路100的示意圖。如第1圖所繪示,時脈樹電路100包含時脈源110、複數個時脈接腳p1、p2、p3及p4、時脈樹佈局線路120以及引導緩衝器130。時脈樹佈局線路120用以將時脈源110耦接至時脈接腳p1、p2、p3及p4。引導緩衝器130設置於時脈樹佈局線路120之分支位置,分支位置是根據複數個權重值以及時脈接腳p1、p2、p3及p4之位置而決定,時脈接腳p1、p2、p3及p4任兩者之間對應於權重值的其中之一。
請一併參閱第1圖及第2圖。第2圖係根據本案之一些實施例所繪示之一種電腦執行方法200的流程圖。第2圖所示之電腦執行方法200可以應用於第1圖所示的時脈樹電路100上,引導緩衝器130所設置的分支位置是根據下列電腦執行方法200所描述之步驟得出。如第2圖所示,電腦執行方法200包含以下步驟:步驟S210:根據前時脈樹合成資料庫建立時脈文件;步驟S220:根據靜態時序分析結果以及時脈文件產生時序文件;步驟S230:建立圖形模型;
步驟S240:基於時序文件中的權重值以及時脈文件中的時脈接腳之位置,利用力導向演算計算分支位置;步驟S250:設置引導緩衝器至分支位置並且更新電路描述檔;步驟S260:進行時脈樹合成並執行合成後的靜態時序分析;以及步驟S270:判斷靜態時序分析之分析結果是否符合時序設定值。
於步驟S210及步驟S220中,根據前時脈樹合成資料庫(pre-CTS database)建立時脈文件,先利用解譯器(Parser)解譯前佈局靜態時序分析結果(pre-layout STA results),再利用解譯出的結果及時脈文件產生時序文件。如第1圖所示,時脈文件包括有時脈源110分別與各個時脈接腳p1、p2、p3及p4之間的耦接關係。時序文件包括時脈接腳p1、p2、p3及p4彼此之間存在內部資料互流的資料路徑(Data path),本領域技術人員都知道資料路徑也可以是時序路徑(Timing path),即為第1圖中的虛線部分,資料路徑與時序路徑所代表的作用在本發明中雷同。
在步驟S230中,會根據時脈文件以及時序文件建立圖形模型。請參考第1圖及第3圖,第3圖係根據本案之一些實施例所繪示之圖形模型的示意圖。如第3圖所示,圖形模型包含複數個節點以及複數個邊線e1、e2、e3及p4,該些節點即為第1圖中的時脈接腳p1、p2、p3及p4,邊線則代表時脈接腳之間的時序路徑(即為第1圖中虛線的部
分),表示時脈接腳之間是否具有時序關係。
於一實施例中,時脈接腳任兩者之間設置有複數個權重值,權重值會用於之後的計算中。權重值可以使用兩種數值來作為權重值,一種是區塊間資料路徑的數量,舉例而言,請參考第1圖,如果區塊A的子區塊與區塊B的子區塊之間有資料相互傳遞形成資料路徑,資料路徑的數量即可以用來作為時脈接腳p1以及p2之間的權重值,表示資料路徑的數量越多權重值越高。而另一種是利用區塊間資料路徑的鬆弛時間(Slack value)作為權重值,鬆弛時間=需求時間(Required time)-到達時間(Arrival time),需求時間是指能夠容忍路徑的最大延時,也就是信號到達的最晚的時間;到達時間是指訊號到達某個特定位置所消耗的時間。在一般情況下,會將時脈訊號到達的時間作為參考時間,為了計算到達時間,需要對路徑中的所有元件的延時都進行計算。如果某條資料路徑的鬆弛時間為正數,代表此路徑的時延(Time delay)是符合要求的,但如果某條資料路徑的鬆弛時間為負數,則表示此路徑上的延時過高需要進行修改。而負值的鬆弛時間越小,代表此路徑的延時越嚴重,因此是利用負的鬆弛時間作為權重值,表示負的鬆弛時間越小權重值越大。
於步驟S240中,基於時序文件中的權重值以及時脈文件中的時脈接腳之位置,利用力導向演算計算分支位置。於一實施例中,分支位置可根據《公式1》得到,Px及Py為分支位置的X座標以及Y座標,ni代表圖形模型中的節
點,ej代表圖形模型中的邊線,i代表節點的編號,j代表邊線的編號,S即為圖形模型中所有節點及邊線所形成的集合,xi及yi代表圖形模型中某個節點的座標,wj代表邊線的權重值,《公式1》如下:
於另一實施例中,分支位置可根據《公式2》得到,Px及Py為分支位置的X座標以及Y座標,ni代表圖形模型中的節點,ej代表圖形模型中的邊線,i代表節點的編號,j代表邊線的編號,S即為圖形模型中所有節點及邊線所形成的集合,xi及yi代表圖形模型中某個節點的座標,xj及yj代表圖形模型中某個邊線的座標,wi代表節點的權重值,wj代表邊線的權重值,《公式2》如下:
於步驟S250中,設置引導緩衝器至分支位置並且更新電路描述檔。請一併參考第4A圖及第4B圖,第4A圖係根據本案之一實施例所繪示之其中一步驟的流程圖,第
4B圖係根據本案之另一實施例所繪示之其中一步驟的流程圖。於一實施例中,請參考第4A圖,如第4A圖所示,步驟S250A包含以下步驟:步驟S251A:判斷權重值是否大於權重門檻值以及區塊的時脈接腳之間的距離是否小於距離門檻值;步驟S252:如果判斷為是,新增引導緩衝器至分支位置;步驟S253:如果判斷為否,移動該引導緩衝器至該分支位置;以及步驟S254:更新電路描述檔中時脈接腳的連接資訊。
舉例而言,當使用區塊間資料路徑的數量作為權重值時,於步驟S251A中就要判斷區塊間資料路徑的數量是否大於資料路徑數量門檻值,同時也要一起判斷區塊的時脈接腳之間的實體距離是否小於距離門檻值,如果都符合判斷式的話,則表示區塊間有較多資料相互傳遞以及時脈接腳的位置都距離較遠,因此則須執行步驟S252,新增引導緩衝器(Guide buffer)至分支位置,但如果上述的兩個判斷式有其中之一沒有符合,則執行步驟S253,不新增引導緩衝器,而是移動引道緩衝器至分支位置。接著執行步驟S254,更新電路描述檔(Netlist)中時脈接腳的連接資訊。
於另一實施例中,請參考第4B圖,如第4B圖所示,步驟S250B包含以下步驟:步驟S251B:判斷權重值是否小於權重門檻值
以及區塊的時脈接腳之間的距離是否小於距離門檻值;步驟S252:如果判斷為是,新增引導緩衝器至分支位置;步驟S253:如果判斷為否,移動該引導緩衝器至該分支位置;以及步驟S254:更新電路描述檔中時脈接腳的連接資訊。
舉例而言,當使用區塊間資料路徑的鬆弛時間作為權重值時,於步驟S251B中就要判斷區塊間資料路徑的負的鬆弛時間是否小於鬆弛時間門檻值,同時也要一起判斷區塊的時脈接腳之間的實體距離是否小於距離門檻值,如果都符合判斷式的話,則表示資料路徑上的延時過大以及時脈接腳的位置都距離較遠,因此則須執行步驟S252,新增引導緩衝器至分支位置,但如果上述的兩個判斷式有其中之一沒有符合,則執行步驟S253,不新增引導緩衝器,而是移動引導緩衝器至分支位置。接著執行步驟S254,更新電路描述檔(Netlist)中時脈接腳的連接資訊。另外,步驟S250A及步驟250B在執行步驟S254時都需要一併判斷引導緩衝器的位置是否符合設計規則的規範,如果沒有符合規範需要重新對引導緩衝器擺放位置進行些微調整。
於一實施例中,權重值的選擇會根據執行時脈樹合成的次數進行調整,如果是第一次進行時脈樹合成,由於那時僅有前佈局靜態時序分析結果,對於鬆弛時間僅有概略的估計,因此在第一次執行時脈樹合成時會使用區塊間資
料路徑的數量作為權重值,才會得到相對於利用鬆弛時間較為準確的結果。但如果已經執行過第一次的時脈樹合成,即可得到後時脈樹合成的靜態時序分析結果(Post-CTS STA results),再利用此靜態時序分析結果計算出的鬆弛時間就是較為準確的,因此在第二次執行時脈樹合成時就會使用區塊間資料路徑的鬆弛時間作為權重值,會得到相對於資料路徑的數量較為準確的結果。換句話說,僅在第一次執行時脈樹合成時利用區塊間資料路徑的數量作為權重值,之後如果再執行時脈樹合成時會改為使用區塊間資料路徑的鬆弛時間作為權重值。
值得注意的是,圖形模型的邊線不僅代表時脈接腳之間是否有時序關係,同時也可包含權重值,如果有兩個時脈接腳之間的權重值很高,則表示這兩個時脈接腳之間的時序路徑可能是關鍵路徑(Critical path),即為延時最大的路徑,需要特別進行調整。當然圖形模型中的權重值設定與上述的權重值設定相同,在第一次建立圖形模型時,利用區塊間資料路徑的數量作為權重值,之後再建立圖形模型時,就會利用區塊間資料路徑的鬆弛時間作為權重值。
接著於步驟S260及步驟S270中,進行時脈樹合成並執行合成後的靜態時序分析;以及判斷靜態時序分析之分析結果是否符合時序設定值。如果不符合不僅需要重新計算權重值,也會重新執行步驟S210及步驟S220再次產生新的時脈文件以及時序文件,並根據重新計算的權重值再次建立圖形模型。由於在步驟S250更新過電路描述檔,因此
再次進行時脈樹合成時所需要用到的時脈文件也是由更新後的電路描述檔所產生。
為了更詳細說明,請一併參考第5A圖以及第5B圖,第5A圖係根據本案之一些實施例所繪示之一種時脈樹電路的示意圖,第5B圖係根據本案之一些實施例所繪示之一種時脈樹電路的示意圖。如圖5A所示,時脈源110經由時脈樹佈局線路120耦接至時脈接腳p1、p2、p3及p4。在第5A圖的時脈樹電路中,就存在有虛線區域Q1所示的早期分支(Early branch)問題,以及虛線區域Q2所示的繞路(Detour)問題,將容易導致晶片變異的問題。因此藉由在一個較佳的位置放入引導緩衝器將有助於解決早期分支以及繞路的問題。如第5B圖所示,經由上述的時脈樹合成方法的計算後,可以找出分支位置並放入引導緩衝器130使得時脈接腳p1、p2、p3及p4之間的共同路徑變長,防止晶片變異的問題產生。
於另一實施例中,本發明揭示一種時脈資料處理系統600,請參閱第6圖。第6圖係根據本案之一些實施例所繪示之一種時脈資料處理系統600的示意圖。如第6圖所繪示,時脈資料處理系統600包含資料儲存單元610以及處理器620。資料儲存單元610與處理器620電性耦接,資料儲存單元610用以儲存前時脈樹合成資料庫以及靜態時序分析結果,處理器620用以計算時脈樹電路的分支位置。處理器620則是根據第2圖所示的電腦執行方法200計算分支位置,因此在此不贅述。
於另一實施例中,本發明揭示一種電腦可讀取儲存媒體,其用以儲存電腦程式,電腦程式用以載入至電腦系統中,並且使得電腦系統用以執行計算時脈樹電路的分支位置。電腦系統是根據第2圖所示的電腦執行方法200計算分支位置,因此在此不贅述。
由上述本案之實施方式可知,藉由利用區塊間資料路徑的數量以及區塊間資料路徑的鬆弛時間作為權重值,讓區塊間有較多時序關係的路徑的權重值變高,使得在計算分支位置時能夠有較高的影響力,以找出最佳的分支位置,並在分支位置設置引導緩衝器以延長多個時脈接腳的共同路徑,降低早期分支以及繞路的問題,並讓分支位置至個別時脈接腳的分支路徑長度近似,達到讓延遲變異最小化同時降低晶片變異的功效。
另外,上述例示包含依序的示範步驟,但該些步驟不必依所顯示的順序被執行。以不同順序執行該些步驟皆在本揭示內容的考量範圍內。在本揭示內容之實施例的精神與範圍內,可視情況增加、取代、變更順序及/或省略該些步驟。
雖然本案已以實施方式揭示如上,然其並非用以限定本案,任何熟習此技藝者,在不脫離本案之精神和範圍內,當可作各種之更動與潤飾,因此本案之保護範圍當視後附之申請專利範圍所界定者為準。
Claims (20)
- 一種電腦執行方法,用以計算一時脈樹電路的一分支位置,該時脈樹電路包含複數個時脈接腳,該些時脈接腳任兩者之間設置有複數個權重值,該電腦執行方法包含:建立一圖形模型,其中該圖形模型包含複數個節點以及複數個邊線,該些節點對應該些時脈接腳,該些邊線對應該些權重值;基於該些權重值以及該些時脈接腳之位置,利用一力導向演算計算該分支位置;設置一引導緩衝器至該分支位置並且更新一電路描述檔;進行一時脈樹合成並執行合成後的一靜態時序分析;判斷該靜態時序分析之一分析結果是否符合一時序設定值;以及如果不符合則重新計算該些權重值,根據重新計算的該些權重值重新建立該圖形模型。
- 如請求項1所述的電腦執行方法,更包含:根據一前時脈樹合成資料庫建立一時脈文件;以及根據一靜態時序分析結果以及該時脈文件產生一時序文件,其中,該時脈文件包含複數個區塊,以及該些區塊分別包含該些時脈接腳及一時脈源;該時序文件包含該些區塊的 該些時脈接腳任兩者之間的一資料路徑。
- 如請求項2所述的電腦執行方法,其中該些權重值包含該些區塊間該資料路徑的一數量,以及該些區塊間該資料路徑的一鬆弛時間。
- 如請求項3所述的電腦執行方法,其中在第一次建立該圖形模型時,利用該些區塊間該資料路徑的數量作為該權重值;當進行完時脈樹合成的該靜態時序分析後,利用該些區塊間該資料路徑的鬆弛時間作為該權重值。
- 如請求項4所述的電腦執行方法,其中設置該引導緩衝器至該分支位置並且更新該電路描述檔,更包含:判斷該權重值是否大於一權重門檻值以及該些區塊的該時脈接腳之間的距離是否小於一距離門檻值;如果判斷皆為是,則新增該引導緩衝器至該分支位置;如果判斷該權重值是否大於該權重門檻值以及該些區塊的該時脈接腳之間的距離是否小於該距離門檻值兩者其中之一為否,則移動該引導緩衝器至該分支位置;以及更新該電路描述檔中該些時脈接腳的連接資訊。
- 如請求項4所述的電腦執行方法,其中設置該引導緩衝器至該分支位置並且更新該電路描述檔,更包 含:判斷該權重值是否小於一權重門檻值以及該些區塊的該時脈接腳之間的距離是否小於一距離門檻值;如果判斷皆為是,則新增該引導緩衝器至該分支位置;如果判斷該權重值是否小於該權重門檻值以及該些區塊的該時脈接腳之間的距離是否小於該距離門檻值兩者其中之一為否,則移動該引導緩衝器至該分支位置;以及更新該電路描述檔中該些時脈接腳的連接資訊。
- 如請求項2所述的電腦執行方法,其中在第一次進行時脈樹合成時,利用一前佈局靜態時序分析結果產生該時序文件;當進行完時脈樹合成的該靜態時序分析後,則根據該靜態時序分析的結果產生該時序文件。
- 一種時脈資料處理系統,用以計算一時脈樹電路的一分支位置,該時脈樹電路包含複數個時脈接腳,該些時脈接腳任兩者之間設置有複數個權重值,該時脈資料處理系統包含:一資料儲存單元,用以儲存該些時脈接腳以及該些權重值;以及一處理器,與該資料儲存單元電性耦接,用以建立一圖形模型並基於該些權重值以及該些時脈接腳之位置,利用一力導向演算計算該分支位置,該處理器設置一引導緩衝器至該分支位置並且更新一電路描述檔,接著進行一時脈樹合 成並執行合成後的一靜態時序分析,並判斷該靜態時序分析之一分析結果是否符合一時序設定值,如果不符合則重新計算該些權重值,根據重新計算的該些權重值重新建立該圖形模型;其中,該圖形模型包含複數個節點以及複數個邊線,該些節點對應該些時脈接腳,該些邊線對應該些權重值。
- 如請求項8所述的時脈資料處理系統,其中,該資料儲存單元用以儲存一前時脈樹合成資料庫以及一靜態時序分析結果;該處理器更用以根據該前時脈樹合成資料庫建立一時脈文件,以及根據該靜態時序分析結果以及該時脈文件產生一時序文件;其中,該時脈文件包含複數個區塊,以及該些區塊分別包含該些時脈接腳及一時脈源;該時序文件包含該些區塊的該些時脈接腳任兩者之間的一資料路徑。
- 如請求項9所述的時脈資料處理系統,其中,該些權重值包含該些區塊間該資料路徑的一數量,以及該些區塊間該資料路徑的一鬆弛時間。
- 如請求項10所述的時脈資料處理系統,其中,該處理器在第一次建立該圖形模型時,利用該些區塊間該資料路徑的數量作為該權重值;當該處理器進行完時脈樹合成的該靜態時序分析後,利用該些區塊間該資料路 徑的鬆弛時間作為該權重值。
- 如請求項11所述的時脈資料處理系統,其中,該處理器設置該引導緩衝器至該分支位置並且更新該電路描述檔,該處理器更用以執行:判斷該權重值是否大於一權重門檻值以及該些區塊的該時脈接腳之間的距離是否小於一距離門檻值;如果判斷皆為是,則新增該引導緩衝器至該分支位置;如果判斷該權重值是否大於該權重門檻值以及該些區塊的該時脈接腳之間的距離是否小於該距離門檻值兩者其中之一為否,則移動該引導緩衝器至該分支位置;以及更新該電路描述檔中該些時脈接腳的連接資訊。
- 如請求項11所述的時脈資料處理系統,其中,該處理器設置該引導緩衝器至該分支位置並且更新該電路描述檔,該處理器更用以執行:判斷該權重值是否小於一權重門檻值以及該些區塊的該時脈接腳之間的距離是否小於一距離門檻值;如果判斷皆為是,則新增該引導緩衝器至該分支位置;如果判斷該權重值是否小於該權重門檻值以及該些區塊的該時脈接腳之間的距離是否小於該距離門檻值兩者其中之一為否,則移動該引導緩衝器至該分支位置;以及更新該電路描述檔中該些時脈接腳的連接資訊。
- 如請求項9所述的時脈資料處理系統,其中,在該處理器第一次進行時脈樹合成時,利用一前佈局靜態時序分析結果產生該時序文件;當該處理器進行完時脈樹合成的該靜態時序分析後,則根據該靜態時序分析的結果產生該時序文件。
- 一種電腦可讀取儲存媒體,用以儲存一電腦程式,該電腦程式用以載入至一電腦系統中,並且使得該電腦系統用以執行計算一時脈樹電路的一分支位置,該時脈樹電路包含複數個時脈接腳,該些時脈接腳任兩者之間設置有複數個權重值,該電腦程式被一處理器所執行時會執行以下步驟:建立一圖形模型,其中該圖形模型包含複數個節點以及複數個邊線,該些節點對應該些時脈接腳,該些邊線對應該些權重值;基於該些權重值以及該些時脈接腳之位置,利用一力導向演算計算該分支位置;設置一引導緩衝器至該分支位置並且更新一電路描述檔;進行一時脈樹合成並執行合成後的一靜態時序分析;判斷該靜態時序分析之一分析結果是否符合一時序設定值;以及如果不符合則重新計算該些權重值,根據重新計算的該些權重值重新建立該圖形模型。
- 如請求項15所述的電腦可讀取儲存媒體,更包含:根據一前時脈樹合成資料庫建立一時脈文件;以及根據一靜態時序分析結果以及該時脈文件產生一時序文件,其中,該時脈文件包含複數個區塊,以及該些區塊分別包含該些時脈接腳及一時脈源;該時序文件包含該些區塊的該些時脈接腳任兩者之間的一資料路徑;其中,在第一次進行時脈樹合成時,利用一前佈局靜態時序分析結果產生該時序文件;當進行完時脈樹合成的該靜態時序分析後,則根據該靜態時序分析的結果產生該時序文件。
- 如請求項16所述的電腦可讀取儲存媒體,其中該些權重值包含該些區塊間該資料路徑的一數量,以及該些區塊間該資料路徑的一鬆弛時間。
- 如請求項17所述的電腦可讀取儲存媒體,其中在第一次建立該圖形模型時,利用該些區塊間該資料路徑的數量作為該權重值;當進行完時脈樹合成的該靜態時序分析後,利用該些區塊間該資料路徑的鬆弛時間作為該權重值。
- 如請求項18所述的電腦可讀取儲存媒體,其中設置該引導緩衝器至該分支位置並且更新該電路描述 檔,更包含:判斷該權重值是否大於一權重門檻值以及該些區塊的時脈接腳之間的距離是否小於一距離門檻值;如果判斷皆為是,則新增該引導緩衝器至該分支位置;如果判斷該權重值是否大於該權重門檻值以及該些區塊的時脈接腳之間的距離是否小於該距離門檻值兩者其中之一為否,則移動該引導緩衝器至該分支位置;以及更新該電路描述檔中該些時脈接腳的連接資訊。
- 如請求項18所述的電腦可讀取儲存媒體,其中設置該引導緩衝器至該分支位置並且更新該電路描述檔,更包含:判斷該權重值是否小於一權重門檻值以及該些區塊的時脈接腳之間的距離是否小於一距離門檻值;如果判斷皆為是,則新增該引導緩衝器至該分支位置;如果判斷該權重值是否小於該權重門檻值以及該些區塊的時脈接腳之間的距離是否小於該距離門檻值兩者其中之一為否,則移動該引導緩衝器至該分支位置;以及更新該電路描述檔中該些時脈接腳的連接資訊。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107105048A TWI639075B (zh) | 2018-02-12 | 2018-02-12 | 電腦執行方法、時脈資料處理系統以及電腦可讀取儲存媒體 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107105048A TWI639075B (zh) | 2018-02-12 | 2018-02-12 | 電腦執行方法、時脈資料處理系統以及電腦可讀取儲存媒體 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI639075B true TWI639075B (zh) | 2018-10-21 |
TW201935170A TW201935170A (zh) | 2019-09-01 |
Family
ID=64802966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107105048A TWI639075B (zh) | 2018-02-12 | 2018-02-12 | 電腦執行方法、時脈資料處理系統以及電腦可讀取儲存媒體 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI639075B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201640273A (zh) | 2015-02-13 | 2016-11-16 | 英特爾股份有限公司 | 在多核心處理器中執行電源管理 |
TW201800898A (zh) | 2016-01-14 | 2018-01-01 | 英特爾股份有限公司 | 動態更新處理器的電源管理政策 |
-
2018
- 2018-02-12 TW TW107105048A patent/TWI639075B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201640273A (zh) | 2015-02-13 | 2016-11-16 | 英特爾股份有限公司 | 在多核心處理器中執行電源管理 |
TW201800898A (zh) | 2016-01-14 | 2018-01-01 | 英特爾股份有限公司 | 動態更新處理器的電源管理政策 |
Also Published As
Publication number | Publication date |
---|---|
TW201935170A (zh) | 2019-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH08129568A (ja) | 統計法 | |
CN110147139B (zh) | 计算机执行方法、时脉数据处理系统以及计算机可读取储存媒体 | |
US8938703B1 (en) | Method and apparatus for comprehension of common path pessimism during timing model extraction | |
EP1192559B1 (en) | Updating placement during technology mapping | |
JP2009054172A (ja) | 配線処理方法及び配線処理装置並びに配線処理プログラム用記録媒体 | |
US10606970B2 (en) | Selection of corners and/or margins using statistical static timing analysis of an integrated circuit | |
JP2009087169A (ja) | 回路シミュレーション方法、回路シミュレーション装置、及びプログラム | |
JP2009122764A (ja) | 配線経路情報生成方法、配線経路情報生成プログラムおよび配線経路情報生成装置 | |
EP3953852A1 (en) | Methods and systems to perform automated routing | |
US8881089B1 (en) | Physical synthesis optimization with fast metric check | |
CN114186519A (zh) | 时序瓶颈探查方法、装置、终端设备及存储介质 | |
US9047434B2 (en) | Clustering for processing of circuit design data | |
US9342642B1 (en) | Statistical optimization in place-and-route | |
US7399648B2 (en) | Methods and apparatus for determining location-based on-chip variation factor | |
US8015532B2 (en) | Optimal timing-driven cloning under linear delay model | |
TWI639075B (zh) | 電腦執行方法、時脈資料處理系統以及電腦可讀取儲存媒體 | |
JP4969416B2 (ja) | 動作タイミング検証装置及びプログラム | |
US20130339913A1 (en) | Semi-automated method of FPGA timing closure | |
US8108818B2 (en) | Method and system for point-to-point fast delay estimation for VLSI circuits | |
JP7362424B2 (ja) | 情報処理装置、情報処理方法、および情報処理システム | |
US8689161B2 (en) | Methods for designing integrated circuits employing pre-determined timing-realizable clock-insertion delays and integrated circuit design tools | |
Kao et al. | An industrial design methodology for the synthesis of OCV-aware top-level clock tree | |
US7058915B1 (en) | Pin reordering during placement of circuit designs | |
US11586791B1 (en) | Visualization of data buses in circuit designs | |
JP2009134500A (ja) | 論理シミュレータと論理シミュレーション方法 |