• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
79
0
0

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

全文

(1)

中 華 大 學 碩 士 論 文

長度限制之差動對跳脫繞線

Length-constrained Escape Routing of Differential Pairs

系 所 別:資訊工程學系碩士班 學號姓名:E09802009 蕭義勳 指導教授:顏金泰 博士

中 華 民 國 103 年 2 月

(2)

i

摘 要

隨著電子產品體積越來越小,電子系統變大和越來越複雜,印刷電路板上積體電 路的數量增加,積體電路之間的線路也越密集。由於球柵陣列封裝積體電路大部分是 高接腳數量,在印刷電路板設計工作上,繞線工作變得更加困難。高頻數位電路利用 差動信號傳輸對來傳輸高速信號,差動對成為現代印刷電路板設計重要的一種技術。

給定單一晶片元件內一組差動對集合,和差動對最大容忍長度差。基於工業電路 板上,觀察差動對跳脫繞線結果,所有的差動對可以分為區域差動對和全域差動對。

兩階段跳脫繞線,第一階段區域差動對直接跳脫繞線,首先,選擇滿足長度限制的差 動對會合方格。然後,一些區域差動對可以直接跳脫繞線,和使用直接跳脫路徑繞線 到邊界。第二階段全域差動對跳脫繞線,首先,選擇滿足長度限制的差動對適合會合 方格。然後,全域差動對可以跳脫繞線,和使用已知障礙物基於流量的跳脫路徑繞線 到邊界。

根據實驗結果顯示,我們所提出的方法達到100%跳脫繞線可完成率,與 Yan 提 出基於網路流量[11]的方法做比較,由數據得知我們所提出的方法 CPU 執行時間平均 降低79.6%。實驗在測試範例中,我們提出的方法在合理 CPU 執行時間內,單一晶 片內所有差動對滿足最短長度限制,得到長度限制之跳脫繞線結果。

關鍵字: 差動對,跳脫繞線,長度限制

(3)

ii

ABSTRACT

As the feature size of microelectronic technology becomes smaller, modern electronic systems become larger and more complicated. The number of integrated circuit(IC) increased in printed circuit board(PCB), IC and IC circuit lines between more density. Due to most of the ball grid array(BGA) package IC is the number of high pin, board-level routing works becomes more difficult in PCB designs. A differential pair(DP) is used to transmit high-speed signal in high-frequency digital circuit, a DP becomes an important technique for modern PCB designs.

In this paper, given a set of DPs inside a single chip and the maximum tolerant length difference in a DP. Based on the of the observation of the DP escape routing result from industrial boards, all the DPs can be divided into local and global DPs. By using a two-phase routing approach, direct escape routing for local DPs in first phase, firstly, the merging grids of all the DPs can be selected to satisfy the given length constraint.

Furthermore, some local differential pairs can be escaped and routed by using direct escape paths. Escape routing for global DPs in second phase, firstly, the feasible merging grids of all the DPs can be selected to satisfy the given length constraint. Furthermore, the global DPs can be escaped and routed by using obstacle-aware flow-based escape paths.

Compared with Yan’s network-flow-based approach[11], the experimental results show that our proposed approach reduces 79.6% of CPU time on the average to achieve 100% escape routability for six tested examples. Additionally, our proposed approach can be obtain length-constrained escape routing results under small length constraint for the tested example in reasonable CPU time.

Keywords: Differential pair, Escape routing, Length constraint

(4)

iii

誌 謝

首先,感謝指導教授顏金泰博士在課業及學業上教導,使我在知識的增 長,和科學研究方法的進步,以及面對問題的思考,有很大的獲益。然後,感 謝家人默默的支持,不時的加油和鼓勵,讓我可以專心完成論文。最後,感謝 實驗室志瑋學長和建榮的幫忙與協助,以及實驗室其他一起努力打拼的同伴,

書延、鈞強、昱仁、銘群、戎佩。感謝班上同學,和一路相隨的朋友,大家一 起讀書和考試,度過求學苦澀時光。

蕭義勳 謹致 中華民國103 年 1 月於新竹

(5)

iv

目 錄

摘 要 ... i

ABSTRACT ... ii

誌 謝 ... iii

目 錄 ... iv

表目錄 ... v

圖目錄 ... vi

第一章 簡介 ... 1

1.1 印刷電路板繞線 ... 3

1.2 印刷電路板設計 ... 4

1.3 差動信號 ... 5

1.4 論文貢獻 ... 7

1.5 論文結構 ... 7

第二章 相關研究 ... 8

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

3.1 研究動機 ... 22

3.2 問題描述 ... 24

第四章 差動對會合方格的選擇 ... 28

4.1 概述 ... 28

4.2 單一差動對長度限制之會合方格的選擇 ... 29

差動對兩個繞線接點共行或共列 ... 31

4.2.1 差動對兩個繞線接點不共行且不共列 ... 33

4.2.2 4.3 兩對差動對單軌會合區域重疊之選擇 ... 38

第五章 長度限制之差動對跳脫繞線 ... 42

5.1 區域差動對之直接跳脫繞線 ... 45

已知跳脫方向的會合方格 ... 45

5.1.1 直接跳脫繞線 ... 46

5.1.2 5.2 反覆已知障礙物基於流量之全域差動對跳脫繞線 ... 50

5.2.1 適合會合方格的選擇 ... 50

5.2.2 可用繞線方格的分割 ... 56

5.2.3 最小成本最大流量路徑的決定 ... 59

5.3 時間複雜度分析 ... 65

第六章 實驗結果 ... 66

第七章 結論與未來研究 ... 68

7.1 結論 ... 68

7.2 未來研究 ... 69

參考文獻 ... 70

(6)

v

表目錄

表I 長度限制之差動對跳脫繞線實驗結果 ... 67

(7)

vi

圖目錄

圖1.1 積體電路連接印刷電路板示意圖 ... 2

圖1.2 印刷電路板上的繞線 ... 3

圖1.3 繞線間距與繞線容量 ... 4

圖1.4 一對差動信號傳輸結構 ... 5

圖2.1 基於網路流量演算法[2] ... 9

圖2.2 整數線性規劃[5] ... 10

圖2.3 區域繞線之結構[8] ... 11

圖2.4 基於網路流量[8] ... 12

圖2.5 晶片封裝及印刷電路板繞線之結構[7] ... 12

圖2.6 繞線網路[7] ... 13

圖2.7 兩個元件之間匯流排繞線[6] ... 14

圖2.8 錯誤的網路模型繞線問題[9] ... 15

圖2.9 傳統網路流量模型[9] ... 15

圖2.10 網路流量模型[9] ... 16

圖2.11 單一方格之圖模型[10] ... 17

圖2.12 三種不同繞線方式通過圖模型[10] ... 17

圖2.13 三種最小節點切線[10] ... 18

圖2.14 單一差動對跳脫繞線[11] ... 18

圖2.15 多對差動對同時跳脫繞線[11] ... 19

圖2.16 尋找差動對會合方格[12] ... 20

圖2.17 網路流量方法[12] ... 21

圖2.18 差動對雙軌繞線轉折 ... 21

圖3.1 差動對跳脫繞結果[11] ... 23

圖3.2 差動對跳脫繞結果[12] ... 23

圖3.3 長度限制之差動對跳脫繞線結果 ... 27

圖4.1 一對差動對的會合區域 ... 29

圖4.2 單一差動對長度限制之會合方格的演算法 ... 31

圖4.3 一對差動對兩條單軌繞線,P =0 或Q =0 會合連接 ... 32

圖4.4 計算P =0 和Q =3 會合方格數量 ... 33

圖4.5 一對差動對兩條單軌繞線,P =1 或Q =1 會合連接 ... 35

圖4.6 計算P =1 和Q =1 會合方格數量 ... 36

圖4.7 一對差動對兩條單軌繞線,P >1 及Q >1 會合連接 ... 37

圖4.8 計算P =2 和Q =2 會合方格數量 ... 38

圖4.9 單軌繞線區域重疊 ... 39

圖4.10 長度限制之會合方格重疊 ... 40

圖4.11 差動對會合方格的選擇 ... 41

(8)

vii

圖5.1 單一晶片內繞線區域的劃分 ... 42

圖5.2 差動對跳脫繞線設計流程 ... 43

圖5.3 繞線方格內轉角繞線 ... 44

圖5.4 分配全部差動對 ... 44

圖5.5 已知跳脫方向的會合方格 ... 46

圖5.6 區域差動對直接跳脫繞線 ... 48

圖5.7 直接跳脫繞線的演算法 ... 49

圖5.8 第一種情況兩對差動對的會合連接相交 ... 51

圖5.9 第二種情況兩對差動對的會合連接相交 ... 52

圖5.10 第三種情況兩對差動對的會合連接相交 ... 53

圖5.11 全域差動對的會合方格和單軌繞線區域 ... 56

圖5.12 全域差動對可用繞線方格的分割和建構完成相鄰圖形 ... 58

圖5.13 最小成本最大流量路徑和全域差動對跳脫繞線 ... 60

