• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
59
0
0

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

全文

(1)

中 華 大 學 碩 士 論 文

已知光學鄰近效應的多餘線段插入技術之零 偏差時脈樹的建構

OPE-aware Redundant Wire Insertion for Zero-Skew Clock Tree Construction

系 所 別:資訊工程學系碩士班 學號姓名:M09702019 張育誠 指導教授:顏金泰 博士

中 華 民 國 100 年 2 月

(2)

I

摘要

現今科技的技術日漸發達,促使各類型處理器加載的功能越漸增多,此外對於工 作時脈(Clock Frequency)的增加更是迅速。造成同步系統中的積體電路越來越複雜以 及時脈訊號線在資料傳輸上的延遲時間必頇更加精準以滿足時間上的要求。從前,訊 號線在積體電路中的長度即決定了訊號線的延遲時間,但現在透過光學成像和奈米技 術發展,則必頇考量更加仔細。因此,要維持時脈偏差在時脈樹中甚至是修正已失真 的時脈樹,將是時脈訊號中一個很重要的議題。

基於槓桿原理之額外添加連線補償的概念以及分析現有時脈樹繞線機制下,提出 一個有效率的演算法並在具有光學鄰近效應的時脈樹拓樸中找到最佳的修正方式。此 外,考量端點周圍空間限制下,基於所提出的額外添加連線負載之演算法,時脈樹中 所有的額外連線負載都會在所給定的空間限制中盡可能分配到端點(Sink)或內部節點 (Node)上以滿足空間限制下的零時脈偏差。最後,給予一組時脈樹和光學鄰近效應的 分佈,我們提出已知光學鄰近效應的方法可以在合理的時間內回復給予的時脈樹回復 成零時脈偏差。

關鍵字:時脈樹、時脈偏差、光學鄰近效應、線段插入

(3)

II

ABSTRACT

As technology becomes more advanced, functions in many processors become enhanced and clock frequency increases quickly. In synchronous systems, the complexity in an integrated circuit increases gradually and the delays of the clock signals on data transmission are requested to meet the timing constraints with very high accuracy. In the past, the length of a single net in an integrated circuit decides the delay of the net. But now, due to the advanced development in optical lithography and nanotechnology, the design of clock signals must be carefully considered. Hence, to maintain the clock skew in a clock tree and to repair a defective clock tree become an important issue in the design of clock signals.

Based on the insertion of redundant wires and the analysis of the clock skew in a clock tree, an efficient OPE-aware algorithm is proposed to repair the zero-skew result in a clock tree. Furthermore, based on the area construct around the clock sinks, all the redundant wires in the clock tree can be assigned around the sinks or internal nodes to satisfy the area constraints for the zero skew purpose. Finally, given a set of clock trees and OPEs on clock segments, our proposed OPE-aware approach can repair the given clock trees to obtain zero-skew results under reasonable CPU time.

Keywords: Clock tree, Clock skew, OPE, Wire insertion.

(4)

III

致謝

在研究所求學的生涯中,能夠順利完成本篇論文,在此最先特別感謝我的指導教 授顏金泰教授,在專業領域研究方面對我的辛勤指導,平常時在學業方面與生活上也 時常鼓勵與督促我,遇到困難時更能適時的幫助我,使我對於問題的處理更加順利。

另外也要特別感謝陳永源教授在課程上的盡心教授與指導,讓我學習到更多的專業知 識,使我在這個領域上了解更多,學習更多。

求學的過程中除了師長們的幫助外,還有許多學長、同學以及朋友的支持與陪伴 感謝在我求學的期間,時常給予我相關領域知識上的指導與教誨的學長們:志瑋、祥 霖、凱平、宜強、仲賢、東彥以及陪我走過這段時光的同學:明清、忠位、科銓、仁 杰、威志、佳涵,感謝你們和我互相討論研究與支持,最後也要感謝學弟們:潤民、

明謙…等,在我的求學過程中給予的協助和幫忙。

最後,謹將此論文獻給一直默默支持我的家人與教導我的師長,以及一路陪伴我 的同學們,這份榮耀將與你們一起分享,在此致上十二萬分的感謝。

(5)

IV

目錄

摘要 ... I ABSTRACT ... II 致謝 ... III 目錄 ... IV 表目錄 ... VI 圖目錄 ... VII

第一章 簡介 ...1

1.1 時脈(Clock)之重要性 ...2

1.2 常見的時脈拓撲(Clock Topology) ...3

1.3 時脈模型之計算 ...5

1.3.1 單一連線線段模型...5

1.3.2 時脈樹模型的計算...6

1.4 光學微影技術(Optical Lithography) ...8

1.4.1 光學鄰近效應(Optical Proximity Effect) ...9

1.4.2 光學鄰近修正術(Optical Proximity Correction) ... 10

1.4.3 光學鄰近效應與修正術造成之影響 ... 11

1.4.4 降低變異影響的方法 ... 13

第二章 先前相關研究 ... 14

2.1 建構時脈樹拓樸 ... 14

2.2 延後合併嵌入(Deferred-Merge Embedding) ... 15

2.3 精確的零偏差(Zero-Skew)之時脈樹繞線 ... 17

2.4 降低製程變異 ... 20

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

(6)

V

3.1 研究動機... 22

3.2 問題描述... 23

第四章 已知光學鄰近效應的多餘線段插入技術之零偏差時脈樹的建構 ... 25

4.1 具有光學鄰近效應變異的線寬之等效測定 ... 25

4.2 透過由下往上添加負載的方式來完成零時脈偏差樹 ... 29

4.3 具有光學鄰近效應的時脈樹之參考路徑測定 ... 33

4.4 透過由上往下分配負載的方式以減少總負載量 ... 35

4.4.1 考量空間限制之由上往下分配負載方式以減少總負載量 ... 41

4.6 添加額外連線完成負載分配 ... 43

第五章 實驗結果 ... 45

5.1 實驗環境與測試檔案 ... 45

5.2 實驗數據... 46

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

參考文獻 ... 48

(7)

VI

表目錄

表 5-1 測試檔資訊 ... 45 表 5-2 變化量 0% ~ 5% 之測試數據資訊分析表 ... 46

(8)

VII

圖目錄

圖 1-1 同步式電路設計...2

圖 1-2 H 樹 ...3

圖 1-3 網狀拓撲結構 ...4

圖 1-4 樹狀拓撲結構+網狀拓撲結構 ...4

圖 1-5 單一線段連線表示模式 ...5

圖 1-6 以艾蒙延遲模式對單一線段連線表示 ...6

圖 1-7 時脈樹一般表示法 ...7

圖 1-8 時脈樹之 π 種類模型的表示法 ...7

圖 1-9 光學微影製程簡圖 ...8

圖 1-10 光學鄰近效應圖 ... 10

圖 1-11 光學鄰近修正術比較圖 ... 11

圖 1-12 時間與頻率和頻率與時脈偏差關係圖 ... 12

圖 1-13 具有迴圈的時脈樹示意圖 ... 13

圖 2-1 MMM 演算法流程圖 ... 15

圖 2-2 DME 演算法示意圖 ... 16

圖 2-3 DME 演算法示意圖(延遲非常不平衡時)... 17

圖 2-4 子樹與連結點定義示意圖 ... 18

圖 2-5 DME 推導算式... 19

圖 2-6 當 X < 0 時的 DME 例子 ... 19

圖 2-7 鏈結插入演算法流程部分示意圖 ... 21

圖 3-1 天秤的兩種平衡方式之示意圖 ... 22

圖 3-2 具有光學鄰近效應影響的八端點之時脈樹拓樸結構圖 ... 24

圖 3-3 具有額外增加連線負載的八端點之時脈樹拓樸結構圖 ... 24

(9)

VIII

圖 4-1 已知線段對於艾蒙延遲模型的π模組等效圖與其計算式 ... 26

