中 華 大 學

70  Download (0)

Full text

(1)

中 華 大 學 碩 士 論 文

題目:以雙重界限串列表示法之溫度限制熱導向板面 規劃

Temperature-Constrained Thermal-Driven Floorplan on DBL Representation

系 所 別:資訊工程學系碩士班 學號姓名:E09102003 陳正智 指導教授:顏金泰 博士

中華民國 九十三 年 七 月

(2)
(3)
(4)
(5)
(6)

摘 要

近年來數位電路的發展,已進入到超大型積體電路(ULSI)和單一系統晶片 (System-on-Chip, SoC)的時代,使得晶片的設計變得越來越複雜,而為了解決 日益增加的設計複雜度,於是矽智財(SIP)模組就被廣泛的使用,使得晶片內的 矽智財模組可能是由許多不同公司,亦或是不同部門所提供,使得開發矽智財的 公司可以專精於其產品的開發與驗證來達到最佳的晶片運作,而每一個模組在最 佳化的狀況下,才可能組合出較佳的整合晶片。

另外,由於電路設計的複雜度提高,而客戶需求的功能多樣化(如高效能、

低功率…等等),造成整個設計流程所需時間變長。因此,在設計流程第一步的 板面規劃,自然就成為讓產品提早問市的關鍵之一,且其板面規劃的結果會影響 晶片的溫度和繞線等問題。所以,有好的開始就是成功的一半,即板面規劃的好 壞於設計流程中的影響愈來愈重要,而且一個好的板面規劃應用,則是取決於板 面規劃的資料表示法、成本函數計算及取樣流程等等的方式。

本 篇 所 討 論 的 是 在 各 種 不 同 需 求 狀 況 下 , 以 雙 重 界 限 串 列 (Double-Bound-List, DBL)表示法之溫度限制熱導向板面規劃,而 DBL 表示法具 有目前幾個代表性表示法(如 Sequence Pair、O-tree 與 B*-tree)之優點,而且 DBL 表示法符合 P-admissible 特性的需求,可以在多項式時間內,直接獲得模 組的鄰近關係,且只需使用到少量記憶體。以往討論板面規劃多是以晶片面積為 主要考量,但是隨著製程技術的進步,晶片越做越小,面積的問題已不如以往那 麼重要,主要的考量為高效能、可繞性與熱的分散。而在較少面積、較高的包裝 密度下,要達到相同的功能與效能時,功率的消耗也隨之增加,將導致溫度的上

(7)

常運作。

透過以雙重界限串列表示法之溫度限制熱導向板面規劃,配合退火演算法的 運算,可以快速的得到各模組的溫度,而且可以使用較少的計算空間,不但符合 目前以模組化的方式設計晶片,且可以應用在 SoC 的整合晶片中。從實驗的結果 顯示出,以熱導向的板面規劃可以產生熱限制的的晶片設計,且能達到降溫的目 的。

(8)

Abstract

The development of the digit circuits in recent years has already entered into the ultra large-scale integrated circuit (ULSI) and System-on-Chip (SoC) era. The design of the chip becomes more and more complicated. In order to solve increased complexity, the concept of the silicon intellectual property (SIP) modules be extensively used. Hence, the SIP modules might be designed by a lot of different companies or offered with different departments. So, the companies which develop SIP modules can make good at their development and verification of products up to the best chip operation. Good modules may form better merger chip under the state of the optimization.

In addition, the circuit design becomes complicated and the function diversification of customer's demand (such as high efficiency, the low power, etc.) causes the entire IC design flow to become to need long time to finish it. Hence, an effective better floorplan approach which depends on the good data representation of floorplans, the estimation of cost function, and the sampling of process improvement becomes more and more important.

In this paper, we discuss how to reduce the temperature in a floorplan. Based on the DBL representation, we propose one Temperature-Driven floorplan, named Temperature-Constrained Thermal-Driven Floorplan on DBL Representation. The DBL representation combines the advantages of representative popular representation, such as Sequence Pair, O-tree and B*-tree. The data structure of the DBL

(9)

take polynomial time to get the adjacent relations between any pair of modules, and only need to use less memory for the storage of one floorplan. Now, there is not only the discussion of the area requirement for the floorplan problem, but also the discussion of the high efficiency requirement, maximum routability requirement, hot-spot distribution…etc. Under using less area and higher density of packaging, the increasing power consumption will lead to the rising temperature. So, we can prevent from overheated temperature to cause burning or abnormal operation on one chip.

By using we proposed SA-based Temperature-Constrained Thermal-Driven Floorplan on DBL Representation, the experimental results shows that our approach reduce the chip temperature and with less storage.

(10)

誌 謝

此篇論文能夠順利完成的完成,要特別感謝指導教授顏金泰博士於在學期間 的辛勤指導,不僅使我在學識上有所增長外,在研究方法與問題的解決方式有很 大的幫助,以及學校教授在二年的研究過程中,給予的論文寫作注意事項的協助 與指導,使我受益良多。

感謝求學過程中陪我一起走過這二年同學李石川、陳杰煌、蘇乾禎、曾國松、

柳碧芳、謝運財、陳逢銘、陳彥翔、李佳芳等人,在平日問題的討論與課業上的 協助。感謝龍巧玲學姐、吳文政學長給我論文撰寫以及學業生活上的幫助與鼓 勵。也感謝學弟林鎧平、吳嘉偉、李育政與學妹王姿雅的幫忙與協助。

最後要感謝家人、朋友的全力支持,讓我在求學過程中無後顧之憂能夠專心 的完成碩士學位。

謹將此篇論文獻給家人、師長、同學及朋友們,共同分享這得來不易之榮耀。

陳正智 謹致

(11)

目 錄

中 文 摘 要 ...I 英 文 摘 要 ...III 致 謝 ...V 目 錄 ...VI 圖 形 目 錄 ...VIII 表 格 目 錄 ...X

第 一 章 簡 介 ... 1

1.1 常 見 的 板 面 規 劃 方 法 ... 5

1.1.1 可 分 割 板 面 規 劃 ... 5

1.1.2 不 可 分 割 板 面 規 劃 ... 8

1.1.3 馬 賽 克 板 面 規 劃 ... 12

1.2 IC 熱 源 處 理 方 式 ... 12

1.3 寫 作 動 機 ... 13

第 二 章 以 DBL 表 示 法 的 退 火 板 面 規 劃 ... 16

2.1 結 構 化 的 階 層 式 階 梯 輪 廓 表 示 法 ... 16

2.2 LB 包 裝 (Packing)解 決 模 式 ... 22