圖5.14 剩餘一對全域差動對的會合方格和單軌繞線區域 ... 61

圖5.15 剩餘全域差動對可用繞線方格的分割和建構完成相鄰圖形 ... 62

圖5.16 最小成本最大流量路徑和剩餘全域差動對跳脫繞線 ... 63

圖5.17 已知障礙物基於流量跳脫繞線的演算法 ... 64

(9)

1

第一章 簡介

隨著積體電路與資訊硬體科技產業快速發展,數位電子產品不斷研發創新趨向於 輕、薄、短、小、快速,高速數位電路系統的訊號上升時間越來越短,工作時脈頻率 越來越快。由於電子系統變大和越來越複雜,在印刷電路板上積體電路的數量越來越 多,積體電路之間的繞線也越來越密集。因為高接腳數的積體電路經常被使用在產品 印刷電路板上,印刷電路板設計也變得越來越困難,傳統手動繞線是一個枯燥乏味而 且容易出錯的工作,發展自動繞線工具是一個重要的工作。

高速數位電路設計要考量的因素越來越多,最常面臨就是雜訊干擾的問題,雜訊 是訊號在傳輸過程中,受到一些外在能量所產生的干擾現象,例如電磁波干擾,雜訊 通常會造成信號的失真。雜訊的來源除了來自系統外在環境,也有可能由系統本身所 產生,數位電路系統的雜訊一般來至系統內部。使用屏蔽阻隔系統外的電磁波干擾,

系統內部的接地反彈雜訊,可以使用差動對繞線方式克服。

高速數位電路信號在傳輸過程中會遇到各種信號不連續狀況,例如轉折、分路、

導孔、或連接器等,因而產生反射雜訊。訊號線與訊號線之間由於電磁耦合效應,會 產生串音雜訊。數位系統的位元數如果越多,而且同時切換邏輯狀態的I/O 接腳個數 也相對越多,工作的過程中可能會產生電壓雜訊,也可能會導致電源及參考零電位不 穩定現象,因此造成接地反彈雜訊。因為數位電路正邏輯電壓不斷下降,目前從1.8v 降到1.2v,因此這些雜訊甚至會影響到邏輯正電位的誤判,使得整個模組產生錯誤工 作或動作。

差動對信號傳輸線比傳統單線信號傳輸線有抗雜訊功能,通常使用在高速數位電 路設計,差動對信號傳輸線逐漸取代傳統單線信號傳輸線。差動對是目前最常使用於 高速數位電路印刷電路板設計的一種技術,因為差動對具有抗雜訊能力,和抑制電磁 波干擾,以及抑制接地反彈雜訊等優點。

(10)

2

隨著半導體製程技術的進步,積體電路內部晶片越做越小,同一顆積體電路內部 晶片數量也越來越多,晶片與晶片擺放變得越來越密集。晶片封裝技術可以分成打線 封裝技術(Wire-bonding)和覆晶封裝技術(Flip-chip)兩種,打線封裝用金屬線連接晶片 四周輸入輸出接點連接線到載板,覆晶封裝以晶片的下方接腳連接到載板,然後,使 用球柵陣列封裝(Ball Grid Array,BGA),連接到印刷電路板。

晶片封裝內包含信號層、電源層/接地層,兩個晶片相同編號信號線在信號繞線 層互相連接,再利用連通柱(Via)連接到載板,積體電路封裝完成後,在凸塊金屬板下 方黏貼錫球成為對外接腳,如圖1.1 示意圖。

若相同編號差動對兩條繞線,不是同時繞線在同一層繞線層,繞線過程中需要使 用貫孔連接不同層的繞線,差動對兩條繞線的差動特性阻抗彼此會出現明顯差異,因 而造成差動對信號歪斜。差動對信號傳輸線在繞線時,若要繞過其它不同編號差動對 或是避開障礙物,因而產生多次轉折,除了會增加繞線長度也會增加阻抗值,可以在 接收端差動對兩條繞線間增加一個匹配電阻,可以適當調整匹配電阻值改善信號品 質。

圖1.1 積體電路連接印刷電路板示意圖

(11)

3

1.1 印刷電路板繞線

印刷電路板上的繞線可以分成兩個階段,第一階段跳脫繞線(Escape Routing),第 二階段匯流排繞線(Bus Routing),跳脫繞線是從晶片內部圓形繞線接點,繞線到晶片 四周圍的邊界,匯流排繞線是將在兩個晶片邊界上,相同編號的繞線互相連接,如圖 1.2 所示。

跳脫繞線有順序跳脫繞線和無順序跳脫繞線兩個問題討論,從晶片內部接腳繞線 到晶片邊界,要求指定邊界方向及位置是順序跳脫繞線考量,因為兩個晶片之間要互 相連線時,相同編號的兩個接腳才能連接,然後,匯流排繞線才不會造成繞線相交。

從晶片內部接腳繞線到鄰近邊界,不需考量邊界方向和邊界上繞線編號次序是無順序 跳脫繞線。有順序跳脫繞線和無順序跳脫繞線通常在單層繞線層上進行繞線,所有繞 線必須在繞線接點之間空白的區域進行繞線動作,必須符合繞線接點之間繞線限制數 量,而且任何繞線之間不能發生相交。

匯流排繞線主要考量同一組匯流排內任何繞線需要滿足長度匹配,也就是繞線長 度必須相同,匯流排內任何繞線的延遲時間相同,訊號時序才能同時抵達,為匯流排 繞線限制條件之一,其他限制條件繞線例如相同線寬,以及任何繞線之間不能發生相 交。

圖1.2 印刷電路板上的繞線

(12)

4

1.2 印刷電路板設計

在印刷電路板上的線路,可以分成單一信號線和差動對信號線兩種類型。單一信 號線通常使用在低頻訊號傳輸信號,傳送距離短,而且容易受到雜訊干擾。差動對信 號線使用在高頻數位電路傳輸信號,傳送距離長,差動對兩條信號傳輸線同時傳送一 對互補信號,兩條信號傳輸相同信號,有抗雜訊干擾的優點。

nxm 圓形錫球接點排列而成的圓形接點二維矩陣,繞線通常在兩個圓形接點 之間的空間,做垂直繞線或水平繞線,或在兩個圓形接點對角線之間繞線。任何兩個 圓形接點左/右相鄰,或上/下相鄰除了要考慮彼此距離,還需要考量圓形接點與任何 繞線之間的安全距離。考量差動對單軌繞線的線寬(w),差動對兩條繞線之間最小間 距(s2),差動對繞線與圓形接點之間最小間距(s1),一般單線繞線與圓形接點之間最小 間距(s3和 s4),以及繞線轉角(θ),如圖 1.3(a)所示。繞線轉角不能是銳角,以 45 度 繞線轉角為佳。

每一個繞線方格有4 個圓形接點,繞線方格利用四邊相鄰容量限制繞線穿越繞線 方格進出數量,繞線方格內兩個圓形接點之間的對角線,利用對角線容量限制繞線方 格內繞線數量,如圖1.3(b)所示,在 4 個圓形錫球接點圍成的單一方格,限制單一方 格繞線數量。

(a) 繞線與圓形接點 (b) 相鄰容量與對角線容量 圖1.3 繞線間距與繞線容量

(13)

5

1.3 差動信號

相同編號差模信號的兩條線路上,同時傳送兩個相同振幅大小、相位相差 180 度的信號,稱為差動對(Differential Pair)或是平衡對(Balance Pair),反之傳送兩個相同 振幅大小、相位相差0 度的信號,稱為共模信號。差模信號有抑制雜訊的能力,可是 缺點是需要兩條傳輸線同時傳輸相同信號,因此差動對傳輸信號線的繞線面積,是一 般單一信號傳輸線兩倍以上的繞線面積。

差模信號傳輸線路必需在訊號編碼端和解碼端,都是使用差動對傳輸方式,若有 一端不是差動對設計方式,則差動對抑制雜訊的功用就不存在。在印刷電路板上差動 對佈局考量,需先讓相同編號差動的兩條單軌繞線合併,以及合併後差動對跳脫繞線 必須符合三個要求,第一個差動對兩條繞線的長度相近,第二個差動對兩條繞線的線 寬相同,第三個差動對兩條繞線必須緊鄰並且保持平行。

相同編號的一對差動對兩條傳輸線,同一時間傳輸一對互補信號,在驅動器端將 信號編碼成一個正電位信號(Signal+)和一個負電位信號(Signal-),如圖 1.4 所示。訊號 沿著繞線通道傳送到接收端,接收端接收到訊號再做解碼,得到驅動器端傳送的原始 信號。繞線通道的兩條信號傳輸線必需彼此保持相鄰,在傳輸過程中若受到雜訊干 擾,幾乎是同時被耦合到兩條線路上,接收端得到的兩個傳輸信號做正電位信號與負 電位信號相減,可以得到輸入端原始放大信號,所以,信號傳輸過程受到的雜訊可以 被消除。

圖1.4 一對差動信號傳輸結構

(14)

6

