• 沒有找到結果。

縮短支線長度之時序限制安全區域的建構

在文檔中 中 華 大 學 (頁 37-49)

第四章 二階段反覆式重設定演算法

4.2 縮短支線長度階段流程

4.2.3 縮短支線長度之時序限制安全區域的建構

在分群完成之後,接著要計算出暫存器的安全區域,這些安全區域的範圍,會與 暫存器之間的電路延遲以及時序限制有關。以下將說明如何將暫存器之間的傳遞延遲 進行分解,接著根據分解出的段落將原始的時序限制式進行改寫,再假定哪ㄧ個暫存 器位置會改變,得到不同表示形式的時序限制式,再根據這些不同表示形式對應到幾 何平面上的關係,計算出暫存器的安全區域。

圖 4-7 二個暫存器之間的參考點

i j

時脈來源端

前參考點(Pre-reference point)

後參考點(Post-reference point) 單一暫存器群集

D F B

K J I

連接暫存器群集 G H

E I

L M J

27

首先,在暫存器 i 到暫存器 j 之間先定義出二個參考點,分別為前參考點與後參 考點,如圖 4-7 來表示暫存器 i 與暫存器 j 之間的關係。在暫存器 i 到暫存器 j 之間,

用前參考點(Pre-reference point)代表為暫存器 i 的下一個邏輯閘輸入的位置。後參考 點(Post-reference point)代表為暫存器 j 的前一個邏輯閘輸出的位置,這二個參考點也 代表了中間組合電路輸入點與輸出點的位置。

在電路延遲的部分,這二個暫存器之間的電路,可以分成三個段落,此三個段落 分別為:第一段為從暫存器 i 到前參考點的延遲時間、第二段為中間組合電路的延遲 時間(從前參考點到後參考點的延遲時間)以及第三段為後參考點到暫存器 j 的延遲時 間。在這三段之中,因為是暫存器之間的移動,只有與暫存器相連接的段落才會發生 延遲時間的改變,所以,中間組合電路的延遲時間是不會因為暫存器的移動而有所改 變。

時序限制式當中有二項條件限制,分別為準備時間的限制條件,代表了在電路中 最長路徑訊號的傳送能夠延遲時間的最大上限值,與保持時間的限制條件,代表了在 電路中最短路徑訊號能夠延遲時間的最小下限值。在原始的時序限制式當中,準備時 間與保持時間當中的最長傳遞延遲時間,以及最短傳遞延遲時間,可以根據前面所敘 述的,將此延遲時間的段落分成三個部份分別做計算。以下二式分別為原始的準備時 間與保持時間的時序限制式。其中Cp為時脈週期,Ti→jdmax為二暫存器之間的最大傳遞 延遲時間,Ti→jdmin為二暫存器之間的最小傳遞延遲時間,ti為時脈訊號抵達暫存器 i 的 時間,tj為時脈訊號抵達暫存器 j 的時間,Tsetupj 為暫存器 j 的準備時間,Tholdj 為暫存 器 j 的保持時間,為了簡化時序限制式的表示形式,假設暫存器的內部延遲已經計算 到Ti→jdmax與Ti→jdmin當中。

Cp - Ti→jdmax + tj - ti ≥ Tsetupj Ti→jdmin + ti - tj ≥ Tholdj

在上面二個公式當中的Ti→jdmax代表為二個暫存器之間傳遞延遲的最大延遲時間,

28

經過分解後得到Ti→jpre、Ti→jmax與Ti→jpost,Ti→jpre代表為暫存器 i 到前參考點的延遲時間,Ti→jmax

中間組合電路最大的延遲時間,Ti→jpost為後參考點到暫存器 j 的延遲時間。同樣地,Ti→jdmin 代表為二個暫存器之間傳遞延遲的最小延遲時間,經過分解後可以得到Ti→jpre、Ti→jmin