2.3 雙 重 界 限 串 列 表 示 法 (DBL: Double Bound List) ... 22

2.4 板 面 規 劃 中 有 效 利 用 退 火 運 算 來 擾 亂 ... 24

第 三 章 晶 片 模 組 熱 處 理 方 式 與 問 題 描 述 ... 28

3.1 多 晶 片 模 組 的 熱 處 理 方 式 ... 28

3.2 單 晶 片 模 組 的 熱 處 理 方 式 ... 29

3.3 問 題 描 述 ... 31

第 四 章 熱 導 向 晶 片 設 計 的 熱 計 算 方 式 ... 34

(12)

第 五 章 溫 度 限 制 熱 導 向 的 DBL 板 面 規 劃 ... 37

5.1 Cell-level 模 式 ... 37

5.2 熱 擴 散 的 距 離 表 示 法 ... 38

5.3 熱 阻 表 示 法 ... 40

5.2 模 組 的 功 率 消 耗 表 示 法 ... 41

5.2 各 模 組 溫 度 計 算 方 法 ... 42

第 六 章 實 驗 結 果 ... 46

第 七 章 結 論 與 未 來 工 作 ... 50

參 考 文 獻 ... 52

(13)

圖 形 目 錄

圖 1.1 傳 統 的 實 體 設 計 流 程 圖 ... 3

圖 1.2 現 代 的 實 體 設 計 流 程 圖 ... 4

圖 1.3 可 分 割 板 面 規 劃 ... 6

圖 1.4 分 割 符 號 功 能 示 意 圖 ... 6

圖 1.5 可 分 割 之 電 路 及 相 對 應 之 Polish 的 二 元 樹 ... 7

圖 1.6 相 同 的 電 路 區 塊 有 不 同 的 Polish 二 元 樹 表 示 法 ... 7

圖 1.7 不 可 分 割 板 面 規 劃 ... 8

圖 1.8 電 路 模 組 區 塊 以 序 列 對 表 示 之 關 係 圖 ... 9

圖 1.9 O-樹 水 平 表 示 法 ... 10

圖 1.10 B*-樹 表 示 法 ... 11

圖 1.11 溫 度 升 高 時 的 電 子 移 動 導 致 以 指 數 的 狀 態 減 少 的 時 域 和 失 敗 狀 況 ... 14

圖 2.1 不 可 分 割 板 面 規 劃 及 其 緊 密 板 面 規 劃 ... 16

圖 2.2 模 組 在 無 空 隙 的 L-type 輪 廓 修 正 ... 17

圖 2.3 模 組 在 有 空 隙 的 L-type 輪 廓 修 正 ... 19

圖 2.4 階 屬 式 階 梯 輪 廓 的 緊 密 板 面 規 劃 表 示 法 ... 21

圖 2.5 一 個 緊 密 板 面 規 劃 的 DBL 表 示 法 ... 24

圖 2.6 緊 密 板 面 規 劃 的 擾 亂 運 算 ... 26

圖 3.1 多 晶 片 模 組 的 熱 處 理 方 式 ... 28

圖 3.2 一 維 強 制 對 流 冷 卻 ... 29

圖 3.3 矩 陣 合 成 達 到 熱 分 散 ... 29

圖 3.4 以 網 格 分 割 的 熱 阻 抗 法 ... 30

圖 3.5 以 矽 基 底 屬 做 為 熱 阻 的 3D 模 型 ... 31

(14)

圖 3.6 晶 圓 上 的 熱 情 況 3D 模 型 ... 32

圖 3.7 一 個 固 定 或 彈 性 的 模 組 區 塊 和 晶 片 的 溫 度 限 制 ... 32

圖 3.8 滿 足 晶 片 設 計 時 的 溫 度 限 制 或 較 低 的 溫 度 ... 33

圖 4.1 一 維 穩 態 的 熱 傳 導 模 型 ... 34

圖 4.2 電 路 中 的 電 阻 ... 35

圖 4.3 熱 傳 導 中 的 熱 阻 ... 35

圖 4.4 多 模 組 的 熱 傳 導 模 型 ... 36

圖 5.1 Cell-level 模 式 ... 37

圖 5.2 模 組 的 熱 傳 送 長 度 L 與 熱 接 觸 面 長 度 W ... 39

圖 5.3 一 點 對 多 點 的 重 心 熱 模 式 ... 39

圖 5.4 多 點 對 一 點 的 重 心 熱 模 式 ... 40

圖 5.5 模 組 方 式 的 求 解 ... 40

圖 5.6 模 組 間 的 熱 阻 關 係 ... 41

圖 5.7 熱 擴 散 方 式 ... 41

圖 5.8 以 模 組 表 示 重 心 熱 源 功 率 的 方 法 ... 42

圖 5.9 以 熱 導 向 的 流 程 圖 ... 44

圖 5.10 以 溫 度 限 制 熱 導 向 的 流 程 圖 ... 45

圖 6.1 測 試 檔 apte 之 板 面 規 劃 ... 47

圖 6.2 測 試 檔 xerox 之 板 面 規 劃 ... 47

圖 6.3 測 試 檔 hp 之 板 面 規 劃 ... 48

圖 6.4 測 試 檔 ami33 之 板 面 規 劃 ... 48

圖 6.5 測 試 檔 ami49 之 板 面 規 劃 ... 49

(15)

表 格 目 錄

表 1.1 微 處 理 器 未 來 趨 勢 ... 13 表 6.1 MCNC 的 電 路 測 試 檔 資 料 ... 46 表 6.2 板 面 規 劃 後 的 溫 度 比 較 表 ... 46

(16)

第一章 簡介

近年來的數位電路發展過程中,在超大型積體電路(VLSI)尚未出現前,當時 的產業界與學術界均是使用印刷電路板(PCB)將個別的電子元件焊接在它上面,

並應用於相關的電子產品之中。電子元件從早期的真空管或單一電晶體的電路設 計,推進到可以將數百萬個邏輯閘放入於單一晶片中的超大型積體電路中的技 術,而且僅在最近短短幾年之內便達到。而莫爾(Moore’s)定律的提出,於單一 晶片可容納積體電路的數量發展在同一面積之下,以每隔約十八個月便會增加一 倍的速度增長;而近幾年來的電晶體數目與工作頻率的成長,幾乎與其預估十分 符合。

