• 沒有找到結果。

細部繞線(Detailed Routing)

在文檔中 中 華 大 學 (頁 42-47)

第三章 具有可繞性導向能力的腳位重新配置之重置層的預先設定繞線

3.4 細部繞線(Detailed Routing)

(a)兩點對應的全域連線 (b)多點對應的全域連線 圖 3.12 同一個象限配置斯坦

(a)兩點對應的全域連線 (b)多點對應的全域連線 圖 3.13 相鄰象限配置史丹爾點

3.4.1 通道交接點的配置(Crossing Point Assignment)

在任何兩個相鄰的凸塊球之間通過的所有全域連線,可以發現這些全域連線是 一個不斷增加的序列配置在相鄰的凸塊球之間並且保持連線不相交的情況。根據最 小的線寬以及兩條線的線距等重置層的限制,在兩個相鄰的凸塊球之間會被劃分出 可行的繞線路徑以及可以經過的連線個數。任何一個全域連線要從相鄰的凸塊球之 間通過的時候,我們必須進一步的在相鄰的凸塊球之間配置可行的交接點給全域連 線通過,可以滿足連線線段不會相交在單一一層的繞線平面上等等重置層繞線的限 制。這些交接點我們稱它為通道交接點(Crossing Point)。基本上,通道交接點的配 置(Crossing Point Assignment)是在陣列區域(Array Region)裡面完成。

在配置通道交接點的過程中,我們會考慮到全域連線線段的兩點位置之間所行 成之合理的繞線區域,只要將全域連線線斷落在此區域內,那最後的繞線結果必定 會是最短的連線距離。首先我們假設任何兩個相鄰凸塊球之間有 t 條繞線路徑編號 為 1 到 t 從 Br和 Bs這兩個相鄰的凸塊球編號中通過,我們會將所有在 Br和 Bs這 兩個相鄰凸塊球之間的全域連線分成三個繞線區域來配置通道交接點分別為左邊線 路放置(Left Wiring Set)設為 NL、中間線路放置(Straight Wiring Set) 設為 NS以及右 邊線路放置(Right Wiring Set) 設為 NR,詳細的假設關係請參考 3.14(a)。

在左邊線路放置的部分,根據從左邊連進相鄰凸塊球之間的全域連線,依照這 些全域連線的編號以持續增加的順序在相鄰凸塊球之間從左至右配置通道交接點。

再來處理右邊線路放置的部分,根據從右邊連進相鄰的二維陣列之凸塊球之間的全 域連線,依照這些全域連線的編號以持續遞減的順序在相鄰的二維陣列之凸塊球之 間從右至左配置通道交接點。最後中間線路放置的部分,根據從上邊連進相鄰的二 維陣列之凸塊球之間的全域連線,依照這些全域連線的編號以減少繞線長度為優先 考量以持續增加的順序在相鄰的凸塊球之間尋找剩餘可用的繞線路徑從左至右配置 通道交接點,詳細的通道交接點的配置關係請參考 3.14(b)。最後完成通道交接點的 配置後,可以發現在陣列區域裡通道交接點配置在所有全域連線上,如圖 3.15 所示。

(a) (b) 圖 3.14 通道交接點的配置示意圖

圖 3.15 通道交接點配置後的結果

3.4.2 實體路徑的配置(Physical Path Assignment)

在前一章節完成通道交接點配置的結果後,我們僅需要將原本的全域連線線段 改成水平及垂直的方向連線來滿足重置層繞線的限制。在本章節,我們會將實體路 徑的配置(Physical Path Assignment)分成環形區域與陣列區域兩個部分來處理。

在陣列區域之實體路徑的配置部分,我們觀察通道交接點配置的結果,可以發 現所有的通道交接點只被配置在兩兩相鄰 2X2 的二維陣列之繞線格子(Grid)邊上,

情況。首先我們會假設在格子內部的每一條兩點所連成的全域連線線段,由於繞線 必須要符合水平及垂直的方向連線,可以將所有在繞線格子的連線簡單分成 L 型連 線(L-Type Connections)與 I 型連線(I-Type Connections)兩種連線線段組合完成,如圖 3.16 所示。

在陣列區域配置實體路徑的過程中,由於先前的通道交接點已經是有符合重置 層繞線的線寬與線距限制,因此先將歪斜的連線線段直接貼上 L 型連線線段並且會 符合實際路徑位置。而在繞線格子裡,任意兩個 L 型連線也許會有互相產生線段相 交的情況。因此在有線段產生相交的情況時,我們必須要利用基於路徑配置的繞線 (Track-Assignment-Based Routing)方法[15],初步的將實際可走的路徑位置給建構出 來,如圖 3.16 的紫色虛線。根據原始的 L 型連線所規劃出來實際可走的路徑位置的 繞線區域與覆蓋區域之間的關係,尋找其他實際可走的路徑位置,然後沿著實際可 走路徑位置依依貼上 L 型連線替換掉最原始的 L 型連線來避開線段相交的情況。在 完 成 所 有 L 型 連 線 的 處 理 後 , 接 著 利 用 河 流 繞 線 演 算 法 (River Routing Algorithm)[16],以順時針或是逆時針的順序將剩餘還未處理的線段尋找出一個連線 順序然後將 I 型連線配置實體路徑在該線段上,完成在陣列區域之實體路徑的配置 部分,如圖 3.17 所示為在陣列區域之實體路徑的繞線結果。

(a) (b) 圖 3.16 繞線格子的線段連接

圖 3.17 陣列區域之實體路徑的繞線結果

在環形區域之實體路徑的配置部分,由於在陣列區域裡所有的全域連線都會被 配置到陣列區域外環的通道交接點,一般觀察環形區域的細部繞線可以被看成河流 繞線的問題,由於之前經過連線編號之重新編制的關係後,在環形區域的連線編號 會有順序性排列,因此我只要依照連線的編號順序依序處理來完成。首先所有在環 形區域兩點對應的全域連線可以分成正向連接(Positive Connection)與負向連接 (Negative Connection)兩個類型,如圖 3.17 所示。在正向連接的類型,我們定義這類 型的任何兩點對應的連線線段之斜率為正。另一方面,在負向連接的類型,我們定 義這類型的任何兩點對應的連線線段之斜率為負。在任何一個正向連接要配置實體 路徑可以藉由從右到左的樓梯路徑配置(Staircase Track Assignment)來完成。相反 的,在任何一個負向連接要配置實體路徑 可以藉由從左 到右 的樓梯路徑配置 (Staircase Track Assignment)來完成。

(a)正向連接 (b)負向連接 圖 3.17 環形區域之連線情況

完成實體路徑的配置在陣列區域與環形區域兩個部分後,如圖 3.18 所示分別為 陣列區域與環形區域最後的繞線結果,可以發現到沒有任何一條線段有互相交錯的 情況發生,也符合重置層的繞線限制。

圖 3.18 實體路徑的配置之繞線結果

在文檔中 中 華 大 學 (頁 42-47)

相關文件