• 沒有找到結果。

中 華 大 學 碩 士 論 文

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學 碩 士 論 文"

Copied!
70
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

高速印刷電路板設計中匯流排導向連線之 繞線層設定

Layer Assignment of Bus-Oriented Nets in High-Speed PCB Designs

系 所 別:資訊工程學系碩士班 學號姓名:M10002013 黃聖凱 指導教授:顏金泰 博士

中 華 民 國 103 年 8 月

(2)

中文摘要

隨著時代的進步,人們對電子電路產品的處理速度之要求也越來越高。近年來由 於製程縮小,電子電路的晶片速度變快,封裝變小,腳位變多。乘載晶片封裝的印刷 電路板必須在有限的面積之內容納不同功能的晶片與電路元件並且提供繞線空間讓 這些電子電路元件互相連接導通,有效的將不同的線路設定到不同的繞線層,減少印 刷電路板使用的繞線層數對於印刷電路板的製造成本變得相當重要。為了解決現代高 速印刷電路板中的時序匹配要求,使用匯流排導向連線將印刷電路板上的電子電路元 件互連導通是必要的。本研究針對在高速印刷電路板設計中,設定區域繞線階段中匯 流排導向連線到不同的繞線層中,盡可能的縮減使用的設定層數,以利於有效的降低 印刷電路板的製造成本。

首先,基於相關研究 Tsai’s[7]方法與 Chin’s[8]方法中元件整合的實體連接牆建立 觀念,在印刷電路板邊緣與其乘載的元件邊緣,改用虛擬牆的建立將邊緣整合在一起,

所有匯流排導向連線被包含在一個封閉區間之內。經過多次的轉換,此封閉區間和匯 流排導向連線成為一個水平座標軸和水平區段。透過左邊緣演算法最佳化設定水平區 段至不同的水平軌道上。經過反覆的水平區段相容處理將水平軌道縮減至最少,其設 定結果可視為匯流排導向連線設定在不同的繞線層之層設定結果,將匯流排導向連線 設定到相對應的繞線層中。最後將建立虛擬牆階段中被刪除的匯流排導向連線設定回 繞線層設定的結果中。

以六個實驗樣本與 Tsai’s 方法和 Chin’s 方法做比較,實驗結果可以得知,本研究 方法可百分之百的將所有匯流排導向連線設定到使用的繞線層中,並有效的減少使用 的繞線層數且在更少的 CPU 處理時間內完成。

關鍵字 : 印刷電路板、匯流排導向連線、區域繞線、繞線層設定

(3)

Abstract

As IC technology advances, the shrinkage in die size and the increase in functional complexity have made PCB designs become more and more difficult. It is know the increase of the pin count makes area routing difficult in high-speed PCB design. To satisfy the timing matching requirement, routing nets can be routed by bus-oriented net in high-speed PCB design. In this work, given a set of global routed buses, firstly, it is assumed that the nets in a single bus is represented as a bus-oriented net between two escaped boundary pins and the concept of a component connecting point(CCP) between two circuit component in Tsai’s work[7] is modified into the concept of a virtual wall on empty space between two circuit components. Furthermore, the bus-oriented nets on a closed boundary can be transformed into the bus-oriented nets on a circle. Next, the number of the assigned layer can be minimized by using a left-edge algorithm, if the covering relation between two bus-oriented nets is set as a constraint for layer assignment of bus-oriented nets. Next, as the covering constraint between two bus-oriented nets is released for layer assignment of bus-oriented nets, the number of the assigned layers can be further minimized by using iterative covering compatibility. Finally, the bus-oriented crossing nets which are deleted from component boundary integration can be assigned into the PCB. Compared with Tsai’s algorithm [7] and Chin’s algorithm [8], the experimental results show that our proposed algorithm reduces 16.2% and 16.2% of the assigned layers and 60.7% and 39.3% of CPU time for six tested examples on the average, respectively.

Keywords: PCB, Bus-oriented Nets, Area Routing, Layer Assignment

(4)

誌謝

從小到大不曾想過自己將來可以作為一個學者做學術研究,進了研究所之後,所 有的人生觀與價值觀都改變了不少,在研究論文的這段時間內,特別感謝的就是我的 指導教授 顏金泰 博士,顏老師在我研究所的這三年中,開啟了我對這個世界不一樣 的眼界,也跟隨著顏老師前往韓國首爾、法國巴黎、澳洲墨爾本等不同國家的研討會。

不僅讓我看到了更多資訊領域的同仁,也讓我走遍世界各個角落。接下來要感謝的就 是陪伴我多年的女朋友曾孟苓,感謝她陪伴在我身旁的每一天。

在求學期間,感謝同實驗室的學長陳志瑋、鐘潤民、黃明謙、黃建榮、許智偉以 及高佳函學姊,他們不僅在研究與課業方面從旁對我提點,也在生活中對我百般照顧,

讓我研究所的研究開始的很順利。再來感謝的就是同實驗室的同學游銘群,大大小小 所有事情他都包辦,有他在沒有解決不了的問題。接下來感謝各個學弟張鈞強、曾昱 仁、葉書延以及張戎佩。大家在實驗室都會互相幫忙,也一起出國去參加研討會,不 僅研究方面給了我許多意見,生活娛樂方面也都互相報知,充滿樂趣。還要感謝一項 運動,滑板。謝謝滑板讓我體會到一個人生的大道理,在學術研究也可通用,沒有人 天生會滑板,只有透過不斷的練習累積自己的實力,等遇到障礙出現在自己面前的時 候,才有能力與體力能夠征服它,跌倒了不要怕,站起來拍拍屁股繼續往成功邁進。

最後要感謝的就是在背後默默支持我的家人,我爸我媽我大姊我二姊我姊夫,謝 謝你們讓我在研究所的這三年不只有讀到書,完成論文,也讓我很自由地發揮我的想 法與時間。要感謝的人太多了,族繁不及備載。認識我的,我認識的,謝謝你們。

僅此,獻給我最愛的指導教授顏金泰,還有我最愛的爸媽、我最愛的姐姐、我最愛的 女朋友和我最愛的這個實驗室,與大家分享這份榮耀。

(5)

目錄

中文摘要 ... i

Abstract ... ii

誌謝 ... iii

目錄 ... iv

表目錄 ... vi

圖目錄 ... vii

第一章 簡介 ... 1

1.1 印刷電路板介紹 ... 1

1.2 印刷電路板層數與成本之關係 ... 3

1.3 高頻電路中匯流排連線的時序匹配要求 ... 5

1.4 印刷電路板之繞線 ... 6

1.4.1 跳脫繞線 ... 7

1.4.2 區域繞線 ... 8

1.5 連線導向與匯流排導向之繞線 ... 9

1.6 匯流排導向之繞線 ... 10

1.6.1 匯流排導向之跳脫繞線 ... 11

1.6.2 匯流排導向之區域繞線 ... 12

1.7 匯流排之繞線層設定 ... 13

1.8 匯流排繞線層數最少化 ... 15

1.9 繞線面積的平衡 ... 16

第二章 相關研究 ... 17

2.1 高速電路板已固定腳位之繞線 ... 17

2.2 高速電路板中已跳脫之邊界腳位繞線 ... 21

第三章 研究動機與問題描述 ... 26

3.1 研究動機 ... 26

3.2 問題描述 ... 29

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

4.1 元件邊界與印刷電路板邊界之整合 ... 32

(6)

4.1.1 對應圖的建立 ... 32

4.1.2 最小生成樹之產生與虛擬連接牆之建立 ... 34

4.1.3 相交於虛擬牆的匯流排導向連線之刪除 ... 35

4.1.4 封閉區間的產生 ... 36