其中,第一代的積體電路晶片稱之為小型積體電路(SSI),它是由一個能放 入數十個到百個電晶體電路的晶片,其所含的邏輯閘數目相當的少;而隨著製程 技術的進步與發展,單一晶片所能放入的電晶體數目也越來越多,進而發展到中 型積體電路(MSI),它能在單一晶片中放入數百顆到千顆的電晶體電路;隨之進 入了大型積體電路(LSI)時代,此時單一晶片之內所能放入的電晶體數目已達到 上千顆到萬顆。而最近幾年來,電路的設計日趨複雜,電路中的電晶體數量已達 到數十萬到數百萬之譜,已進入超大型積體電路(VLSI 或 ULSI)的時代。面對如 此龐大而複雜的電路,原來用在一般電路規劃設計與測試驗證的工作,已經不可 能憑手工的方式來處理每顆電晶體的連線情況與擺放位置,亦或是電路的設計、

驗證及模擬,因其複雜度已非人類可以完全掌控,因此,得透過人類的經驗法則 所設計出來的電子設計輔助自動化(EDA)工具來幫助工程師完成這些工作,也是 目前唯一的可行的解決方式。

藉由電子設計輔助自動化工具的幫助,在設計超大型積體電路時,人們可以

(17)

中,先作電晶體層次的實體設計,然後再利用先前設計出來的小區塊電路再組合 而成更大區塊的電路,依此類推,直到把整個電路設計完成為止。這種由下而上 的電路設計整合的方式,適用於整合時期的階段。為了加快因應目前超大型積體 電路的設計,促使了有高階硬體描述語言的發展;目前大部份的電路設計使用高 階硬體描述語言來實作,藉由合成器來幫助完成電路設計,能有效的使用高階硬 體描述語言作為電路的設計的基礎來描述其電路架構,再經由合成(Synthesis) 的動作產出電路設計圖,簡化了傳統的設計方式,這樣,即可以大大的降低設計 與驗證的時間。

目前,高階硬體描述語言被廣泛使用之後,電路設計者就更需要電子設計輔 助 自 動 化 工 具 來 幫 助 完 成 晶 片 的 設 計 工 作 , 且 隨 著 單 一 系 統 晶 片 (System-on-Chip , SoC)時代的來臨,晶片設計就變得愈來愈複雜,而為了解決 所增加的設計複雜度,於是矽智財(SIP)模組就被廣泛的使用,使得晶片內的矽 智財模組可能是由許多不同公司,亦或是不同部門所提供,這樣,開發矽智財的 公司,可以專精於其產品的開發與驗證來達到最佳的晶片運作。因此,矽智財模 組的整合對於發展單一系統晶片而言是一個相當重要的關鍵,每一個模組達成最 佳狀況,其組合出來的單一系統晶片才會有比較佳的表現。於是,設計出一套可 應用於單一系統晶片的電子設計輔助自動化工具,就變得非常重要。相對的,在 設計矽智財模組時的各種電子設計輔助自動化工具也是不可或缺的角色,把單一 模組的設計做到最好,整合出來的晶片相對也會有較佳的結果。所以,電子設計 輔助自動化工具在各設計階段中,扮演愈形重要的角色。

在傳統上,電子設計輔助自動化工具在晶片設計流程中分成前段(Front-end) 和後段(Back-end)兩部份,前段的設計流程主要包含了電路的合成及功能性的模 擬(Simulation)與驗證(Verification)等等;而後段的設計流程一般是屬於晶片 的實體設計(Physical Design)部分,其中包含了電路的分割(Partition)、板面

(18)

規劃(Floorplan)、擺置(Placement)、整體繞線(Global Routing)、細部繞線 (Detail Routing)等等。經由上述的設計流程,可以讓晶片設計者能夠更快的完 成晶片設計及驗證之工作。如圖 1.1 為一簡單的傳統實體設計流程圖。

圖 1.1 傳統的實體設計流程圖

傳統的實體設計流程中,每一個階段都會有其主要的考慮重點,例如,在板 面規劃階段時,一般主要考量為晶片設計獲得最小面積的結果;在整體繞線階段 則需考慮腳位(pin)的連接,而且所使用之連接線段為最短,使得內部連接傳遞 延遲(Interconnection Delay)變短,讓晶片的運作效能更佳;至於細部繞線 階段時,會根據整體繞線所得的結果,實際的去完成每一條繞線,同時須儘可能 的避免在同一區域浪費過多空間。在晶片設計初期時,因晶片設計較為簡單且電 晶體的數目較少,故大部份的晶片設計者大多都只會考慮晶片設計的功能是否正 確,並不會去考慮面積及速度等限制問題,更不會考量與其他晶片整合或組合後 所產生晶片的問題。

整體繞線

( Global Routing )

細部繞線

( Detailed Routing ) 分割

( Partition )

板面規劃

( Floorplan )

(19)

但是,當晶片設計進入到深次微米 (Deep- Submircon , DSM)及單一系統晶 片的整合時,由於晶片製程技術的進步及效能的提升,造成現今的晶片設計需考 慮到更多其他方面的限制,因此,各種新的實體設計流程也相繼地被提出並討 論,雖然基本流程仍與先前所提大同小異,但新的設計流程中,於每一階段主要 考慮的重點已有所改變。在板面規劃階段時,不只需要考慮到面積,其晶片效能 (速度)、可靠度、可繞性與熱的分散也要一併列入考量之中;而在整體繞線階段 也不只需要考慮繞線的長度,可能也必須考慮晶片推動時間(速度)的要求及繞線 的擁擠程度;在細部繞線階段,也可能必須考慮關於線路干擾(Crosstalk)或 雜訊的問題。面對如此不同的複雜問題,因此,必須提出一套新的設計流程,來 解決以上所列問題的處理方式,圖 1.2 為現代的實體設計流程圖。

圖 1.2 現代的實體設計流程圖

而隨著單一系統晶片設計的時代來臨,矽智財(SIP)模組經常被廣泛地應用 在現今的晶片設計中,導致晶片內的矽智財模組可能由許多不同公司或不同部門 所提供,對於開發單一系統晶片而言,將所有矽智財模組整合至單一晶片中是一 件相當重要的事情,同時也造成單一系統晶片內的板面規劃(floorplan)變得比 以往更加重要。另外,由於電路設計的複雜度提高,而客戶需求的功能多樣化( 如

效能、可繞性、

熱的分散(可靠度)

晶片推動時間、

繞線擁擠程度

線路干擾、雜訊 整體繞線

( Global Routing )

細部繞線

( Detail Routing ) 板面規劃

( Floorplan )

實體設計流程 問題需求

(20)

高效能、低功率…等等),造成整個設計流程所需的時間變長。因此,在設計流 程第一步的板面規劃,自然就成為讓產品提早問市的關鍵之一,且其板面規劃的 結果會影響晶片的溫度和繞線等問題。所以,有好的開始就是成功的一半,即板 面規劃的好壞於設計流程中的影響愈來愈重要。有鑒於上面所提及的原因,就單 一系統晶片的整合來看,好的板面規劃應用可以讓使用者獲得更佳的效益。因 此,如何有效的得到好的板面規劃就顯得非常重要,而且一個好的板面規劃應 用,則是取決於板面規劃的資料表示法、成本函式計算及取樣流程等等方式。

