第五章 在史丹爾樹上緩衝器的插入
5.1 插入緩衝器史丹爾樹上
本篇論文緩衝器插入部分,參考Van Ginneken[1]方法,所以我們做個 簡介,一棵繞線樹中,有n個緩衝器可能插入位置,由所有的目的端(Sink) 往 來 源 端 (Source) 方 向 做 運 算 , 是 一 種 動 態 規 劃 的 演 算 法 (Dynamic Programming),一路由下往上計算,圖5-5中,每一個候選位置,以一組值 (Q,C)代表成本,其中Q為寬鬆值(Slack),由來源端至最遠的目的端,最慢 需要何時到達,才不會影響到時序限制,所以Q值愈高愈好;這裡的C值,
代表著此端點後需要推動多大的電容值。
s
1s
2s
3s
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 )
(
00 0 i i
i
RAT s delay s s s
Q = −
>
目的端 來源端 :
0
: s
is
………(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 )
(
00 0 i i
i
RAT s delay s s s
Q = −
> ………公式5-1
如圖5-7所示:
s
0RATs
1RATs
2 緩衝器RATs
3RATs
4s
0RATs
1RATs
2RATs
3RATs
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 合併分支後刪除多餘的候選位置