差動對能有效抑制電磁干擾,由於兩條差動信號的極性相反、電流方向相反,對 外界輻射的電磁場可以相互抵消,兩條差動信號線耦合的越緊密,互相抵消的磁力線 就越多,但是兩條單一差動信號線彼此要保持最小耦合間距。

印刷電路板在設計佈局時並不是全部的資料線,或是訊號線都需要使用差動對繞 線方式,差動對繞線一般使用於重要的資料線,或容易受到干擾的線路,因為使用差 動對繞線的成本比傳統單線繞線方式高。而振盪時脈電路的線路是不能使用差動對繞 線,若時脈電路的兩條繞線彼此靠的太近,時脈信號上的訊號會互相抵消,所以兩條 時脈信號繞線時需保持單線安全距離。

差動對傳輸線在印刷電路板佈局設計時,需要考量差動對單一線路的金屬線寬、

厚度、長度,差動對兩條繞線之間的安全距離,以及與接地層之間的介質。差動對的 兩條信號傳輸線路,繞線時需遵守長度相近、線寬等寬、緊鄰平行三個要求,相同編 號差動對的兩條繞線長度必須接近,相同編號差動對的兩條繞線寬度必須相同,相同 編號差動對的兩條單軌繞線合併之後,必須保持電容偶合效應相鄰並且保持平行,不 同編號的差動對彼此之間要保持單線繞線安全距離,若彼此距離太近,會產生串音雜 訊。

若差動對的兩條信號傳輸線間距大於電容效應距離,差動兩條信號線從相依關係 變成彼此獨立,訊號傳輸過程中若有雜訊發生時,雜訊不會同時作用在兩條信號傳輸 線上,接收端會因為兩條線路傳輸不同信號,無法得到傳輸端傳送的原始信號。

差動對兩條傳輸線平行繞線的方式有兩種,一種為差動對兩條傳輸線在同一層繞 線 層(side by side) , 另 一 種 為 差 動 對 兩 條 傳 輸 線 在 上 / 下 相 鄰 的 兩 層 繞 線 層 (over-under),目前差動對兩條傳輸線在同一層繞線的方式使用較多。

低電壓差動信號(Low Voltage Differential Signal,LVDS)是使用低振幅差動訊號技 術,低電壓差動信號目前使用在高解析度顯示器用來傳輸高頻訊號,以及光纖通訊及 電子交換裝置的介面。

(15)

7

1.4 論文貢獻

給定單一晶片內一組差動對的集合,和差動對的最大容忍長度差。基於工業電路 板上,觀察差動對跳脫繞線的結果,將全部差動對分成區域差動對和全域差動對。我 們提出兩階段跳脫繞線,第一階段區域差動對之直接跳脫繞線,一些區域差動對可以 直接跳脫繞線,和使用直接跳脫路徑繞線到晶片邊界。第二階段反覆已知障礙物基於 流量之全域差動對跳脫繞線,全域差動對可以跳脫繞線,和使用已知障礙物基於流量 的跳脫路徑繞線到晶片邊界。

實驗在 6 個測試範例的繞線結果中,我們提出的方法與 Yan 提出基於網路流量 [11]的方法做比較,我們所提出的方法 CPU 執行時間平均降低 79.6%,所有差動對滿 足最短長度限制,達到100%跳脫繞線可完成率。

1.5 論文結構

長度限制之差動對跳脫繞線,第一章簡介,晶片封裝方式和球柵陣列封裝,和印 刷電路板上跳脫繞線和匯流排繞線,和單一信號線和差動對信號線,以及差動信號傳 輸。第二章相關研究,無排序之跳脫繞線和有排序之跳脫繞線,以及差動對跳脫繞線 先前相關研究。

第三章研究動機與問題描述,說明[11]差動對跳脫繞線的缺點。長度限制之差動 對跳脫繞線的問題描述,差動對繞線限制條件。第四章差動對會合方格的選擇,在單 一差動對長度限制之會合方格選擇的程序,三種不同判斷條件,差動對兩條單軌繞線 不同的會合連接方式。第五章長度限制之差動對跳脫繞線,差動對兩階段跳脫繞線,

區域差動對之直接跳脫繞線,和反覆已知障礙物基於流量之全域差動對跳脫繞線。

第六章實驗結果,測試範例在6 個不同大小的二維矩陣陣列,基於網路流量[11]

的方法,與我們提出的方法,繞線結果記錄在表I。第七章結論及未來研究,我們提 出的方法與Yan 提出的方法[11]做比較,和未來研究部份。

(16)

8

第二章 相關研究

在印刷電路板上元件的繞線,跳脫繞線是從晶片內層向四周圍邊界繞線,跳脫繞 線問題可以分成無排序之跳脫繞線(Unordered Escape Routing)[2, 11],和有排序之跳 脫繞線(Ordered Escape Routing)[3, 5]兩種問題。從晶片內到四周邊界需要考慮繞線順 序為有排序之跳脫繞線,反之,不需要考慮繞線順序為無排序之跳脫繞線。

跳脫繞線問題在覆晶封裝的導線重佈層,輸入/輸出接合點(I/O Pad)與金屬凸塊接 合點(Bump Pad)之間繞線。覆晶封裝輸入/輸出接合點與金屬凸塊接合點,在導線重 佈層擺放方式可以分成兩種,一種是周邊式輸入/輸出緩衝器擺放方式,另一種是區 域式輸入/輸出緩衝器擺放方式。周邊式輸入/輸出緩衝器擺放方式,輸入/輸出接合點 在邊界四周,金屬凸塊接合點在中間位置。區域式輸入/輸出緩衝器擺放方式,輸入/

輸出接合點擺放在金屬凸塊接合點附近,再做小區域輸入/輸出接合點、凸塊接合點、

連接柱繞線。

周邊式輸入/輸出接合點的兩種繞線問題,第一個是自由分配的繞線問題[2],另 一個是預先分配繞線問題[3, 5]。[2]在覆晶封裝的導線重佈層,四周圍輸入/輸出接合 點與內部金屬凸塊接合點連接繞線,先將導線重佈層對角切割成四個相似三角形區 域,同一個三角形區域內輸入/輸出接合點與金屬凸塊接合點一對一繞線或多對一繞 線,對角切割可以分散繞線擁擠度及繞線均勻,也可以讓四個區域繞線長度平均。輸 入/輸出接合點與金屬凸塊接合點必須分配在同一層的三角形區域中,無法做不同三 角形區域輸入/輸出接合點與金屬凸塊接合點繞線。

全域繞線使用網路流演算法[2],每一條管線的流量及成本限制條件,從水流入 區域的起點,流經中間節點,最後流到區域的終點,可以計算出最少成本的路徑,解 決輸入/輸出接合點與金屬凸塊接合點在導線重佈層連線,如圖 2.1 所示。

在細部繞線部份,使用越過點分派法(Cross Point Assignment)、繞線順序決定法 (Net Ordering Determination)和軌道分派法(Track Assignment)逐步完成細部繞線。

(17)

9

(a) 區域切割 (b) 區域網路流量模型 圖2.1 基於網路流量演算法[2]

周邊式輸入/輸出接合點的預先分配繞線問題[3],金屬凸塊接合點與輸入/輸出接 合點之間的連線關係,也就是金屬凸塊接合點與輸入/輸出接合點已經先決定了,並 且在有限的區域空間內完成互相繞線工作,尋找到合法的繞線路徑及滿足任何繞線不 相 交的 限制條件 。因為 擺 放位置 的 差異, 有 些繞線路 徑是單 調繞線(Monotonic Routing),不用繞遠路就可以完成繞線連接,但有些必須繞遠路才能完成繞線連接,

這些繞線路徑是非單調繞線(Non-monotonic Routing)。

[3]輸入/輸出接合點在四周,圓形凸塊接合點在內側,輸入/輸出接合點與圓形凸 塊接合點分佈有兩種結構,一種是輸入/輸出接合點分佈在圓形凸塊接合點平行對邊 位置,輸入/輸出接合點繞線到圓形凸塊接合點繞線形成平行排列網狀架構。另一種 是輸入/輸出接合點分佈在圓形凸塊接合點相鄰兩邊位置,輸入/輸出接合點繞線到圓 形凸塊接合點形成交錯排列網狀架構。[3]提出一個輸入/輸出接合點必須靠近圓形凸 塊接合點,在繞線連接角度可以是任何角度,而且繞線結果並沒有考慮信號歪斜,和 繞線區域的擁擠度,以及繞線總長度最佳等問題。

(18)

10

對於[3]任何角度的繞線,[5]提出了整數線性規劃(Integer Linear Programming,

ILP)方法來改善[3]的缺點,有效利用在覆晶封裝的導線重佈層繞線上。首先根據金屬 凸塊接合點與輸入/輸出接合點的分佈情況,切割成多個區塊,然後針對各個獨立區 塊進行繞線。在全域繞線執行整數線性規劃方法,先在各金屬凸塊接合點之間插入ILP 節點,接著從周圍輸入/輸出接合點利用 ILP 節點依序往內部尋找,直到繞線到所對 應的金屬凸塊接合點才停止,如圖2.2 所示。