1.1 常見的板面規劃方法

然而,板面的規劃是一個非方式程可以解(NP-complete)的問題,因此,很 多板面規劃者,常使用隨機的打散方式來尋找可行的方式,做為模組的幾何形狀 排列,若以這樣的方式來解決板面規劃問題,就顯得非常的無效率。

為此,有很多有用且有效的幾何排列表示法一一被提出來,而一個好的板面 規劃表示法,必須做到快速的搜尋處理和獲得準確的板面規劃估計及較佳的內部 連 線 。 基 本上 , 板 面 規 劃 可 分 成 三 個 部 份: 可 分 割 (Slicing)、 不 可 分 割 (non-Slicing)及馬賽克(Mosica)。

1.1.1 可分割板面規劃

首先,先看一下最簡單的可分割板面規劃方法。基本上,它能藉由遞迴的方 式,做垂直與水平來分割出較小的矩形,且每次的分割都可以把一個矩形一分為 二,而不會破壞到內部的電路區塊,而且電路的區塊不可以置放於分割線上。如 圖 1.3 所示。

(21)

圖 1.3 可分割板面規劃

基本上,可分割的板面規劃是屬於較有規律的,因此,可以使用於較簡單的 資料結構來做完整的表示,通常是使用二元樹(Binary-Tree)來表示。下面將介 紹以 Polish 表示法來改善二元樹的表示法。

其中,將葉的節點設為電路的區塊,中間點代表為分割的方式,而”*”表 示垂直分割,”+”表示水平分割,如圖 1.4 所示之分割符號功能示意圖,將以 此觀念把一電路區塊表示成二元樹,如圖 1.5 所示之可分割之電路及相對應之 Polish 的二元樹。

圖 1.4 分割符號功能示意圖

A B

A

+

B

* =

= B A

A B

(22)

6

1 3 5

2 4

7

* +

1 6

*

+ +

* 2 7 4

3 5

圖 1.5 可分割之電路及相對應之 Polish 的二元樹

一般需要注意的是,Polish 的表示法與實際上的板面規劃上,並非為一對 一的對映來表示,如圖 1.6 所示,其中圖 1.6(b)、(c)兩者皆為對應到圖 1.6(a) 的可分割的電路區塊。

1

3

2

4

*

1 *

+ 4

3 2

*

1

* +

4

3 2

(a) (b) (c) 圖 1.6 相同的電路區塊有不同的 Polish 二元樹表示法

當有 n 個數量的可分割模組區塊時,需要花費O n( !23n3 n1.5)來處理。但實 際的電路之中,可分割的電路只佔了極少數的部份,大部份為不可分割的電路。

因此,下面將介紹常見的不可分割板面規劃。

(23)

1.1.2 不可分割板面規劃

當每次分割電路時,都無法將之一分為二,而且會破壞到其內部的區塊時,

即稱之為不可分割板面規劃,如圖 1.7 所示。

圖 1.7 不可分割板面規劃

而大部份板面規劃為使用不可分割的方式,它是以一對垂直或水平的非週期 性的圖形來表示拓撲學的圖形。另外,也有以相鄰圖形及插入圖形的方式被廣泛 的使用,直到西元 1990 年代時,有兩個有效的表示法出現,一個是序列對 (SP:Sequence Pair)及邊界分割網格(BSG:Bounded-Sliceline Grid)的不可分割 方式的表示法。

序列對(SP)主要是使用兩個序列對名稱來表示初始的大量模組的幾何關 係,但其表示法需要大量的時間來計算其表示法中最長的路徑,來歸納出有限的 圖形。之後,一個 Fast-SP 的表示法被提出,以快速的包裝(packing)來估計共 通最長的次序列。邊界分割網格(BSG)是由多個表示式組成,因此其提供的方式 太過複雜。所以,SP 被廣泛的應用在不可分割方式的板面規劃上,如圖 1.8 所 示。

而序列對的表示法能將板面規劃表示之個數從一個未知數變成已知數,即可

(24)

將不可分割板面規劃問題求解給簡化了,並把不可分割板面規劃的方法給規則 化,利用圖 1.8(b)與圖 1.8(c)來表示水平與垂直之關係圖,藉由水平與垂直之 關係圖來找出最長的路徑,進而得到以板面規劃後所得到的較小晶片面積。

(a)電路模組區塊

c d

e f

a

b

s t

c d

e f

a

b

s t

(b)水平關係圖 (c)垂直關係圖 圖 1.8 電路模組區塊以序列對表示之關係圖

另外並定義了 P-admissible 表示法,而 P-admissible 的表示法需要符合下 列四項條件:(1)表示法的個數是有限的;(2)每一個表示法可對應到一個板面規 劃;(3)在多項式的時間(Polynomial time)之內,即可將其表示法轉換成板面規 劃和成本的估算;(4)最小成本估算表示法可轉換成最佳板面規劃。而序列對的 表示法需花費O n( !)2,而邊界分割網格需要O n C n n 。 ( ! ( 2; ))

若以考量一個緊密的板面規劃,則有 O-樹(O-tree)的表示法被提出,為了

b

(25)

列,使用樹中較少的運算(刪除、插入和交換),來得到所有的表示法,並來轉換 置放位置,所有的運算皆可直接在 O-樹上完成。雖然運算容易,但樹的節點的 邊複雜度變得過大,會導致運算變得很複雜,而無法掌控其結構,且需要的運算 空間也過於龐大,為此一方法的最大缺點。

圖 1.9 為 O-樹的表示法,其中,圖 1.9(a)的黑點表示 O-樹的樹根(Root),

其搜尋方法是以左下角的區塊開始,而其序列記錄了只要往右走時,即在序列中 記錄一個 0 和此區塊的名稱,同樣的,若往左走時,則在序列中記錄一個 1 和此 區塊的名稱,按照此方法即可得到一完整的序列,然後依據得到的完整序列,只 要遇到 0 時,即往下走並將區塊名稱當成子節點,同理,只要遇到 1 即往上走回 到父節點,這樣即可得到一個水平的 O-樹表示法,如圖 1.9(b)所示。以序列對 和 O-樹表示法來比較,O-樹需要花費O n( !22n2 n1.5),比序列對所需要的O n( !)2 的儲存空間少了很多,但由於無法從表示式中得知區塊之間的幾合關係,也不符 合 P-admissible 的定義。