4.2 整合邊界至圓圖之轉換 ... 36

4.3 匯流排導向連線至水平區段之轉換 ... 38

4.3.1 圓至水平座標軸之轉換 ... 38

4.3.2 切割點之匯流排導向連線分離 ... 39

4.3.3 匯流排導向連線至水平區段之轉換 ... 40

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

4.4.1 最佳化水平軌道設定 ... 43

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

4.5 相交現象之匯流排導向繞線層設定 ... 50

第五章 實驗結果 ... 52

5.1 實驗環境與測試檔 ... 52

5.2 實驗結果 ... 53

第六章 結論與未來展望 ... 56

參考文獻 ... 58

(7)

表目錄

表 5-1 印刷電路板測試檔案 ... 52 表 5-2 匯流排導向連線之繞線層設定實驗結果 ... 53

(8)

圖目錄

圖 1-1 印刷電路板示意圖 ... 2

圖 1-22010 至 2012 年全球印刷電路板產值 ... 3

圖 1-3 不同層數之印刷電路板示意圖 ... 3

圖 1-4 多層 PCB 板製造流程 ... 4

圖 1-5 層數與單層製造成本之關係圖 ... 4

圖 1-6 印刷電路板上穿越障礙物之不同長度連線 ... 5

圖 1-7 匯流排連線中穿插到不同層繞線示意圖 ... 6

圖 1-8 單層完成繞線之匯流排示意圖 ... 6

圖 1-9 單層中印刷電路板繞線示意圖 ... 7

圖 1-10 跳脫繞線示意圖 ... 8

圖 1-11 區域繞線示意圖 ... 8

圖 1-12 連線導向之連線示意圖 ... 9

圖 1-13 匯流排導向之連線示意圖 ... 10

圖 1-14 未跳脫的匯流排腳位示意圖 ... 11

圖 1- 15 匯流排導向跳脫繞線方向限制之示意圖 ... 12

圖 1-16 跳脫邊界腳位順序示意圖 ... 12

圖 1-17 匯流排蛇行迂迴繞行示意圖 ... 13

圖 1-18 兩條匯流排合法共層設定 ... 14

圖 1-19 兩條匯流排非法共層設定 ... 14

圖 1-20 多條匯流排的合法層設定示意圖 ... 15

圖 1-21 合法的四條非最少化匯流排層設定 ... 15

圖 1-22 最少化四條匯流排層設定 ... 16

圖 1-23 匯流排設定不均影響面積示意圖 ... 16

(9)

圖 2-1 已知完成跳脫腳位順序元件示意圖 ... 17

圖 2-2 整合元件腳位順序的互連腳位示意圖 ... 18

圖 2-3 封閉區間找到腳位順序示意圖 ... 18

圖 2-4 可與連接牆 E 共層的所有連線繞線示意圖 ... 19

圖 2-5 第二層的繞線配置示意圖 ... 19

圖 2-6 第三層的繞線配置示意圖 ... 20

圖 2-7 第四層的繞線配置示意圖 ... 20

圖 2-8 多個元件的連接牆建立示意圖 ... 21

圖 2-9 多個已跳脫邊界腳位在多個元件邊緣示意圖 ... 22

圖 2-10 整合腳位順序與連接牆建立示意圖 ... 23

圖 2-11 連線腳位順序在圓內之示意圖 ... 24

圖 2-12 最大可共平面的弦之示意圖 ... 24

圖 2-13 第一層的同層繞線設定示意圖 ... 24

圖 2-14 第二層的同層繞線設定示意圖 ... 25

圖 3-1 高速電路板中元件與匯流排之示意圖 ... 27

圖 3-2 連線關係轉換之後的圓圖 ... 27

圖 3-3 六條連線關係設定至三層之示意圖 ... 28

圖 3-4 六條連線關係設定至兩層之示意圖 ... 28

圖 3-5 高速印刷電路板匯流排導向繞線層設定問題例子示意圖 ... 29

圖 3-6 問題例子繞線層設定的結果示意圖 ... 30

圖 4-1 高速印刷電路板中匯流排導向連線之繞線層設定流程圖 ... 31

圖 4-2 元件邊界與印刷電路板邊界之整合流程圖 ... 32

圖 4-3 對應圖的轉換示意圖 ... 33

圖 4-4 最小生成樹與虛擬牆之建立示意圖 ... 34

圖 4-5 匯流排導向連線刪除示意圖 ... 35

(10)

圖 4-6 封閉區間示意圖 ... 36

圖 4-7 封閉區間至圓圖之轉換示意圖 ... 37

圖 4-8 圓圖外翻示意圖 ... 38

圖 4-9 圓至水平座標軸之轉換 ... 39

圖 4-10 匯流排導向連線包覆切割點之示意圖 ... 40

圖 4-11 分離後的匯流排導向連線示意圖 ... 40

圖 4-12 水平座標軸上匯流排導向連線之示意圖 ... 41

圖 4-13 水平區段在水平座標軸上之示意圖 ... 41

圖 4-14 轉換問題的概念示意圖 ... 42

圖 4-15 三種關係之水平區段示意圖 ... 43

圖 4-16 左邊緣演算法之水平軌道設定例圖 ... 44

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

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

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

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

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

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

圖 4-23 相交現象之匯流排導向連線設定在繞線層 1 例子示意圖 ... 50

圖 4-24 相交現象之匯流排導向連線設定在繞線層 2 例子示意圖 ... 51

圖 5-1 繞線層數直方圖...54

圖 5-2 CPU 處理時間直方圖...55

(11)

第一章 簡介

隨著時代不斷的進步,人們對於電子產品的需求也日益漸進。早期人們對生活的 要求較簡單,滿足生理上的需求即可,但現今的大環境之下,人們更希望生活可以更 加便利,並且能在日常中獲得許多不同的樂趣。因此,為了滿足各種領域不同的應用,

人們也開始朝向開發更多輕薄短小的科技產品來滿足需求,晶片封裝變得越來越小,

功能也變得複雜[1]。舉凡小型從 IC 晶片金融卡、MP3 隨身聽、智慧型手機,中型消 費性家電產品、個人電腦,大型汽車電子、航太、軍用電子或精密醫療儀器等,皆屬 於時代演進下的科技產物。現代的電子產品是利用不同功能的積體電路(IC)整合而製 成的,晶片經由封裝,佈局到印刷電路板(Printed Circuit Board,PCB)上,板面上的 線路經過繞線程序將所有晶片與電子電路元件互相連接導通。以傳統的電路與現今的 高頻電路來做比較,傳統的電路複雜度不高,可用人工的方式解決印刷電路板上大部 分的繞線問題,但在現今的高頻電路中,晶片封裝較小,腳位數量較多,利用的印刷 電路板面積也希望可以越小越好,使用的印刷電路板層數也希望可以越少越好,再加 上訊號傳遞的時間要求嚴謹,各種因素導致在印刷電路板上的繞線問題複雜化。以傳 統的人工方式繞線已經不敷使用,必須藉由一些電子設計自動化(EDA)[13]的工具來 輔助設計,以便完成複雜的電路設計,節省成本並縮短產品從開發至上市的時間,在 最有效的時間之內獲取利潤。本論文將會介紹一些相關的背景知識,先前相關研究,

進而定義問題,提供解決問題之方法,實驗分析,最後會提出結論,並探討未來在高 速印刷電路板上的自動化設計發展與期望為何。

1.1 印刷電路板介紹

印刷電路板(Printed Circuit Board,PCB)[1]是一塊提供不同的電子電路元件互相 連接的基板,以組成一個具特定功能的模組或成品。印刷電路板的特定功能模組例如:

個人電腦主機板和顯示卡等。成品例如:電視遙控器和家電產品之控制面板等。如圖