在細部繞線部分,有效的配置繞線節點(Passing Point Assignment)於二維陣列的兩 個相鄰金屬凸塊接合點,與輸入/輸出接合點。再使用繞線順序決定法(Net Ordering Determination)以及利用以 X 為基礎之無方格繞線(X-based Gridless Routing)來完成最 後的繞線動作。[5]有考慮到繞線總長度,繞線可完成性及信號歪斜,但是與[3]相較 是需要花費較多時間。

圖2.2 整數線性規劃[5]

隨著超大型積體電路進入奈米製程,系統變得越來越複雜,晶片的輸入輸出腳位 的數量增加,封裝技術的影響因素相對地也愈趨重要地位,進而衍伸出晶片封裝共同 設計。晶片封裝共同設計,就是擺放錫球接合點位置時,同時考慮對晶片以及封裝的 影響,可能會產生繞線、雜訊或是壓降等問題,將封裝可能會影響的因素提前到設計 晶片設計階段做為考量因素。

(19)

11

二維晶片的封裝方式分成覆晶封裝技術和打線封裝技術兩種,覆晶封裝技術在導 線重佈層,區域式輸入/輸出緩衝器擺放方式,可以分成兩種繞線問題,一個是自由 分配的繞線問題[8],另一個是預先分配繞線問題。

[8]首先考量晶片內部區塊埠(Block Port)、輸入/輸出緩衝器的分配,然後再考量 輸入/輸出緩衝器與二維陣列金屬凸塊接合點之間的繞線,如圖 2.3 所示。在全域繞線 部分,先配置每個區塊埠連接一個唯一的輸入/輸出接合點,再決定重新分配層中的 輸入/輸出接合點與金屬凸塊接合點進行繞線。

(a) 晶片層級之繞線 (b) 封裝層級在導線重佈層之繞線 圖2.3 區域繞線之結構[8]

在二維陣列任意兩個相鄰金屬凸塊接合點之間都插入中間節點,以及在二維陣列 四個相鄰金屬凸塊接合點的中心位置插入方格節點,並且透過輸入/輸出接合點、凸 塊接合點、中間節點以及方格節點建構出路徑連線關係,利用最小花費最大流量演算 法找出花費最小的繞線路徑,如圖2.4 所示。

在導線重佈層的繞線部分,有效的配置繞線節點(Passing Point Assignment)於二維 陣列的兩個相鄰金屬凸塊接合點,再決定繞線順序之後(Net Ordering Determination) 以及利用迷宮繞線(Maze Routing)來完成最後的繞線動作。

(20)

12

(a) 多層之網路流量 (b) 單一層之網路流量 圖2.4 基於網路流量[8]

[7]提出了考量晶片封裝及印刷電路板共同設計的方法,晶片封裝及印刷電路板 繞線之結構,如圖2.5 所示。晶片封裝內有兩種類型繞線,一種是從金手指繞線連接 到金屬凸塊錫球接合點,另一種是從金手指繞線連接到連通柱接合點。晶片封裝繞線 是從金手指到金屬凸塊錫球接合點,最後連接到印刷電路板上,或是連接其他封裝晶 片。印刷電路板繞線是從金屬凸塊錫球連接到錫球接合點,在圖2.5 中 s7繞線。一對 差動對在印刷電路板上繞線,在圖2.5 中一對差動對 s5和s6,一對差動對是用來傳送 相同的信號,兩條繞線彼此保持平行並且繞線長度相近。

圖2.5 晶片封裝及印刷電路板繞線之結構[7]

(21)

13

[7]晶片封裝及印刷電路板共同設計的方法,可以分成兩個階段,第一階段全域 繞線部分,印刷電路板繞線和晶片封裝繞線的繞線網路。第二階段細部繞線部分,任 何角度繞線。在印刷電路板上,印刷電路板繞線與差動對繞線是預先分配繞線。在晶 片封裝內,晶片封裝繞線是自由分配繞線。

在全域繞線部份,首先建構兩個繞線網路和差動對的線性規劃,然後兩個繞線網 路合併成一個完整繞線網路,再利用整數線性規劃找出繞線路徑。由於同時進行兩節 點和多節點繞線以及差動對繞線,使得繞線變得複雜而且非常擁擠,繞線之間容易發 生交錯,[7]提出了一個方法來減少整數線性規劃的變數數量,如圖 2.6 所示。在細部 繞線部份,使用差動對繞線(Differential-pair Routing)方法,差動對兩條繞線彼此維持 平行及最小間距,並且與錫球接合點保持間距。2 節點和多節點繞線(2-and Multi-pin Routing)方法,修正銳角繞線路徑。

(a) (b)

(c) (d)

圖2.6 繞線網路[7]

[6]兩個元件之間匯流排繞線(Bus Routing),可以分成兩個部分,第一個部分跳脫 繞線(Escape Routing),第二個部分區域繞線(Area Routing)。跳脫繞線是從元件二維矩

(22)

14

陣內向元件邊界繞線,區域繞線是完成兩個元件邊界之間的接線,如圖2.7 所示。兩 個元件跳脫繞線都必須將接腳繞線到元件的邊界,並且元件兩邊的連線編號順序必須 互相對應,然後進行區域繞線。區域繞線的重點,考量匯流排內每一條信號線延遲時 間相同,而且部份繞線使用彎曲蛇行繞線,也就是區域繞線內匯流排繞線長度相等。

圖2.7 兩個元件之間匯流排繞線[6]

在高頻電路中為了延遲時脈因而增加繞線長度,可以讓工作時間放慢,讓其他工 作有效率的完成,不同於一般用圓弧蛇行繞線,延遲時間可能會有誤差。一般做電路 板佈局時,除了考量積體電路接腳或球柵陣列封裝的接腳,還要預留繞線所需要的空 間,然後根據繞線需求規劃繞線方格數量及大小,而垂直的線段與水平的線段會受限 於繞線方格的空間大小。[6]可以在無需先規劃繞線方格,由繞線前進方向決定走向,

再利用格間與牆圍出繞線空間,以及計算出所需延遲繞線。

[9]跳脫路徑問題是從二維矩陣陣列內指定的錫球接點的繞線到二維陣列的邊 界,在二維矩陣的錫球接點中,四個相鄰錫球接點圍成一個方格,兩個錫球接點垂直 /水平或對角線之間的繞線數量限制,將兩個錫球接點垂直/水平之間稱相鄰容量,兩 個錫球接點對角線之間稱對角線容量。

[9]中提到先前研究方法忽略了對角線的容量限制,或不正確的繞線方格的容量 限制,無法確定對角線容量。以圖2.8(a)中,相鄰容量是 2 與對角線容量是 3,無法 得到圖2.8(c)的繞線結果,如果將對角線容量改為 4,則會發生圖 2.8(b)錯誤的繞線結 果。

(23)

15

(a) (b) (c)

圖2.8 錯誤的網路模型繞線問題[9]

[9]中提到先前研究方法的網路流量模型是錯誤的模型,如圖 2.9 傳統網路流量模 型,網路流量演算法引導矩陣接腳流向邊界。在網路繞線的數量,只給出一個上限估 計值,不能夠正確給予對角線容量[4]。所以,無論如何設置繞線方格容量,還是能 夠找到違反容量限制的例子。

(a) 傳統流量模型 (b) 方格容量 圖2.9 傳統網路流量模型[9]

[9]提出了一個新的網路流量模型,如圖 2.10 所示。使用正確網路流量模型來找 到無順序之跳脫繞線的最大值,並且透過兩個接點之間能夠通過的繞線數量最大值,

找出兩個元件之間最多的接線對應數量,此方法可適用於單層繞線,以及多層繞線。

先使用網路流量演算法找出每一個區塊的全域繞線,再使用繞線方格特性完成繞線。

最後,移動未使用圓形錫球接點,可以讓繞線面積變大,內層的繞線可以穿越。

(24)

16

圖2.10 網路流量模型[9]

印刷電路板佈局最後的關鍵在於元件之間彼此繞線,也被稱為元件跳脫繞線,從 元件內部接腳向邊界繞線,有三個跳脫繞線的問題[10]。第一個單一元件無順序之跳 脫繞線,元件內部全部接腳沒有順序向邊界繞線,元件內部全部接腳並無權重或成本 的關係,適合元件接腳位置分佈較稀疏。第二個單一元件有順序之跳脫繞線,元件內 部全部接腳依照權重或成本計算,接腳依序向邊界繞線,並在指定邊界依序排列。第 三個兩個元件之間跳脫繞線,兩個元件會有三種排序的組合,第一種兩個元件都沒有 依序排序,第二種兩個元件其中有一個元件有依序排序,第三種兩個元件都有依序排 序。三個跳脫繞線的問題,應用在不同的積體電路封裝和印刷電路板佈局,[10]主要 在兩個元件之間跳脫繞線,兩個元件接腳同時跳脫繞線,從元件內接腳跳脫繞線到自 己元件邊界,然後在邊界上依照接腳編號彼此連接。