(a)水平搜尋 (b)水平 O-樹表示法

圖 1.9 O-樹水平表示法

除此之外,另一個以二元樹為基礎的 B*-樹(B*-tree)被提出,如圖 1.10 所 示,它是一個 O-tree 的限制版本,但有更快的運算和較簡單的資料結構,因為

a b d c

e f

1 0

root

a d e

b c f

0 1

1 1

1

1

0 0

0 0

(26)

使用了二維(Two-Dimensional)的包裝方式,可能導致獲得錯誤可行的板面規 劃,雖然花費只要O n( !22n2 n1.5),但只能描述出部份的拓撲圖訊息,且其板面 規劃的模組必須給予精確才行。

a i

j

k b c d

e

f g

h l

a i

j

k b c d

e

f g

h l

a b

f c

h

g d

e

i j

k l

(a)水平搜尋 (b)水平樹狀圖

a i

j

k b c d

e f g

h l

a i

j

k b c d

e f g

h l

a b

f c

h

g d

e

i j

k l

(a)垂直搜尋 (b)垂直樹狀圖 圖 1.10 B*-樹表示法

另外,因一個 O-tree 或是 B*-tree 無法以單一方式來表示,會造成一個板 面規劃會有不同的拓撲圖關係,且無法得知其幾合關係,也不符合 P-admissible 的定義。

(27)

因此,近來有人提出 P-admissible CS(Corner Sequence)方法來做為一個 緊密的非分割板面規劃。它使用到包裝序列及角的相鄰關係來表示模組,且最差 也只要花費線性時間來包裝。另一篇 TCG 所產生的板面規劃,保證在運作時的彈 性和邊界的減少,但為了保持其彈性,反而增加了它的複雜性。而雙重界限串列 表示法(Double-Bound-List,簡稱 DBL,若有使用方便之需將使用簡稱)具有目前 幾個熱門表示法(如 Sequence pair、O-tree、B*-tree、CBL、TCG 及 SCP 等)之 優點,例如 DBL 表示法符合 P-admissible 特性的需求,可以直接從 DBL 表示法 中得知總面積和鄰近關係,另外 DBL 表示法只需使用少量記憶體,且也符合一對 一對應之關係。因此,本篇論文即以此 DBL 方法,並考量熱的分散,來達到 IC 模組區塊的溫度分散。

1.1.3 馬賽克板面規劃

關於馬賽克的板面規劃方法,和不可分割板面規劃相似,差異在於不能有十 字交叉,且模組之間要無空隙。因此有角落區塊列表(Corner Block List)CBL 的提出,但因其和不可分割板面規劃的差異,使得 CBL 在緊密排列時有更多的限 制,有人提出以 Q-sequence 來降低其複雜度,但也只能適用於特殊的例子。它 約需花費O n( ! 3 )2 n

1.2 IC 熱源處理方式

目前,IC 的熱源處理方式,主要是採用下列的三種方法:(1)矩陣合成 (Matrix synthesis)來達到,於 1998 年由 D.F. Wang 等人提出,藉由其提出的 演算法,來達到熱的分散;(2)用於多晶片模組(Multi-chip model)的降溫方式,

於 1995 年由 D.F. Wang 等人提出,透過不同介質間的熱阻計算得到模組熱,依 不 同 溫 度 來置 放 不 同模 組 之 位置 , 來 達到 降 溫 之 目 的。 (3) 熱 阻 (Thermal resistance)方式求得熱,應用於單晶片中,分別由 Ching-Hang Tsai 與 H.

(28)

Onodera 兩組人以 Cell 為主的散熱,主要是透過單晶片中求得各模組區塊的個 別溫度,利用板面規劃方法,達到降溫的目的。

1.3 寫作動機

基於上述所討論的方法,以往板面規劃多是以晶片面積為主要考量,但是隨 著晶片製程技術的進步,晶片製作越做越小,面積的問題已不如以往那麼重要,

在近期的研究中,取而代之的為考量有高效能、低功率、高可靠度…等等為主。

然而,單一系統晶片設計的主要設計目的,在要求較少的面積之下,並達到同樣 的功能,而每個模組功能的板面規劃也朝向密集且速度增快方向來設計,相對 的,其功率消秏也隨之增大;使得在較小面積的設計、較高的包裝密度、速度的 增加及功率消耗的增加之下,將導致溫度的上升,使得熱的問題不得不考慮。

如表 1.1 中所示,為 1997 年 NTRS(National Technology Roadmap for Semiconductors)所提出之微處理器未來趨勢,估計其所需之最大能量、晶片大 小等等,可以從表中看出,未來的功率消耗將越來越高,而其平均所可以忍受的 溫度,將越來越低,由此,可以看出,未來的晶片設計流程中,得考量熱的分散 問題。

Year 1999 2001 2003 2006 2009 2012 Tech. Generation

(um) 180 150 130 100 70 50 Chip Size

(mm2) 340 385 430 520 620 750 Maximum Power

(W) 90 110 130 160 170 175 Avg. Temp.

(°C) 104 106 107 108 105 100

(29)

目前所設計的晶片其工作溫度,都可正常運作在高於 100°C 的溫度中,而其 內部的晶片溫度,更可高於 10°C~20°C,有時候,甚至需要透過外加的冷卻包裝 來達到降溫的目的,因此,NTRS 提出了下列的估算公式,來估算其內部晶片的 溫度。

5 _ ,

10 * _

th total

i a total a

T T P R T P die size T

die size

= + × ≈ + ⇒ ↓ ↑

其中,T 表示內部的溫度,i T 表示周圍溫度,a Ptotal表示所設計的功率消耗,R 表th 示包裝元件的等效熱阻(°C W/ ),同樣的功率消耗下,晶片面積越小,其溫度越 高。

在圖 1.11 中所示,為溫度對電流的影響,即對電子移動(Electromigration) 的影響,當溫度越高時,其電子的移動率呈指數的方式下降。在高溫中運作的 MOS 電路,溫度每上昇 10°C 時,其推動電路的能力降低約 4%;而溫度每上昇 10°C 時,其內部的延遲會增加約 5%的時間,而在一些大區域的梯度溫度狀況下,會 導致一些案例的邏輯錯誤。更甚者,亦可能因大量的單一區域溫度過高而燒毀。