(12)

1-1 所示,不同功能的晶片經過封裝之後擺置到印刷電路板上,晶片封裝外會有許多 腳位必須與印刷電路板上的腳位矩陣對應接合,元件之間的空白區間提供元件間的線 路連接,其連線藉由不同的匯流排導向連線或著是連線導向的單線來完成。由於現代 電路的複雜度提升,晶片的腳位數量隨之提升,傳統以一維方式將腳位擺置在元件四 周已經不敷使用。現代的晶片腳位與乘載晶片的印刷電路板多以二維的腳位矩陣做連 接,不僅可以增加腳位數量,也可以將接合的面積減少。

元件

印刷電路板 二維腳位矩陣 腳位

匯流排導向連線

單線 晶片

圖 1-1 印刷電路板示意圖

現今的電子電路產品皆需要利用印刷電路板做為基板,乘載不同的電子電路互相 連接,因此印刷電路板的全球產值[14]值得關注。如圖 1-2 所示,2010 年全球印刷電 路板的產值高達 524 億美金。2011 的全球印刷電路板產值也有 554 億美金。2012 年 全球印刷電路板的產值也有 543 億美金之多。平均每年的全球印刷電路板產值皆超過 五百億美金之多,如此規模的產業,如果能夠在設計的過程當中,有效地利用繞線面 積,減少使用的繞線層數,便可以在製造過程中提升良率、降低印刷電路板的製造成 本,並且藉由自動化的輔助設計縮短設計到上市的時間,在未來的市場中,便可使科 技有更進一步的創新。

(13)

0 10000 20000 30000 40000 50000 60000

2010年 2011年 2012年 全球印刷電路板產值

54310 55409

52468 (百萬美金)

圖 1-2 2010 至 2012 年全球印刷電路板產值

1.2 印刷電路板層數與成本之關係

由於現今 IC 的製程縮小,在單一封裝內的晶片腳位數量增加,為了將所有印刷 電路板上的元件互相導通,必須將線路使用多層繞線層印刷電路板來完成繞線。一般 來說,印刷電路板的層數可分為以下三種:

(1) 單層板:所有的元件乘載在印刷電路板其中一面,連接線路配置在另一面。

(2) 雙層板:雙面都可以佈線,雙面間有通孔供電路導通。

(3) 多層板:使用數片雙層板中間加入絕緣層壓合而成,可供多層繞線。

如圖 1-3 所示,圖中(a)表示為單層印刷電路板,其中一面擺置元件,另一面提供繞線。

圖中(b)表示為雙層的印刷電路板,元件擺置之外,雙面都可以繞線。圖中(c)表示為 多層的印刷電路板,元件擺置之外,每一層中都可以繞線。

(a) (b) (c)

圖 1-3 不同層數之印刷電路板示意圖

製造多層印刷電路板須經過多道程序,如圖 1-4 所示,從基板的發料→銅面處理

(14)

0 5 10 15 20 25

4L 6L 8L 10L 12L 14L 16L 18L 20L 22L 24L 26L 28L 30L 32L 34L

單層製造成本 印刷電路板的製造成本 單層成本

倍數成長

→影像轉移→蝕刻→剝膜→鑽孔→壓合。每一階段的程序都影響印刷電路板的製造成 本,包含時間與人力的費用。然而隨著印刷電路板使用的繞線層數增加,上述的每道 工作程序費用也會隨之提高,且繞線層數增加也會導致印刷電路板在製造過程中良率 的下滑。不良品的產生代表著成本的耗損,如果能在下線生產之前的設計階段中優化 處理,降低繞線所需的層數,將可以大大減少印刷電路板的製造成本。

圖 1-4 多層 PCB 板製造流程

對於印刷電路板所使用之繞線層數[15]的增加,製造成本也會隨之提高,但成本 所提升的幅度並非倍數成長,當超過一般普遍的層數時,由於前述的各種原因,導致 其成長的曲線是很驚人的。如圖 1-5 所示:在低於 18 層的 PCB,單層成本成長幅度 較接近於倍數,但超過 20 層之後,每多兩層便讓單層成本大幅上升,尤其在越高的 印刷電路板層數中,增加或減少層數對於成本的影響越是明顯。對於現代電路複雜的 高速印刷電路板設計中,若是可以降低其繞線層數,也將可以降低製造成本。

圖 1-5 層數與單層製造成本之關係圖

印刷電路板層數

(15)

1.3 高頻電路中匯流排連線的時序匹配要求

為了滿足更高階更快速的需求,現代的技術發展使得晶片縮小,處理的速度提升,

乘載晶片與元件的印刷電路板設計也隨之變的複雜。針對提升處理資料的速度而言,

將多組資料同步處理是必要的。多組訊號必須被要求幾乎同時抵達目的端,並且統一 由一個時脈(Clock)訊號告知電路元件何時開始處理資料,所有的元件在收到此訊號之 後將同步處理資料。在最理想狀態之下,時脈訊號從時脈源出發必須是同時抵達各個 同步元件的,元件在接收端收到需要處理的訊號也是必須在時脈周期內收集完成。但 由於真實世界中,訊號透過導線在傳輸的過程中會產生時間延遲,在不同的線路產生 的延遲時間不相同或同一條線路經過不同的繞線層面所造成的傳輸延遲時間也會是 不相同的,必須將線路彼此之間延遲時間的誤差縮減至一個合理的範圍內,讓訊號在 對的時脈週期內抵達才能保證各元件之間同步取得的訊號是完整正確的。

傳統的印刷電路板,由於電路的速度不快,頻率不高,所以元件在接收訊號的時 間容許程度是可以容忍較多延遲差異的傳輸,線路多以單線為單位做繞線傳輸,一條 訊號線路甚至可以自由穿插在不同的繞線層面,線路多以最短路徑繞線,如圖 1-6 所 示:兩條線路以最短路徑繞線,可以發現到,連線 1 的長度會大於連線 2,其延遲時 間也會大於連線 2,在高速電路中,這種線路的配置,可能導致連線 2 已經將訊號送 達元件 2 但線路 1 的訊號還未送達元件 2。

障礙物 元件 2 元件 1

連線 1

連線 2

圖 1-6 印刷電路板上穿越障礙物之不同長度連線

對於現代晶片速度地提升,乘載這些晶片的印刷電路板之電路頻率也必須隨之提

(16)

升。對於在印刷電路板上匯流排連線的傳輸時間要求也變得相當重要。當線路無法有 效地控制到相近的長度時,線路在傳輸的過程中彼此之間的時間誤差將無法被容許,

進而導致元件收到的訊號可能不是正確的,最終電路的輸出將無法保證其正確性。

為了滿足時序匹配的要求,現代的電路傾向於將多條有關係的連線包覆在一起,

以匯流排導向的形式完成繞線。一般來說,在同一條匯流排中不同的連線,如果因為 某些因素而將線路在繞線的過程中穿插到不同層面,要再與匯流排中的其他連線達到 時序匹配是相當困難的,如圖 1-7 所示:

元件 元件

圖 1-7 匯流排連線中穿插到不同層繞線示意圖

為了達到時序匹配,現代電路中的線路多利用匯流排導向連線,且在繞線的過程 必須讓匯流排中的所有線路皆在單層之內完成,可將匯流排中的連線所經過的繞線環 境控制到相同的條件內,以減少影響線路延遲的變因,例如:不同層面材質與線路厚 薄度的不同導致電路傳導的速度不同或是電路穿越上下層所經過之通孔的大小材質 不同而影響延遲時間。如圖 1-8 所示:所有在匯流排中的連線皆在單層內完成繞線。

元件 元件

圖 1-8 單層完成繞線之匯流排示意圖

1.4 印刷電路板之繞線