Ti→jpost,其中Ti→jmin為中間組合電路最小的延遲時間,如圖 4-8 所示,將中間的組合電路 分解成三個段落的延遲時間總和。將中間傳遞延遲分解出的三部分改寫到時序限制式 當中的Ti→jdmax與Ti→jdmin,其餘的保持不變,得到以下二個將原始時序限制式分解的公式。

Cp - (Ti→jpre + Ti→jmax + Ti→jpost) + tj - ti ≥ Tsetupj (Ti→jpre + Ti→jmin + Ti→jpost) + ti - tj ≥ Tholdj

圖 4-8 電路的分解

由於在暫存器移動的過程中,一次只會進行一個暫存器的移動,在此階段分別來 觀察暫存器 i 與暫存器 j 分別固定不動的狀況下所獲得的時序限制式。

首先,先假設暫存器 i 為固定不動,暫存器 j 為可移動,在暫存器 j 移動的過程 中,會改變時脈訊號抵達暫存器 j 的時間,並且從後參考點到暫存器 j 的延遲時間也 會改變,其他段落的延遲時間不會因為暫存器 j 的位置改變而受到影響,這些不變段 落的延遲時間視為常量,獲得以下二個公式:

Cp - (Ti→jpre + Ti→jmax) - ti - Tsetupj ≥ Ti→jpost - tj Ti→jpost - tj ≥ Tholdj - (Ti→jpre + Ti→jmin) - ti

i j

Ti→jmax

Ti→jmin Cp

時脈訊號

29

從上面二個公式當中可以觀察到,Ti→jpost與tj這二個變動量延遲時間的差值,會落 在一個固定的常量範圍內。接著,若假設暫存器 j 為固定不動的暫存器,暫存器 i 可 移動,此時在暫存器 i 移動的過程中,會改變時脈訊號抵達暫存器 i 的時間,並且從 暫存器 i 到前參考點的延遲時間也會改變,同樣地,其他段落的延遲時間也不會因為 暫存器 i 的位置改變而受到影響,這些不變的段落視為常量,跟前述固定暫存器 i 的 做法相同,將時序限制式當中的變數與常量分開放置於不等式的二側,獲得以下二個 公式:

Cp - (Ti→jpost + Ti→jmax) + tj - Tsetupj ≥ Ti→jpre + ti

Ti→jpre + ti ≥ Tholdj - (Ti→jpost + Ti→jmin) + tj

從上面二個公式當中可以觀察到,這二個變動量延遲時間的總和會落在一個固定 的常量範圍之內,由於延遲時間可以藉由導線的延遲時間計算得到,並且導線延遲是 由導線的長度所計算出,所以可以藉由導線的長度來替代延遲時間的關係,因此以下 就分別探討在平面上二個固定點與一個移動點,在這一個移動點到二個固定點的距離 總和以及距離差值落在一個範圍內所形成的幾何圖形。

在圖 4-9 當中將此公式應用於三個暫存器 FFi、FFj與 FFk之間的關係,因為一次 只會移動一個暫存器,其他的暫存器被假設為固定不動,以下先找出當暫存器 FFj為 目的端時可以移動的範圍,接著在找出當暫存器為來源端時可以移動的範圍,而合法 的移動範圍為必頇同時落在上述的二個範圍之內。

在考慮三個暫存器之間的關係中,首先,先看暫存器 FFi到 FFj之間的關係。在 在這三個暫存器 FFi、FFj以及 FFk中,假設暫存器 FFj為一個可移動的點,在 FFi到 FFj之間的後參考點(將此點標示為 BRPi,j)和暫存器 FFj連接到網格上的點(將此點標示 為 CPj)是不動的,以下分別來討論在尤拉平面與曼哈頓平面中,二個固定點與一個可 移動點之間的關係。

30

圖 4-9 在縮短支線長度階段暫存器 FFi到暫存器 FFj之間的參考點