結果,使得在晶片設計初期時,考慮晶片的熱分散變得愈來愈重要。而溫度的評 估在晶片設計時,讓我們不得不考慮,並且得把溫度的熱源預做最佳的分散處 理,免得這個熱源問題變成晶片設計時間的瓶頸或導致晶片無法工作。

圖 1.11 溫度升高時的電子移動導致以指數的狀態減少的時域和失敗的狀況

(30)

因此,如何避免晶片的熱源過於集中,變得非常的重要,而熱的發生,在小 面積的情況下,往往會造成熱源的過於集中,唯有把熱源擴散,才不會造成所設 計的晶片過熱。所以,本篇論文以成本函式和散熱模式來達到熱的分散,而非單 純的以面積為單一目的,並以加入熱的散熱模式來考量,使得在晶片設計初期,

可以透過板面規劃的方式,可以先行把熱源分散,以達到晶片降溫的目的。

在 接 下 來 的 幾 個 章 節 中 , 第 二 章 將 描 述 以 DBL 表 示 法 的 退 火 (Simulated-Annealing)板面規劃,第三章為晶片模組熱處理方式與問題描述,

第四章為討論以熱導向晶片設計的熱計算方式,第五章為溫度限制熱導向的 DBL 板面規劃,第六章為實驗結果,第七章為結論與未來方向。

(31)

第二章 以 DBL 表示法的退火板面規劃

一般的晶片板面規劃,大部份以獲得最小的板面規劃面積和整體繞線為主,

更甚者是把兩者都考慮進去。為了獲得較佳的結果,進而發展出了一些有用且有 效率的模式,於相鄰的模組之間做不可分割(non-slicing)的板面規劃。除此之 外,還要做到緊密的板面規劃,藉由相鄰的關係,透過資料結構表示法的方式,

把其輪廓(Contour)記錄下來,以便做模組的移動、更換、刪除等等動作。在下 面的章節之中,將分別討論其方法。

2.1 結構化的階層式階梯輪廓表示法

在討論之前,我們先給定義 1:緊密板面規劃(Compacted Floorplan)為給 予一些固定的模組,而且沒有一個模組可以做水平向左或垂直向下的移動。如圖 2.1 所示。

(a) (b)

圖 2.1 不可分割板面規劃(a)及其緊密板面規劃(b)

由圖 2.1 中可看出,一個緊密板面規劃,類似於一個動態的階梯輪廓,假設 以左邊邊界為 L,下面邊界為 B,則一個緊密板面規劃表示法類似有兩個假設的 模組,而其初始的狀態為從座標(0,0)開始,則動態階梯輪廓為一個 L 輪廓,其

(32)

板面規劃表示為 L 到 B 之間。

再給定義 2:給予一個 L-type 的輪廓 Bi -> Bj位於(x,y),其高度為 hi,j和寬 度為 wi,j可表示如下:

hi,j = yi – y wi,j = xj - x

其中(xi, yi)及(xj, yj)為兩個模組 Bi與 Bj置放於右上角的可能位置。而 L 與 B 這兩 個假設模組與其邊界近似於∞。若 Bi插入,則可表示成 L -> Bi -> B。

當有類似階層式輪廓 L ->…-> Bi ->…-> Bj -> Bj+1 ->…-> Bk ->…-> B 的串 列,插入 Bt於 Bj -> Bj+1之間無空白區域,以圖 2.2 來說明各種情形的表示式:

(a) (b)

Bt

L Bi Bt Bj+1 B

Bj

L

Bj

Bj+1

Bi

. . . .

. .

B Bk . .

Bk

Bt B

Bj+1

Bk

L Bi Bj Bt Bj+1 Bk B

L

Bj

Bj+1

Bi

. . . .

. .

B Bk . .

Bt

(c) (d)

Bt

L Bi

Bj

L

Bj

Bj+1

Bi

. . . .

. .

B Bk . .

L Bi Bj

L

Bj

Bj+1

Bi

. . . .

. .

B Bk . .

Bt

Bk

Bt B

Bj+1

圖 2.2 模組在無空隙的 L-type 輪廓修正

(33)

圖 2.2(a)中,Bt的其高度與寬度皆小於其相鄰的模組 Bj與 Bj+1,因此,可 表示為 L ->…-> Bi -> Bt -> Bj+1 ->…-> Bk ->…-> B;圖 2.2(b)中,Bt的高於 Bj、 寬度小於 Bj+1,可表示為 L ->…-> Bi -> Bt -> Bj+1 ->…-> Bk ->…-> B,但多了一 個內部的類似階層輪廓的 Bi ->…->Bj -> Bt;圖 2.2(c)中,Bt的低於 Bj,寬度大 於 Bj+1,可表示為 L ->…-> Bi ->…-> Bj -> Bt -> Bk ->…-> B,但多了一個內部的 類似階層輪廓的 Bt…-> Bj+1 ->…-> Bk;圖 2.2(d)中,Bt的其高度與寬度皆大於 其相鄰的模組 Bj與 Bj+1,可表示為 L ->…-> Bi ->…-> Bj -> Bt -> Bk ->…-> B,但 多了二個內部的類似階層輪廓的 Bi ->…-> Bj -> Bt與 Bt -> Bj+1 ->…-> Bk

當有部份的類似階層式輪廓…-> Bi ->…-> Bj -> Bj+1 ->…-> Bk ->…->的串 列,插入 Bt於 Bj -> Bj+1之間有空白區域,且其內部還有類似階層式輪廓 Bj ->…->

Bu -> Bv時,以圖 2.3 來說明各情形的表示式。

圖 2.3(a)中,在 Bt尚未插入時,且 Bt高度與寬度皆大於其相鄰的模組 Bj 與 Bj+1,可表示為->…-> Bi ->…-> Bj -> Bj+1 ->…-> Bk ->…->,但多了一個內部 的類似階層輪廓的 Bj ->…-> Bu ->…-> Bv -> …-> Bj+1;當插入 Bt時,則可表示為 ->…-> Bi -> Bt -> Bk ->…->,但多了二個內部的類似階層輪廓的 Bi ->…-> Bj -> Bt

與 Bt ->…-> Bj+1 ->…-> Bk

圖 2.3(b)中,在 Bt尚未插入時,且 Bt高於 Bj、寬度小於 Bj+1,可表示為->…->

Bi ->…-> Bj -> Bj+1 ->…->,但多了一個內部的類似階層輪廓的 Bj ->…-> Bu -> Bv

-> …->Bk ->…-> Bj+1;當插入 Bt時,則可表示為->…-> Bi -> Bt -> Bj+1 ->…->,