在印刷電路板的製造流程中,封裝好的元件將會擺置到印刷電路板上,接下來不

(17)

同的元件之間需要利用線路進行導通,此為印刷電路板的繞線處理。一般來說,在印 刷電路板上的繞線處理可以分為兩個階段的程序:跳脫繞線(Escape Routing)和區域繞 線(Area Routing)。如圖 1-9 所示,在印刷電路板上的腳位矩陣中,線路必須由元件中 跳脫繞線到其腳位矩陣邊緣,此階段為跳脫繞線。而在完成跳脫繞線之後的連線則必 須在不同的元件之間連接,此階段為區域繞線。不同階段的繞線會有不同的要求與限 制,我們將在以下說明。

4 2

4 3 1 2

4 3 1 2

3 2 4 1

3 2 4 1

圖 1-9 單層中印刷電路板繞線示意圖

1.4.1 跳脫繞線

現代的技術使晶片變小、功能變多,腳位數量也急遽上升,封裝的四周圍已經不 足以擺置如此數量的腳位,從晶片下方的二維腳位矩陣繞線便成為腳位與印刷電路板 接合的新技術。在印刷電路板與此腳位矩陣的腳位接合之後,此矩陣中的腳位仍然需 要繞線到腳位矩陣的邊緣才能供不同元間之間互相連線,此繞線階段即為跳脫繞線 (Escape Routing)[3][4][5][6]。跳脫繞線必須考慮到與其他元件配對連線的問題,所以 在跳脫的過程中,必須決定對的跳脫腳位順序,與其對應的另一個元件的跳脫腳位順 序相同,線路才不會有相交的產生,進而導致連線無法完成必須使用新的繞線層繞線。

如圖 1-10 所示:連線將會從腳位矩陣中跳脫到其矩陣邊緣。

腳位矩陣

跳脫繞線 區域繞線 跳脫繞線

(18)

圖 1-10 跳脫繞線示意圖

1.4.2 區域繞線

在完成跳脫繞線之後的階段,連線已經跳脫至元件的四周圍,不同元件之間必須 互相導通,連線將會在印刷電路板上的空白區域完成,此階段為區域繞線(Area Routing)。在區域繞線的階段中,各元件的邊緣有著已經完成跳脫繞線的固定腳位,

根據章節 1.3 中說明:單組連線必須在單層中完成繞線,並且不允許任兩條連線有交 錯的現象出現,為了滿足時序匹配的要求,也必須將線路迂迴繞行(detour)[2],並將 不可共層之連線被設定到新的一層上做繞線。如圖 1-11 為一個印刷電路板單層的區 域繞線示意圖,板子中有五個元件,有七條連線在空白區域完成繞線,分別連接到不 同的元件邊緣與印刷電路板邊緣。

元件 元件

元件 元件

元件

圖 1-11 區域繞線示意圖

(19)

1.5 連線導向與匯流排導向之繞線

印刷電路板上的元件之間透過不同類型之連線互相導通,早期傳統電路由於不需 要考慮時脈與訊號同步之問題,通常可以使用連線導向(Net-oriented)的線路來為元件 連接。現今許多電子產品已經趨向高速電路的型態發展,因此在考慮時脈與訊號同步 之情況下,對時序匹配較要求的連線則傾向於以匯流排導向(Bus-oriented)的形式來完 成繞線。以下將印刷電路板上的連線類型分為連線導向[3]與匯流排導向[4][5][6][18]

來做說明。

(1) 連線導向(Net-oriented):以線路本身為單位做連線,如圖 1-12 所示。

優點:1.有效利用繞線空間,設計較為容易。

2.可使用較少的層數完成所有的繞線。

缺點:1.不同的連線會有不同的傳輸時間。

2.較難符合時序匹配的要求。

用途:對於時序匹配要求較不嚴苛的傳統電路。

圖 1-12 連線導向之連線示意圖

(2) 匯流排導向(Bus-oriented):以匯流排為單位做連線。如圖 1-13 所示。

優點:匯流排內的線路長度較為一致,線路彼此傳輸時間誤差較短,

較容易符合時序匹配的要求。

缺點:1.更多繞線的限制產生。

(20)

2.必須使用較多繞線層數完成繞線。

用途:對於線路傳輸時間要求較嚴苛的高速電路。

圖 1-13 匯流排導向之連線示意圖

由於現代電路中對於時序匹配要求較嚴苛,即便使用匯流排導向之繞線有可能產 生較多層的繞線層數,但對於高速印刷電路板設計中使用匯流排導向之連線將會是無 可避免的。

1.6 匯流排導向之繞線

由於高速電路對於時序匹配的要求較為嚴苛,在印刷電路板中的線路傾向於以匯 流排的方式做連線[4][5][6][18]。以高速電路中的匯流排連線來說,所有的訊號必須 經過匯流排中不同的線路傳導到其目的端,而通常訊號被要求必須幾乎同時抵達其目 的端才能保證訊號的完整性與正確性。影響不同線路之間的訊號同步抵達目的端的因 素有很多,其中包含在印刷電路板上構成線路的銅箔材質、厚薄度、與長度等等。一 般來說,在探討此問題時,會先將不同線路的材質、線路的厚薄度設為相同,且一組 匯流排導向的連線必須在單層之內完成繞線。在此條件之下,其長度的匹配便可視為 線路傳導的時間匹配。當訊號必須幾乎同時抵達目的端時,就只需要將元件之間的線 路匹配到幾乎相同的長度,減少不同線路的傳輸時間差異,就可以保持訊號的完整性

(21)

與正確性。以下分別以匯流排導向之跳脫繞線與匯流排導向之區域繞線做介紹。

1.6.1 匯流排導向之跳脫繞線

腳位矩陣中的連線以匯流排導向連線往腳位矩陣之四周邊界的其中一個邊界跳 脫。圖 1-14 為一組位於腳位矩陣中尚未跳脫的匯流排內含五個腳位,匯流排將會整 個群組往腳位矩陣的上下左右四個方向的其中一方跳脫。一般來說,最佳的跳脫繞線 結果是找到最短距離的邊界往其方向做跳脫繞線[3][4][5][6]。在此跳脫繞線的階段中,

將會面臨一些挑戰與問題值得關注。

圖 1-14 未跳脫的匯流排腳位示意圖

(1) 跳脫方向限制:在跳脫的過程中必須考慮到腳位矩陣的四個方向[10]是否有無法 跳脫的邊緣。

例如:1.某一方向已經有匯流排經過了,跳脫此方向將會造成匯流排交錯。

2.某一方向的腳位矩陣外已經是印刷電路板邊界或是有障礙物存在。

如圖 1-15 所示:腳位矩陣中匯流排 A 之上方邊界已經有匯流排 B 經過,無法跳 脫。其左方為一個障礙物也無法跳脫。其下方為印刷電路板之邊界,也無法跳脫。

在此例子中匯流排 A 能順利跳脫的方向就是腳位矩陣的右方邊界。

(22)

A B

障礙物

圖 1- 15 匯流排導向跳脫繞線方向限制之示意圖

(2) 跳脫邊界腳位順序:跳脫到邊界的匯流排腳位順序是個影響設計的重要考量 [16][17]。如果可以在不交錯的情況下將出發端與要連接的目的端的邊界腳位順 序控制到一樣,不僅能減少繞線的使用層數與面積,並且可讓接下來的區域繞線 進行的更加順利。如圖 1-16 所示,一組好的邊界腳位順序可以讓匯流排繞線結 果更加優化,使用更少的繞線資源。

3

1 2

1

5 4

2

3

4

5

圖 1-16 跳脫邊界腳位順序示意圖

1.6.2 匯流排導向之區域繞線