[10]提出單一繞線方格之圖模型,如圖 2.11 圖模型的繞線結構,並協調繞線區塊 內的擁擠度,解決區域繞線擁擠度問題。此繞線的圖模型基本水平容量和垂直容量以 及對角線容量(2, 2, 3),最大水平容量和垂直容量以及對角線容量(2, 2, 4)。所以,可 以處理繞線區塊內繞線擁擠問題,以及處理圖2.8(b)繞線問題。

(25)

17

(a) (b)

圖2.11 單一方格之圖模型[10]

三種不同繞線方式通過圖模型,水平繞線穿越單一方格,水平容量如圖 2.12(a) 所示,垂直繞線穿越單一方格,垂直容量如圖 2.12(b)所示,以及單一方格內對角線 容量,如圖2.12(c)所示。

(a) (b) (c)

圖2.12 三種不同繞線方式通過圖模型[10]

[10]協調單一繞線方格內繞線擁擠度,如圖 2.13 三種最小節點切線,圖 2.13(a) 起點(s)到匯點(t)水平最小節點切線,檢查水平繞線通過數量,圖 2.13(b)起點(s)到匯 點(t)垂直最小節點切線,檢查垂直繞線通過數量,圖 2.13(c)起點(s)到匯點(t)對角線最 小節點切線,檢查方格內繞線通過對角線的數量,調整擁擠方格內繞線數量。完成單 一元件內跳脫繞線,然後進行兩個元件之間相同編號連接繞線。如果在單一元件邊界 內側還有空間,繞線方向可以往回進行繞線,可以解決兩個元件在連線邊界上,相同 編號位置不對稱的問題。

(26)

18

(a) 水平最小節點切線 (b) 垂直最小節點切線 (c) 對角線最小節點切線 圖2.13 三種最小節點切線[10]

相同編號的差動對兩條單軌繞線,各自從繞線接點繞線到距離最近的會合方格,

任何一對差動對繞線應盡快合併,可以降低雜訊干擾,合併之後的差動對雙軌繞線是 不能再被分開,直到信號接收端,若差動對雙軌繞線過程中有分開,差動對抗雜訊功 能就可能受到影響[11]。

[11]提出兩個差動對跳脫繞線演算法,第一個為單一差動對跳脫繞線,另一個為 多對差動對同時跳脫繞線。單一差動對跳脫繞線如圖2.14 所示,首先尋找相遇方格,

從最近邊界為起點(s)利用戴克斯特拉演算法(Dijkstra Algorithm)找到相遇方格,再從 相遇方格選出會合方格為匯點(t),找出最短路徑如圖 2.14(a)所示。然後,利用網路流 量演算法,從差動對{a, b}兩個節點法為起點(s)到會合方格為匯點(t),找出最小成本 流量的單軌繞線路徑如圖2.14(b)所示。最後,完成單一差動對單軌繞線和雙軌繞線,

如圖2.14(c)所示。

(a) (b) (c)

圖2.14 單一差動對跳脫繞線[11]

(27)

19

多對差動對同時跳脫繞線部份,同時考慮多對差動對跳脫繞線,如圖2.15 所示。

利用流量演算法,選出各對差動對的相遇方格,如圖2.15(a)所示。再從各對差動對的 相遇方格,利用網路流量演算法,從起點(s)到邊界為匯點(t),找出水流路徑,如圖 2.15(b)所示。利用最小成本最大流量的方法,從會合方格到邊界繞線,如圖 2.15(c) 所示。最後,完成多對差動對單軌繞線和雙軌繞線,如圖2.15(d)所示。

(a) (b)

(c) (d)

圖2.15 多對差動對同時跳脫繞線[11]

[12]提出改善[11]差動對信號歪斜問題,以差動對兩條單軌繞線長度匹配為考量 的方法,分成兩個階段,第一階段差動對兩個繞線節點之最小成本會合方格,第二階 段差動對跳脫繞線之網路流量方法。

尋找差動對兩個繞線節點之間的最小成本會合方格,差動對兩個繞線節點到會合 方格,單軌繞線長度是最短距離及相同距離,將差動對分成四種類型,如圖 2.16 所 示。圖2.16 (a)差動對節點 a 和節點 b 是 x 軸相同或 y 軸相同,以及曼哈頓距離是奇

(28)

20

數,圖2.16 (b)差動對節點 a 和節點 b 是 x 軸相同或 y 軸相同,以及曼哈頓距離是偶 數,圖2.16(c)差動對節點 a 和節點 b 是 x 軸和 y 軸不相同,以及曼哈頓距離是奇數,

圖2.16 (d)差動對節點 a 和節點 b 是 x 軸和 y 軸不相同,以及曼哈頓距離是偶數。

差動對兩個繞線節點到會合方格的單軌繞線路徑,若使用整數線性規劃會讓時間 複雜度變高,所以,[12]提出分組方法(Grouping Method)和大群組分割方法(Large Group Dividing Method),減少整數線性規劃的變數數量和限制條件。

(a) (b)

(c) (d)

圖2.16 尋找差動對會合方格[12]

[12]使用差動對跳脫繞線之網路流量方法,同時考量多對差動對跳脫繞線問 題,計算最小成本和最大流量,差動對{a, b}兩個節點的會合方格為起點(s)到邊界為 匯點(t),找出最小成本流量的雙軌繞線路徑,如圖 2.17 所示。圖 2.17 (a)網路流量圖 形架構,圖2.17(b)流量路徑分配,圖 2.17(c)差動對雙軌繞線結果。

(29)

21

(a) (b) (c)

圖2.17 網路流量方法[12]

差動對的雙軌繞線轉折處從電路分析角度來看,在低頻時,轉角的阻抗無任何變 化,在高頻時,電感會有很大的阻抗,電容會有很大的導納,差動訊號會有很大的阻 抗不連續,而造成訊號的反射。差動對的兩條單軌傳輸繞線受到的反射,使其信號大 小及相位均不同,造成共模雜訊。差動對的繞線寬度會影響電容值,差動對的繞線長 度會影響電感值,在[1]討論差動對繞線轉折不連續性問題。差動對雙軌繞線轉折 90 度直角,如圖2.18(a)與 90 度圓弧,如圖 2.18(b),差動對雙軌繞線轉折 45 度轉角,

如圖2.18(c)。

90 度圓弧轉角的差模特性阻抗最接近電路設計值,其次 45 度轉角,然後 90 度 直角轉角。從電路模擬軟體分析結果,共模雜訊最大為 90 度直角轉角,然後是 90 度圓弧轉角,最後是45 度轉角。從差動對傳輸線轉折處,觀察差動信號不連續性,

提出分析方法及等效電路,90 度轉角與 45 度轉角的差模特性阻抗比較。差動對轉折 處會影響高頻數位電路,信號傳輸的完整性,繞線長度的差距會影響信號品質[1]。

(a) 90 度直角 (b) 90 度圓弧 (c) 45 度轉角 圖2.18 差動對雙軌繞線轉折

(30)

22

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

3.1 研究動機

我們提出的這篇論文,主要是改善[11]未考量差動對兩條單軌繞線的長度限制,

如圖3.1 中紅色框線所示,和違反繞線轉角不允許是銳角,如圖 3.1 中藍色圓圈所示,

以及改善[12]違反繞線轉角不允許是銳角,如圖 3.2 中藍色圓圈所示。

在[11]主要以繞線長度最短做為優先考量,尋找差動對的會合方格,以選擇最靠 近邊界的會合方格,雖然可以節省雙軌繞線長度,但是相同編號差動對的兩條單軌繞 線長度差距過大,超出最大容忍長度差,以及繞線轉角違反銳角限制。在[12]主要以 單一差動對的單軌繞線長度匹配做為考量條件,尋找單一差動對兩條單軌繞線長度最 短而且相同的會合方格,雖然可以改善[11]差動對信號歪斜問題,但是差動對單軌繞 線違反繞線轉角不能是銳角的限制條件。以圖3.1 和圖 3.2 為範例,單一晶片內 12x12 圓形接點的二維矩陣陣列,15 對差動對跳脫繞線。

改善[11]差動對跳脫繞線的缺點,相同編號的差動對兩條單軌繞線受到長度限 制,差動對兩條單軌繞線應盡快會合成一對,才能維持差動對抗雜訊和抑制電磁波優 點。差動對兩條單軌繞線的長度差距如果過大,容易造成阻抗匹配問題,造成差動對 信號歪斜。差動對的單軌繞線是從兩個繞線接點繞線到會合方格,兩條單軌繞線長度 距離差應該受限於最大容忍限制條件,方能維持雜訊抑制能力。改善[11, 12]差動對 單軌繞線的缺點,選擇任何差動對的會合方格時,避免繞線轉角發生銳角的情況。

(31)

23

圖3.1 差動對跳脫繞結果[11]

圖3.2 差動對跳脫繞結果[12]

(32)

24

3.2 問題描述

在印刷電路板設計中,單一晶片的繞線區域可以被看成繞線方格的二維矩陣陣 列,每一個繞線方格由四個圓形接點所組成。通常單一晶片的輸入/輸出信號傳輸線 路,可以分成差動對信號傳輸線和一般單一信號傳輸線,在單一晶片內所有信號傳輸 線的跳脫繞線路徑,差動對信號傳輸線比一般單一信號傳輸線變得更重要的原因,是 因為差動對信號傳輸線有長度匹配的限制考量。

