• 沒有找到結果。

水平區段的反覆相容處理

在文檔中 中 華 大 學 碩 士 論 文 (頁 55-60)

第四章 匯流排導向繞線層設定

4.4 匯流排導向連線之最佳化繞線層設定

4.4.2 水平區段的反覆相容處理

由於左邊緣演算法會將有相交關係與包含關係的水平區段分配到不同的水平軌 道,但是在高速印刷電路板的匯流排導向連線繞線層設定中,沒有關係的連線與包含 關係的連線是可以被設定在共同的繞線層中繞線的。如果我們可以將這些包含關係的 限制從左邊緣演算法的結果中解除,讓有包含關係的的水平區段相容在同一個水平軌 道中,將有機會減少使用的水平軌道數量,進而減少印刷電路板的製造成本。

在此階段中我們將會透過一個反覆的相容處理程序,將這些有包含關係的水平區 段調整到可共存的水平軌道上。反覆的相容處理程序包含了五個步驟。

步驟一:紀錄當前所使用的水平軌道數量到<最大水平軌道 1>。

步驟二:執行上到下相容程序的處理,重新設定水平區段。

步驟三:紀錄當前所使用的水平軌道數量到<最大水平軌道 2>。

步驟四:執行下到上相容程序的處理,重新設定水平區段。

步驟五:判斷<最大水平軌道 1>是否大於<最大水平軌道 2>,大於則跳回步 驟一,小於則往步驟六執行。

步驟六:結束反覆的相容處理程序,完成水平區段的重新設定與水平軌道縮 減。

圖 4-17 為反覆相容處理的流程圖包含以上六個步驟。

左邊緣演算法之 水平軌道設定結果

紀錄使用的軌道數量 至<最大水平軌道 1>

上到下相容程序

紀錄使用的軌道數量 至<最大水平軌道 2>

下到上相容程序

<最大水平軌道 1>是否大於

<最大水平軌道 2>

反覆包含相容處理 結果

圖 4-17 反覆的相容處理流程圖

反覆的相容處理包含了兩個部分的相容程序,第一個部分是由上到下的相容程序,

第二個部分是由下到上的相容程序。以下分別說明。

(1) 上到下相容程序:由最高的水平軌道開始,並且由左到右找尋軌道上的水 平區段,往較低的水平軌道搜尋,如果可在較低的軌道中找到有包含關係 的水平區段,則將此條水平區段重新設定到較低的水平軌道中,將每條水 平區段找過一遍,完成上到下的相容程序。延續前例圖 4-16 中水平軌道 6 上的水平區段 7 開始,向下較低的軌道搜尋有包含關係的水平區段,可以 在水平軌道 3 上的水平區段 3 有包含關係的產生,此時便將水平區段 7 從 水平軌道 6 重新設定到相容的水平軌道 3 中。水平軌道 5 中的水平區段 15 重新設定到相容的水平軌道 2。水平軌道 5 中的水平區段 8 重新設定到相容 的水平軌道 2 中,依此類推。

延續前例,完成第一次的上到下相容程序的結果如圖 4-18 所示,水平軌道 6 與水平軌道 5 中都不含任何水平區段,當前所使用的軌道數量為 4。

14 13 3 6 15 6 14 15 9 5 8 9 12 12 10 7 5 10 8 13 7 11 2 3 111 4 1 2 4

14

13

3

6 15

9 5

8

12 10

7

11

2 1

4

水平軌道 4 水平軌道 3 水平軌道 2 水平軌道 1

圖 4-18 上到下相容程序例子結果示意圖

(2) 下到上相容程序:由最低的水平軌道開始,找尋軌道上的水平區段,往較高 的水平軌道搜尋,如果可以在較高的軌道中找到有包含關係的水平區段,則 將此條水平區段設定到較低的水平軌道中,將每條水平區段找過一遍,完成 下到上的相容程序。延續前例圖 4-18,水平軌道 1 上的水平區段 14 可以與 水平軌道 4 中的水平區段 5 相容。水平軌道 1 上的水平區段 6 可以與水平軌 道 4 中的水平區段 14、5 相容,重新設定到軌道 4 中。依此類推。

