• 沒有找到結果。

插入緩衝器史丹爾樹上

在文檔中 中 華 大 學 (頁 60-65)

第五章 在史丹爾樹上緩衝器的插入

5.1 插入緩衝器史丹爾樹上

本篇論文緩衝器插入部分,參考Van Ginneken[1]方法,所以我們做個 簡介,一棵繞線樹中,有n個緩衝器可能插入位置,由所有的目的端(Sink) 往 來 源 端 (Source) 方 向 做 運 算 , 是 一 種 動 態 規 劃 的 演 算 法 (Dynamic Programming),一路由下往上計算,圖5-5中,每一個候選位置,以一組值 (Q,C)代表成本,其中Q為寬鬆值(Slack),由來源端至最遠的目的端,最慢 需要何時到達,才不會影響到時序限制,所以Q值愈高愈好;這裡的C值,

代表著此端點後需要推動多大的電容值。

s

1

s

2

s

3

s

4

緩衝器

來源端

目的端

可能緩衝器位置

(300,10)

(150,20) (200,10)

(250,30)

s

0

圖5-1 繞線樹上插入緩衝器候選位置

如果在同一分支點上,存在兩組值為(Qi,Ci)、(Qj,Cj),其中Qi〉Qj且Ci

〈Cj,則(Qj ,Cj)為多餘的(Redundant)解,結果一定比較差,可以被刪除,

因寬鬆值Qj 比Qi 差,實際上往後推動的電容值Cj比Ci較大,寬鬆值(Slack) 數學式定義如下,

)}

, ( )

( { min )

(

0

0 0 i i

i

RAT s delay s s s

Q = −

>

目的端 來源端 :

0

: s

i

s

………(5-1)

寬鬆值 Q,為最慢需要到達的時間(Require Arrive Time, RAT)扣除

來源端(Source)到目的端(Sink)的延遲時間取最小值,取最小值的用意,

為保證所有的端點,都能滿足時序限制(RAT)。

輸入:一棵繞線樹中T,有n個緩衝器可能插入位置,目的端的電容值 Csi及需要到達的時間(Require Arrive Time)RAT(Si),單一型態緩衝器B,

單位平方的電阻值r及單位平方的電容值c。如圖5-6所示:

s0 RATs1 RATs2

RATs3

RATs4

s0 RATs1 RATs2

RATs3

RATs4 來源端

目的端

可能緩衝器位置

圖5-2 Van Ginneken緩衝器插入演算法輸入資訊

輸出:一棵繞線樹,有m個緩衝器的插入位置,被插入適當緩衝器數量,

來源端到目的端的寬鬆值最大(Qso),

)}

, ( )

( { min )

(

0

0 0 i i

i

RAT s delay s s s

Q = −

> ………公式5-1

如圖5-7所示:

s

0

RATs

1

RATs

2 緩衝器

RATs

3

RATs

4

s

0

RATs

1

RATs

2

RATs

3

RATs

4 來源端

目的端

可能緩衝器位置

圖5-3 Van Ginneken緩衝器插入演算法輸出結果

本篇論文參考Van Ginneken[1]方法,插入緩衝器的演算法,加以改 善,其中將線段模型,由原來艾爾摩延遲(Elmore delay)[2]的L-模型,改

成π模型替代,對於線段的估計更精確;公式5-1,代入下方範例運算,完 成本論文的第二階段演算法。

產生後選位置(Generating Candidates),針對每一個候選位置,產 生插入緩衝器或保留原始不插入緩衝器之兩種選擇,如下圖5-4中,有三個 緩衝器插入位置,分別產生如下四種組合。

(1)

(3)

(2) 1X

1X

1X

1X 1X

圖5-4 緩衝器插入可能選擇位置

刪除多餘候選位置(Pruning Candidates)如圖5-4中,第(3)步驟產生 4個候選位置,從來源端”看入”,其中有一個候選位置寬鬆值較差,多餘的 (Redundant)可被取代,進而被自動刪除,因此,在產生後選位置同時判斷 其寬鬆值,較差者計刪除,剩下第(4)步驟結果,因此,這各演算法可以收 斂,複雜度在O(n2),如圖5-5所示:

(4)

1X

1X

圖5-5 刪除多餘插入選擇位置

產生後選位置(Generating Candidates),以圖5-6所示,刪除後繼續產 生後選位置如下六種:

1X 1X

1X

1X

(5) (4)

1X

1X 1X 1X 1X

圖5-6 延續緩衝器插入可能選擇位置

下圖5-7中,再次刪除多餘候選位置後,結果剩下五個候選位置,計算 從來源端到目的端,何者寬鬆值最大,其結果應為最佳化。

1X

1X

(6)

1X

1X 1X

圖5-7 刪除多餘候選位置

合併分支點(Merging Branches),緩衝器可能插入的候選位置上,分 支點分別有左、右可能候選位置,如圖5-8(b)(C),假設一邊可能候選位置 有m種,另一邊可能候選位置有n種,則合併後,有m*n種可能候選位置,如 圖5-9結果。

(a) 候選位置在分支點上

1X 1X

Left candidates

(b) 左邊候選位置 (c) 右邊候選位置 Right candidates

1X 1X 1X 1X

圖5-8 合併分支上可能候選位置

1X 1X

1X

1X 1X 1X

1X

1X

1X 1X 1X 1X

圖5-9 合併分支後產生候選位置

刪除合併後分支點(Pruning Merged Branches),圖5-10所示,繞線樹 上合併原則如下:

(Q,C) & (Q’,C’)→(min{Q,Q'}, C+C') ………公式5-2

產生六個候選位置,其中有四個寬鬆值結果較差,已被刪除取代,剩下 兩個候選位置,計算從來源端到目的端,何者寬鬆值最大,其結果應為最佳 化。

刪除後 1X 1X

1X 1X

1X

1X 1X 關鍵線段

圖5-10 合併分支後刪除多餘的候選位置

在文檔中 中 華 大 學 (頁 60-65)

相關文件