單一晶片內差動對跳脫繞線與一般單一信號線的跳脫繞線,兩者跳脫繞線的順序 考量問題,如果一般單一信號線比差動對信號線先完成跳脫繞線到晶片邊界,則一般 單一信號線的跳脫繞線結果,可能會影響差動對跳脫繞線到晶片邊界,造成差動對跳 脫繞線無法完成。

單一晶片內要完成所有信號傳輸線的跳脫繞線,差動對的跳脫繞線順序要在一般 單一信號線之前,完成差動對跳脫繞線到晶片邊界,差動對跳脫繞線的結果可以被視 為障礙物,一般單一信號線可以利用已知障礙物基於流量之跳脫繞線方法,從繞線接 點跳脫繞線到晶片邊界。

由[11]可以知道單一晶片內有多對差動信號傳輸線的來源端,在圓形接點行列排 列而成的二維矩陣陣列上,並且在單一層繞線平面上要進行跳脫繞線。不同編號的差 動信號傳輸對,不會擺放重覆繞線接點矩陣陣列位置,不同編號的差動對信號傳輸線 彼此是獨立關係。

差動對信號傳輸線進行繞線時,可以在相鄰兩個圓形接點之間的空間進行繞線,

但是相同編號差動對的兩條繞線要保持最小間距,不同編號差動對彼此之間要保持一 定安全距離,每一個繞線方格有容量值限制通過繞線數量。

任何差動對是由相同編號的兩條單軌繞線在會合方格合併而成,然後再從會合方 格繞線到晶片邊界。相同編號的差動對兩條單軌繞線不能發生互相交叉,不同編號的 差動對單軌繞線彼此亦不能發生互相交叉。任何一對差動對為了維持信號傳輸品質,

差動對的兩條單軌繞線不能超過最大容忍長度差的限制,所以,長度限制(length

(33)

25

constraint)條件,成為單一晶片內任何差動對單軌繞線的重要考量因素。

任何一對差動對基於長度限制下,差動對的兩條單繞線應該盡快合併,差動對的 兩條單軌繞線會合後,然後進行跳脫繞線到晶片邊界,差動對的雙軌繞線起點為會合 方格。相同編號的差動對雙軌繞線彼此不能發生互相交叉,以及不能發生迴路,不同 編號的差動對雙軌繞線亦不能發生互相交叉。

對於差動對繞線長度的計算,為了簡化繞線長度計算,繞線通過的繞線方格數量 做為繞線長度,單軌繞線是從繞線接點到會合方格的繞線方格數量,雙軌繞線是從會 合方格到晶片邊界的繞線方格數量。繞線總長度計算,差動對兩條單軌繞線取最長的 單軌繞線做為單軌繞線長度,加上雙軌繞線之繞線長度的總合。

單一晶片內圓形接點行列排列而成的二維矩陣陣列,總共有rxs 圓形接點的二維 矩陣陣列大小,以 𝑃 = {𝑝(1,1), 𝑝(1,2), … , 𝑝(1,𝑠), … , 𝑝(𝑟,1), 𝑝(𝑟,2), … , 𝑝(𝑟,𝑠)}做為圓形接點二 維矩陣陣列的集合(P),單一晶片內總共有 n 對差動對,以 𝑁 = {𝑛1, 𝑛2, … , 𝑛𝑛} 做為 差動對的集合(N),n 對差動對在圓形接點二維矩陣陣列集合中。繞線方格數量總共有 (r-1)x(s-1),以 𝑇 = {𝑡(1,1), 𝑡(1,2), … , 𝑡(1,𝑠−1), … , 𝑡(𝑟−1,1), 𝑡(𝑟−1,2), … , 𝑡(𝑟−1),(𝑠−1)}做為繞線 方格二維矩陣陣列的集合(T)。

任何差動對的兩個繞線節點在圓形接點二維矩陣陣列位置,單一晶片內全部差動 對跳脫繞線只能在單一層繞線平面上進行繞線。所以,限制條件第1 項,單一層繞線 層上任何兩條繞線彼此不能發生互相交叉。限制條件第2 項,單一晶片內單一層繞線 層上,相鄰兩個圓形接點之間有容量限制。 限制條件第 3 項,任何差動對的兩條單 軌繞線之間有長度限制條件,長度限制是相同編號差動對兩條單軌繞線的繞線長度之 差。繞線輸出結果,在單一繞線層平面上差動對跳脫繞線,可以完成跳脫繞線的最大 數量。

單一晶片內有rxs 圓形接點二維矩陣陣列,n 對不同編號差動訊號對,以球柵陣 列封裝晶片底層金屬凸塊的錫球做為對外接腳,在印刷電路板上設計及佈局,要考量 單一晶片內有n 對不同編號的差動對跳脫繞線問題,首先需要輸入球柵陣列封裝晶片

(34)

26

的相關資料,如下列所示。

(1) 球柵陣列封裝晶片尺寸。

(2) 錫球接腳之間的距離。

(3) 接腳編號及位置。

(4) 錫球尺寸。

(5) 圓形錫球接點直徑。

(6) 差動對數量與接腳位置。

(7) 電源與接地接腳位置。

(8) 訊號輸入/輸出與資料輸入/輸出接腳位置。

將以上資料進行整理,我們主要處理n 對不同編號的差動對佈局工作,其他電源 或一般單一信號線接腳的資料先暫時不使用。球柵陣列封裝晶片相關資料分析後,可 以知道晶片元件在印刷電路板上所需的擺放空間,晶片元件接腳矩陣陣列數量,晶片 元件內差動對的數量,晶片元件差動對的訊號接腳位置,以及知道單一晶片的面積大 小。以下介紹差動對的繞線限制,和單一晶片內差動對跳脫繞線,長度限制之差動對 跳脫繞線的問題。

(1) 差動對兩條繞線的繞線總長度要相近。

(2) 差動動兩條繞線的線寬必須相同。

(3) 差動動的兩條繞線必須彼此靠近並且平行,和保持最小間距,以及遠離其它繞 線。

單一晶片內圓形接點的二維矩陣陣列集合,用變數P 表示,一組差動對的集合在 圓形接點矩陣陣列中,用變數 N 表示。相鄰兩個圓形接點之間的容量限制值,用變c 表示,任何差動對的長度限制,用變數 lmax表示。差動對長度限制的跳脫路徑問 題,要找到所有差動對繞線到晶片邊界都不相交的路徑,並且滿足長度限制條件。在

(35)

27

單一繞線平面上,不相交限制和容量限制條件,使得所有差動對跳脫繞線的繞線總長 度能達到最小。

單一晶片內12x12 圓形接點的二維矩陣陣列,有 15 對差動對跳脫繞線,相鄰兩 個圓形接點之間的容量限制值是2,任何一對差動對長度限制的繞線方格是 1。15 對 差動對跳脫繞線的可繞性是100%,繞線總長度是 62,繞線結果如圖 3.3 所示。

圖3.3 長度限制之差動對跳脫繞線結果

(36)

28

第四章差動對會合方格的選擇

我們提出在單一晶片內差動對跳脫繞線的方法,在這一章節中,主要介紹選擇差 動對會合方格的方法,下一章節介紹差動對跳脫繞線,以下敘述是我們提出差動對會 合方格之選擇的方法。

4.1 概述

由[11]知道任何一對差動對的合法跳脫繞線,可以由兩個相同編號的單軌繞線合 併成為一對,各自從兩個繞線接點出發,到會合方格內兩條單軌繞線會合而成,然後 雙軌繞線是從會合方格出發,朝鄰近晶片邊界進行跳脫繞線。

我們為了避免相同編號的差動對兩條單軌繞線發生交叉,和不同編號的差動對單 軌繞線彼此發生交叉,以及相同編號的差動對雙軌繞線路徑發生交叉,和不同編號的 差動對雙軌繞線路徑彼此發生交叉。所以,我們在相鄰兩個圓形接點之間做容量限 制,並且限制每一個繞線方格的容量值,每一個繞線方格內繞線數量必須受到管控。

單一晶片內任何差動對的會合方格,都希望落在差動對的兩個繞線接點之間,或 在周圍附近的繞線方格,相同編號的差動對從兩個繞線接點到會合方格的繞線長度,

所花費的成本是最小而且相等的成本花費。所以,任何一對差動對在長度限制之下,

選擇差動對的會合方格是重要的。

以4 個上/下及左/右相鄰的圓形接點組成 1 個繞線方格,每一個繞線方格至少有 2 個邊與相鄰繞線方格共有,繞線方格矩陣最外層的繞線方格距離晶片邊界最近。格 狀排列的圓形接點行列數量越多,構成的繞線方格的階層也越多,在最內層的差動對 最容易被外層的差動對所阻擋。若圓形接點一列數量與一行數量相等,則格狀排列的 圓形接點矩陣為正方形,若圓形接點一列數量與一行數量不相等,則格狀排列的圓形 接點矩陣為矩形。