延續前例,完成第一次的下到上相容程序的結果如圖 4-19 所示。

14 13 3 6 15 6 14 15 9 5 8 9 12 12 10 7 5 10 8 13 7 11 2 3 111 4 1 2 4

14

13

3 6

15

9 5

8 12

10 7

11

2 1

4

水平軌道 4

水平軌道 3

水平軌道 2

水平軌道 1

圖 4-19 下到上相容程序例子結果示意圖

延續前例說明,執行第一次的下到上相容程序將會進入到步驟五判斷使用的水平 軌道數量是否減少,已知此例從左邊緣演算法之設定結果的水平軌道數量為 6 層,做 完第一輪的上到下相容程序與下到上相容程序後,水平軌道的數量減少到了 4 層。於 是將回到步驟一,從頭反覆的再執行相容處理。如圖 4-20 所示:在第二輪的上到下

相容程序中,水平軌道 4 中的水平區段 14、6、5、12、11、4,將會被重新設定到水 平軌道 1。水平軌道 4 中不含任何水平區段,此時使用的軌道數量為 3。

14 13 3 6 15 6 14 15 9 5 8 9 12 12 10 7 5 10 8 13 7 11 2 3 111 4 1 2 4

14

13

3

6 15

9

5

8 12

10 7

11

2 1

4

水平軌道 4 水平軌道 3

水平軌道 2

水平軌道 1

圖 4-20 第二輪上到下相容程序例子結果示意圖

如圖 4-21 所示:第二輪的下到上相容程序中,水平軌道 1 中的水平區段 4 可以 被重新設定到水平軌道 3 上。進入步驟四,水平軌道從第一輪的結果 4 層縮減到現在 第二輪的 3 層,跳回步驟一執行第三輪的相容處理。

14 13 3 6 15 6 14 15 9 5 8 9 12 12 10 7 5 10 8 13 7 11 2 3 111 4 1 2 4

14

13

3

6 15

9

5

8 12

10 7

11

2 1

4

水平軌道 3

水平軌道 2

水平軌道 1

圖 4-21 第二輪下到上相容程序例子結果示意圖

由於第三輪的上到下相容程序與下到上相容程序已經無法再讓水平軌道數量縮 減,步驟五將進入步驟六,結束整個反覆的相容處理。

透過左邊緣演算法可以保證利用最少的水平軌道去設定這些水平區段,但是左邊 緣演算法並不能將包含關係的水平區段設定在同一條水平軌道上,所以必須經由一套 反覆的相容處理去將這些包含關係的水平區段相容在同一條水平軌道上,如此便可將

水平區段設定到最少的水平軌道中。透過左邊緣演算法的水平軌道設定結果在加上反 覆的解除相容的限制關係,我們可以將這些水平軌道設定的計算結果,視為匯流排導 向的繞線層設定結果。延續前例依照圖 4-21 的水平軌道設定計算結果將匯流排導向 連線實際的設定到印刷電路板的繞線層中。如圖 4-22 所示:水平軌道 1 上的水平區 段 14、6、5、12、11 將被視為匯流排導向連線 14、6、5、12、11,設定在印刷電路 板的繞線層 1 上繞線。水平軌道 2 上的水平區段 13、15、8、10、2、1 將被視為匯流 排導向連線 13、15、8、10、2、1,設定在印刷電路板的繞線層 2 上繞線。水平軌道 3 上的水平區段 3、9、7、4 將被視為匯流排導向連線 3、9、7、4,被設定在印刷電 路板的繞線層 3 中繞線。

圖 4-22 繞線層設定例子結果示意圖

到此為止完成了最繞線層設定結果,但是由於在先前 4.1.3 節建立虛擬牆的過程 中有刪除了一些會與虛擬牆相交的匯流排導向連線,必須在這個完成印刷電路板繞線 層設定的步驟,將這些匯流排導向連線設定到結果當中,下一節將說明如何將這些相 交的匯流排導向連線設定回繞線層設定的結果中。

在文檔中 中 華 大 學 碩 士 論 文 (頁 55-60)

相關文件