但多了三個內部的類似階層輪廓的 Bi ->…-> Bj -> Bt與 Bt -> Bv ->…-> Bk…->

Bj+1及 Bt -> Bk ->…-> Bj+1

圖 2.3(c)中,在 Bt尚未插入時,且 Bt低於 Bj、寬度大於 Bj+1,可表示為->…->

(34)

Bj -> Bj+1 ->…-> Bk ->…->,但多了一個內部的類似階層輪廓的 Bj ->…-> Bi

->…-> Bu -> Bv ->…-> Bj+1;當插入 Bt時,則可表示為->…-> Bj -> Bt -> Bk

->…->,但多了三個內部的類似階層輪廓的 Bj ->…-> Bi -> Bt與 Bj ->…-> Bi

->…-> Bu -> Bt及 Bt -> Bj+1 ->…-> Bk

(a) (b)

(c) (d)

Bt Bj+1

Bk

Bj Bj+1

Bv

Bk

Bt

Bj

Bj+1 Bu

. . . .

. . . .

Bv

. .

Bi

. .

Bk . .

Bt Bj

Bj+1 Bu

. . . .

. .

Bv . . . .

Bi

. .

Bk . .

Bj+1

Bt Bj

Bu

Bv

Bj Bj+1

Bk

Bi

Bi Bk

Bi

Bu

Bj

Bi

Bv

Bt Bj

Bj+1 Bu

. . . .

. . . .

Bv

. .

Bk . .

Bi

. .

Bt Bj

Bj+1 Bu

. .

. . . .

Bv

. .

Bi

. .

Bk

. .

Bt

Bj

Bj Bj+1

Bi

Bu

Bk Bv

Bj+1 Bk Bi

Bu

Bu

Bt

Bj Bj+1

Bk Bi

Bj Bj+1

Bi

Bk

Bv Bu

Bv

圖 2.3 模組在有空隙的 L-type 輪廓修正

圖 2.3(d)中,在 Bt尚未插入時,Bt的其高度與寬度皆小於其相鄰的模組 Bj

(35)

的 Bj ->…-> Bi ->…-> Bu -> Bv ->…-> Bk ->…->Bj+1;當插入 Bt時,則可表示為 ->…-> Bj -> Bt -> Bj+1 ->…->,但多了四個內部的類似階層輪廓的 Bj ->…-> Bi ->

Bt與 Bj ->…-> Bi ->…-> Bu ->…-> Bt與 Bt -> Bv ->…-> Bk ->…-> Bj+1及 Bt -> Bk

->…-> Bj+1

圖 2.4 中,用下列的演算法來表示階層式階梯輪廓的緊密板面規劃於插入模 組的狀況:

Block_Assignment(Bt, Contour, Bj -> Bj+1) Input: One given fixed block, Bt;

One hierarchical stair contour, Contour;

One position of L-corner, Bj -> Bj+1;

{ Assign one block, Bt ,onto the L-corner, Bj -> Bj+1; Bi = Outer_Horizontal_Visible_Block(Bt, Contour);

Bk = Outer_Vertical_Visible_Block(Bt, Contour);

L_Corner_Deletion(Contour, Bj -> Bj+1);

L_Corner_Insertion(Contour, Bj -> Bt);

L_Corner_Insertion(Contour, Bt -> Bj+1);

L_Corner_Insertion(Contour, Bi -> Bt);

L_Corner_Insertion(Contour, Bt -> Bk);

If (Bj -> Bj+1 is one hollow L-type corner)

{ Bu = Inner_Horizontal_Visible_Block(Bt, Contour);

Bv = Inner_Vertical_Visible_Block(Bt, Contour);

If (Assignment_Case is Fig. 3(a))

L_Stair_Deletion(Contour, Bj ->…-> Bu ->…-> Bv ->…->

Bj+1);

If (Assignment_Case is Fig. 3(b))

{ L_Stair_Deletion(Contour, Bj ->…-> Bu -> Bv );

L_Corner_Insertion(Contour, Bt -> Bv); } If (Assignment_Case is Fig. 3(c))

{ L_Stair_Deletion(Contour, Bu -> Bv ->…-> Bj+1) L_Corner_Insertion(Contour, Bu -> Bt); }

If (Assignment_Case is Fig. 3(d))

{L_Corner_Deletion(Contour, Bu -> Bv);

L_Corner_Insertion(Contour, Bu -> Bt);

L_Corner_Insertion(Contour, Bt -> Bv); }

(36)

}

Output one modified hierarchical stair contour, Contour;

}

(i)

(j) (l)

(h) (g)

(f)

(d) (c)

B2

B3

B L

B1

(a) (b)

B9

B7

B2

B3

B4 B5

B6

B10

B L

B1

B8 L B6 B7 B5 B1

B4

B B10

B9 B8

(k) B9

B7

B2

B3

B4 B5

B6

B10

B11

B L

B1

B8 B11

L

B6 B7 B5 B1

B4

B B10

B9 B8

B9 B12

B7

B2

B3

B4 B5

B6

B10

B11

B L

B1

B8

B12

B11

L

B6 B7 B5 B1

B4

B B10

B9 B8

B9

B7

B2

B3

B4 B5

B6

B L

B1

B8 L B6 B7 B5 B1

B4

B B9 B8

B7

B2

B3

B4 B5

B6

B L

B1

B8 L B6 B7 B5 B1

B4

B8 B

B7

B2

B3

B4 B5

B6

B L

B1

L B6 B7 B5 B1

B4

B

B2

B3

B4 B5

B6

B L

B1

B3

B2

L B6 B4 B5 B1 B

(e) B2

B3

B4 B5

B L

B1

B3

L B2 B4 B5 B1 B

B2

B3

B4

B L

B1

B3

L B2 B4 B1 B L B2 B3 B1 B

B2

B L

B1

L B2 B1 B

B L

B1

L B1 B

圖 2.4 階層式階梯輪廓的緊密板面規劃表示法

(37)

2.2 LB 包裝(Packing)解決模式

在解決一個 LB 包裝的緊密板面規劃時,可透過如下的演算法來求解,基本 上,LB 包裝的處理為模組排序決定(Block_Ordering_Deision)的方法,且為一 個有彈性的 L-type Corner,需用到兩個 L-type Corner,分別為 L -> Bi和 Bi ->

B 來處理,其演算法如下:

LB-Packing_Solution(Block)

Input: One set of fixed or flexible blocks, Block;

Left boundary L, and Bottom boundary B;