(37)

29

4.2 單一差動對長度限制之會合方格的選擇

任何一對差動對兩條單軌繞線的最小繞線長度,是從相同編號的兩個繞線接點繞 線到附近周圍的會合方格,所以,差動對的會合區域可以用一個最小矩形區域,包覆 一對差動對的兩個繞線接點。

在單一繞線平面上一對差動對兩個繞線接點的會合區域,可以用一個pxq 繞線方 格的二維矩陣陣列表示。基於一對差動對會合區域的邊界,差動對兩條單軌繞會合連 接的區域,可以分成內部路徑區域和外部路徑區域,如圖4.1 所示。差動對兩條單軌 繞線的內部路徑區域,是會合區域內繞線方格的邊界環,差動對兩條單軌繞線的外部 路徑區域,是沿著會合區域繞線方格的延伸環。

圖4.1 一對差動對的會合區域

任何一對差動對的會合區域為pxq 繞線方格矩陣陣列,以及任何差動對的長度限 制,用變數lmax表示,差動對長度限制之繞線方格的選擇程序,可以分為兩種不同的 條件,(1) p = 0 或 q = 0,以及(2) p > 0 及 q > 0,以下分成兩個小節進行討論與說明,

以及演算法如圖4.2 所示。

(38)

30

演算法 : 差動對長度限制之會合方格(lmax, DP) 輸入 : lmax – 差動對長度限制,

DP – 差動對;

輸出 : DPlcmg – 差動對長度限制之會合方格;

begin

1. R – 差動對會合區域,pxq 繞線方格;

2. li – 會合連接的繞線長度;

3. if((p == 0) || (q == 0)) then 4. if(lmax < li -1) then

5. DPlcmg ← 直接會合連接;

6. end if

7. if(lmax ≥ li ) then

8. DPlcmg ← 延伸會合連接;

9. end if 10. end if

11. if((p == 1) || (q == 1)) then

12. if(內部會合連接 == true) then 13. if(lmax < li -1) then

14. DPlcmg ← 內部會合連接;

15. end if

16. if(lmax ≥ li -1) then

17. DPlcmg ← 限制內部會合連接會合方格數量;

18. end if

19. else if(特定混合會合連接 == true) then 20. if(lmax < li -1) then

21. DPlcmg ← 0;

22. end if

23. if(lmax ≥ li -1) then 24. DPlcmg ← 1;

25. end if

26. else if(一般混合會合連接 == true) then 27. if(lmax < li -1) then

28. DPlcmg ← 一般混合會合連接;

29. end if

30. if(lmax ≥ li -1) then

31. DPlcmg ← 限制一般混合會合連接會合方格數量;

32. end if 33. else

34. if(lmax < li -1) then

35. DPlcmg ← 外部會合連接;

36. end if

37. if(lmax ≥ li -1) then

38. DPlcmg ← 限制外部會合連接會合方格數量;

(39)

31

39. end if 40. end if

41. if((p > 1) && (q > 1)) then

42. if(內部會合連接 == true) then 43. if(lmax < li -1) then

44. DPlcmg ← 內部會合連接;

45. end if

46. if(lmax ≥ li -1) then

47. DPlcmg ← 限制內部會合連接會合方格數量;

48. end if

49. else if(混合會合連接 == true) then 50. if(lmax < li -1) then

51. DPlcmg ← 混合會合連接;

52. end if

53. if(lmax ≥ li -1) then

54. DPlcmg ← 限制混合會合連接會合方格數量;

55. end if 56. else

57. if(lmax < li -1) then

58. DPlcmg ← 外部會合連接;

59. end if

60. if(lmax ≥ li -1) then

61. DPlcmg ← 限制外部會合連接會合方格數量;

62. end if 63. end if 64. end if

65. return (DPlcmg) end

圖4.2 單一差動對長度限制之會合方格的演算法

差動對兩個繞線接點共行或共列 4.2.1

差動對兩條單軌繞線的最小繞線長度,在外部路徑區域內,有兩種會合連接的方 式,直接會合連接和延伸會合連接。直接會合連接是差動對兩個繞線接點互相朝另一 個繞線接點方向,會合方格會落在兩個繞線接點之間。延伸會合連接是差動對其中一 個繞線接點朝另一個繞線接點方向,一個繞線長度較長,另一個繞線長度較短,會合 方格落在外側4 個角落繞線方格其中一個。

(40)

32

根據差動對的兩條單軌繞線可能的繞線方向,從兩個繞線接點到會合的繞線方 格。在外部路徑區域內,差動對兩條單軌繞線的會合連接方式,有2 條不同的直接會 合連接,如圖4.3(a)所示,左圖是 p = 0 和右圖是 q = 0,以及 4 條不同的延伸會合連 接,如圖4.3(b)所示,左圖是 p = 0 和右圖是 q = 0。

(a) 直接會合連接 (b) 延伸會合連接 圖4.3 一對差動對兩條單軌繞線,p = 0 或 q = 0 會合連接

p = 0 時,在一條直接會合連接中,差動對的兩個繞線接點之間有 q 個相鄰繞 線方格,和在一條延伸會合連接中,差動對的兩個繞線接點之間有(q+1)個相鄰繞線 方格。與上式相反,當q = 0 時,在一條直接會合連接中,差動對的兩個繞線接點之 間有 p 個相鄰繞線方格,和在一條延伸會合連接中,差動對的兩個繞線接點之間有 (p+1)個相鄰繞線方格。

對於任何直接會合連接,用變數i 表示,一條直接會合連接的繞線長度,用變數 li表示,差動對長度限制,用變數 lmax表示,長度限制之會合方格的數量,用變數 ni

表示。當lmax < li - 1 成立,在直接會合連接的相鄰方格上,可能的長度限制之會合方 格數量,可以由下列計算式得到。