下圖 4-10 中,標示了 A、B、C 三點的位置座標,A 點為(x1, y1) B 點為(x2, y2) C 點為(x0, y0)。在此階段當中要討論的是一個移動點到二個固定點的距離差的關係,因 此假設移動點 C 到固定點 A 的距離減掉移動點 C 到固定點 B 的距離為一個常數 d,

也就是線段AC - BC = d,以下分別探討在尤拉平面與曼哈頓平面當中 C 點所形成的 點集合。

4-10 距離差關係:二個固定點 A、B 與移動點 C 之示意圖

在尤拉平面當中,二點(xa, ya)與(xb, yb)間的距離運算為√(xa - xb)2 + (ya - yb)2,因 此 在 C 點 與 到 A 和 B 二 點 的 距 離 差 為 d 的 表 示 運 算 式 , 可 以 表 示 為

√(x0- x1)2 + (y0- y1)2 - √(x0- x2)2 + (y0- y2)2 = d。

當 d = 0 時,此時√(x0 - x1)2 + (y0 - y1)2 = √(x0 - x2)2 + (y0 - y2)2,代表線段 AC = BC,因此在平面上的△ABC 會形成一個等腰三角形,在滿足所有此條件下,C

A(x1, y1)

C(x0, y0)

B(x2, y2) FFi FFj

FFk

BRPi,j CPj

31

點所形成的點集合,會是一個AB的中垂線。如下圖 4-11,在AB的中垂線上任意一點 到 A 點與到 B 點的距離皆相等,可以做為移動點 C。

4-11 在尤拉平面中所形成的中垂線點集合

當 d ≠ 0 時 , 此 時 √(x0 - x1)2 + (y0 - y1)2 > √(x0 - x2)2 + (y0 - y2)2 , 或 者

√(x0 - x1)2 + (y0 - y1)2 < √(x0 - x2)2 + (y0 - y2)2,代表線段AC > BC或者AC < BC,此 時,在平面上會形成一個半曲線,當AC > BC此時該半曲線會較接近於 B 點,所形成 的半曲線會類似於下圖 4-12,相反的,當AC < BC此時該半曲線則是會較接近於 A點。

4-12 在尤拉平面中所形成的半曲線點集合

在曼哈頓平面當中,在二點(xa, ya)與(xb, yb)間的距離運算為|xa - xb| + |ya - yb|,因 此 在 C 點 與 到 A 和 B 二 點 的 距 離 差 為 d 的 表 示 運 算 式 , 可 以 表 示 為 (|x1 - x0| + |y1 - y0|) - (|x2 - x0| + |y2 - y0|) = d。

首先,先以線段AB為對角線,形成一個矩形,在矩形內的任意一點 C 到 A 點與

B(x2, y2) C(x0, y0)

A(x1, y1)

B(x2, y2) C(x0, y0)

A(x1, y1)

32

到 B 點的距離和為AB線段的長度,因此,根據上述條件可以得到二個運算式,分別 為AC + BC = AB以及AC - BC = d,從此二關係式可以得到AC = (AB + d) / 2,因此,

在此關係中 C 點的點集合,會在AB所形成的矩形內形成一個線段,該線段上的點到 A 點的距離為(AB + d) 2⁄ ,在矩形外則是會形成二條直線,如下圖 4-13,C 點的點集 合會在以AB為對角線所形成的矩形內形成一條線段,在矩形外則是會形成二條直線。

4-13 在曼哈頓平面中所形成的三個區段點集合

暫存器 FFi 到暫存器 FFj 之間的時序限制式為Tholdj - (Ti→jpre + Ti→jmin) - ti ≤ Ti→jpost - tj ≤ Cp- (Ti→jpre + Ti→jmax) - ti - Tsetupj ,將 U1 設為Cp - (Ti→jpre + Ti→jmax) - ti - Tsetupj ,L1 設為Tholdj -