{ Contour = Initial_Contour, L -> B;

Block_List = Block_Ordering_Decision(Block); / Block_List = {B1, B2,…, Bn} /

for (i==1; i<=n; i++ )

{ NBi = Block_Dimension(Bi);

Feasible_Corner_Set = Corner_Selection(NBi, Contour);

Assignment_Position = Corner_Search(NBi, Feasible_Contour_Set);

Contour =Block_Assignment(NBi, Contour, Assignment_Position);

}

Output one compacted floorplan;

}

當有 n 個固定的模組要完成一個緊密板面規劃時,用 LB 包裝解法需花費 (( !) )2

O n

2.3 雙重界限串列表示法(DBL:Double Bound List)

雙重界限串列表示法,為一考量沒有任一個模組可以向左向下移動的緊密板 面規劃方法。再給予定義 3:有兩個模組 Bi和 Bj,在一個緊密板面規劃 F 中且 存在一個水平(或垂直)的關係,Bi -> Bj,假設(1) Bi是一個水平(或垂直)相鄰於 Bj,或(2) Bi能水平移動到右邊(或垂直向上移動)到與 Bj相鄰而不動用到別的模 組。

(38)

首先,假設有兩個矩形的邊界 L 與 B,能在一個緊密板面規劃 F 中表示兩個 假的模組。在 F 中所有模組均能與其右邊和上面附近的模組建立水平和垂直關 係。因此,相鄰圖形 Gadj(VF, EF) 在 F 中可以被建立相鄰的關係,即表示 VF是在 F 中的模組集合,而且集合{ L, B }及 EF是所有與 V 的集合。所以,在一個緊密 板面規劃中,所有相鄰關係的相鄰圖形被建立時,是可以與其鄰近模組做更換的。

因此,在 F 中的模組 Bi是保證可以維持著與周圍模組的相鄰關係,而 Bi的 所 有 水 平 相鄰 關 係 可 藉 由 最 低 和 最 高 的 相鄰 關 係 來 維 持 , 用 RBPtr(Bi) 和 RTPtr(Bi) 來代 表 所 有 的水 平 相 鄰關 係 ;同樣 的, 也 可以藉 由 TLPtr(Bi) 和 TRPtr(Bi) 來代表所有的垂直相鄰關係,如圖 2.5(a)所示。通常,若 RBPtr(Bi) 與 RTPtr(Bi)相等時,RTPtr(Bi)可以被忽略,同理,當 TLPtr(Bi)與 TRPtr(Bi)相等時,

TRPtr(Bi)可以被忽略。

透過上面陳述,可以清楚的知道,在一個緊密板面規劃 F 中,利用兩個假模 組 L 和 B,當給予模組 B1, B2,…,Bn時,藉由一個水平邊界來表示所有的水平相 鄰 關 係 , 例 如 : RBPtr(L), RTPtr(L), RBPtr(B1), RTPtr(B1),…, RBPtr(Bn) 及 RTPtr(Bn);同樣的,藉由一個垂直邊界來表示所有的水平相鄰關係,例如:

TLPtr(B), TRPtr(B), TLPtr(B1), TRPtr(B1),…, TLPtr(Bn) 及 TRPtr(Bn)。因此,可以 透過一個雙重界限串列表示法,可以表示一個緊密板面規劃。

基本上,雙重界限串列表示法為一個非循環圖形的一個緊密板面規劃表示 法。因此,可藉由兩個水平邊界和兩個垂直邊界來表示所有模組的相鄰關係。在 一個緊密板面規劃中的 n 個模組,最多需要 4n+4 的排列。依上述所提之條件,

雙重界限串列表示法(DBL)完全符合 P-admissible 的條件。

(39)

B9 B1 2

B7

B2

B3

B4 B5

B6

B1 0

B1 1

B1

B8 L

Bi

R BPtr RTPt r

TLPtr TRPt r

B9 B12

B7

B2 B3 B4 B5

B6

B1 0

B11

B1

B8

B L

B9 B12

B7

B2

B3

B4 B5

B6

B1 0

B11

B1

B8

B

(a) (b)

(c) (d)

圖 2.5 一個緊密板面規劃的 DBL 表示法

2.4 板面規劃中有效利用退火運算來擾亂

在雙重界限串列表示法,藉由退火(SA:Simulated-Annealing)運算來達到 目的。退火能達到需求原因描述如下:透過雙重界限串列表示法得到一個初始的 緊密板面規劃,藉由退火運算的擾亂,會得到一個新的緊密板面規劃,然後透過 雙重界限串列表示法會再重建新的表示法,如此的重複擾亂過程,並重新建立新 的雙重界限串列表示法,當到達目標設定的條件時,即可停此運算過程,此過程 類似於一個溫度降溫方式。

退火運算在板面規劃中的運用,其擾亂的運算使用了旋轉、移動與交換,以

(40)

獲得新的雙重界限串列表示法,如下面說明:(1)旋轉:旋轉模組 Bi,類似在同 樣的位置做同一模組刪除和插入的動作,但有角度的變化;(2)移動:移動模組 Bi到一個空白空間,類似把一個模組刪除並在別的位置做插入的動作;(3)交換:

交換模組 Bi與 Bj,即兩個模組做兩次刪除和兩次插入動作。所以,可以把擾亂 動作,看做是刪除和插入的運算。

在雙重界限串列表示法中,可透過重複搜尋水平關係的 RBPtr(Bi),和垂直 關係的 TLPtr(Bi)來建立一個緊密板面規劃。如此,可以在退火運算時,能保持 模組的相鄰關係,下面為退火運算的演算法:

SA_Floorplan()

Input: One set of fixed or flexible blocks, Block;

{ Set initial temperature, Temp ;

Set initial solution, Solution = Initial DBL from one original compacted floorplan;

while ( Temp > Stop_Temperature )

{ Select one of the perturbation operations, Move, Rotate or Swap;

NewSolution = One new DBL from one perturbation operation, Move, Rotate or Swap for the original compacted floorplan;

△C = Cost(NewSolution) – Cost(Solution);

if (△C < 0 )

Solution = NewSolution;

else if (RANDOM(0, 1) < Temp

C

e

) Solution =NewSolution;

Temp = γ*Temp;

}

Output the final compacted floorplan from the final DBL;

}

透過退火運算的三個方法,在圖 2.6 中,分別表示了移動、旋轉與交換的運 作方式。圖 2.6(a)中,要把模組 B8放置於 L-type 角的 B2->B3中的空白位置,

因此把 B , B 和 B 分割放入 LB 板面規劃區域中,右上方的模組為 B, B , B , B ,

Figure

Updating...

References

Related subjects :