在區域繞線階段使用匯流排導向的連線完成繞線,必須注意到幾個要點。會使用 匯流排導向的形式繞線最主要的原因還是為了滿足在高速電路中時序匹配的要求。一 條匯流排內的所有連線必須在單層內完成所有的繞線。當連線都被要求在同層內完成 繞線時,可以將連線的時序匹配要求,視為連線的長度匹配要求。通常在電路設計中 會要求連線的時序必須介於一段時間之內才算合法的連線。當長度的調整可視為時序

(23)

的調整時,如果要將連線的時序滿足至電路的時序限制之內,線路必須在繞線的過程 中產生迂迴繞行[2][7][8],將過短的線路利用迂迴繞行延長其長度,調整其時序以符 合電路的時序限制之內。

一般來說,迂迴繞行的技巧通常會使用蛇行方式去做繞線,蛇行的迂迴繞行方式 不僅可以調整連線的時序,對於繞線面積的節省也是相當有用的,利用蛇行的迂迴繞 行方式可以保證線路會靠著線路走,不會讓線路與線路之間留下過多的空白區域。如 圖 1-17 所示,區域繞線階段,為了符合時序匹配的要求而進行蛇行的迂迴繞行方式。

匯流排導向之區域繞線

匯流排導向之跳脫繞線 匯流排導向之跳脫繞線

圖 1-17 匯流排蛇行迂迴繞行示意圖

1.7 匯流排之繞線層設定

當所有的線路以匯流排的形式做繞線,要在面積有限的印刷電路板中完成所有匯 流排連線就必須將不同的匯流排分配到不同層面上繞線[3][5][6][10],根據 1.2 節已知,

繞線的層數越多,印刷電路板的製造成本越高,有效的分配不同的匯流排至不同的層 面完成繞線,將會縮減繞線層數,對於降低印刷電路板的製造成本可以說是相當重要 的。

(1) 兩條匯流排連線合法共層設定:當兩條不同的匯流排可以被設定在共同一層,且 彼此在繞線的過程沒有出現相交現象時,我們可以將此層設定的結果視為合法的。

如圖 1-18 所示:兩條匯流排合法的共層設定。

(24)

圖 1-18 兩條匯流排合法共層設定

(2) 兩條匯流排連線非法共層設定:當兩條不同的匯流排被設定在共同一層時,產生 了相交的現象,我們將此定義為非法的共層設定,如果此現象發生,必須將其中 一條匯流排取出設定到別的層面中。如圖 1-19 所示:兩條匯流排非法的共層設 定。

圖 1-19 兩條匯流排非法共層設定

(3) 多條匯流排的合法層設定:如果在任意一層中的任兩條匯流排連線皆為合法的層 設定,那我們就可以將此多條匯流排的層設定視為合法的設定結果。如圖 1-20 所示,一塊印刷電路板上有兩個電路元件,其中有四條匯流排導向的連線,層設 定的結果為兩層,我們可以看到在第一層中並沒有相交現象出現,是合法的。在 第二層的設定也沒有相交的現象出現,也是合法的。所以我們可以將這四條匯流 排導向的連線之繞線層設定視為合法的使用兩層繞線層設定結果。

(25)

尚未繞線層設定結果 繞線層設定第一層 繞線層設定第二層

圖 1-20 多條匯流排的合法層設定示意圖

1.8 匯流排繞線層數最少化

在 1.7 節中說明到何謂多條匯流排的合法層設定,但是一個合法的多條匯流排層 設定結果並不代表所設定的繞線層數是最少的。以四條匯流排為例如圖 1-21,如果將 四條匯流排分別設定到不同的四個印刷電路板層面中,在每一層中的任一條匯流排並 不會與其他的匯流排相交現象產生,是合法的四條匯流排層設定結果。但如果分配的 好的話,是可以讓使用的繞線層數降低的。

繞線層 1 繞線層 2

繞線層 3 繞線層 4

圖 1-21 合法的四條非最少化匯流排層設定

四條匯流排導向繞線設定到不同的四層,其中可以共層的匯流排導向連線可以將 繞線層合併,依此例來說,繞線層 1 可以與繞線層 2 合併,繞線層 3 可以與繞線層 4 合併,最佳化的分配結果是使用兩層如圖 1-22 所示,每層中有兩條不相交的匯流排。

(26)

繞線層 1 繞線層 2

圖 1-22 最少化四條匯流排層設定

在 1.2 節中有說明到,使用的繞線層數越多,印刷電路板的製造成本也會越高。

在一個多條匯流排的印刷電路板設計中,如果能夠將使用的繞線層數最少化,便可在 印刷電路板的製造成本達到有效的縮減。

1.9 繞線面積的平衡

為了節省印刷電路板製造成本,可從印刷電路板的面積大小方面做縮減。印刷電 路板中的單層面積是由腳位矩陣的面積加上元件之間的匯流排繞線面積。多層數的印 刷電路板之面積將會取決於繞線層中佔有最大面積的單層面積。以圖 1-23 為例:100 條匯流排導向連線,可以分別設定到 4 層繞線層。在例子 1 當中,70 條匯流排導向 連線被設定到第一層中,10 條被設定到第二層,10 條被設定到第三層,10 條第四層。

例子 2 當中,30 條匯流排導向連線被設定到第一層中,30 條被設定到第二層中,20 條被設定到第三層中,20 條被設定到第四層中。兩組例子比較下來,例子 2 的 100 條匯流排導向連線較平均的分配到 4 層中,4 層繞線層面積彼此不會相差太多,與例 子 1 相比,最終的印刷電路板面積也會達到有效的縮減。

70 條匯流排導向連線 30 條匯流排導向連線

30 條

例子 1 例子 2

20 條 20 條 10 條

10 條 10 條

圖 1-23 匯流排設定不均影響面積示意圖

(27)

第二章 相關研究

根據背景相關的簡介已知,在現代高頻高速的時代之下,在有限的印刷電路板空 間中,要完成跳脫繞、區域繞線是有相當困難度的,其中在高速電路中更必須符合時 序限制的要求。在 2011 年,Tasi[7]提出一個有效的方法解決,在高速電路板中已經 完成跳脫繞線的固定腳位的區域繞線問題。延續 Tasi 的研究之後,在 2013 年,有 Chin[8]

利用 Supowit 的演算法[9]更進一步的優化其研究結果。

2.1 高速電路板已固定腳位之繞線

首先介紹 2011 年 Tasi[7]所研究的問題,在高速電路板上已知有已經完成跳脫繞 線階段且腳位固定的幾個元件,其中腳位必須與相對應的腳位互相連接。如圖 2-1 所 示:兩個元件已完成跳脫繞線,有關係的腳位之間必須互相連接繞線,元件 1 的元件 腳位 A 必須繞線至元件 2 的元件腳位 A,元件腳位 B 必須互連,以此類推至元件腳 位 P。

M I B F

D E H

G I

J

K

L A

N O

P

A

D

C

B E

H

G N F

L P

K

O

M J

C

元件 1 元件 2

高速電路板

圖 2-1 已知完成跳脫腳位順序元件示意圖

方法中分為幾個階段,首先將有連線關係之不同的元件之間找到其中一組互連腳 位,實際連接建起一條連接牆在元件之間,將所有的元件整合在一個最終互連元件。

如圖 2-2 所示:元件連線 E 為整合元件的互連腳位連線。

(28)

M I B F

D

E

H

G I

J

K

L A

N O

P

A

D

C

B

E

H

G N F

L P

K

O

M J

C

元件 1 元件 2

高速電路板

圖 2-2 整合元件腳位順序的互連腳位示意圖