𝑛𝑖 = {⌊𝑙𝑖⁄ ⌋ − ⌈𝑙2 𝑖⁄ ⌉ + 𝑙2 𝑚𝑎𝑥+ 1, 如果𝑙𝑚𝑎𝑥是奇數

⌊(𝑙𝑖 + 1) 2⁄ ⌋ − ⌈(𝑙𝑖+ 1) 2⁄ ⌉ + 𝑙𝑚𝑎𝑥+ 1, 如果𝑙𝑚𝑎𝑥 是偶數

(41)

33

與上式相反,當lmax ≥ li - 1 成立,在直接會合連接的相鄰方格上,可能的長度限 制之會合方格數量,等於一條直接會合連接的繞線長度。

對於單一差動對長度限制之繞線方格的選擇,在一條直接會合連接中,可能的長 度限制之會合方格,可以被分配在直接會合連接相鄰方格的中間範圍,以及2 條直接 會合連接的會合方格,會根據跳脫方向做為會合方格的選擇。另外,如果lmax ≥ li時,

在外側路徑區域內4 個角落的繞線方格,可以給 4 條延伸會合連接,做為長度限制之 會合方格。

以圖4.4 為範例,p = 0 和 q = 3,li = q = 3。當 lmax = 1,lmax是奇數,lmax < li - 1 成立,ni = 1-2+1+1 = 1,一條直接會合連接的長度限制之會合方格數量等於 1。當 lmax

= 2,lmax ≥ li - 1 成立,一條直接會合連接的長度限制之會合方格數量等於 3。當 lmax = 3,lmax ≥ li 成立,一條直接會合連接的長度限制之會合方格數量等於 3,以及一條延 伸會合連接的長度限制之會合方格,可以落在邊角的繞線方格上,合併會合路徑的繞 線方格數量等於4。

4.4 計算 p = 0 和 q = 3 會合方格數量

差動對兩個繞線接點不共行且不共列 4.2.2

如果p > 0 及 q > 0,差動對兩條單軌繞線的最小繞線長度,在內部路徑區域和外 部路徑區域。內部會合連接是差動對的兩條單軌繞線,繞線在內部路徑區域內。外部 會合連接是差動對的兩條單軌繞線,繞線在外部路徑區域內。混合會合連接是差動對 的兩條單軌繞線,繞線從內部路徑區域到外部路徑區域,或是從外部路徑區域到內部

(42)

34

路徑區域。

在一條內部會合連接中,差動對兩個繞線接點之間有(p+q-1)個相鄰方格,和在一 條混合會合連接中,差動對兩個繞線接點之間有(p+q)個相鄰方格,以及在一條外部 會合連接中,差動對兩個繞線接點之間有(p+q+1)個相鄰方格。單一差動對長度限制 之繞線方格的選擇程序,可以分為兩種不同的條件,(1) p = 1 或 q = 1,以及(2) p > 1 及q > 1。

p = 1 或 q = 1 時,差動對的兩條單軌繞線在內部路徑區域和外部路徑區域內,

有4 種會合連接的方式,內部會合連接,和特定混合會合連接,和一般混合會合連接,

以及外部會合連接。根據差動對的兩條單軌繞線可能繞線方向,從兩個繞線接點到會 合的繞線方格。在內部路徑區域和外部路徑區域內,差動對兩條單軌繞線的會合連接 方式,有1 條內部會合連接,如圖 4.5(a)所示,左圖是 p = 1 和右圖是 q = 1,和 2 條 特定混合會合連接,如圖4.5(b)所示,左圖是 p = 1 和右圖是 q = 1,和 2 條一般混合 會合連接,如圖4.5(c)所示,左圖是 p = 1 和右圖是 q = 1,以及 2 條外部會合連接,

如圖4.5 (d)所示,左圖是 p = 1 和右圖是 q = 1。

(a) 內部會合連接 (b) 特定混合會合連接

(43)

35

(c) 一般混合會合連接 (d) 外部會合連接 圖4.5 一對差動對兩條單軌繞線,p = 1 或 q = 1 會合連接

對於任何差動對兩條單軌繞線的一條特定混合會合連接,用變數i 表示,會合連 接的繞線長度,用變數li表示,差動對長度限制,用變數lmax表示,長度限制之會合 方格的數量,用變數ni表示。在會合連接的相鄰方格上,可能的長度限制之會合方格 數量,可以由下列式子得到。

𝑛𝑖 = {0, 如果 𝑙𝑚𝑎𝑥 𝑙𝑖 − 1 1, 如果 𝑙𝑚𝑎𝑥 ≥ 𝑙𝑖− 1

對於任何差動對兩條單軌繞線的一條內部會合連接,或一條一般混合會合連接,

或一條外部會合連接,用變數i 表示,會合連接的繞線長度,用變數 li表示,差動對 長度限制,用變數lmax表示,長度限制之會合方格的數量,用變數ni表示。當lmax < li

- 1 成立,在會合連接的相鄰方格上,可能的長度限制之會合方格數量,可以由下列 計算式得到。

𝑛𝑖 = {⌊𝑙𝑖⁄ ⌋ − ⌈𝑙2 𝑖⁄ ⌉ + 𝑙2 𝑚𝑎𝑥+ 1, 如果𝑙𝑚𝑎𝑥是奇數

⌊(𝑙𝑖 + 1) 2⁄ ⌋ − ⌈(𝑙𝑖+ 1) 2⁄ ⌉ + 𝑙𝑚𝑎𝑥+ 1, 如果𝑙𝑚𝑎𝑥 是偶數

與上式相反,當lmax ≥ li - 1 成立,在會合連接的相鄰方格上,可能的長度限制之 會合方格數量,因為要考量有些會合方格,可能會造成繞線轉角是銳角,所以需要先 避免這樣的問題,會合方格數量等於li - 2 或 li - 1 或 li

(44)

36

以圖4.6 為範例,p = 1 和 q = 1,沒有任何內部會合連接,一條特定混合會合連 接的相鄰方格數量,li = (p+q) = 2。當 lmax = 1 或 lmax = 2 或 lmax = 3,lmax ≥ li - 1 成立,

ni = 1,長度限制之會合方格數量等於 1。一條一般混合會合連接的相鄰方格數量,當 lmax = 1 或 lmax = 2 或 lmax = 3,lmax ≥ li - 1 成立,長度限制之會合方格會因為不同跳脫 繞線方向,需要去除會造成繞線轉角是銳角的會合方格。

一條外部會合連接的相鄰方格數量,li = (p+q+1)= 3。當 lmax = 1,lmax是奇數,lmax

< li - 1 成立,ni = 1-2+1+1 = 1,長度限制之會合方格數量等於 1。當 lmax = 2 或 lmax = 3,

lmax ≥ li - 1 成立,長度限制之會合方格會因為不同跳脫繞線方向,需要去除會造成繞 線轉角是銳角的會合方格。

4.6 計算 p = 1 和 q = 1 會合方格數量

p > 1 及 q > 1 時,差動對兩條單軌繞線在內部路徑區域和外部路徑區域內,

有3 種會合連接的方式,內部會合連接,和混合會合連接,以及外部會合連接。根據 差動對的兩條單軌繞線可能繞線方向,從兩個繞線接點到會合的繞線方格。在內部路 徑區域和外部路徑區域內,差動對兩條單軌繞線的會合連接方式,有2 條內部會合連 接,如圖4.7(a)所示,和 4 條混合會合連接,如圖 4.7(b)所示,以及 2 條外部會合連 接,如圖4.7(c)所示。

(45)

37

(a) 內部會合連接 (b) 混合會合連接 (c) 外部會合連接 圖4.7 一對差動對兩條單軌繞線,p > 1 及 q > 1 會合連接

對於任何差動對兩條單軌繞線的一條內部會合連接,或一條混合會合連接,或一 條外部會合連接,用變數i 表示,會合連接的繞線長度,用變數 li表示,差動對長度 限制,用變數lmax表示,長度限制之會合方格的數量,用變數ni表示。當lmax < li - 1 成立,在會合連接的相鄰方格上,可能的長度限制之會合方格數量,可以由下列計算 式得到。

𝑛𝑖 = {⌊𝑙𝑖⁄ ⌋ − ⌈𝑙2 𝑖⁄ ⌉ + 𝑙2 𝑚𝑎𝑥+ 1, 如果𝑙𝑚𝑎𝑥是奇數

⌊(𝑙𝑖 + 1) 2⁄ ⌋ − ⌈(𝑙𝑖+ 1) 2⁄ ⌉ + 𝑙𝑚𝑎𝑥+ 1, 如果𝑙𝑚𝑎𝑥 是偶數

與上式相反,當lmax ≥ li - 1 成立,在會合連接的相鄰方格上,可能的長度限制之 會合方格數量,因為要考量有些會合方格,可能會造成繞線轉角是銳角,所以需要先 避免這樣的問題,會合方格數量等於li - 2 或 li - 1 或 li

對於單一差動對長度限制之繞線方格的選擇,在一條內部會合連接,或一條混合 會合連接,或一條外部會合連接中,可能的長度限制之會合方格,可以被分配在會合 連接相鄰方格的中間範圍,以及內部會合連接的會合方格,會根據跳脫方向做為會合 方格的選擇。如果內部會合連接沒有選擇到會合方格,繼續選擇混合會合連接,如果 混合會合連接沒有選擇到會合方格,繼續選擇外部會合連接。

以圖4.8 為範例,p = 2 和 q = 2,一條內部會合連接的相鄰方格數量,li = (p+q-1)

= 3。當 lmax = 1,lmax是奇數,lmax < li - 1 成立,ni = 1-2+1+1 = 1,長度限制之會合方 格數量等於1。當 lmax = 2 或 lmax = 3,lmax ≥ li - 1 成立,長度限制之會合方格會因為不

(46)

38

同跳脫繞線方向,需要去除會造成繞線轉角是銳角的會合方格。

一條混合會合連接的相鄰方格數量,li = (p+q) = 4。當 lmax = 1,lmax是奇數,lmax <

li - 1 成立,ni = 2-2+1+1 = 2,長度限制之會合方格數量等於 2。當 lmax = 2,lmax是偶 數,lmax < li - 1 成立,ni =2-3+2+1 = 2,長度限制之會合方格數量等於 2。當 lmax = 3,

lmax ≥ li - 1 成立,長度限制之會合方格會因為不同跳脫繞線方向,需要去除會造成繞 線轉角是銳角的會合方格。

一條外部會合連接的相鄰方格數量,li = (p+q+1)= 5。當 lmax = 1,lmax是奇數,lmax

< li - 1 成立,ni = 2-3+1+1 = 1,長度限制之會合方格數量等於 1。當 lmax = 2,lmax是 偶數,lmax < li - 1 成立,ni = 3-3+2+1 = 3,長度限制之會合方格數量等於 3。當 lmax = 3,

lmax 是奇數,lmax < li - 1 成立,ni = 2-3+3+1 = 3,長度限制之會合方格數量等於 3。

4.8 計算 p = 2 和 q = 2 會合方格數量

4.3 兩對差動對單軌會合區域重疊之選擇

任何一對差動對會合區域為pxq 繞線方格的二維矩陣陣列,以及滿足差動對的長 度限制。如果差動對的會合區域是符合p = 0 或 q = 0,直接會合是依據跳脫方向來選 擇會合方格。如果差動對的會合區域是符合p > 0 及 q > 0,內部會合連接是依據跳脫 方向來選擇會合方格。如果發生兩對相鄰差動對的單軌會合區域重疊,差動對沒有會

參考文獻

相關文件

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

Huan Liu and Dan Orban, “Cloud MapReduce: a MapReduce Implementation on top of a Cloud Operating System,” IEEE/ACM International Symposium on Cluster, Cloud and

Kyunghwi Kim and Wonjun Lee, “MBAL: A Mobile Beacon-Assisted Localization Scheme for Wireless Sensor Networks,” The 16th IEEE International Conference on Computer Communications

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

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

Godsill, “Detection of abrupt spectral changes using support vector machines: an application to audio signal segmentation,” Proceedings of the IEEE International Conference

Harma, “Automatic identification of bird species based on sinusoidal modeling of syllables,” in Proceedings of IEEE International Conference on Acoustics, Speech,

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