圖 4-2 線寬 W 的推導公式 ... 26

圖 4-3 線寬等效還原矩形示意圖 ... 27

圖 4-4 零偏差時脈樹例圖 ... 28

圖 4-5 受光學鄰近效應影響例圖 ... 28

圖 4-6 線寬等效還原矩形例圖 ... 29

圖 4-7 增加連線負載方法之符號定義示意圖 ... 30

圖 4-8 點 X 和點 Y 的計算式子 ... 30

圖 4-9 三層之時脈樹的例子 ... 32

圖 4-10 下往上之添加負載的例圖 ... 33

圖 4-11 參考路徑與安排子樹區塊的例子 ... 34

圖 4-12 求最小添加負載總量的輸入與輸出示意圖 ... 35

圖 4-13 子樹 ST2連線負載分配示意圖 ... 37

圖 4-14 子樹 ST3到 STk-1的連線負載分配示意圖 ... 38

圖 4-15 考量最小添加負載總量之由上往下之負載分配方法例圖 ... 40

圖 4-16 考量空間限制之負載分配的輸入輸出示意圖 ... 41

圖 4-17 考量空間限制之由上往下之負載分配方法例圖 ... 43

圖 4-18 連線負載等效轉換線段之範例圖 ... 44

(10)

1

第一章 簡介

西元 1946 年 2 月 14 日,世界上第一台電子計算機 ENIAC 在美國賓州大學 (University of Pennsylvania)誕生,從第一台電子計算機誕生至今已經超過五十年,這 五十多年中,電子計算機以驚人的速度蓬勃發展,首先是晶體管取代了真空管,接著 是微電子技術的發展,造就了計算機處理器(CPU)和儲存器(Storage)上的元件越做越 小,數量越來越多,使得計算機的運算速度和儲存容量大幅提升。

西元 1994 年 12 月,美國英代爾(Intel)公司宣布成功研究並製造出世界上最快速 的超級計算機,這台計算機每秒鐘可以進行三千兩百八十億次的加法運算,速度上是 第一台電子計算機的六千六百萬倍,假使單靠一人之力來完成這台計算機一秒鐘內所 進行的運算量,則這個人需要晝夜不停的計算一萬多年才能完成。

如此看來,運算的資料量和運算的速度將會是電腦科技發展的重要指標,而隨著 半導體(Semiconductor)產業的進步,電子計算機的功能越來越多樣化,從單一功能的 晶片(Chip)推廣到可以有多種不同的功能的系統單晶片(System-on-Chip, SoC),因此積 體電路(Integration Circuit, IC)的設計也越來越複雜,在龐大的積體電路中,要能保持 資料傳輸的正確性,其依靠的就是控制元件之間互相傳輸資料的信號線。然而在製程 越 來 越 小 的 情 勢 下 , 容 易 產 生 晶 片 上 電 路 元 件 及 信 號 連 線 尺 寸 形 狀 的 變 異 (Variation),這種製程上的變很有可能造成無法預期的電路行為,進而使設計者為電 路設計所做的最佳化徒勞無功,因此,如何在實體設計中降低因製程變異(Process Variation)而產生的問題,也將是電子設計自動化(Electronic Design Automation)的重要 研究目標。

(11)

2

1.1 時脈(Clock)之重要性

隨著電腦科技的迅速發展,製程技術的更新換代,加上資料傳輸速度不斷向上提 升,以及高密度化的佈線配置,在積體電路晶片設計中,計算機處理器的計算速度要 求也隨之增加,因此電腦系統的時脈頻率動作亦大幅提高,但為了因應晶片整合電晶 體的數量越來越多,以及時脈頻率越來越高的趨勢下,要避免錯誤產生,就需要更多 的實體效應。

時脈是一種具有規律性的電壓信號,透過時脈可以告知系統內部元件開始處理資 料的時間,因此時脈設計的主要目標為:

(1)提供所有元件在系統內部中相互傳輸資料的正確性。

(2)所有元件在系統內部中皆必頇遵守設定(Set Up)時間與保持(Hold)時間。

(3)依據整體系統中每一個區域的需求,提供合理的時間分配。

為了要滿足速度上的需求並且有效率的處理高速運行,現今的設計流程與自動化 輔助軟體大部分都以同步式電路設計為主,因而揚棄如單穩態電路或是傳遞式時脈的 非同步電路設計,甚至如兩階段時脈或四階段時脈也都鮮少使用。

同步式電路設計是透過一個時脈產生器(Clock Generator)產生固定的時脈源,並將之 提供給所有的同步元件包括正反器或是暫存器的時脈接腳(Clock Pin)使用,在連線途 徑中偶爾會經過部分邏輯運算或是緩衝器(Buffer),但原則上時脈信號從時脈源至所 有同步元件的到達時間必頇是一致的,才能確保同步電路之正確性,因此時脈信號是 定義同步式電路設計系統中資料傳輸時間的重要依據。

觸發器 組合邏輯

時脈信號

觸發器 組合邏輯 觸發器

圖 1-1 同步式電路設計

(12)

3

1.2 常見的時脈拓撲(Clock Topology)

現今的電路設計如第一節而言大部分是採用同步式電路設計,它們是基於同一個 時脈產生器的同步 時脈信號系統 ,在這一類型的電路中,時 脈分配網路 (Clock Distribution Network)的設計主要重點是時序的正確性和電源的消耗,相同地,時脈的 設計目標還包括零偏差(Zero-Skew)、最小線長和最小的插入延遲,但是由於在製程中 基於技術或是意外發生往往會使原本的設計發生變化,因此時脈樹的設計目的是為了 降低且能夠忍受現實範圍中的時間差異,而其中的 H-樹(H-tree)是利用局部且對稱設 計的時脈網絡可以達到減小時脈歪斜的變化,如圖 1-2 所示,這種時脈樹的拓撲結構 亦是早期設計時脈分配網絡中最常使用的。

觸發器

圖 1-2 H 樹

這種樹狀的時脈樹拓撲結構,在設計成本上可以達到較低繞線長度與較少電源供 應推動負載,並且在計算樹狀的時間數據也較容易,但如果碰到位於樹狀末端的元件 負載需求相差極大時,再透過 H-樹平衡兩端則必頇花費許多成本,另外這類樹狀的 時脈樹拓撲結構在製程上若發生變異時,很有可能導致成品與設計者的設計結果產生 差異,嚴重時甚至會發生斷路,因此這種時脈樹拓撲結構在可靠度上的表現較為薄弱。

(13)

4

早期的時脈分配網絡多是採用樹狀的時脈樹拓撲結構,主要是為了實現最低線長 的設計,但隨著科技進步高性能的需求增加如中央處理器(CPU)晶片,進而發展出不 同以往的時脈分配網絡之拓撲結構-網狀(Mesh)拓撲,這類型的拓撲結構通常是採用 網格(Grid)或其他規則的方式結合而成,如圖 1-3 和 1-4 所示,由於要形成網格狀的 型式,勢必在連線上需要消耗大量的路由資源,進而造成負載與電源消耗也隨之提 高,但是相對地,這種方式可以大大的提升設計者的時脈分配網絡設計之可靠度,並 且有效的降低因為製程變異造成的影響。

觸發器

圖 1-3 網狀拓撲結構

圖 1-4 樹狀拓撲結構+網狀拓撲結構

(14)

5

1.3 時脈模型之計算

本節主要目標為定義時脈樹的相關參數與等效模式,以方便於之後最佳化數據與 時間延遲的計算,有介於一個時脈樹的組成是經由連線線段(Wire)、時脈接腳(Pin)與 緩衝器(Buffer)組合而成,因此為了方便計算,必頇先將這些各別元件做適用的等效 模式定義。

1.3.1 單一連線線段模型