整合完所有元件到一個最終互連元件之後,所有的腳位與連線關係將可以被包覆 在一個封閉的區間之內如圖 2-3 所示,並且沿著此封閉區間逆時針方向可以依序搜尋 到所有的腳位順序。

M I B F

D E H

G I

J

K

L A

N O

P

A

D

C

B E

H

G N F

L P

K

O

M J

C

元件 1 元件 2

高速電路板

圖 2-3 封閉區間找到腳位順序示意圖

透過這個封閉區間而找到所有腳位的順序,將可與連接牆共層的連線,利用堆疊 的搜尋方式一條條計算並繞線,在此繞線層中,將不可出現相交現象,出現相交關係 的連線將不被考慮在此階段繞線。如圖 2-4 所示,從可共層的元件腳位 D 開始繞線,

逆時針方向找尋不會有相交的連線做繞線。依此方法,找完所有可以與連接牆 E 共層 的連線,其中包含連線 D、F、B、I、C 五條連線,完成第一層的單層繞線配置。

(29)

M I B F

D E H

G I

J

K

L A

N O

P

A

D

C

B E

H

G N F

L P

K

O

M J

C

元件 1 元件 2

圖 2-4 可與連接牆 E 共層的所有連線繞線示意圖

其中在繞線的過程當中,Tasi 利用沿著牆走的方式做繞線,所有未繞線的連線在 繞線的過程將會沿著先前已經完成繞線的連線之邊緣做繞線,此做法可以在高速電路 板中節省繞線面積,留給未完成繞線的連線更多繞線空間。

完成單層的繞線配置之後,將會產生新的一個繞線層,重複以上的程序,將剩餘 還未處理的連線做處理,直到沒有任何待連接的腳位存在為止。如圖 2-5 所示:第二 層的元件腳位只剩下 M、J、A、O、K、P、L、N、G、H,選擇了連線 H 當作連接 牆,並且從元件腳位 M 開始找尋可以與連接牆 H 共同一層的連線關係。其中包含了 連線 M、O、G 三條連線。

M

H

G J

K

L A

N O

P

A

H

G N

L P

K

O

M J

元件 1 元件 2

圖 2-5 第二層的繞線配置示意圖

完成第一層與第二層的繞線配置之後,剩下的腳位有 J、A、K、P、L、N,選擇 了元件腳位 A 當作連接牆,找出可與連線 A 共層的有連線 K、L。如圖 2-6 所示。

(30)

J

K

L A

N P

A

N

L P

K J

元件 1 元件 2

圖 2-6 第三層的繞線配置示意圖

完成了第一層、第二層和第三層的繞線配置後,剩下的元件腳位有 J、P、N,選 擇了連線 P 為連接牆,找出可與連線 P 共層的有連線 J 和 N。如圖 2-7 所示。

J

N P

N P

J

元件 1 元件 2

高速電路板

圖 2-7 第四層的繞線配置示意圖

完成了第四層的繞線配置之後,已經沒有任何元件腳位需要互相連接,於此結束 繞線的程序。以此十六條連線的例子,利用 Tasi 的方法,可將所有連線,利用四個 循環的繞線配置,繞完十六條連線。完成繞線配置之後作者將會調整繞線結果的連線 長度與外型去滿足時序要求的限制。Tasi 的方法可以完整的解決所有必需互連已固定 繞線腳位之區域繞線問題。

對於此研究的方法之中,將元件整合在一起,找出連線腳位順序的部分是個值得 沿用的好方法,但是透過觀察可知,當此方法利用在電路板內含多個元件的問題時,

連接牆的建立將會有許多條連線實際的被繞線,這些連接牆必須被設定在共同一層之 內,這些共層的連接牆可能影響到之後的繞線結果,導致使用的繞線層數並非最少。

(31)

如圖 2-8 所示:在三個元件的設計中,為了連接各個元件找尋元件腳位順序的連接牆 A 與連接牆 B 最後必定被設定在同一層中繞線。

元件 1 元件 3

元件 2 連結牆 A

連結牆 B

高速電路板

圖 2-8 多個元件的連接牆建立示意圖

2.2 高速電路板中已跳脫之邊界腳位繞線

接下來介紹在 2013 年 Chin[8]所研究的問題,延續 2011 年 Tasi[7]所研究的問題,

Chin 在產生腳位順序與連接牆的建立和繞線層設定的兩方面做了一些更優化的處理。

接下來將個別以腳位順序的產生與連接牆的方法與繞線層設定的方法做說明。

(1) 腳位順序的產生與連接牆建立的方法

Chin 等人發現到,在他們 2011 年的先前研究當中,腳位順序的產生與連接牆的 建立部分,連接牆的選擇會出現一些問題。在選擇不同元件腳位之間的連接牆時,是 以一組匯流排的連線來貪婪的選擇最多可以共層的連線當作連接牆,但是以這種方式 來選擇連接牆並且建立連線,在內含多個元件與多組匯流排的高速電路板中,是會影 響到其他匯流排的繞線結果,進而導致可能影響整個設計最終的繞線並非使用最少的 繞線層數。於此,Chin 改變了他們產生腳位順序與連接牆建立的方法。

在一個高速電路板的設計中,內含多個已跳脫繞線的邊界腳位,取一個內含最多 邊界腳位的元件當作一個主要的元件腳位順序,接下來依照不同元件的邊界腳位數量,

由元件邊界腳位數量多的開始至元件邊界腳位數量少的與先前這組主要的元件腳位 順序做合併的動作,合併完成腳位順序之後可以從相同的腳位順序中的第一個腳位當

(32)

連接牆並且建立,合併完所有腳位順序與建立元件之間的連接牆之後,所有的腳位順 序與元件將被整合成為一個最終的整合元件。以圖 2-9 為例:元件 1 的元件邊界腳位 數量有五個,做為這塊高速電路板中主要的元件腳位順序,依序由元件邊界腳位數量 多的合併到元件邊界腳位數量少的,所以第一個合併的是元件 3 的三個元件邊界腳位 順序與元件 1 的五個元件邊界腳位合併。合併完之後再將元件 2 的兩個邊界腳位順序 合併到先前已合併完的八個腳位順序中。

元件 1 元件 2

元件 3 C

A B

A

B

C D

D

E

E

高速電路板

圖 2-9 多個已跳脫邊界腳位在多個元件邊緣示意圖

首先元件 1 的腳位順序可順著元件邊緣逆時針方向找到為:B、A、D、C、E,

即將要合併的元件 3 腳位順序為:E、A、C,此時他們會將此腳位順序做一個反轉複 製的動作,E、C、A 將會成為 A、C、E、A、C、E。接著利用元件 3 的這組已經被 反轉複製的腳位順序與元件 1 的主要腳位順序相比,找尋其中最長相同的字串。可以 找到的最長相同字串為 C、E。接下來他們就會將此最長相同字串中的第一個腳位當 作兩個元件之間的連接牆建立連線。完成第一次的合併與連接牆的建立之後,將會依 序的將較少元件邊界腳位數量的元件整合在一起。依此方法將高速電路板中所有的元 件邊緣腳位順序與元件整合成為一個最終的整合大元件。如圖 2-10 所示:三個元件 整合成為一個最終的整合元件,藉由連線 C 與連線 B 當作連接牆,腳位順序為:B、

B、D、A、D、C、C、A、E、E。最後再將此整合過的腳位順序往下個階段做繞線的 層設定。

(33)

元件 1 元件 2

元件 3 C

A B

A

B

C D

D

E

E

高速電路板

圖 2-10 整合腳位順序與連接牆建立示意圖

如圖 2-10 觀察可知,此種方法找到的連接牆,能夠有效地確定在此繞線層當中,連 接牆建立之後的腳位順序是可以讓最多連線共同一層的。但是由於此方法在建立連接 牆的部分,雖然比 Tsai 的研究方法考慮更完整,但是還是會以實際的連線當作連接 牆。