(Ti→jpre + Ti→jmin) - ti,因此可以得到L1 ≤ Ti→jpost - tj ≤ U1,Ti→jpost為 BRPi,j到 FFj的距離所產生 的延遲,tj為 CPj到 FFj的距離所產生的延遲。在下限值 L1的部分會形成距離 BRPi,j

為(BRPi,jCPj + L1) 2⁄ 的線段與直線的界線,在上限值 U1的部分會形成距離 BRPi,j為 (BRPi,jCPj + U1) / 2的線段與直線的界線。如圖 4-14 為在這二個界線之間所形成的區 域。

4-14 在二個界線之間所形成的範圍 BRPi,j

CPj

B(x2, y2)

A(x1, y1)

C(x0, y0)

33

在圖 4-15 中,有三個暫存器 FFi、FFj以及 FFk,當考慮為 FFj到 FFk之間的關係 時,假設 FFj為一個可移動的點,在 FFj到 FFk之間的前參考點(將此點標示為 ARPj,k) 和 FFj連接到網格上的點(將此點標示為 CPj)是固定不動的,以下來討論二個固定點與 一個可移動點之間的關係。

圖 4-15 暫存器FFj到暫存器FFk之間的參考點

圖 4-16 中,標示了 A、B 與 C 三點的位置座標,A 點為(x1, y1),B 點為(x2, y2),

C 點為(x0, y0)。在此階段當中要討論的是一個移動點到二個固定點的距離和的關係,

因此假設移動點 C 到固定點 A 的距離加上移動點 C 到固定點 B 的距離為一個常數 d,

也就是線段AC加上BC等於一個常數 d,以下分別探討在尤拉平面與曼哈頓平面當中 C 點所形成的點集合。

4-16 距離和關係:二個固定點 A、B 與移動點 C 之示意圖 A(x1, y1)

B(x2, y2) C(x0, y0)

FFi FFj

FFk

ARPj,k

CPj

34

在尤拉平面當中,C 點與到 A 和 B 二點的距離和為 d 的表示運算式,可以表示 為√(x0- x1)2 + (y0- y1)2 + √(x0- x2)2 + (y0- y2)2 = d。

當 d = AB線段時,此時AC + BC = AB,而只有當 C 點落在AB線段上時,才會使 得AC + BC = AB,因此當d = AB時,此時所形成的點集合為AB線段。

當 d > AB線段時,代表了 C 點要到二個固定點距離總和為 d 的所有點,而此特 性也正好符合橢圓的定義,在橢圓上的任意一點到二個焦點的距離總和皆相等,而此 二焦點就代表這二個固定點,橢圓上的點就代表可移動的點,因此當d > AB時,此時 所形成的點集合為一個以 A 點和 B 點為焦點,焦半徑總和為 d 的橢圓。

如下圖 4-17,為以 A 點和 B 點為焦點所形成的橢圓,並且二個焦半徑AC和BC的 總和為 d,因為橢圓的特性,使得在該橢圓上的點到 A 點與到 B 點的距離總和相等。

4-17 在尤拉平面中所形成的橢圓外圍點集合

在曼哈頓平面當中,C 點與到 A 和 B 二點的距離和為 d 的表示運算式,可以表 示為(|x1 - x0| + |y1 - y0|) + (|x2 - x0| + |y2 - y0|) = d。

以AB為對角線形成一個矩形,在矩形內部的任意一點 C 到 A 點與 B 點的距離總 和為 d,在此關係中的 C 點座標,當 d = AB的長度時,此時點集合為線段AB所形成 的矩形。

當 d > AB時,從矩形向外延伸出一點 p,假設該點到矩形的最近距離為點p',在 矩形外一點 p 到 A 和 B 二點的距離總和為pp' + Ap' + pp' + Bp',因為p'為矩形上的點,

因此Ap' + Bp' = AB,最後得到此距離總和d = 2 × pp' + AB。

B(x2, y2) C(x0, y0)

A(x1, y1)

AC + BC = d

在文檔中 中 華 大 學 (頁 37-49)

相關文件