在晶片製作過程中金屬連線導線是透過絕緣層(Insulator)隔離導體(Conductor)所 產生的,但這樣的方式仍會存有電阻特性與電容特性在連線上,因此可以藉由分散式 的電阻、電容模式(Distributed RC)來描述連線的特性,圖 1-5(a)是單一線段連線的表 示模型,然而在真實設計中每條線段連線都包含電阻與電容的影響,因此通常一條單 一線段連線會採用圖 1.5(b)作為等效符號表示。

(a)單一線段連線表示 (b)等效的符號表示法 R

C

圖 1-5 單一線段連線表示模式

然而隨著製程技術的進步,圖 1-5(b)的等效模式已經無法精確地模擬出實際的電 路狀況,於是在西元 1948 年時,學者艾蒙(W. C. Elmore)提出將等效的分散式電阻、

電容的模式進一步轉換成較為精準的等效電路型態[21],以提升設計者在模擬電路時 能更準切。

(15)

6

(a)單一線段連線表示 (b)π種類模型的表示 R

C 2

C 2

圖 1-6 以艾蒙延遲模式對單一線段連線表示

圖 1-6(b)的等效模式是假設將一條連線線段視為從輸入與輸出兩個端點連線所 組成,端點之間是由該線段的等效的電阻 R 連接,而該線段的等效電容 C 則平分為 二,變成 C/2,再分別加在兩端點上,作為該線段的輸入與輸出電容,如此便形成一 個類似數學符號π的模型,因此稱之為π種類模型。在之後的討論中,關於連線線段 延遲的計算便是透過π模型來模擬。

另外在時脈樹的建構中,緩衝器也是常見的組成元件之一,其主要工作包括提供 足夠的電流以推動直接相接的正反器與暫存器,並且能在時脈樹中推動大型負載,但 是在本篇論文中,將假設時脈樹在任一段連線中都擁有足夠的電流作為推動負載的推 力,故不需要藉由緩衝器的輔助提供額外的推動電流源,因此在之後的模擬也不將其 列入計算。

1.3.2 時脈樹模型的計算

藉由上述之單一連線線段模型用於一時脈樹的表示,一般時脈樹表示法如圖 1-7,在樹的開頭端 A 點會有驅動能力(Driving Strength)又稱之為源頭(Source),其負 責提供電流推動整棵時脈樹及末端的元件。在末端 C 點和 D 點後面連接的就是負責 接收時脈樹推動電流的主要元件稱之為時脈信號接收器(Clock Sink),而 B 點則是 A 點到 C 點與 A 點到 D 點之間,這兩條連線線段間的合併點(Merge Point) ,這便是一 個源頭對多個接收器的時脈樹一般表示法。

(16)

7

A B

C

D

圖 1-7 時脈樹一般表示法

接著我們將同棵時脈樹圖 1-7 改用π種類模型之分散式電阻、電容的方式來表示 整棵時脈樹如圖 1.8 所示,在 A 點到 B 點、B 點到 C 點和 B 點到 D 點的三條連線線 段之間都各自擁有該線段的等效電阻 R 連接,而該線段的等效電容 C 則平分為二,

變成 C/2,再分別加在線段兩端上,作為該線段的輸入與輸出電容。

R2

C2

2

C2

A 2

C

D R3

C3

2

C3

2 R1

C1

2

C1

2 B

圖 1-8 時脈樹之π種類模型的表示法

經過圖 1-8 的表示後,便能根據艾蒙延遲模式來進行推導,求取源頭到各點間的 連線延遲時間(Delay Timing),其中 A 點到 B 點、A 點到 C 點和 A 點到 D 點的連線 延遲時間表示分別如下:

(17)

8

D

AB

= R

S

(c

1

+c

2

+c

3

+B+C+D)+r

1

(c

1

/2+c

2

+c

3

+B+C+D)

D

AC

= R

S

(c

1

+c

2

+c

3

+B+C+D)+r

1

(c

1

/2+c

2

+c

3

+B+C+D)+r

2

(c

2

/2+C)

D

AD

= R

S

(c

1

+c

2

+c

3

+B+C+D)+r

1

(c

1

/2+c

2

+c

3

+B+C+D)+r

3

(c

3

/2+D)

從式子(1)中看到,以符號 DAB表示 A 點到 B 點的連線延遲時間、符號 Rs 表示 連線起點的驅動能力、符號 c1到 c3表示各連線線段的電容值、符號 cB到 cD表示各端 點的電容值、符號 r1到 r3表示表示各連線線段的電阻值,如圖 1-8 所示,而式子(2) 與式子(3)亦是如此。

1.4 光學微影技術(Optical Lithography)

隨著科技的蓬勃發展與各項技術的快速進步,連帶著微電子工業的製造技術一日 千里,其中的微影技術更是最重要的角色之一,因為凡是有關於圖形上的定義 (Patterning),都需要使用到微影技術,而在積體電路(IC)的設計與製程中一般最常使 用的就是光學微影技術(Optical Lithography)。

圖 1-9 光學微影製程簡圖 (1)

(2)

(3)

(18)

9

積體電路的設計與製程中,設計者會將設計好的電路連線線路圖形透過微影技術 完整的複製到晶圓(Wafer)上,而光學微影技術就是希望複製的過程中能達到完整且精 確無誤,如圖 1-9 中所示,半導體業者會先將設計者設計好的電路連線線路圖形製作 成光罩(Mask),然後透過光學成像的原理,從光源發出的光,讓經過光罩透明區域部 分的光波可以繼續通過透鏡將線路圖形投影到晶圓表面上,接著將已曝光後的晶圓再 經顯影(Development)步驟,這是以化學方式處理晶圓上曝光與未曝光的光阻劑方法,

這步驟可以使光罩上的圖形完整地轉移到晶片上,然後再接續其他的製程。

隨著積體電路的密度越來越高,速度需求越來越快,但成本則是要一降再降,因 此半導體業者無不絞盡腦汁的想要將半導體的線寬縮小再縮小,如此一來便能在相同 大小的晶圓上塞入更多的電晶體,然而光學微影技術最主要是利用光波的照射成像 的,但是一旦線寬縮小到比光波的波長還小時,就要找其他波長更小的光波當成光 源,在這樣的循環下如果找不到更小波長的光波時,而線寬又比現知光波波長小的情 況下,若是沒透過其他的技術來做修補成像的話,勢必造成在晶圓上的成像結果不如 預期的完整精確,嚴重的話甚至會導致整個設計失敗。

1.4.1 光學鄰近效應(Optical Proximity Effect)

在光學微影技術中有提到,為了提高每片晶圓可容納的電晶體數,奈米技術不斷 強化下,使得半導體的線寬越來越小,當線寬小於光源的光波波長時,便會產生光學 上的干擾,如光學繞射或光學散射等等,這些物理現象的發生便會影響到在晶圓上成 像的精確度,如圖 1-10,輕微的情況時只是邊邊角角呈現模糊或圓角,但最嚴重時幾 乎無法成像,這種因為光學因素造成的成像影響即稱之為光學鄰近效應。

(19)

10

圖 1-10 光學鄰近效應圖