(2) 繞線層設定的方法

藉由腳位順序的產生與連接牆的建立,得到的腳位順序可以拿來做繞線的層設定。

於此階段,Chin 套用了 Supowit 演算法[9]來處理層設定的問題。Supowit 演算法可以 用來解決一個圓之中,在圓上有許多兩點互連的弦,找到最多可以共同存在此平面的 弦,並且保證每條弦都是獨立的,並沒有與其他的弦有任何關係。這個演算法中圓上 的點就可以視為元件的邊界腳位,而互連的弦可以視為腳位與腳位之間的連線,找到 最多共圓的弦可視為在繞線層中找到最多可以共層的連線,保證這些共圓的弦彼此是 獨立的可視為繞線層中的連線彼此沒有相交的現象發生。

前例在腳位順序的產生得到了一組腳位順序 B、B、D、A、D、C、C、A、E、E。

可以將此順序順時針方向編排至圓上並且互連,如圖 2-11 所示。

(34)

B E

D A

E B

C D

C A

圖 2-11 連線腳位順序在圓內之示意圖

套用 Supowit 的演算法如圖 2-12 所示,可以找到最多共同平面的有連線 B、D、

C、E。

B E

D

E B

C D C

圖 2-12 最大可共平面的弦之示意圖

Chin 等人會將此例子的結果視為繞線層設定的結果,於此例子而言,便會將連線 B、

D、C、E 設定在同一繞線層。如圖 2-13 所示:連線 B、D、C、E 將被設定在同一繞 線層中繞線。

元件 1 元件 2

元件 3

C A B

A

B

C D

D

E

E

高速電路板

圖 2-13 第一層的同層繞線設定示意圖

(35)

利用此方法可以有效的在單層之內找到最多可共層且不相交的連線,他們將反覆 的在每一層當中使用此方法設定連線直到沒有任何未被設定的連線為止。以此例來說,

連線 A 將會在第二層中被設定繞線,如圖 2-14 所示。

元件 1 元件 2

元件 3

C A B

A

B

C D

D

E

E

高速電路板

圖 2-14 第二層的同層繞線設定示意圖

經過思考,每一層中保證找到最多可共層的連線做繞線,在單層之內似乎是最有 效率的繞線,但是每一個單層之內都找最多共層的連線繞線並不能保證最終的繞線結 果所使用的層數是最少的,且在最後的幾層中,有可能繞線的數量是比較少比較不平 均的。因此根據研究相關的背景與相關研究讓我們產生了一些想法,將在下一章節之 中說明我們的研究動機與研究的問題描述。

(36)

第三章 研究動機與問題描述

經過第一章背景知識的了解與第二章相關研究[7][8]中發現到為了節省印刷電路 板的製造成本,減少高速印刷電路板之中使用的繞線層數與節省使用的繞線面積是相 當重要的,使用的繞線層數越少,相對的印刷電路板的製造成本也可以越低。基於這 些觀念,以下將對本論文的研究動機與研究問題分兩個小節做說明與描述。

3.1 研究動機

對於兩篇相關研究之中發現,將所有元件整合到一個最終的整合元件,找到所有 連線關係的腳位順序這個概念是非常值得延用的,但是在整合的過程當中所建立起的 連接牆,相關研究之中採用的方式是在相鄰的元件之間取其中一組連線實際連接起來。

如果在一個內含多個元件多組腳位的高速印刷電路板設計中,這些被實際建立起來的 連接牆則必須被設定在共同的繞線層中,將可能影響之後所有的連線之繞線關係,有 可能導致最終繞線設定的層數無法被最少化,造成多餘的印刷電路板之製造成本。

我們沿用了元件整合的觀念,但是在實體連接牆的建立,我們改變方法,利用元 件之間的空白區域,建立了實際上不存在的連線,我們將此稱為虛擬連接牆的建立,

主要的目的是將所有元件的邊緣與印刷電路板的邊緣整合在一起,以形成一個封閉區 間。由於並非將設計中的任一條連線先連接,所以並不會有哪些連線預先被設定在共 同的一層中。

在繞線層設定的部分,由於 Chin 等人所採用的方式,是在單層中,找到最多可 共層不相交的連線,對此,我們產生了一個想法,每一單層內設定最多條可共層的連 線,並不代表最終的繞線層設定所使用的繞線層數是最少的。舉例說明,如圖 3-1 所 示,一塊高速印刷電路板,四個元件,六條匯流排導向連線。

(37)

F

C B

E B

A A

F D

E D

C

高速印刷電路板

圖 3-1 高速電路板中元件與匯流排之示意圖

將此連線關係透過轉換之後可得一個相對應的圖,如圖 3-2 所示,圓上的點代表 匯流排的腳位,圓中的弦代表電路板中的連線關係。

A A

E D

B

C C

D

F

F

B E

圖 3-2 連線關係轉換之後的圓圖

接下來找到最多共層的連線關係,將可找到 A、B、C、D 四條連線。但是我們 可以發現到,剩下的連線 E 與連線 F 彼此之間有相交關係,注定要分兩層繞線,最 後結果會導致此六條連線必須被分配到三層,如圖 3-3 所表示,六條連線被設定到三 個不同的繞線層中。

(38)

A A

E

D B

C C

D

F

F

B E

A A

E

D B

C C

D

F

F

B E

A A

E D

B

C C

D

F

F

B E

圖 3-3 六條連線關係設定至三層之示意圖

但是經過思考,如果選擇共層的連線選的更有效的話,以此例子是可以將六條連 線分別設定到兩層完成繞線配置的。如圖 3-4 所示,在第一層中選擇了連線 A、E、C,

第二層中選擇了 B、D、F。

A A

E

D B

C C

D

F

F

B E

A A

E

D B

C C

D

F

F

B E

圖 3-4 六條連線關係設定至兩層之示意圖

綜括以上兩個部分,引導出了我們的研究方向與動機,我們沿用了元件整合的概 念,並且希望在實體牆的部分做提升,以不影響任何的匯流排導向連線為前提去建立 虛擬連接牆達到元件邊界的整合。而繞線層設定的部分,我們將不考慮其單層找最多 可共層連線之方法。我們希望可以從整合出來的所有連線關係中,找出一個可以處理 所有匯流排導向連線使繞線層數最少化的方法來設定每一條匯流排導向連線。

(39)

3.2 問題描述

本篇論文所研究探討的主題是如何在一個已知匯流排導向連線關係的高速印刷 電路板中,利用最少的繞線層數有效的設定這些匯流排導向連線到不同的繞線層中,

且不允許連線彼此之間有任何的相交現象。

問題定義:在一張有邊界腳位的高速印刷電路板 U 中,板子上乘載了匯流排導向連 線集合 N,集合 N 中包含了有𝑛條的匯流排導向連線{B B Bn},而這 些匯流排導向連線的腳位會在元件集合 C 的邊緣,集合 C 中包含了 m 個已完成跳脫繞線的元件{C C Cm} 。

問題限制:在相同的單層繞線層中,任意兩條匯流排連線不允許有相交現象存在。

解決目標:計算出設定完所有的匯流排導向連線所需要的最少層數,將集合 N 中的 n條匯流排導向連線全部設定到計算出來的繞線層上。如圖 3-5 所示:一 塊高速電路印刷板 U,其中有四個元件 A、B、C、D,四個元件與電路板 之間有互連的匯流排導向連線十六條,從匯流排導向連線 1 至匯流排導向 連線 16。

4

4

1

1 2

2 3 3

5 5 6 6

7

8 7

8 9

9

10 10 11

11

12

12 13