(圖片來源:http://cc.ee.ntu.edu.tw/~ywchang/Courses/PD/pd.html)

1.4.2 光學鄰近修正術(Optical Proximity Correction)

光學鄰近修正術顧名思義其主要目的就是用於修正光學鄰近效應所造成的影 響,過去傳統上在光學鄰近效應發生的時候,通常會以尋找波長較短的光波做為替代 光源的方式處理,但隨著奈米科技的技術突飛猛進,電晶體的線寬快速減小,單靠找 尋波長更短的光波已經趕不上電晶體線寬的縮短速度,然而為了可以達到順利在晶圓 上成像並且成像結果在可以忍受的精確度範圍下,學者們提出了光學鄰近修正術。

這種技術主要是透過光學成像的物理原理反推導而成,因為電晶體線寬小於光源 波長時即會產生光學繞射造成在晶圓上的成像失真,但是透過失真的結果反推,先將 會產生繞射的部分作事先考量,加強修正會失真的線段部分,如圖 1-11 的下方,然 後再次進行光學微影技術成像,如此一來便能透過補償效應達到減少成像過度模糊的 結果。

光源 透鏡

遮罩

透鏡

晶圓

佈局圖 0.15μ

0.25μ 0.13μ

0.18μ 0.10μ

(20)

11

圖 1-11 光學鄰近修正術比較圖

(圖片來源:http://users.ece.utexas.edu/~dpan/2009Fall_EE382V/)

1.4.3 光學鄰近效應與修正術造成之影響

在前面兩節中皆有提到光學鄰近效應會造成電晶體在晶圓上成像失真進而導致 積體電路設計上出現瑕疵,雖然學者們後續提出光學鄰近修正術的補償方式來降低成 像失真的嚴重程度,但就算是使用透過修正後的遮罩進行成像,其結果與原設計者之 設計相比,或多或少都還是有誤差存在,而這些誤差我們便稱之為製程上的變異 (Variation)。

製程上的變異不僅僅是成像失真的影響,因為成像失真後做出來的電晶體之線寬 就會因此改變,然而線寬的設定也牽動著連線線段的電阻與電容的設計關係,所以當 線寬發生變化時,線段的電阻與電容亦會跟著變化,如果這些變異不幸的發生在時脈

原始 佈局圖

無光學鄰近修 正術之佈局圖

有光學鄰近修 正術之佈局圖

無光學鄰近修 正術之成像圖

有光學鄰近修 正術之成像圖

(21)

12

樹的設計上時又會衍生出時間延遲與原設計不符,使得時脈樹從源頭到各個時脈信號 接收器的時間產生不同步的現象導致時間歪斜提升,如此一來便會讓原先設計的零偏 差樹(Zero-Skew Tree, ZST)變成非零偏差樹。

隨著電晶體線寬越來越小,設計者們在設計時脈樹時常常會事先考量製程上的變 異所造成的時間歪斜提升,因此一點點的時間歪斜誤差是可以被忽略不處理的,但是 如果這個能接受的量超過最大允許範圍時,便還是會造成影響,嚴重的話同步電路將 會發生同步錯誤,

圖 1-12 時間與頻率和頻率與時脈偏差關係圖 (圖片來源:Intel)

藉由圖 1-12 的兩個關係圖可以得知,科技隨著年代發展,技術越來越好,造就 中央處理器的頻率越來越高,但隨著頻率越來越高的原因,相對地時脈樹能夠容忍的 時脈偏差也越來越低,因此為了保持頻率上的持續進步,勢必要在時脈樹上做修正或 是強化,使其結果能在同步系統中不出錯。

10000

1000

100

10

1987 1989 1991 1993 1995 1997 19992001 2003 2005 600 500 400 300 200 100 0

100 1000 10000

處理器的頻率需求趨勢 對時脈偏差的容忍趨勢

年 份 處理器頻率[MHz]

[MHz]

[ps]

386 486 Pentium®

Pentium Pro® Pentium® II

Pentium® III Pentium® 4

(22)

13

1.4.4 降低變異影響的方法

為了有效地減少因為製程過程中產生變異,進而對於時脈樹造成的影響,學者們 紛紛提出各種方式來進行改善,其中最普遍的方式是透過在時脈樹端點上增加額外的 連線連結,以至形成迴圈(Cycle),如圖 1-13 所示,在形成迴圈的地方假如受到製成 變異影響,多數能保持其時脈偏差在無迴圈時的最大延遲與最小延遲的範圍之中,因 此便能有效的達到目的,降低時脈樹在同步系統中出錯的機率。

圖 1-13 具有迴圈的時脈樹示意圖

(23)

14

第二章 先前相關研究

因應同步系統的普及,時脈樹的發展也隨之而起,從建構時脈樹拓樸關係開始,

隨著科技技術成長,時間延遲觀念加入,進而開始注重時間延遲的問題,因應而生的 就是關於零時脈偏差的時脈樹建構,接著在光學成像系統越趨精密下,為了使時脈樹 維持正常運作不出錯,伴隨而起的便是非樹型(Non-tree)的結構建構。

根據時脈樹的發展,分別找尋相關研究論文進行探討,主要可分為四個部分,分 別為:建構時脈樹拓樸、延後合併嵌入、精準的零偏差之時脈樹繞線、降低製程變異,

並透過四小節一一敘述。

2.1 建構時脈樹拓樸

為了呈現晶片中各元件之間的同步關係,學者們提出利用時脈樹控制各元件之傳 輸動作,起初面臨的問題是:在給定的一個路由平面(Routing-Plane)中,已知各元件 正反器(Flip-flop)或閂(Latch)的位置(Point),即是連線的端點(Sink),要在平面中將各 點互相做連線,並保持從起始點(Source)到各端點的距離相等或是在可容忍的差距範 圍之中。

在這樣的問題條件下,有學者們首先在 1982 年提出 H 樹型的觀念[2],此篇研究 主要是利用連線形成 H 字型的樣式,使 H 字型的連線平均分布後,再將靠近連線周 遭的端點做連線,如此便形成 H 字型的連線關係,並能確保連線在可容忍的差距範 圍中達成時脈樹的拓樸建構如圖 1-2。

後來 在 1990 年有另一組 學者們提出關於找尋點對點的路徑與中點之方法 (Methods of means and medians)簡稱之為 MMM 演算法[5],這個方法主要是透過從大 到小不斷的切割現有的路由平面,使其切割完的子範圍(Sub-Region)內之點(Point)平 均分配且數量相同,以此一直分割直到子範圍內只剩餘兩個點,全部分割完後,緊接 著將最小子範圍中的兩點做連線,接著按照子範圍由小到大一層一層的往上做中點與

(24)

15

中點的連線,直至全部連完為止,如此便能形成一棵從起始點到各端點之連線距離都 相等的時脈樹,其方法步驟如圖 2-1。

圖 2-1 MMM 演算法流程圖

2.2 延後合併嵌入(Deferred-Merge Embedding)

前一小節的問題描述主要建構在單純的連線長度限制下,但隨著科技的發展,時 脈樹連線之間要求的時間差距越來越精密,因此問題的考量因素也隨之增加,在這一 節後所探討的時脈樹都將建立在具有延遲效應的連線環境下,不再單純以長度取代 之。

在加入延遲效應考量因素的時脈樹拓樸關係中,有學者提出延後合併嵌入的 (Deferred-Merge Embedding, DME)演算法[7],這個研究論文在時脈樹設計中具有重要 的地位,目前大多數的電子自動化設計(Electronic design automation, EDA)工具軟體都 採用這個演算法作為基礎建立而成,原因是 DME 演算法在給定的時脈拓樸連線關係 下,能有效的達到最佳化的低偏差時脈樹和在起始點到端點的最佳化延遲。

延後合併嵌入(DME)演算法主要建構在已知的時脈樹連線拓樸關係下,是針對前 一節單純只考慮連線距離建立而成的拓樸關係做後續的處理,以確保加入時間延遲限 制下還能達成最佳化的零偏差時脈樹結果。

(25)

16

其演算法主要的步驟可分為兩大部分:

第一部分:由下往上(Bottom-Up):

從已知時脈樹連線關係的底層開始向上,找尋每兩點間在路由平面上具有相同距 離或延遲的中間線位置,並計算中間線的權重值,重複步驟至連線關係的頂層,即可 完成所有中間線的配置位置與權重設定,如圖 2-2 右邊連線關係中藍色和紫色的中間 線表示,以方便下個步驟進行。

第二部分:由上往下(Top-Down):

將已經給定權重值的中間線,按照時脈樹連線關係的上層開始往下,找尋權重值 越接近的做連線,重複步驟一層一層的做中間線連線,重複到所有端點都連線完成,

過程中要保持中間線到另兩點間的延遲相等,如圖 2-2 右邊連線關係中黑色的連線關 係表示。

圖 2-2 DME 演算法示意圖

在具有時間延遲限制下,DME 演算法確實可以有效地達到各端點之間的的延遲 相等,但是在一些狀況發生時,雖然能透過 DME 演算法得到的結果,但相對的花費 成本卻會大量增加,如圖 2-3 所示,假設 P 點子樹與 Q 點子樹之間的延遲非常不平衡,

即 A、B 兩點間的中間線和 C、D 兩點間的中間線之權重值相差極大時,為了平衡兩

(26)

17

邊的差距,於是便需要額外增加大量的連線(Snaking),透過額外增加出來的路由路徑 產生的延遲進行平衡,如圖 2-3 紅線所示。

圖 2-3 DME 演算法示意圖(延遲非常不平衡時)

然而當額外增加的連線越多時,雖然能夠保持低時脈偏差,但是由於過多的額外 連線將會大大增加線路的負載(Load),這些增加的負載甚至會影響到信號的傳輸能 力,若要確保正確,則起始點提供的推力(Power)便要一起增加。

2.3 精確的零偏差(Zero-Skew)之時脈樹繞線

隨著科技持續發展,製程技術不斷進步,時脈樹的要求也就越來越嚴謹,問題的 限制也越來越多,從一開始的連線長度限制到後來的時間延遲限制就能窺得一二,而 在上一節的方法中提到能有效建構具有延遲最佳化的低偏差時脈樹,在這一節將會更 進一步的改善,使其結果更加精確,進而提升為精準的零偏差時脈樹。

西元 1993 年學者提出一個新的方式用於提升時脈樹之零偏差的精確度[3],此篇 研究的方法是建構在艾蒙延遲模型(Elmore Delay Model)之下,透過艾蒙模型中計算線 路延遲的公式,進行反推導以尋找精確的結果,計算方式是先給定兩棵零歪斜的子樹 分別為子樹一(Subtree 1)和子樹二(Subtree 2),其延遲時間分別為 t1 和 t2,而子樹的

(27)

18

總電容則分別為 c1 和 c2。再給定一條線段 ℓ 連接兩子樹頂端的點 A 和點 B,並設定 一個分節點 x (Tapping Point)在線段 ℓ 上且可任意移動,則兩線段 ℓ 可分為兩段 xℓ 和(1-x)ℓ 並分別連結子樹 1 與子樹 2 之間,其定義如圖 2-4 所示。

  1  xx

r2

t1 C1

t2 C2

分節點 子樹 1

子樹 2 r1

2

c

1

2

c

1

2

c

2

2

c

2

B A

圖 2-4 子樹與連結點定義示意圖

將定義好的樹型結構再使用艾蒙模型公式進行計算並設定子樹一的延遲要等於 子樹二的延遲,如圖 2-5 中(1)和(2)所示,列出等式後,經過整理算式便可以得到未 知數 X 的算式解,如圖 2-5 中(3)所示,接著再將 X 的結果進行分類,分別是 X ≥ 0 和 X < 0 的時候,如果 X ≥ 0,則可以透過移動分節點 x (Tapping Point)在線段 ℓ 上找 到一個解使得兩子樹間的時脈偏差為 0,但如果 X < 0 的時候,則無法在線段 ℓ 找到 任一結果可使兩子樹間的時脈偏差為 0,因此必頇透過額外增加線段長度又稱之為蛇 行繞線(Snaking)在線段 ℓ 上,直到求得一 X 解能使兩子樹間的時脈偏差為 0,圖 2-6 為一個 X < 0 時的例子。

(28)

19

圖 2-5 DME 推導算式

圖 2-6 當 X < 0 時的 DME 例子

這種透過移動分節點 x (Tapping Point)的方法確實能有效的求得精準零時脈偏差 的時脈樹結果,但是當遇到兩子樹延遲差異較大時,往往都要額外增加連線(Snaking) 才能達到目的,這樣一來也提高了成本的付出。

(29)

20

2.4 降低製程變異

在製程不斷演進下,由於光學技術已無法百分之百的完整成像,再加上因為時脈 越來越高造成同步系統可以容忍的時脈偏差值越來越低,因此為了克服時脈偏差變異 量(Clock Skew Variation)的問題,有學者們在 2004 年開始就這個問題進行研究並發表 解決方法[10][11][12],這群學者所提出的時脈樹架構與傳統單一路徑的時脈樹結構不 太相同,因為時脈樹中有部分的端點(Sink)到起始點(Source)的路徑方向不是唯一,而 這樣的拓樸結構被稱之為非樹形(Non-Tree)拓樸結構,學者們主要是利用在時脈樹的 兩端點之間增加額外鏈結(Link)的方式,以進行加強時脈偏差變異量之容忍範圍,這 些額外增加的鏈結就是造成拓樸結構從樹形轉化成非樹形的主因,接著將敘述這非樹 形拓樸結構之演算法流程。

關於非樹形拓樸結構之演算法流程:

第一步:利用研究[7]中的方法獲得時脈樹的拓樸結構做為初始輸入訊息。

第二步:使用匈牙利演算法進行節點對(Node Pair)的挑選,以用於插入鏈結,如 圖 2-7 左所示。

第三步:計算要增加的鏈結線段所耗電容值,並添加到預鏈接的節點對之節點 上,使其視為節點上的電容值。

第四步:透過調整分節點方式,將受到添加電容而造成延遲不平衡的子樹對重新 恢復到原來的時脈偏差結果,如圖 2-7 中所示。

第五步:將額外增加的鏈結線段之電阻值添加到預鏈接的節點對之節點上。

(30)

21

圖 2-7 鏈結插入演算法流程部分示意圖

從第一步到第五步完成後,即可求得一個新的且具有額外鏈結的非樹形拓樸結 構,如圖 2-7 右所示,這種藉由額外增加鏈結在端點上的方法,主要是利用鏈結線段 來平衡因製程變異而造成的延遲變化,使兩端點間的延遲平衡點能在該鏈結線段上,

如此便能有效的降低時脈變異量的問題,另外這種方法與網格的時脈拓樸結構相比,

就成本上的付出相對的少而且還提升時脈樹的可靠度,但是,由於此篇採用[7]的時 脈樹拓樸結構做為基礎,加上演算法中的步驟四,也是利用分節點做調整,在加上額 外鏈結的部分,假如碰到非常不平衡的時脈樹結構時,額外的付出成本亦會增加許多。

(31)

22

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

本章節將會從前一章探討時脈樹的發展與先前學者們提出的改進方法作為出發 點,探討其中的不足或是換個方向進行思考,找尋本篇論文的研究動機,並且針對研 究動機而歸納出問題描述的定義內容。

3.1 研究動機

從先前研究中對於具有時間限制條件的時脈樹之建立方法,以及考量時脈樹受到 製程變異產生的時脈偏差變異量之改善方法,這些方法在建構樹形拓樸結構時,皆是 利用分節點執行平衡的動作,但若遇到延遲非常不平衡之時脈樹的時候,都會碰到相 同的問題,無法在現有線段長度中找到平衡點,因此都採用一樣的處理方式,那便是 增加額外的線段長度(Snaking)在原先的拓樸結構中。

從上述狀況中的處理方式,我們可以發現到這樣的問題就像是力學中的槓桿原理 一般,舉一個天秤作為例子,若是有一個不平衡的天秤欲將天秤平衡之,依照槓桿原 理的處理方法則有兩種,一是調整天秤的支點往較重的一端直到平衡,另一個則是不 調整支點而是在較輕的一端增加重物使其平衡,如圖 3-1 所示。

圖 3-1 天秤的兩種平衡方式之示意圖

(32)

23

以此,我們便希望利用不同方式對於不平衡的時脈樹來進行重新平衡,也就是在 延遲較低的一邊增加額外的連線負載,使不平衡的時脈樹能夠再次回復到精準零偏差 的狀態。

3.2 問題描述

根據研究動機,本篇論文透過額外增加連線負載在延遲較低方已達成精準的零時 脈偏差之問題描述如下:

輸入:

已經具有光學鄰近效應(OPE)影響的時脈樹拓樸結構之資訊。

輸出:

透過額外增加連線負載的精準零時脈偏差之時脈樹拓樸結構。

限制:

1、透過補償的方式改善光學鄰近效應造成的影響。

2、維持原輸入時的時脈樹拓樸結構不在其中間造成變化。

以圖 3-2 為例,一個具有光學鄰近效應影響的八個端點之時脈樹拓樸結構,在經 過額外增加連線負載平衡後,其結果如圖 3-4 所示。

(33)

24

圖 3-2 具有光學鄰近效應影響的八端點之時脈樹拓樸結構圖

圖 3-3 具有額外增加連線負載的八端點之時脈樹拓樸結構圖

(34)

25

第四章 已知光學鄰近效應的多餘線段插入技術之 零偏差時脈樹的建構

本章節開始將會就前一章節的研究動機與問題描述部分提出我們的方法,我們先 將整個演算法流程分成五大步驟,其步驟分別為:

第一步:具有光學鄰近效應變異的線寬之等效測定。

第二步:透過由下往上(Bottom-Up)添加負載的方式以完成零時脈偏差樹。

第三步:具有光學鄰近效應的時脈樹之參考路徑測定。

第四步:透過由上往下(Top-Down)分配負載的方式以減少總負載量最佳化。

第五步:添加額外連線完成負載分配。

經過這五大步驟後,便能得到我們給定的輸出結果,之後再進行比較。

4.1 具有光學鄰近效應變異的線寬之等效測定

時脈樹在成像時如果受到光學鄰近效應影響,連線的形狀將會產生變異,如圖 1-10 所示,如此一來,線段便不再是矩形,然而在我們的方法中,主要計算線段延遲 的方法是採用艾蒙延遲模型(Elmore Delay Model)的π模組公式進行延遲的計算,但是 因為線段已經變為不規則圖形,這樣將導致無法使用該方法作準確計算。

因此為了能夠順利且準確使用艾蒙延遲模型的π模組計算公式,我們必頇先將變 形的線段重新等效成矩形的線段,這樣便能夠在後續步驟中順利使用艾蒙延遲模型的 π模組計算公式。

受到光學鄰近效應影響而產生變形的時脈樹線段,我們首先透過時間模擬計算系 統─針對集成電路之仿真程序(Simulation Program with Integrated Circuit Emphasis, SPICE)進行線段的時間分析,以求得要等效還原的線段之起始點與終點的時間。

在一條線段中假設已知的部分有,單位線段電阻α (Unit Resistance)、單位線段電 容β (Unit Capacitance)、時間延遲 t1 和 t2、電容負載 C、線段寬 w 以及線段長 ℓ,而

(35)

26

這已知線段對於艾蒙延遲模型的π模組等效圖形如圖 4-2 上所示,另外此線段的艾蒙 延遲模型之π模組計算式子如圖 4-1 下所示。

圖 4-1 已知線段對於艾蒙延遲模型的π模組等效圖與其計算式

緊接著我們利用上述該線段的艾蒙延遲模型之π模組計算公式進行反推導,設定 新線段寬 W 為未知數,再將已知的值經過重新整理後,便能順利求得新線寬 W 的等 式,如圖 4-2 所示,這樣一來便能將不規則形狀的線段重新等效成矩形線段,如圖 4-3 所示,重新等效好的矩形線段也將能直接在後續的計算中使用艾蒙延遲模型之π模組 計算公式。

 

' 2 '

2 1

2



t t w C

 

 

 

w C

t w

t '

2

'

1

2

圖 4-2 線寬 W 的推導公式

原式: , 整理:

(36)

27

圖 4-3 線寬等效還原矩形示意圖

以圖 4-4 為一棵擁有八個端點(Sink)且時脈偏差為零以及線段寬度設定為 0.4 µm 的時脈樹拓樸為例,其資訊為:

單位線電阻:α = 0.1 Ω/µm ,單位線電容: β = 0.2 F/µm , 驅動能力(Driving Strength) Source = 100 Ω

八個端點的電容值:

CA = 6.6511 F, CB = 3.9266 F, CC = 5.8745 F, CD = 4.8588 F, CE = 8.8140 F, CF = 7.0152 F, CG = 6.2946 F, CH = 11.1805 F

當時脈樹受到光學鄰近效應(Optical Proximity Effect)影響時的變化,圖 4-5 所 示,透過線寬等效算式轉換後,其時脈樹結構再次還原為矩形,如圖 4-6 所示,並且 順利求得各線段之線寬為:

w (s, n0) = 0.400 µm , w (n0, n1) = 0.400 µm , w (n0, n2) = 0.380 µm , w (n1, n3) = 0.392 µm , w (n1, n4) = 0.388 µm , w (n2, n5) = 0.392 µm , w (n2, n6) = 0.380 µm , w (n3, A) = 0.384 µm , w (n3, B) = 0.388 µm , w (n4, C) = 0.384 µm , w (n4, D ) = 0.380 µm , w (n5, E ) = 0.380 µm , w (n5, F ) = 0.384 µm , w (n6, G) = 0.380 µm ,w (n6, H) = 0.384 µm

(37)

28

圖 4-4 零偏差時脈樹例圖

圖 4-5 受光學鄰近效應影響例圖

(38)

29

圖 4-6 線寬等效還原矩形例圖

4.2 透過由下往上添加負載的方式來完成零時脈偏差樹

本節的重點在於將延遲不平衡的時脈樹(Non Zero-Skew Clock Tree)進行平衡,採 用的方法不同於先前研究文獻都是以移動分節點在原始連線上找到平衡點為主,而是 利用槓桿原理的效應,在延遲較少一端的端點(Sink)或內部節點(Node)增加額外的線 段延遲,且增加的順序從最底層開始,一層一層向上增加直到最上層為止,這樣一層 一層向上的進行方式就如同由下往上(Bottom-Up)一般。

計算並增加連線負載的方法,首先要定義圖 4-7 中已知的條件如下列表示:

1、點 X 是子樹 Tj中的任一端點(Sink)。

2、點 Y 是子樹 Tk中的任一端點(Sink)。

3、點 Z 為要增加的額外連線負載值。

4、ti代表從起始點(Source)到點 ni的所需時間延遲。

5、tj代表從點 j 之後整棵子樹的所需時間延遲。

6、tk代表從點 k 之後整棵子樹的所需時間延遲。

(39)

30

7、Cj表示子樹 Tj的所有電容負載值。

8、Ck表示子樹 Tk的所有電容負載值。

7、ℓj代表線 j 段長度。

8、ℓk代表線 k 段長度。

9、wj代表線段 j 寬度。

10、wk代表線段 k 寬度。

圖 4-7 增加連線負載方法之符號定義示意圖

將已知條件與符號定義完成後,接著要使用蒙延遲模型(Elmore Delay Model)的π 模組公式進行計算,分別求點 X 和點 Y 兩點的延遲計算式子,如圖 4-8 所示,然後 將點 X 和點 Y 做大小的比較。

d

y

= t

i

+ ( + C

k

) + t

k

d

x

= t

i

+ ( + C ℓ

j

α

j

) + t

j

,

w

j

k

α w

k

j

w

j

β

2

k

w

k

β 2

圖 4-8 點 X 和點 Y 的計算式子

將點 X 和點 Y 大小的比較分為,當 dX > dY、dX = dY、dX < dY三個分別判斷,並 計算求額外增加之連線負載 Z 的值和該增加在哪個位置上,期分別探討如下:

(40)

31

1、當 dX > dY時:

我們假設點 X 的新時間延遲 dX等於原先舊的 dX不變,而 Y 點的新時間延遲 dY 則等於原先 dY再加上額外添加的連線負載 Z,假設完成後,利用點 X 的新延遲 等於點 Y 的新延遲求得連線負載 Z 的值,並添加在點 Y 所屬子樹的 nk位置,其 計算式子如下:

 dx > dy :

⇒ d'

x

= d

x

, d'

y

= d

y

+ ( )·z ℓ

k

α w

k

⇒ d'

x

= d'

y

⇒ z = (ℓ w

k

β

j2

- ℓ

k2

) + ( - ) + (t

j

– t

k

) 2ℓ

k

w

k

k

j

C

j

w

j

w

k

k

C

k

k

α w

k

2、當 dX = dY時:

因為點 X 的時間延遲等於點 Y 的時間延遲時即為平衡狀態,故相等時不需再額 外添加連線延遲 Z。

3、當 dX < dY時:

我們假設點 Y 的新時間延遲 dY等於原先舊的 dY不變,而 X 點的新時間延遲 dX 則等於原先 dX再加上額外添加的連線負載 Z,假設完成後,利用點 X 的新延遲 等於點 Y 的新延遲求得連線負載 Z 的值,並添加在點 Y 所屬子樹的 nj位置,其 計算式子如下:

 dx < dy :

⇒ d'

x

= d

x

+ ( )·z , d' ℓ

k

α

y

= d

y

w

k

⇒ d'

x

= d'

y

⇒ z = (ℓ w

j

β

k2

- ℓ

j2

) + ( - ) + (t

k

– t

j

) 2ℓ

j

w

j

j

k

C

k

w

k

w

j

j

C

j

j

α

w

j

(41)

32

經由從底層開始向上逐層比較,直到頂層即可完成整體時間延遲的平衡,並使時 脈樹重新回復到零時脈偏差,圖 4-9 是一個三層時脈樹的例子。

圖 4-9 三層之時脈樹的例子

由下往上之添加連線負載最佳化的演算法流程如下所示:

由下往上:

while ( 目前層數不等於頂層 ) {

for ( 目前層樹的每兩個子樹 ) {

比較點 X 時間延遲與點 Y 時間延遲大小;

if ( 點 X 時間延遲大於點 Y 時間延遲 )

計算額外添加連線負載 Z,加到點 Y 子樹上;

else if ( 點 X 時間延遲等於點 Y 時間延遲 ) 不動作;

else ( 點 X 時間延遲小於點 Y 時間延遲 )

計算額外添加連線負載 Z,加到點 X 子樹上;

}

目前層數減一;

}

(42)

33

從圖 4-6 的例子進行由下往上之添加負載最佳化,所得結果的時脈偏差為零,如 圖 4-10 所示,其額外添加的電容值分別為:

= 0.04355 F, = 0.05967 F, = 0.07566 F, = 0.10940 F,

= 0.17970 F, = 0.52020 F, = 1.47014 F 各端點之時間延遲:

DA = 6.10295 ps, DB = 6.10295 ps, DC = 6.10295 ps, DD = 6.10295 ps, DE = 6.10295 ps, DF = 6.10295 ps, DG = 6.10295 ps, DH = 6.10295 ps

圖 4-10 下往上之添加負載的例圖

4.3 具有光學鄰近效應的時脈樹之參考路徑測定

經過前一節由下往上添加負載方式完成的零時脈偏差樹拓樸結構,我們知道時脈 樹從起始點(Source)到任一個端點(Sink)的延遲都是相等的,並且我們在這個過程中發 現到一條繞線路由從起始點到端點,包含在內部的節點(Node)都沒有額外添加的連線 負載(Load),以不同例子在進行由下往上添加負載平衡,也能發現相同的情況的繞線 路由。

(43)

34

因此我們將這種繞線路由假設為這棵時脈樹拓樸結構的參考路徑(Reference Path),以方便在演算法後續流程步驟中使用。

有了參考路徑的時脈樹拓樸中,我們又能夠藉由這條參考路徑從端點(Sink)開始 向上,每遇到一個內部節點(Node)時,便將這個節點所連接的子樹端分作為一個區 塊,一路分區塊到起始點(Source)才結束。

並且我們可以知道,假設有一給定的時脈樹拓樸結構的最大層數為 k 層時,其時 脈樹中最多可以有 2k-1個端點(Sink),順著參考路徑安排的子樹區域則有 k-1 個,分 別為{ST1, ST2, …., STk-1},然而後續真正會用的只有從 ST2到 STk-1,圖 4-11 是一個 擁有八個端點的時脈樹,且已經進行過由下往上之添加負載平衡完後,再找出該時脈 樹拓樸結構中的參考路徑與子樹的分區結果,其中紅色線段即為參考路徑,綠色三角 區域即為安排得子樹區域。

圖 4-11 參考路徑與安排子樹區塊的例子

(44)

35

4.4 透過由上往下分配負載的方式以減少總負載量

本節是承接之前由下往上(Bottom-Up)的負載插入之結果部分,我們在實驗過程 中透過計算得知,假設當額外添加的連線負載都擺放於端點(Sink)位置時,便可以得 到一組最小的額外添加量,因此在這個步驟中,我們的重點就是要將所有添加的額外 連線負載全都擺放到端點之上。

因此考量到總負載量的最小化,在此節我們提出新的輸入和輸出之定義:

輸入:

具有光學鄰近效應影響且已經額外添加連線負載在內部節點或端點上的時脈樹 拓樸結構之資訊。

輸出:

具有光學鄰近效應影響且額外添加連線負載只在端點上的時脈樹拓樸結構。

其輸入與輸出形式如圖 4-12 所示。

圖 4-12 求最小添加負載總量的輸入與輸出示意圖

進行由上往下的演算法處理,其主要用意是為了降低額外增加的連線負載量,而 連線負載的分配主要流程步驟可分為三個部分:

第一步:首先根據之前訂定的參考路徑(Reference Path)以及規劃好的子樹區塊,

依照參考路徑的端點(Sink)方向開始往上到起始點(Source),分別以子樹區塊為範圍,

(45)

36

一個一個的進行負載分配,當第一個子樹區塊分配完後,下一個要做負載分配的子樹 區塊與下下個子樹區塊間的時間延遲都不一樣,因此我們給定∆T 假設為每一次分配 時子樹區塊間的時間延遲差異值。

第二步:計算子樹區塊的次數取決於參考路徑上的端點和節點總數,假設參考路 徑上的端點與節點數為 k 時,則有 2k-1 個子樹區塊的聯立方程式需要計算,而這些 方程式列式的常數項∆T 分別在前一個子樹區塊分配完時,便能計算差值求得。

第三步:每一個子樹區塊的聯立方程算式列法,如圖 4-12 所示,其中 k 代表子 樹區塊中的所有端點(Sink)總數,端點數量越多時,連立方程的等式就越多,而我們 主要的解法為透過高斯消去法來進行求聯立方程式的解。

進行連線負載分配到端點(Sink)上的主要目的是為了使經過額外添加連線負載的 時脈樹拓樸結構能更加貼近於最原始輸入的拓樸結構,盡可能的做到不破壞原有連線 為原則,此外,在經過連線負載由上往下(Top-Down)分配後,我們還是必頇要保持時 脈樹為零時脈偏差。

由上往下的連線負載分配方法重點在要將端點(Sink)之上的所有額外添加連線負 載全都放到最末端的端點上,這種感覺就像是將頂端的重物慢慢往下放到底端,因此 我們稱之為由上往下(Top-Down)的連線負載分配,而方法的主要流程是藉由前一章節 所訂定的參考路徑以及安排的子樹區塊分別來進行的。

從圖 4-11 所示,我們知道任一個時脈樹拓樸結構的最大層數為 k 層時,其時脈 樹中最多可以有 2k-1個端點(Sink),順著參考路徑安排的子樹區域則有 k-1 個,分別 為{ST1, ST2, …., STk-1},在此連線負載分配的方法要先分兩個步驟進行,首先是針對 ST2到的部分,等 ST2分配完後接著才是 ST3到 STk-1依序分配。

(46)

37

子樹 ST2的分配方法:

從圖 4-13 上表示,除了連線負載分配存放的 X 和 Y 是未知數以外,其他的值皆 為已知數,因此我們採用透過解聯立方程式(Gaussian Elimination)的方法來求得 X 和 Y 的值,另外假設∆T 為聯立方程式的常數項,其計算式分別如下:

ΔT 2 y)

( y) T x

( 2

ΔT 2 x)

( y) T x

( 2

R c c C

R

R c c C

R

4 4 1

1

3 3 1

1

1 1

n) ( 2

T)

( 2

c C

R c C

ΔT  R

2 2 2 6 6 6

其中 R1~R6分別代表線段的電阻值,C1~C6分別代表線段的電容值,CT1和 CT2 為子樹 T1和 T2的總電容值,Cn6為端點 n6的電容值,只要將式子(2)解聯立方程後即 可求得在 X 和 Y 所需放置的電容值,而 e1的額外負載電容則設為 0。

圖 4-13 子樹 ST2連線負載分配示意圖 (1)

(2)

(47)

38

子樹 ST3到 STk-1的分配方法:

從子樹 ST3開始一直到 子樹 STk-1的分配方法大致上都與子樹 ST2的分配方法類 似,一樣都是利用解聯立方程式(Gaussian Elimination)的方式求得各端點必頇分配的 連線負載量,唯一比較不同的地方是關於∆T 的假設,在這邊∆T 的假設為現在要執行 連線負載分配的子樹之任一端點延遲與前一個已經分配完的子樹之任一端點延遲的 差值(Gap),其分配方式的示意圖如圖 4-14,計算式子如下:

ΔT 2 )

( c x

t

2k11i

 R

2k11i 2k11i

i

ΔT 2 )

( c x

t

2k11i

 R

2k11i 2k11i

i

i from 0 to 2

k-1

-1

圖 4-14 子樹 ST3到 STk-1的連線負載分配示意圖

(48)

39

其中 k 代表子樹的層數,Rm代表線段 m 的電阻值,Cm代表線段 m 的電容值,tm 為子樹從起始點(Source)的子節點(Sun)到端點(Sink)的總延遲時間值,nm 的代表點 m,只要將式子解聯立方程後即可求得從 X0到 X2k-1-1所需放置的電容值,而端點之 上的節點之額外負載電容則全設為 0。

在連線負載分配的過程中,時脈樹的時間延遲偏差會產生變化,時大時小,但在 全部分配完後,便會再次回歸到零時脈偏差,整體的額外添加連線延遲總量相較於還 沒進行分配前要來得少。

由上往下之額外添加連線負載分配最佳化的演算法流程如下所示:

由上往下:

for ( 子樹 ST2開始;子樹 STk-1結束;) {

if ( 子樹 ST2 ) {

解子樹 ST2的聯立方程式;

結果加至端點,並設節點電容為 0;

}

else (子樹 ST3到子樹 STk-1 ) {

解子樹 ST3到子樹 STk-1的聯立方程式;

結果加至端點,並設節點電容為 0;

} }

(49)

40

從圖 4-10 的結果,經由考量時間限制之降低延遲的由上往下之負載分配方法後,

清楚發現延遲確實減少,並且時脈偏差仍保持為零,其結果如圖 4-15 所示,各端點 時間延遲如下:

DA = 6.04072 ps, DB = 6.04072 ps, DC = 6.04072 ps, DD = 6.04072 ps, DE = 6.04072 ps, DF = 6.04072 ps, DG = 6.04072 ps, DH = 6.04072 ps

圖 4-15 考量最小添加負載總量之由上往下之負載分配方法例圖

(50)

41

4.4.1 考量空間限制之由上往下分配負載方式以減少總 負載量

這節主要是基於目前晶片發展日趨漸小,在晶片中的繞線位置也越來越密集,因 此考量到繞線空間的限制,而增加的條件思考,而此方法必頇在先執行時間限制下的 連線負載分配完成後才能進行判斷,因為連線負載分配過程中為求最佳化,因此無法 事先知道所分配於端點的連線負載量,因此而採用事後判斷的方式。

因此考量空間限制下總負載量的最佳化,在此節我們提出新的輸入和輸出之定 義:

輸入:

具有額外添加連線負載在端點或節點上的零時脈偏差樹拓樸結構之資訊。

輸出:

依照空間限制考量且已經重新分配連線負載在端點或節點上的零時脈偏差樹拓 樸結構之資訊。

其輸入與輸出形式如圖 4-16 所示。

圖 4-16 考量空間限制之負載分配的輸入輸出示意圖

(51)

42

在考量空間限制下的負載分配方法主要步驟可分為四步:

第一步:

首先必頇取得各內部節點(Node)與端點(Sink)的可繞線面積限制,並且將超過空 間限制的額外負載刪去超過的部分。

第二步:

利用由下往上(Bottom-Up)之額外添加連線負載方式的原則,對超過空間限制的 端點位置,進行重新往上添加負載以達成新的平衡。

第三步:

再次進行由上往下(Top-Down)之連線負載分配的步驟,一樣是利用解聯立方程式 (Gaussian Elimination)的步驟對子樹 ST2到子樹 STk-1進行求解,此時則是以空間 限制為前題做分配,其新增的額外負載分配位置為空間限制已滿的端點(Sink)之 父節點(Parent)上。

第四步:

第三步完成後,若是重新分配於端點(Sink)之父節點(Parent)的額外添加連線負載 也大於該節點區域的空間限制,我們可以持續重複第一步驟到第三步驟,直到完 全符合空間限制的結果,而每重複執行一次,該次的連線負載得添加在前一次添 加的節點之父節點上。

根據圖 4-15 為時間限制的結果,在此將限制改為空間賞的限制,允許最大範圍 為 0.3F,在經過考量空間限制之降低延遲的由上往下之負載分配後,結果如圖 4-17 所示,其八端點的額外添加之電容值變化如下:

原始:

EA = 0.4133 F, EB = 0.2941 F, EC = 0.3509 F, ED = 0.2401 F, EE = 0.1975 F, EF = 0.2353 F, EG = 0.0000 F, EH = 0.1094 F 重新分配後:

參考文獻

相關文件

For the proposed algorithm, we establish a global convergence estimate in terms of the objective value, and moreover present a dual application to the standard SCLP, which leads to

volume suppressed mass: (TeV) 2 /M P ∼ 10 −4 eV → mm range can be experimentally tested for any number of extra dimensions - Light U(1) gauge bosons: no derivative couplings. =&gt;

We explicitly saw the dimensional reason for the occurrence of the magnetic catalysis on the basis of the scaling argument. However, the precise form of gap depends

• Formation of massive primordial stars as origin of objects in the early universe. • Supernova explosions might be visible to the most

(Another example of close harmony is the four-bar unaccompanied vocal introduction to “Paperback Writer”, a somewhat later Beatles song.) Overall, Lennon’s and McCartney’s

Microphone and 600 ohm line conduits shall be mechanically and electrically connected to receptacle boxes and electrically grounded to the audio system ground point.. Lines in

The min-max and the max-min k-split problem are defined similarly except that the objectives are to minimize the maximum subgraph, and to maximize the minimum subgraph respectively..

Experiment a little with the Hello program. It will say that it has no clue what you mean by ouch. The exact wording of the error message is dependent on the compiler, but it might