13 14

14 15 15

16

16

A

C B

D

U

圖 3-5 高速印刷電路板匯流排導向繞線層設定問題例子示意圖

(40)

在問題當中,存在許多匯流排連線的相交,不符合問題的限制條件,所以必須將 有相交關係的匯流排連線設定到不同的繞線層面。計算出來的結果是使用三層可以將 此十六條匯流排導向連線設定到三個不同的繞線層,且任意一繞線層中的任一兩條匯 流排導向的連線不會有相交的現象產生。如圖 3-6 (a)為第一繞線層,其中包含匯流排 導向連線 5、6、12、14。圖 3-6 (b)為第二層,其中包含匯流排導向連線 1、2、8、10、

13、15、16。圖 3-6 (c)的為第三層繞線層,其中包含匯流排導向連線 3、7、9。

4

1

1 2

2 3 3

5 5 6 6

7

8 7

8 9

9

10 10 11

11

12

12 13

13 14

14 15 15

16

4 16

A

C B

D

U

(a)

4

1

1 2

2 3 3

5 5 6 6

7

8 7

8 9

9

10 10 11

11

12

12 13

13 14

14 15 15

16

4 16

A

C B

D

U

(b)

4

1

1 2

2 3 3

5 5 6 6

7

8 7

8 9

9

10 10 11

11

12

12 13

13 14

14 15 15

16

4 16

A

C B

D

U

(c)

圖 3-6 問題例子繞線層設定的結果示意圖

(41)

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

本章節將繞線層設定問題分成五個階段的流程解決。首先,將高速印刷電路板的

邊界與板上各個元件的邊界透過虛擬牆的建立整合形成一個封閉區間將所有連線關 係包含在內。接下來,將先前取得的封閉區間轉換成一個圓的對應圖,圓內包含了所 有的連線關係,我們會做一個翻轉的動作,讓圓內的匯流排導向連線關係外翻成為一 個匯流排導向連線關係在圓之上的圖。第三個階段中,將第二階段取得的圓,透過切 割點的找尋,將此圓切開轉換成為一個水平座標軸(Horizontal Axis),圓上的匯流排連 線關係將被視為在水平座標上的水平區段(Horizontal Interval)。在第四個階段之中,

我們將套用左邊緣演算法[11][19][20]來計算這些水平區段可以被設定到哪些不同的 水平軌道(Horizontal Track)上,之後,透過反覆的相容動作縮減所計算出來的水平軌 道數量,計算出來的水平軌道數量便可視為匯流排導向的層設定使用的層數。最後,

第五階段中,將會把在第一階段建立虛擬牆所無法避免相交的匯流排導向連線設定回 第四階段的結果中,完成所有匯流排導向連線的繞線層設定的計算,將線路實際的在 每一繞線層中繞線,解決問題。如圖 4-1 所示為本研究方法五個階段的流程圖。

一塊高速電路印刷板,U 板上的元件集合,C

元件與電路板之間的匯流排導向連 線集合,N

整合邊界至圓圖之轉換

匯流排導向連線至水平 區段之轉換

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

繞線層設定結果 相交現象匯流排導向連

線之繞線層設定 元件邊界與印刷電路板

邊界之整合

圖 4-1 高速印刷電路板中匯流排導向連線之繞線層設定流程圖

(42)

4.1 元件邊界與印刷電路板邊界之整合

在第一個階段之中,我們將延續相關研究 2.1、2.2 小節中,整合不同的元件至一 個最終整合元件的觀念,主要的目標是形成一個封閉的區間。這個封閉的區間其中包 含所有的匯流排導向的連線關係。對於相關研究中元件整合利用實體連接牆的建立,

我們則改變方法利用虛擬牆的建立來產生連接牆。我們將會在此階段中,分別以四個 循序的流程來做元件邊界整合的處理。如圖 4-2 所示:在元件邊界與印刷電路板邊界 之整合包含四個循序流程,對應圖的建立,最小生成樹之產生與虛擬連接牆之建立,

相交於虛擬連接牆的匯流排導向連線之刪除,封閉區間的產生。

最小生成樹的產生與連結牆之建立

封閉區間的產生 對應圖的建立

相交於虛擬連結牆的 匯流排導向連線之刪除

圖 4-2 元件邊界與印刷電路板邊界之整合流程圖

4.1.1 對應圖的建立

首先將已知的高速印刷電路板與板上不同的元件轉換成為對應圖中的端點 V,兩 兩相臨的元件之間可能被建立的虛擬連接牆則轉換成為對應圖上的連接端點的邊,不 同元件之間所經過的匯流排導向連線或是元件與印刷電路板之間的匯流排導向連線,

將會與有可能被建立的虛擬牆產生相交,而最少與虛擬牆相交之匯流排導向連線的數

(43)

量可轉換成為對應圖中邊上的權重。以問題描述中的例子解說,如圖 4-3 所示:印刷 電路板 U 與元件 A、B、C、D 分別被轉換成為對應圖中的𝑉𝑈、𝑉𝐴、𝑉𝐵、𝑉𝐶、𝑉𝐷,兩 兩相鄰不同的元件與印刷電路板之間都有可能可以建立虛擬牆,所以對應圖上的邊則 代表兩兩相鄰的元件之端點的連接邊或是相鄰的元件與印刷電路板邊界之端點的連 接邊。而對應圖中這些連接邊的權重則決定於元件與元件之間或元件與印刷電路板之 間的匯流排導向連線與可能被建立的虛擬牆所相交的連線數量之最少數量。例如圖中 元件 A 與印刷電路板 U 之間,有可能與虛擬牆相交的匯流排導向連線最少數量為 1,

在圖中的左上角元件 A 的邊界上腳位 1 與腳位 15 之間拉至上方印刷電路板邊界腳位 4 的左邊,此時,虛擬牆連接元件 A 與印刷電路板 U 相交數量為 1,則對應圖中連接 𝑉𝑈、𝑉𝐴的邊之權重就等於 1。依此類推。由於元件 C 與元件 D 並非直接相鄰,中間 還有隔著元件 B,固對應圖中端點𝑉𝐶與端點𝑉𝐷不會有連接邊。

4

4

1

1 2

2 3 3

5 5 6 6

7

8 7

8 9

9

10 10 11

11

12

12 13

13 14

14 15 15

16

16

A

C B

D

U

圖 4-3 對應圖的轉換示意圖

參考文獻

相關文件

Lange, “An Object-Oriented Design Method for Hypermedia Information Systems”, Proceedings of the Twenty-seventh annual Hawaii International Conference on System Sciences, 1994,

F., “A neural network structure for vector quantizers”, IEEE International Sympoisum, Vol. et al., “Error surfaces for multi-layer perceptrons”, IEEE Transactions on

C., “Robust and Efficient Algorithm for Optical Flow Computation,” Proceeding of IEEE International Conference on Computer Vision, pp. “Determining Optical Flow.” Artificial

Muraoka, “A Real-time Beat Tracking System for Audio Signals,” in Proceedings of International Computer Music Conference, pp. Goto, “A Predominant-F0 Estimation Method for

Selcuk Candan, ”GMP: Distributed Geographic Multicast Routing in Wireless Sensor Networks,” IEEE International Conference on Distributed Computing Systems,

Wells, “Using a Maze Case Study to Teach Object-Oriented Programming and Design Patterns,” Proceedings of the sixth conference on Australasian computing education, pp. Line, “Age

Dragan , “Provably good global buffering using an available buffer block plan”, IEEE International Conference on Computer-Aided Design, pp.. Cong, “Interconnect performance

Compared with the combination of our IO assignment, the single-layer BGA global router[1] and our detailed routing phase, our RDL router reduces the global wirelength by 15.9%