• 沒有找到結果。

對具最小擾動HiBinLegalizer之最佳化分析以及網格數的精化

N/A
N/A
Protected

Academic year: 2021

Share "對具最小擾動HiBinLegalizer之最佳化分析以及網格數的精化"

Copied!
51
0
0

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

全文

(1)

!

"

!

#

!

$

!

%

!

&

!

'()*+,-!

.

.

.

.

!

!

!

!

/

/

/

/

!

!

!

!

0

0

0

0

!

!

!

!

1

1

1

1

!

234567 HiBinLegalizer 849:;<=>

?@AB:

Minimized Disturbance Optimal Analysis and Grid Bin Size

Refinement for HiBinLegalizer

+!,!CDEFG!

HIJKDLMN!!JK!

!

O

O

O

O!

!

!P

!

P

P!

P

!

!

!N

N!

N

N

!

!

!

!!QR!!S

S

S!!T!!U

S

U

U!

U

對具最小擾動 HiBinLegalizer之最佳化分析及網格數

的精化

Minimized Disturbance Optimal Analysis and Grid Bin Size

Refinement for HiBinLegalizer

究 生 : 鄭巧翎

指導教授 : 李育民 教授

(2)

對具最小擾動 HiBinLegalizer之最佳化分析及網格數的精化

偍偩偮偩偭偩偺健偤 偄偩偳側偵偲偢偡偮偣健 偏偰側偩偭偡偬 偁偮偡偬偹偳偩偳 偡偮偤 假偲偩偤 偂偩偮 偓偩偺健 偒健倌偮健偭健偮側

偦偯偲 偈偩偂偩偮偌健偧偡偬偩偺健偲

究 生 债 鄭巧翎

指導教授 债 李育民

偓側偵偤健偮側 债 偃偨偩偡偯倭偌偩偮偧 偃偨健偮偧

偁偤偶偩偳偯偲 债 偙偵倭偍偩偮 偌健健

國 立 交 通 大 學

電信工程研究所

士 論 文

偁 偔偨健偳偩偳 偓偵偢偭偩側側健偤 側偯 偉偮偳側偩側偵側健 偯偦 偃偯偭偰偵側健偲 偡偮偤 偉偮偦偯偲偭偡側偩偯偮 偓偣偩健偮偣健 偃偯偬偬健偧健 偯偦 偅偬健偣側偲偩偣偡偬 偅偮偧偩偮健健偲偩偮偧 偡偮偤 偃偯偭偰偵側健偲 偓偣偩健偮偣健 偎偡側偩偯偮偡偬 偃偨偩偡偯 偔偵偮偧 偕偮偩偶健偲偳偩側偹 偩偮 偰偡偲側偩偡偬 偆偵偬倌偬偬偭健偮側 偯偦 側偨健 偒健偱偵偩偲健偭健偮側偳 偦偯偲 側偨健 偄健偧偲健健 偯偦 偍偡偳側健偲 偩偮 偃偯偭偰偵側健偲 偡偮偤 偉偮偦偯偲偭偡側偩偯偮 偓偣偩健偮偣健 偁偵偧偵偳側 倲倰倱倱 偈偳偩偮偣偨偵倬 偔偡偩偷偡偮倬 偒健偰偵偢偬偩偣 偯偦 偃偨偩偮偡

中華民國一百年十月

(3)

對具最小擾動HiBinLegalizer之最佳化分析及網格數的精化

學 生 债 鄭巧翎

指導教授 债 李育民 博士

國立交通大學電信工程研究所碩士班

摘 要

隨著積體電路製程的演進,最小線寬倨偦健偡側偵偲健 偳偩偺健倩的微小化,單一晶片上有數以百萬的標 準元件倨偳側偡偮偤偡偲偤 偣健偬偬倩以及智慧產權倨偉偮側健偬偬健偣側偵偡偬 偐偲偯偰健偲側偹倬簡稱 偉偐倩模組或巨集模組塊倨偭偡偣偲偯 偢偬偯偣偫倩,使得超大型積體電路擺置倨偰偬偡偣健偭健偮側倩的問題愈趨於複雜。然而一個合法的擺置必須 所有元件之間沒有交疊並且所有的標準元件須對齊至列上;因此在積體電路設計中,擺置的合 法化倨偬健偧偡偬偩偺偡側偩偯偮倩為一個重要的環節。 此篇論文主要對已發表的合法化方法HiBinLegalizer偛倱偝,證明其所提出的位置解法器可 得的最佳移動量,此外我們也提出數個定理改進搜尋列的尋找中位數的時間複雜度。由 於HiBinLegalizer 是一個階層式的方法,亦為將晶片分割成許多大小相同的單元格,並且透過 每一個單元格的密度資訊,決定是否合併其他單元格一同納入合法化。對擺置合法化而言,分 割晶片,除了可以增進執行速度,還可限制每一個標準元件的最大移動量以及減少列的搜索次 數。然而初始的總單元格數量及單元格的長寬比會影響後續合併及最終結果的效能倨移動量和 執行時間倩,因此本篇提出如何利用巨集模組塊的長寬比和最大合併區域內的標準單元個數, 決定單元格長寬比以及決定總格數的範圍,最後合併兩者資訊找出好的分割網格尺寸,以取捨 執行時間和最小移動量。 偩偩

(4)

Minimized Disturbance Optimal Analysis and Grid Bin Size

Refinement for HiBinLegalizer

偓側偵偤健偮側 债 偃偨偩偡偯倭偌偩偮偧 偃偨健偮偧

偁偤偶偩偳偯偲 债 偙偵倭偍偩偮 偌健健

偄健偰偡偲側偭健偮側 偯偦 偃偯偭偭偵偮偩偣偡側偩偯偮 偅偮偧偩偮健健偲偩偮偧

偎偡側偩偯偮偡偬 偃偨偩偡偯 偔偵偮偧 偕偮偩偶健偲偳偩側偹

Abstract

偗偩側偨 偳健偭偩偣偯偮偤偵偣側偯偲 偦偡偢偲偩偣偡側偩偯偮 側健偣偨偮偯偬偯偧偹 偤健偶健偬偯偰偩偮偧倬 偭偩偬偬偩偯偮偳 偯偦 偳側偡偮偤偡偲偤 偣健偬偬偳 偡偮偤 偭偡偣偲偯偳 倨偰偲健倭偤健偳偩偧偮健偤 偢偬偯偣偫偳 偯偲 偩偮側健偬偬健偣側偵偡偬 偰偲偯偰健偲側偹 倨偉偐倩倩 偡偲健 偩偮側健偧偲偡側健偤 偩偮側偯 偡 偳偩偮偧偬健 偣偨偩偰倮 偌健偧偡偬偩偺偡側偩偯偮 偰偲偯偣健偤偵偲健 偩偳 偰偡偲側 偯偦 偰偬偡偣健偭健偮側 偤健偳偩偧偮 偩偮 偰偨偹偳偩偣偡偬 偤健偳偩偧偮 偡偵側偯偭偡側偩偯偮倮 偆偯偲 偡 偬健偧偡偬 偰偬偡偣健偭健偮側倬 偡偬偬 健偬健偭健偮側偳 倨偣健偬偬偳 偡偮偤 偭偡偣偲偯偳倩 偡偲健 偮偯偮倭偯偶健偲偬偡偰偰偩偮偧 偡偮偤 偡偬偬 偣健偬偬偳 偭偵偳側 偢健 偡偬偩偧偮偳 側偯 偲偯偷倮 偉偮 側偨偩偳 偰偡偰健偲倬 偷健 偢偡偳健偤 偯偮 偡 偭健側偨偯偤倬 HiBinLegalizer 偛倱偝倬 偷偨偩偣偨 偷偡偳 偰偵偢偬偩偳偨健偤 偩偮 偁偓偐偄偁偃倭倲倰倱倰倬 偰偲偯偰偯偳健偤 側偨健 偧偲偩偤 偢偩偮 偳偩偺健 偲健倌偮健偭健偮側 偡偮偤 偰偲偯偶健偤 側偨健 偳偯偬偶健偲 偦偯偲 側偨健 偯偢偪健偣側偩偶健 偦偵偮偣側偩偯偮 偩偳 偯偰側偩偭偡偬 偳偯偬偵側偩偯偮倮 偔偨健 偧偲偩偤 偢偩偮 偳偩偺健 偲健倌偮健偭健偮側 偵偳健 側偨健 偡偳偰健偣側 偲偡側偩偯 偯偦 偭偡偣偲偯偳 側偯 偯偢側偡偩偮 側偨健 偡偳偰健偣側 偲偡側偩偯 偯偦 偧偲偩偤 偡偮偤 偵偳健 側偨健 偮偵偭偢健偲 偯偦 偣健偬偬偳 偩偮 偭偡偸偩偭偵偭 偭健偲偧健偤倭偢偩偮 側偯 偤健側健偲偭偩偮健 側偨健 偢偩偮 偳偩偺健 偦偯偲 HiBinLegalizer倮 偍偯偲健偯偶健偲倬 偷健 偰偲偯偰偯偳健偤 偳偯偭健 偬健偭偭偡偳 側偯 偩偭偰偲偯偶健 側偨健 偰偲偯偣健偤偵偲健 偯偦 側偲偩偡偬 偲偯偷 偩偮 HiBinLegalizer倬 偳偯 側偨偡側倬 側偨健 偯偲偤健偲 偯偦 側偩偭健 偣偯偭偰偬健偸偩側偹 偩偳 O倨倱倩 偡偳 偣偯偭偰偡偲健偤 偷偩側偨 側偨健 偯偲偩偧偩偮偡偬 O倨n倩倮 偔偨健 健偸偰健偲偩偭健偮側偡偬 偲健偳偵偬側偳 偤健偭偯偮偳側偲偡側健 側偨健 健個健偣側偩偶健偮健偳偳 偯偦 偯偵偲 偭健側偨偯偤倮 偩偩偩

(5)

此篇論文能夠順利完成, 首要感謝我的指導老師 李育民博士, 

感謝

老師平日指導研究時不遺餘力, 當我遇到問題難點時, 提供多

面思考。三年期間, 訓練我在看待問題時, 不只狹隘的看到點, 而

拓廣至面。經過老師的淬鍊, 不論是在研究或是在心智上都有

顯著的成長,使我面對未來工作考驗更加有自信。

在實驗室, 感謝博班學長培育不時的關心研究進度, 用淺顯易懂

的方式解釋問題。感謝懷中、正忠和宗祐學長以及麒文、亭蓉和

書含平日的關心, 感謝學弟志升在研究上的討論。

感謝羽球

隊的廖威彰 教練和王志全 教練以及一路上支持我的

朋友, 莉媜和慧敏以及隊友們,他們的陪伴使我度過一切難關。

最後深深感恩我的父母和姐姐,感謝你們一直以來的支持與鼓

勵。在我的研究生涯中, 提供強力的後盾, 讓我無後顧之憂的完

成碩士學位。僅此將本論文獻給你們,共同分享這份喜悅以及榮

耀。

偩偶

(6)

目錄

1 導導導論論論 1 倱倮倱 背景簡介 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倱 倱倮倲 研究貢獻 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倳 2 背背背景景景與與相相相關關關文文文獻獻簡簡簡介介介 4 倲倮倱 標準元件的擺置合法化 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倴 倲倮倱倮倱 標準單元 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倴 倲倮倱倮倲 移動量的量測 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倲倮倲 擺置合法化的相關文獻 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倵 倲倮倳 概述 HiBinLegalizer的架構 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倲倮倳倮倱 問題描述 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倶 倲倮倳倮倲 簡介HiBinLegalizer 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倷 倲倮倳倮倳 合併格程序 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倸 倲倮倳倮倴 合法化程序 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倹 3 對對對HiBinLegalizer之之之最最最小小小擾擾擾動動動的的的最最最佳佳佳化化化分分分析析析以以以及及及網網網格格格數數數的的的精精精化化化 12 倳倮倱 交疊連續性 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倱倲 倳倮倱倮倱 交疊連續性的特性 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倱倳 倳倮倱倮倲 邊界條件 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倱倶 倳倮倲 部分交疊連續性之最佳化分析 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倱倷 倳倮倲倮倱 問題公式化 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倱倹 倳倮倲倮倲 解最佳位置 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倱倹 倳倮倳 改善 HiBinLegalizer尋找中位數的過程 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倲倴 倳倮倴 網格數的精化 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倲倹 倳倮倴倮倱 長寬比的精化 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倳倰 倳倮倴倮倲 總格數的初估 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倳倱 倳倮倴倮倳 決定總格數 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倳倲 4 實實實驗驗結結結果果果 33 5 結結結論論論 36 A 附附附錄錄錄 40 偶

(7)

圖目

目錄

倱倮倱 數位超大型積體電路設計流程圖 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倲 倱倮倲 倨偡倩實體設計流程圖 倨偢倩實體設計之擺置設計流程圖 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倲 倲倮倱 標準單元的範例 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倴 倲倮倲 二維的歐式距離倨綠線倩為√倳2倫 倴2 倽 倵,而曼哈頓距離倨紅線倩為倳 倫 倴 倽 倷。 倮 倲倮倳 HiBinLegalizer 的流程圖 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倷 倲倮倴 單元格的合併示意圖倨偡倩選定一個單元格,其密度高於闕密度值倨偢倩合併十字方 向的單元格倨偣倩若密度仍高於闕密度值,則合併四角方向的單元格倨偤倩對合併區 域的十字方向的單元格做合併,重複動作直到合併區域的密度低於闕密度值。 倸 倳倮倱 函數 f 倨倖x倩,當 Nr 為奇數倨左圖倩;當 Nr 為偶數倨右圖倩 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倱倵 倳倮倲 合法化之邊界條件 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倱倶 倳倮倳 群集群組化過程的概念圖 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倲倰 倳倮倴 將 Clast 分解成 m 個群集與一個標準單元 i 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倲倶 倳倮倵 HiBinLegalizer 修改後的流程 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倳倰 倳倮倶 決定寬長比的示意圖 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倳倱 倳倮倷 總格數的切法 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倳倲 偶偩

(8)

表目

目錄

倲倮倱 符號說明 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倹 倳倮倱 符號說明 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倱倷 倳倮倲 此小節的符號說明 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倲倶 倴倮倱 倲倰倰倵 偉偓偐偄 擺置競賽的測試電路 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倳倴 倴倮倲 標準單元最大移動量的比較結果 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倳倵 倴倮倳 標準單元總移動量的比較結果 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倳倵 倴倮倴 執行時間倨偳倩的比較結果 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倳倵 偶偩偩

(9)

1

導論

隨著半導體製程技術快速的發展,電晶體最小線寬倨偦健偡側偵偲健 偳偩偺健倩的微型化,使得單一積體電路 晶片上可整合百萬甚至更多的電晶體。設計上,為了縮短及降低超大型積體電路倨偖健偲偹 偌偡偲偧健 偓偣偡偬健 偉偮側健偧偲偡側偩偯偮倬簡稱 偖偌偓偉倩1設計的 花費時間以及製造成本,電腦輔助設計倨偃偁偄倩及電子設 計自動化倨偅偄偁倩亦隨之發展。圖倱倮為數位大型積體電路設計流程,從描述一個設計的功能架 構,將設計的功能運作行為轉換到硬體描述語言倨偈偄偌倩,再將其轉換到邏輯閘 倨健偸倮暫存器, 乘法器倩,之後描述邏輯閘如何擺置到晶片上,最後到封裝與測試。而如何將邏輯閘有效的擺 置到晶片上,即為實體設計的範疇。 實體設計倨偰偨偹偳偩偣偡偬 偤健偳偩偧偮倩流程,如圖倱倮倲倨偡倩所示,在此設計流程中,所有的元件不論是 智慧產權倨偉偮側健偬偬健偣側偵偡偬 偐偲偯偰健偲側偹倬簡稱 偉偐倩或是邏輯閘,都將視其為一個簡單的幾何圖形,稱 模組塊倨偢偬偯偣偫倩。然而實體設計亦可分成三大部分;倨倱倩平面規劃倨倍偯偯偲偰偬偡偮偮偩偮偧倩,初估所需的 面積,以及初步的排列元件。排列過程元件的長寬可變,但面積固定 倨倲倩擺置倨偰偬偡偣健偭健偮側倩, 類似平面規劃,但此階段所有的元件長寬形狀固定,並且初估連接元件所需之線長並且元件間 不可重疊倨偯偶健偲偬偡偰倩 倨倳倩繞線倨偲偯偵側偩偮偧倩,為元件之間的連線找到最好的路徑。

1.1

背景

景簡

簡介

超大型積體電路的擺置又可分成:倨倱倩全域擺置倨偧偬偯偢偡偬 偰偬偡偣健偭健偮側倩 倨倲倩擺置合法化倨偬健偧偡偬偩偺偡側偩偯偮倩 倨倳倩局部擺置倨偤健側偡偩偬 偰偬偡偣健偭健偮側倩。全域擺置,隨著不同的設計要求,有不同的考量議題, 例如债 線長倨偷偩偲健偬健偮偧側偨倩偛倲偝,時序倨側偩偭偧偩偮偧倩偛倳偝偛倴偝,功率消耗倨偰偯偷健偲 偣偯偮偳偵偭偰側偩偯偮倩 偛倵偝偛倶偝等議 題。 由於全域擺置完的結果多少會伴隨著一些不合法的情形,例如债 元件間有重疊;因此,擺 置合法化倨偌健偧偡偬偩偺偡側偩偯偮倩顧名思義,其目的在移除不合法的情形,但合法化的過程,必須盡可 1體電路晶片上整合超過百萬個電晶體,即稱超大型積體電路

(10)

Microarchitecture Design

Architecture Design

Logic Design

Circuit Design

Physical Design

圖 倱倮倱债 數位超大型積體電路設計流程圖

Routing

Floorplanning

Placement

Circuit Design (a)

Routing

Floorplanning

Circuit Design Legalization Global Placement Detail Placement Placement (b) 圖 倱倮倲债 倨偡倩實體設計流程圖 倨偢倩實體設計之擺置設計流程圖 倲

(11)

能的符合全域擺置出的結果,因此合法化在擺置問題中為一重要的部分;局部擺置,則在合法 的擺置下做局部的調整,例如:空間的管理等。

1.2

研究

究貢

貢獻

此篇論文,我們主要延續文獻“A hierarchical bin-based legalizer for standard-cell designs

with minimal disturbance” 偛倱偝,發表於第十五屆亞洲和南太平洋設計自動化國際會議2,成

果貢獻可分成下列幾個部分债 • 對文獻偛倱偝所提出位置解法器,做進一步分析與證明其最佳化。 • 我們提出數個引理,簡化尋找中位數的過程,使得尋找中位數的時間複雜度由O倨n倩降低 為O倨倱倩。 • 提出網格數的精化方法。選取網格數時在效能和時間之間做取捨倻 除此之外,所提出的 精化法可應用在任何的合法器倨偬健偧偡偬偩偺健偲倩。

215th Asia and South Pacific Design Automation Conference 2010,簡稱 15th ASPDAC-2010

(12)

2

背景

景與

與相

相關

關文

文獻

獻簡

簡介

2.1

標準

準元

元件

件的

的擺

擺置

合法

法化

為了縮短設計時間,實體設計有多種不同的標準佈局型態,例如债 標準單元倨偳側偡偮偤偡偲偤 偣健偬偬偳倩, 閘陣列倨偧偡側健 偡偲偲偡偹偳倩,可程式的邏輯閘陣列倨偰偲偯偧偲偡偭偭偡偢偬健 偬偯偧偩偣 偡偲偲偡偹偳倩等等。此篇論文, 我們選用標準單元型態作為我們的佈局型態。

2.1.1

標準

單元

標準單元的佈局型態而言,每一個邏輯閘皆可用一矩形表示,有著相同高,可變的寬稱之為 標準單元。積體電路晶片可擺置的區域被分割成許多等高的列。每一個標準單元,必須擺放並 且對準至列上。因此標準單元的高等於列高,如圖倲倮倱所示。 圖 倲倮倱债 標準單元的範例

2.1.2

動量

量的

的量

量測

針對擺置合法化的問題,該如何計算元件合法化前與合法化後所改變的移動量倿在幾何學中, 有兩個常用的計量距離方法债倨倱倩歐幾里德距離倨偅偵偣偬偩偤健偡偮 偤偩偳側偡偮偣健倩,簡稱歐氏距離倨倲倩出租 車距離倨偔偡偸偩偣偡偢 偤偩偳側偡偮偣健倩,亦稱為曼哈頓距離倨偍偡偮偨偡側側偡偮 偤偩偳側偡偮偣健倩。若n維度的向量空間 中,有P 倽 倨p1倌p2, ..., pn倩和Q 倽 倨q1倌q2, ..., qn倩兩點,n維的歐氏距離dnE定義為 dnE 倽p倨p1− q1倩2倫 倨p2 − q2倩2倫 · · · 倫 倨pn− qn倩2 倨倲倮倱倩 倴

(13)

而出租車距離dn T定義成 dnT 倽 |p1− q1| 倫 |p2− q2| 倫 · · · 倫 |pn− qn| 倨倲倮倲倩 擺置合法化屬於二維的空間問題,因此歐氏距離和出租車距離分別為 d2E 倽p倨p1− q1倩2倫 倨p2− q2倩2 倨倲倮倳倩 和 d2T 倽 |p1− q1| 倫 |p2− q2| 倨倲倮倴倩 由圖倲倮倲,我們可知歐式距離即為連接P 和Q兩點的直線距離,而曼哈頓距離則為P 倌Q兩點間 水平方向差與垂直方向差的總和 P(1, 2) Q(5, 5) 3 4 5 圖 倲倮倲债 二維的歐式距離倨綠線倩為√倳2倫 倴2 倽 倵,而曼哈頓距離倨紅線倩為倳 倫 倴 倽 倷。 在此篇論文,我們使用曼哈頓距離來表示元件在合法化前後的左下角座標改變量。 因此, 給 N 個尚未合法化的標準單元,其合法化前後座標位置改變量,可用曼哈頓距離和表示成 N X k=1 倨|x0倨k倩 − x倨k倩| 倫 |y0倨k倩 − y倨k倩|倩 其中倨x倨k倩, y倨k倩倩和倨x0倨k倩, y0倨k倩倩分別是標準單元k在全域擺置和合法化後的左下角座標位置。

2.2

擺置

合法

法化

化的

的相

相關

關文

文獻

近年來,有許多解決擺置合法化的方法被提出偛倱倵倬 倷倬 倸倬 倹倬 倱倰倬 倱倱倬 倱倲偝,其中以 偔健側偲偩偳 偛倱倰偝最 為著名並且廣泛應用在許多全域擺置方法的合法化上偛倱倳倬 倲倬 倱倴偝。偔健側偲偩偳是一種貪婪演算法, 對每一個標準元件找到一個列,使得其標準單元的移動量最小,一但標準單元擺入後,其 倵

(14)

合法化位置就不再更動;另一方面,有數個文獻方法偛倱倱倬 倱倬 倱倲偝,皆以 偔健側偲偩偳 的架構為基 礎進而發展出的合法化方法,以獲得更佳的合法化位置。偔健側偲偩偳 偛倱倰偝,第一步,先對所有 的標準單元的全域x倭座標位置做排序,再依序為標準單元搜尋所有的列,計算標準單元的 移動量,最後擺入一個最好的列,使得標準單元的移動量最小;標準單元擺入後,即視為 障礙物,因此,爾後的標準單元僅能接續擺放。偁偢偡偣偵偳 偛倱倱偝, 以動態規劃為基礎的演算 法,與偔健側偲偩偳類似,偁偢偡偣偵偳搜尋所有的列,找出代價最小的列擺入倻 不同於偔健側偲偩偳,偁偢偡偣偵偳的 目標函數為二次方程式倨偱偵偡偤偲偡側偩偣 健偱偵偡側偩偯偮倩,標準單元擺入後,其合法化位置若需要仍可 能會更動。文獻偛倱倲偝,此方法亦相似於偔健側偲偩偳,其應用偫倭偭健偤偩偯偤群集法,先對列做分群,給 出搜尋列的範圍,以同時得到最小的位移倨偤偩偳偰偬偡偣健偭健偮側倩以及線長倨偷偩偲健偬健偮偧側偨倩的改變量。 HiBinLegalizer 偛倱偝是一種階層式的演算法,將可擺置的區域分割成許多的單元格倨偢偩偮倩,使得 搜尋列的範圍縮小,可限制最大移動量,另外更提出權重距離和的解法器倨偷健偩偧偨側健偤 偳偵偭 偯偦 偤偩偳側偡偮偣健 偳偯偬偶健偲倩使之總權重移動量為最小。由於此論文是以HiBinLegalizer為基礎,因此下 一小節再做詳細介紹。另外文獻偛倱倵偝提出對單一列上應用動態規劃法求得標準單元的擺置位置 同時合法化列上的標準單元,並說明若固定標準單元的順序,此時可求得線長最佳解。而文 獻偛倷偝將文獻偛倱倵偝的想法應用在合法化上,利用最小代價流程法倨偭偩偮偩偭偩偺健倭偣偯偳側 倍偯偷倩先決定標 準單元的列,再應用文獻偛倱倵偝的動態規劃法對列上的標準單元合法化。文獻偛倹偝提出利用最小路 徑倨偳偨偯偲側健偳側 偰偡側偨倩法倬 先移除列上的標準單元面積大於列的可放置面積的情況,再對單一列做 合法化。

2.3

述 HiBinLegalizer的

的架

架構

此篇論文延續文獻The Hierarchical Bin-Based Legalizer for Standard-Cell Designs with Minimal Disturbance倨HiBinLegalizer 偛倱偝倩的 方 法 以 及 理 論 證 明 。 因 此 以 下 章 節 我 們 將 簡 介HiBinLegalizer所處理的問題,解決問題的作法以及相關的理論證明。

2.3.1

問題

題描

描述

標 準 單 元 為 設 計 基 礎 的 合 法 化 而 言 , 主 要 三 種 物 件倨倱倩標 準 單 元 倨倲倩巨 集倨偭偡偣偲偯倩 倨倳倩列倨偲偯偷倩。所有列的列高相同,列寬預先給定。巨集視為不可移動的障礙物,位置長 寬固定;僅標準單元可移動。合法化後,標準單元須放置在列上,與列對齊,不得與巨集或標 準單元面積重疊,並且合法化的結果越接近全域擺置的結果越好。 倶

(15)

Global

Placement Cell Info.

Chip Design

Uniform-Bin Construction

Cell Density Analysis

Select the highest density of unlegalized bin

overflow? Bin Merged

Procedure Legalization Procedure has unlock bin? 圖 倲倮倳债 HiBinLegalizer 的流程圖 問 問問題題題公公公式式式化化化 由上面的問題描述,目標函數為 偭偩偮倮 N X k=1 |x0倨k倩 − x倨k倩| 倫 |y0倨k倩 − y倨k倩| 倨倲倮倵倩 偳倮側倮 x0倨k倩 − x0倨k − 倱倩 ≥ w倨k − 倱倩倻 倲 ≤ k ≤ N 倨倲倮倶倩 其中N是標準單元的總個數,w倨k倩是標準單元k的寬度,倨x倨k倩, y倨k倩倩和倨x0倨k倩, y0倨k倩倩分別為合 法化前後標準單元k的左下角座標。

2.3.2

簡介

介HiBinLegalizer

圖倲倮倳為HiBinLegalizer 的概觀流程圖。給定任意的全域擺置結果,晶片的設計,元件的資訊倻 首先,我們先將晶片分割成Gx× Gy個均勻大小的單元格,其中Gx和Gy分別為水平和垂直 方向的格子數。再根據每一個標準單元的全域座標位置,找其最近距離的單元格。倨註:此 篇所提及之距離皆為曼哈頓距離倩。因此,我們可求得單元格b的標準單元密度倨偳側偡偮偤偡偲偤倭偣健偬偬 倷

(16)

(a) (b) (c) (d) 圖 倲倮倴债 單元格的合併示意圖倨偡倩選定一個單元格,其密度高於闕密度值倨偢倩合併十字方向的單 元格倨偣倩若密度仍高於闕密度值,則合併四角方向的單元格倨偤倩對合併區域的十字方向的單元格 做合併,重複動作直到合併區域的密度低於闕密度值。 偤健偮偳偩側偹倩, D倨b倩 倽 A倨b倩 C倨b倩 其中A倨b倩是指派至單元格b的標準單元的總面積以及容量倨偣偡偰偡偣偩側偹倩C倨b倩定義為單元格b的面 積減去障礙物倨偯偢偳側偡偣偬健倩的面積。計算完密度後,選取尚未合法化且密度最大的單元格, 若其密度大於預先定義的闕密度值倨側偨偲健偳偨偯偬偤 偤健偮偳偩側偹倩,則進入合併格程序倨偢偩偮倭偭健偲偧健偤 偰偲偯偣健偤偵偲健倩;反之,程序直接進入合法化程序。重複上述過程,直到所有的單元格完成合法 化

2.3.3

合併

併格

格程

程序

當 完 成 建 構 均 勻 單 元 格倨Uniform-bin Construction倩和 標 準 單 元 密 度 分 析倨Cell Density

Analysis倩的程序後,單元格密度與單元格鄰近的單元格已知。若單元格密度大於闕密度值,

則執行合併格的程序。合併單元格的程序有兩種合併規則倨倱倩十字方向合併倨東、西、南、 北倩倨倲倩四角方向合併倨東北、東南、西北、西南倩。一開始,由一個未合法化且密度超過闕密度

(17)

值的單元格為中心,合併其十字方向未合法化的單元格形成合併區域倨偭健偲偧健偤倭偢偩偮 偲健偧偩偯偮倩, 記為bm,並重新計算合併區域的密度,若密度仍高於闕密度值,則對合併區域的四角方向 的單元格做合併;依序重複上述步驟合併單元格、計算密度,直到密度小於闕密度值,如 圖倲倮倴所示。

2.3.4

合法

法化

化程

程序

Nr债 列r上標準單元的個數 Nc债 群集內標準單元的個數 x倨i倩债 標準單元i全域擺置的左下偸倭座標 x0倨i倩债 標準單元i合法位置的左下偸倭座標 w倨i倩债 標準單元i的寬度 Clast 列 r 上,最右邊的群集 wclast债 群集Clast的寬度 qclast 债 群集Clast的左下偸倭座標位置 Cp 前置群集,在群集Clast的前一個群集 wcp债 群集Cp的寬度 qcp债 群集Cp的左下偸倭座標位置 表 倲倮倱债 符號說明 Algorithm 1合法化演算法的虛擬程式碼 Input: 偁 偳健側 偯偦 側偡偲偧健側 偣健偬偬偳 Sc偡偮偤 偡 偳健側 偯偦 偣偡偮偤偩偤偡側健 偲偯偷偳 Sr 1: 偓偯偲側 側偨健 偣健偬偬偳 偩偮 Sc 偡偣偣偯偲偤偩偮偧 側偯 側偨健偩偲 x倭偣偯偯偲偤偩偮偡側健 偰偯偳偩側偩偯偮 2: for all 偣健偬偬 i do 3: cbest← ∞ 4: for all 偣偡偮偤偩偤偡側健 偲偯偷 r do

5: c ← LegRow倨r倬側偲偩偡偬倩 倯倯 Determine the cost c

6: if c < cbest then

7: cbest ← c

8: rbest ← r

9: end if

10: end for

11: LegRow倨rbest倬 偲健偡偬倩倯倯 Insert cell i into sub-row rbest

12: end for

演算法倱列出合法化演算法的虛擬程式碼。首先,對合併區域內所有的標準單元,依其在 全域擺置的左下x倭座標位置由小至大排序,其目的在於確立標準單元在x倭方向的相對位置。排

序完成後,依此序為標準單元,尋找列使得標準單元擺入後有最小的代價倨偣偯偳側倩。在尋找列的

(18)

Algorithm 2 偌健偧偒偯偷

Input: 偃健偬偬 i 偡偮偤 側偨健 偬健偧偡偬偩偺健偤 偣偬偵偳側健偲偳 偩偮 偳偵偢倭偲偯偷 r

1: Clast ← 側偨健 偬偡偳側 偬健偧偡偬偩偺健偤 偣偬偵偳側健偲 偩偮 偳偵偢倭偲偯偷 r 2: Cp ← 側偨健 偰偲偯偣健偳偳偯偲 偯偦 Clast

3: 偒健偭偯偶健 側偨健 偬偡偳側 偣偬偵偳側健偲 偩偮 偳偵偢倭偲偯偷 r

4: if x倨i倩 − qclast ≤ wclast then

5: 偁偰偰健偮偤 偣健偬偬 i 側偯 Clast

6: The Optimal Position Solver倨Clast

7: while qcp− qclast ≤ wclast do

8: 偁偰偰健偮偤 偡偬偬 偣健偬偬偳 偩偮 Cp 側偯 Clast倮

9: The Optimal Position Solver倨Clast

10: Cp ← 側偨健 偰偲偯偣健偳偳偯偲 偯偦 Cp 11: 偒健偭偯偶健 側偨健 偬偡偳側 偣偬偵偳側健偲 偩偮 偳偵偢倭偲偯偷 r 12: end while 13: 偁偤偤 Clast 偩偮側偯 偳偵偢倭偲偯偷 r 14: else 15: 偃偲健偡側健 偡 偣偬偵偳側健偲 C 16: C ← 偣健偬偬 i 17: 偁偤偤 側偨健 偣偬偵偳側健偲 C 偩偮 偳偵偢倭偲偯偷 r 18: end if 過程,由於已給定目標列r,因此可算得y方向的代價。目標函數可寫成 偭偩偮倮 Nr X k=1 |x0倨k倩 − x倨k倩| 倨倲倮倷倩 偳倮側倮 x0倨k倩 − x0倨k − 倱倩 ≥ w倨k − 倱倩倻 倲 ≤ k ≤ Nr 倨倲倮倸倩 其中Nr是列r上的標準單元個數。試驗列演算法LegRow倨r倬 側偲偩偡偬倩倨行倵倩用來決定x倭方向的代 價,而擺入列演算法LegRow倨rbest倬 偲健偡偬倩倨行倱倱倩將標準單元真擺至列上。試驗列和擺入列演算

法倨LegRow倩又可分成兩個子程序崩解倨Collapse倩和位置解法器倨The Position Solver 倩,如演 算法倲所示。 崩 崩崩解解解 演算法倱倮中,所有的標準單元會依序擺入至列上。崩解演算法倨行倸倭倱倲倩,當試擺或擺入標準單 元 i,若其全域 x倭座標位置與已擺置合法化的群集有面積重疊,則群聚已合法化的群集與標準 單元,再利用位置解法器為群集內所有的標準單元找合法化位置;若合法化後的群集又與前置 群集倨偰偲偯偣健偳偳偯偲 偣偬偵偳側健偲倩面積重疊,則循環崩解、找位置解直到新位置不再與前置群集面積重 疊。 倱倰

(19)

位 位位置置置解解解法法器器器 位置解法器倨行倶與行倹倩為群集內的所有標準單元找到合法位置;此解法器假設合法化後,所有 標準單元的合法位置皆緊鄰倨偡偢偵側側健偤倩在一起,也就是, x0倨k倩 − x0倨k − 倱倩 倽 w倨k − 倱倩, ∀ 倲 ≤ k ≤ Nc 倨倲倮倹倩 換言之, x0倨k倩 倽 x0倨倱倩 倫 k−1 X i=1 w倨i倩, ∀ 倲 ≤ k ≤ Nc 倨倲倮倱倰倩 其中x0倨倱倩是群集內最左邊的標準單元合法的位置。將倨倲倮倹倩代入倨倲倮倸倩,可得 Nc X k=1 |x0倨k倩 − x倨k倩| 倽 |x0倨倱倩 − x倨倱倩| 倫 |x0倨倱倩 倫 w倨倱倩 − x倨倲倩| 倫 · · · 倫 |x0倨倱倩 倫 Nc−1 X i=1 w倨i倩 − x倨Nc倩| 倽 |x0倨倱倩 − 倁x1| 倫 |x0倨倱倩 − 倁x2| 倫 · · · 倫 |x0倨倱倩 − 倁xNc|, 倨倲倮倱倱倩 將目標函數重新整理可得 偭偩偮倮 Nc X k=1 |x0倨k倩 − x倨k倩| 倽 偭偩偮倮 Nc X k=1 |x0倨倱倩 − 倁xk| 倨倲倮倱倲倩 其中倁xk倽 x倨k倩− Pk−1 i=1 w倨i倩。欲最小化倨倲倮倸倩式,等同於最小化倨倲倮倱倲倩式;觀察可知,問題從 多變數問題簡化至單變數問題。由定理倱倮知,未知數x0倨倱倩的最佳解是數列P c 倽 {倁xk}Nk=1c 的 中位數。 倨備註:HiBinLegalizer部分證明請參見附錄,詳細證明與敘述請參見文獻偛倱偝倩 倱倱

(20)

3

對HiBinLegalizer

之最

最小

小擾

動的

的最

最佳

佳化

析以

以及

及網

網格

格數

數的

的精

精化

在HiBinLegalizer 偛倱偝中,證明一群標準元件若滿足交疊連續性倨偣偯偮偳健偣偵側偩偶健偬偹 偯偶健偲偬偡偰偰健偤倩的 條件,則位置解法器所找到的位置解是最佳解。然而交疊連續性是否為必要條件倿 在此章節我 們將進一步證明在第二章所提及的位置解法器應用在擺置合法的問題上,若不滿足交疊連續性 亦為最佳解。除此之外,HiBinLegalizer在決定網格數上,僅粗略給定一個方針,因此我們提 出網格數的精化方法,給出如何透過基本給定的資訊與全域擺置結果找出適合的網格數大小。 此章的組織如下:章節倳倮倱倮我們首先介紹交疊連續性的性質;章節倳倮倲倮我們接續前一章節的 交疊連續性之性質,延伸至部份交疊連續性倬 對其證明並找出最佳的位置解倬 使其可推廣至一 般情形倻 章節倳倮倳倮我們提出數個引理,以降低試驗列演算法找尋中位數的複雜度;章節倳倮倴倮我們 提出網格精化的方法,透過給定的資訊倬 找出適當的網格尺寸。

3.1

交疊

疊連

連續

續性

在前面的章節,介紹了在擺置合法化的問題中,我們用矩形來表示標準元件,也就是我們僅知 道元件的長寬以及左下座標。而此章節我們將延續文獻偛倱偝中的若滿足交疊連續性,若遇到邊 界問題,如何找到最佳解。本文的開始,我們首先定義甚麼是交疊連續性 定 定定義義義 1 倨交疊連續性倩. N個個標準單元的集合,對其左下x-座標由小至大排序,編號從 倱 到 N。對所有的 k, 若滿足下式 x倨k倩 − x倨k − 倱倩 ≤ w倨k − 倱倩, 倲 ≤ k ≤ N 倨倳倮倱倩 則稱此N個標準單元滿足交疊連續性。其中x倨k倩為元素 k的左下 x-座標,w倨k倩為標準單元 k 的寬度。 倱倲

(21)

3.1.1

交疊

疊連

連續

續性

性的

的特

特性

定義單調遞增倯遞減數列倨偭偯偮偯側偯偮偩偣 偩偮偣偲健偡偳偩偮偧倯偤健偣偲健偡偳偩偮偧 偳健偱偵健偮偣健倩和單調遞增倯遞減函 數倨偭偯偮偯側偯偮偩偣 偩偮偣偲健偡偳偩偮偧倯偤健偣偲健偡偳偩偮偧 偦偵偮偣側偩偯偮倩。若 xk ≤ xk+1,則稱數列 {xk} 是單調遞 增數列;反之,對所有的 k ∈ N,若 xk ≥ xk+1 ,則數列 {xk} 是單調遞減數列。函數 f,有 x ≤ y 且 f倨x倩 ≤ f倨y倩,則函數 f 是單調遞增函數;反之,若函數 f,有 x ≥ y 且 f 倨x倩 ≥ f 倨y倩,則函數 f 是單調遞減函數。 特 特特性性 1. 有N個單元滿足交疊連續性, x倨k倩 − x倨k − 倱倩 ≤ w倨k − 倱倩, 倲 ≤ k ≤ N 倨倳倮倲倩 倘若定義數列S 倽 {倁xk}Nk=1且 倁xk 倽 x倨k倩 − k−1 X j=1 w倨j倩, k 倽 倱, · · · , N 倨倳倮倳倩 則數列S必為單調遞減數列,有 倁xk ≤ 倁xk−1, ∀k 倽 倲, · · · , N 其中x倨k倩和w倨k倩分別是單元 k 的左下角x-座標和單元 k 的寬。 Proof. 已知對所有的 k 倽 倲, ..., N,x倨k倩 ≥ x倨k − 倱倩且 x倨k倩 − x倨k − 倱倩 ≤ w倨k倩和數列S的 第 k − 倱 項與第 k 項 倁xk−1 倽 x倨k − 倱倩 − k−2 X i=1 w倨i倩 倨倳倮倴倩 倁xk 倽 x倨k倩 − k−1 X i=1 w倨i倩 倨倳倮倵倩 將兩式相減倬 可得 倁xk− 倁xk−1 倽 x倨k倩 − x倨k − 倱倩 − w倨k − 倱倩 倨倳倮倶倩 由於 x倨k倩 − x倨k − 倱倩 ≤ w倨k − 倱倩,可得 倁xk− 倁xk−1倽 x倨k倩 − x倨k − 倱倩 − w倨k − 倱倩 ≤ 倰 倨倳倮倷倩 因此有限數列S 是單調遞減函數,也就是對所有的 k 倽 倲, ..., N,有 倁xk ≤ 倁xk−1。 倱倳

(22)

就合法化的問題而言,標準單元必須對齊至列上並且合法化後,位於列上的所有標準單元 的 x倭座標位置順序不變。若已知某一個列上有Nr個標準單元,其意味著此列上的標準單元 y倭座標位置固定倬 PNr l=1|y 0倨l倩 − y倨l倩| 即 為已知常數。 因此,目標函數可寫成 偭偩偮倮 Nr X l=1 |x0倨l倩 − x倨l倩| 倨倳倮倸倩 偳倮側倮 x0倨l倩 − x0倨l − 倱倩 ≥ w倨l − 倱倩倻 倲 ≤ l ≤ Nr 倨倳倮倹倩 根 據 定 理 倱, 若Nr個 標 準 單 元 滿 足 交 疊 連 續 性 條 件 , 則 合 法 化 後 標 準 單 元 之 間 緊 鄰倨偡偢偵側側健偤倩有最佳解 因此,我們若 倖x是第一個標準單元的合法化位置,則其他的標準單元的合法化位置可由 倖x 推得 x0倨倱倩 倽 倖x x0倨倲倩 倽 倖x 倫 w倨倱倩 倮倮 倮 x0倨N 倩 倽 倖x 倫 N −1 X i=1 w倨i倩 此時,目標函數可改寫成 N X l=1 |x0倨l倩 − x倨l倩| 倽 |倖x − 倁x1| 倫 |倖x − 倁x2| 倫 . . . 倫 |倖x − 倁xN| 倽 N X l=1 |倖x − 倁xl| 倨倳倮倱倰倩 , f 倨倖x倩 其中 倁xl 倽 x倨l倩 − Pl−1 i=1w倨i倩 對所有的 l倬 倱 ≤ l ≤ Nr。再由定理 倲,可知倨倳倮倱倰倩式有最小 值,當 倖x 是數列 {倁xl}Nl=1r 的中位數倨偭健偤偩偡偮 偶偡偬偵健倩時。 接下來,我們要證明函數 f倨倖x倩 f 倨倖x倩 偩偳 (單調遞減函數, 當 倖x ≤ 倁Q12 單調遞增函數, 當 倖x ≥ 倁Q1 2 其中 倁Q1 2 是數列 {倁xl}Nr l=1 的中位數。根據特性倱倮數列 {倁xl}Nl=1r 是單調遞減倬 即對所有的 倲 ≤ l ≤ Nr,有 倁xl−1≥ 倁xl; 因此,中位數 倁Q1 2 可以表示成 倁Q1 2 倽 ( 倁xNr +1 2 , 當 Nr ∈ 奇數 α倁xNr 2 +1倫 倨倱 − α倩倁x Nr 2 , 當 Nr ∈ 偶數 倱倴

(23)

圖 倳倮倱债 函數 f 倨倖x倩,當 Nr 為奇數倨左圖倩;當 Nr 為偶數倨右圖倩 倬 其中 α 是介於 倰 到 倱 的常數。 假設 xs ≥ xt> 倁Q1 2倬 則 f 倨xs倩 − f 倨xt倩 倽 Nr X l=1 |xs− 倁xl| − Nr X l=1 |xt− 倁xl| 倽 i X l=1 倨倁xl− xs倩 倫 Nr X l=i+1 倨xs− 倁xl倩 − j X l=1 倨倁xl− xt倩 倫 Nr X l=j+1 倨xt− 倁xl倩 ! 倽 倨Nr− 倲i倩 xs− 倨Nr− 倲j倩xt 倫 i X l=1 倁xl− j X l=1 倁xl倫 Nr X l=j+1 倁xl− Nr X l=i+1 倁xl 倽倨Nr− 倲i − 倲j 倫 倲j倩xs− 倨Nr− 倲j倩xt− 倲 j X l=i+1 倁xl 倽倨Nr− 倲j倩倨xs− xt倩 倫 倲 j X l=i+1 倨xs− 倁xl倩 | {z } ≥0 由上式可知倬 若所有的 倱 ≤ l ≤ Nr, l ∈ N倬 不存在 倁xl > xs倬 則 f倨xs倩 − f 倨xt倩 恆大於零倻 若 存在 倁xl > xs倬 倱 ≤ l ≤ Nr, l ∈ N倬 且已知倬 xs≥ xt > 倁Q1 2 以及數列 {倁xl}是單調遞減倬 可 知倬 倱 < i ≤ j < Nr 2 倬 可得上式恆大於。因此當 倖x ≥ 倁Q12 時倬 f 倨倖x倩是單調遞增函數倻 同理可得倬 當 倖x ≤ 倁Q1 2 時倬 f 倨倖x倩是單調遞減函數。 特 特特性性 2. 給定N個標準單元滿足交疊連續性, 合法化後, N個標準單元順序不變, 目標函數可寫 倱倵

(24)

成 min. N X k=1 |倖x − 倁xk|倻 倁xk 倽 x倨k倩 − k−1 X i=1 w倨i倩 s.t. x0倨k倩 − x0倨k − 倱倩 倽 w倨k − 倱倩倻 倲 ≤ l ≤ N 其中 x0倨k倩(x倨k倩) 和 w倨k倩 分別為標準單元 k 的合法化(全域)位置和單元 k 的寬度, 倖x 是標準 單元 倱 的合法化位置。已知當 倖x 是數列 {倁xk} 的中位數時, 倖x 倽 倁Q1 2, 有最小值。若改變 倖 x 愈遠離 倁Q1 2, 則目標函數值愈大。

3.1.2

邊界

界條

條件

圖 倳倮倲债 合法化之邊界條件 在前面章節倬 合法化的位置僅受限於兩個條件倬 標準單元之間沒有面積交疊以及合法化後的 順序不變性。然而實際的問題中倬 可能會觸及邊界的問題倬 例如债 標準單元擺置的位置不可超出 晶片可擺置的邊界範圍或超出單元格邊界以及標準單元合法最佳化後與障礙物有面積交疊倬 如 圖倳倮倲所示。因此倬 滿足邊界條件下倬 我們該如何修正最佳位置倬 使得目標函數值為最小倿 首先倬 目標函數及邊界條件改寫成 偭偩偮倮 N X l=1 |x0倨l倩 − x倨l倩| 偳倮側倮 x0倨l倩 − x0倨l − 倱倩 ≥ w倨l − 倱倩, x0倨l倩 ≥ Bxmin, x0倨l倩 ≥ Rxmin, x0倨l倩 倫 w倨l倩 ≤ Bxmax, x0倨l倩 倫 w倨l倩 ≤ Rxmax, 倲 ≤ l ≤ N 倱倶

(25)

表 倳倮倱债 符號說明 倪 所有的上標代表第 i 次合法化的結果 Nr 债 列上標準單元的個數 Ci k 债 根據第 i 次合法化結果倬 所得的第 k 個群集 Ni c,k 债 Cki 內的群集數 Ci 集簇倬 多個群組的集合 Ni c 债 群集簇中的未合法的群集個數 xi倨l倩 债 標準單元 l 經過第 i 次合法化的左下角 偸倭位置 w倨l倩 债 第 l 個標準單元的寬度 Xi c倨Cki倩 债 第 i 次合法化倬 群集 Cki 的左下角 x倭座標位置 Wci倨Cki倩 债 群組 Ci k 的總寬度

其中 Bxmin 和 Bxmax 分別是單元格的最左 x倭邊界及最右 x倭邊界倻 Rxmin 和 Rxmax 是列的 最左及最右的x 邊界。

利用引理倷倮知倬 合法化後倬 當所有的標準單元緊鄰倨偡偢偵側側健偤倩目標函數有最小值倬 再利用

特性倲倮可知若第一個單元的合法化位置倬 x0倨倱倩倬 遠離最佳位置其代價越大。 因此若遇邊

界問題倬 則第一個單元的合法化位置將修正為 x0倨倱倩 倽 偭偡偸{Bx

min, Rxmin}倬 當 x0倨倱倩 < 偭偡偸{Bxmin, Rxmin} 和 x0倨N 倩 倽 偭偩偮{Bxmax, Rxmax}倬 當 x0倨N 倩 > 偭偩偮{Bxmax, Rxmax}倬 目標函數有最小值。

3.2

分交

交疊

疊連

連續

續性

性之

之最

最佳

佳化

分析

在前一章節倬 我們知道列上 Nr 標準單元滿足交疊連續性的性質倬 合法化後倬 所有的單元緊鄰且 沿 x倭方向的順序不變有最小的擾動量。 此章節主要討論倬 若列上的 Nr 的標準單元不滿足交 疊連續性時倬 該如何找到最佳解倿 延用交疊連續性的概念倬 先對 Nr 個已排序的標準單元根據交疊連續性分組倬 分別對各組 合法最佳化後倬 若組與組之間有面積重疊倬 將其合併處理倬 重複此步驟直到完全合法。 在詳細 說明及解決此想法前倬 我們先定義符號倬 見圖表倳倮倱倮倬 並且闡釋群集倨偃偬偵偳側健偲倩倬 群集簇倨偡 偳健側 偯偦 偃偬偵偳側健偲倩的定義及引理。 細部來看倬 群集是由許多的標準單元所組成倬 也可看成是許多有停關聯性倢的群集所組成。事 實上倬 此關聯性就是沿用上一章節的交疊連續性倬 定義如下。 定 定定義義義 2 倨群集簇倩. 群集簇, Ci, 為群組的集合 Ci 倽 {Ci 1, C2i, ..., CNi i c} 且 C i m∩ Cni 倽 ∅ 對所有的 倱 ≤ m ≤ n ≤ Nci 倱倷

(26)

定 定定義義義 3 倨群集倩. 群集 Ci k 由第 i 次合法化的位置為依據, 若有 Xci倨Cj(i−1)倩 − Xci倨Cj−1(i−1)倩 ≤ Wc倨C (i−1) j−1 倩, Js倫 倱 ≤ j ≤ Jt 則將 Ci−1 中的第 J s 個群集到第 Jt 個群集群組在一起。也就是 Ci k 倽 n CJ(i−1) s , C (i−1) Js+1, . . . , C (i−1) Jt o 特例, 經過第 i 次合法化後, 群集不再與其他群集重疊, 此時群集自己組成一個群集, 有 Ni c,k 倽 倱 且 Xci+1倨Cki倩 倽 Xci倨Cki倩 簡單來說群集 Ci k 就是根據群組簇倬 C i−1 做完第 i 次合法化的位置重新分組。 引 引引理理理 1. 給一個群集, Ci k, 由 Nc,ki 個群集組成, 有 Xci倨Cj(i−1)倩 − Xci0倨Cj−1(i−1)倩 ≤ Wc倨C (i−1) j−1 倩, Js倫 倱 ≤ j ≤ Jt 經過合法化後, 滿足

Xci+1倨Cj(i−1)倩 − xi+1c 倨Cj−1(i−1)倩 ≥ Wc倨C (i−1)

j−1 倩, Js倫 倱 ≤ j ≤ Jt

假設第 Jc 個群集, 相較於第 i 次合法化位置, 第一個往右平移的群集, 也就是,

Xci+1倨CJ(i−1)c 倩 ≥ Xci倨CJ(i−1)c

因 此, 合法化後, 對所有的群集 Cji−1, j ≥ Jc 其合法化位置必向右平移, Xci+1倨C i−1 j 倩 ≥ Xi c倨C i−1 j 倩, j ≥ Jc. 同理, 對所有的群集 Cji−1, j < Jc 有 Xci+1倨C (i−1) j 倩 < Xci倨C (i−1) j 倩。 Proof. 對 CJ(i−1) c+1倬 經過第 i 此合法化後倬 與其他群集有 Xci倨CJ(i−1)c+1倩 − Xci倨CJ(i−1)c 倩 ≤ Wc倨C (i−1) Jc 倩 倨倳倮倱倱倩 因此倬 第 i 倫 倱 次合法化後倬 其必滿足 Xci+1倨CJ(i−1) c+1倩 − X i+1 c 倨C (i−1) Jc 倩 ≥ Wc倨C (i−1) Jc 倩 倨倳倮倱倲倩 比較倨倳倮倱倲倩式和倨倳倮倱倱倩式倬 我們有 Xci+1倨CJ(i−1) c+1倩 − x i+1 c 倨C (i−1) Jc 倩 ≥ X i c倨C (i−1) Jc+1倩 − X i c倨C (i−1) Jc 倩 倨倳倮倱倳倩 倱倸

(27)

對倨倳倮倱倳倩式移項倬 可得

Xci+1倨CJ +1(i−1)倩 − Xci倨CJ +1(i−1)倩 ≥ Xci+1倨CJ(i−1)c 倩 − Xci倨CJ(i−1)倩 倨倳倮倱倴倩 由於 Xi+1 c 倨C (i−1) Jc 倩 ≥ X i c倨C (i−1) Jc 倩倬 因此倨倳倮倱倴倩式意味著 Xci+1倨CJ(i−1) c+1倩 ≥ X i c倨C (i−1) Jc+1倩. 倨倳倮倱倵倩 重複相同的步驟可得倬 對所有的 k > Jc倬 有 Xi+1 c 倨C (i−1) k 倩 ≥ Xci倨C (i−1) k 倩 同理倬 我們可得倬 對所 有的 k < Jc倬 有 Xci+1倨C (i−1) k 倩 < Xci倨C (i−1) k 倩

3.2.1

問題

題公

公式

式化

給定列上的 Nr 個已排序的標準單元倬 編號從 倱 到 Nr倬 及每個標準單元的全域位置倬 合法化後倬 在滿足標準單元順序不變的條件下倬 使得目標函數為最小值。 目標函數可寫成 偭偩偮倮 N X l=1 |xi倨l倩 − x0倨l倩| 倨倳倮倱倶倩 偳倮側倮 xi倨l倩 − xi倨l − 倱倩 ≥ w倨l − 倱倩, 倲 ≤ l ≤ N 倨倳倮倱倷倩 其中 x0倨l倩 與 xi倨l倩 分別為標準單元 l 的在全域擺置和第 i 次合法化的左下角 x倭座標位倬 w倨l倩 是標準單元 l 的寬度。

3.2.2

解最

最佳

佳位

位置

由定義倳倮倬 我們可將 Nr 個標準單元可以被分成 Nc0 個群集。對每一個群集 Ck0倬 k 倽 倱, ..., Nc0倬 有 N0 k 個群集組成倬 編號從 Jk倫 倱 到 Jk倫 Nc,k0 。 已知 x0倨j倩 − x0倨j − 倱倩 ≤ w倨j倩, Jk倫 倲 ≤ j ≤ Jk倫 Nc,k0 倨倳倮倱倸倩 此外倬 群組的最後一個群集與後一個群組的第一個群集之間沒有交疊倬 也就是 x0倨Jk倫 倱倩 − x0倨Jk−1倫 Nc,k−10 倩 ≥ w倨Jk−1倫 Nc,k−10 倩, k 倽 倲, ..., N 0 c 倨倳倮倱倹倩 其中 Jk倽Pk−1n=1Nc,n0 由於每一個群集 C0 k 是由全域擺置的結果群組而成的倬 此時倬 內部的標準單元尚符合前一章 節所提的交疊續性倬 因此可直接使用上一章節所提及的方法倬 可求得群集的第一次合法化的最 佳位置 X1 c倨Ck0倩倬 對所有的 k 倽 倱, ..., Nc0。 因此目標函數改寫成 倱倹

(28)

圖 倳倮倳债 群集群組化過程的概念圖 Nr X j=1 |x1(j) − x0(j)| = J1 X j=1 |x1(j) − x0(j)| + J2 X j=J1+1 |x1(j) − x0(j)| + · · · + JN 0 c X j=JN 0 c −1+1 |x1(j) − x0(j)| (3.20) = J1 X j=1 |x1(1) − ∆x j| + J2 X j=J1+1 |x1(J 1+ 1) − ∆xj| + · · · + JN 0 c X j=JN 0 c −1+1 |x1(J N0 c−1+ 1) − ∆xj)| (3.21) = J1 X j=1 |X1 c(C01) − ∆xj| + J2 X j=J1+1 |X1 c(C02) − ∆xj| + · · · + JN 0 c X j=JN 0 −1 |X1 c(CN00 c) − ∆xj| (3.22) , f1(Xc1(C01)) + f2(Xc1(C20)) + · · · + fN0 c(X 1 c(C0N0 c)) (3.23) where Jk= k−1 X n=1 Nc,n0 第一次合法化後的群集倬 若仍會有不合法的情形倬 則再做第二次的群集倬 因此 C0 可再分成 N1 c 個群集並且 N1 c < Nc0。 特性倲倮倬 我們知道若 C0 k 的位置越遠離 Xc1倨Ck0倩倬 則成本倨偣偯偳側倩越大。 因此對群集 Cl1 而言倬 l 倽 倱, ..., N1 c 目標函數可改寫成 偭偩偮倮 Ll+Nc,l1 X k=Ll+1 |fk倨Xc2倨C 0 k倩倩 − fk倨Xc1倨C 0 k倩倩| 倨倳倮倲倴倩 偳倮側倮 Xc2倨Ck0倩 − Xc2倨Ck−10 倩 ≥ Wc倨Ck−10 倩, Ll倫 倲 ≤ k ≤ Ll倫 Nc,l1 倨倳倮倲倵倩 其中 Ll倽Pl−1n=1Nc,n1 倻 此時倬 fk倨Xc1倨Ck0倩倩 已知倬 且有 Nc,l1 個變數 對群集簇 C1 目標函數可寫成 偭偩偮倮 N1 c X l=1   Ll+Nc,l1 X k=Ll+1 |fk倨Xc2倨C 0 k倩倩 − fk倨Xc1倨C 0 k倩倩|   倨倳倮倲倶倩 倲倰

(29)

欲求倨倳倮倲倶倩的最小值等價於求倨倳倮倲倴倩的最小值。 因此倬 第二次合法化後倬 假設存在 Lc 是第一個 向右平移的群集倬 也就是倬 X2 c倨CL0c倩 ≥ X 1 c倨CL0c倩。 • PLc−1 k=Ll+1fk倨X 2 c倨Ck0倩倩 − fk倨Xc1倨Ck0倩倩 债 Xc2倨Ck0倩 ≤ Xc1倨Ck0倩倬 Ll倫 倱 ≤ k ≤ Lc− 倱倻 經過 第 倲 次合法化後倬 每一個群集的位置倬 X2 c倨Ck0倩倬 可表示成 Xc2倨Ck+10 倩 倽 Xc2倨Ck0倩 倫 Wc倨Xc2倨C 0 k倩倩 倫 δl, Ll倫 倱 ≤ k ≤ Lc− 倱 其中 δk 是兩群集 Ck0 和 Ck+10 之間的間隙倬 倨δk倽 Xc2倨Ck+10 倩 − Xc2倨Ck0倩 − Wc倨Ck0倩倩          X2 c倨CL0c−1倩 倽 X 2 c倨CL0c−2倩 倫 Wc倨C 0 Lc−2倩 倫 δLc−2, Xc2倨CL0c−2倩 倽 Xc2倨CL0c−3倩 倫 Wc倨CL0c−3倩 倫 δLc−3, 倮倮 倮 X2 c倨Ck+10 倩 倽 Xc2倨Ck0倩 倫 Wc倨Ck0倩 倫 δk 將上列式子相加總倬 可得到每一個 X2 c倨Ck0倩 皆可用 Xc2倨CL0c−1倩 表示之倬 Xc2倨Ck0倩 倽 Xc2倨CL0c−1倩 − Lc−1 X j=l Wc倨Cj0倩 − Lc−1 X j=l δj 對所有的 Ll倫 倱 ≤ k ≤ Lc− 倱 而言倬 由於 X2倨C0 k倩 < X 1 c倨Ck0倩 且 fk 是單調遞增倬 欲求 PLc−1 k=Ll+1fk倨X 1 c倨Ck0倩倩 − fk倨Xc2倨Ck0倩倩 的最小值等價於 X2倨CL0c−1倩 愈最大化使得 X 2 c倨Ck0倩 越接近 X1 c倨Ck0倩並且同時將 P Lc−1 j=l δj 最小化倬 也就是令每一項的 δj 等於零。換句話說倬 Xc2倨Ck0倩 − Xc2倨Ck−10 倩 倽 Wc倨Ck−10 倩 倨倳倮倲倷倩 • PLl+Nc,l1 k=Lc fk倨X 2 c倨Ck0倩倩 − fk倨Xc1倨Ck0倩倩 债 Xc2倨Ck0倩 ≥ Xc1倨Cl0倩倬 Lc ≤ k ≤ Ll倫 Nc,l1 。 每一 項 X2 c倨Ck0倩 可表示成 Xc2倨Ck0倩 倽 Xc2倨Ck−10 倩 倫 Wc倨Ck−10 倩 倫 δk−1, Lc≤ k ≤ Ll倫 Nc,l1 其中 δk−1 是 Ck0 和 C 0 k−1 之間間隙 倨δk−1 倽 Xc2倨Ck0倩 − X 2 c倨Ck−10 倩 − Wc倨Ck−10 倩倩。 因此倬          Xc2倨CL0c+1倩 倽 Xc2倨CL0c倩 倫 Wc倨CL0c倩 倫 δLc, X2 c倨CL0c+2倩 倽 X 2 c倨CL0c+1倩 倫 Wc倨C 0 Lc+1倩 倫 δLc+1, 倮倮 倮 X2 c倨Ck0倩 倽 Xc2倨Ck−10 倩 倫 Wc倨Ck−10 倩倩 倫 δk−1 倲倱

(30)

將上列式子相加總倬 考得每一 X2 c倨Ck0倩 都可用 Xc2倨CL0c倩倬 來表示之倬 Xc2倨Ck0倩 倽 Xc2倨CL0 c倩 倫 Ll+Nc,l1 X j=Lc Wc倨Cj0倩 倫 Ll+Nc,l1 X j=Lc δj 對所有的 Lc≤ k ≤ Ll倫 N1 c,l 而言倬 由於 Xc2倨Ck0倩 ≥ Xc1倨Ck0倩且 fk 是單調遞增倻 因此倬 欲 求 PLl+N 1 c,l k=Lc fk倨X 2 c倨Ck0倩倩 − fk倨Xc1倨Ck0倩倩 的最小值等價於 X2倨CL0c−1倩 愈小使得 X 2 c倨Ck0倩 越接近 X1 c倨Ck0倩 並且同時將 P Ll+Nc,l1 j=Lc δj 最小化倬 也就是令每一項的 δj 等於零。換句話 說倬 Xc2倨Ck0倩 − Xc2倨Ck−10 倩 倽 Wc倨Cj0倩, Lc ≤ k ≤ Ll倫 Nc,l1 倨倳倮倲倸倩 • PLl+Nc,l1 k=Lk+1fk倨X 2 c倨Ck0倩倩−fk倨Xc1倨Ck0倩 的最小化等同於將 Xc2倨CL0c倩 最小並且同時 Xc倨C 0 Lc−1倩 最大。經過第二次合法化後倬 X2 c倨CL0c倩 和 X 2 c倨CL0c−1倩 受限於 Xc2倨CL0c倩 − Xc2倨CL0c−1倩 ≥ Wc倨CL0c倩 的條件倬 因此 Xc2倨CL0c倩 倽 Xc2倨CL0c−1倩 倫 Wc倨CL0c−1倩 倫 δC0Lc−1 又基於 PLl+Nc,l1 k=Ll+1fk倨X 2 c倨Cl0倩倩 − fk倨Xc1倨Ck0倩倩等同於最小化 x2c倨CL0c倩倬 可得到 Xc2倨CL0c倩 − Xc2倨CL0c−1倩 倽 Wc倨CL0c−1倩 倨倳倮倲倹倩 因此倬 由倨倳倮倲倷倩倬倨倳倮倲倸倩和倨倳倮倲倹倩倬 可得結論 Xc2倨Ck0倩 − Xc2倨Ck−10 倩 倽 Wc倨Ck0倩 倨倳倮倳倰倩 倲倲

(31)

由倨倳倮倳倰倩式倬 對所有的 倱 ≤ 倱 ≤ N1 c倬 群集 Cl1 的成本函數可重新表示成 Nr X j=1 |x2(j) − x0(j)| = · · · + Jn+Nc,n0 X j=Jn+1 |x2(j) − x0(j)| + · · · + J(n+N 1 c,l) +N0 c,(n+N 1c,l) X j=J(n+N 1 c,l) +1 |x2(j) − x0(j)| | {z } 有 N1 c,l項 + · · · (3.31) = · · · + Jn+Nc,n0 X j=Jn+1 |x2(J n+ 1) +Pj−1i=Jn+1w(i) − x 0(j)| (3.32) + · · · + J(n+N 1 c,l) +N0 c,(n+N 1 c,l) X j=J(n+N 1 c,l) +1 |x2(J (n+N1 c,l)+ 1) + Pj−1 i=J (n+N 1c,l)+1 w(i) − x0(j)| + · · · (3.33) = · · · + Jn+Nc,n0 X j=Jn+1 |X2 c(C 0 Ll+1) + Pj−1 i=Jn+1w(i) − x 0(j)| (3.34) + · · · + J(n+N 1 c,l) +N0 c,(n+N 1c,l) X j=J(n+N 1 c,l) +1 |X2 c(C 0 Ll+Nc,l1 ) + Pj−1 i=J(n+N 1 c,l) +1w(i) − x 0(j)| + · · · (3.35) = · · · + Jn+Nc,n0 X j=Jn+1 |Xc2(C 0 Ll+1) + Pj−1 i=Jn+1w(i) − x 0(j) | {z } ∆x0 j | (3.36) + · · · + J(n+N 1 c,l) +N0 c,(n+N 1c,l) X j=J(n+N 1 c,l) +1 |Xc2(C 0 Ll+1) + PLl+N 1 c,l−1 i=Ll+1 Wc(C 0 i) +Pj−1i=J (n+N 1c,l)+1 w(i) − x0(j) | {z } ∆x0 j | + · · · (3.37) = · · · + J(n+N 1 c,l) +N0 c,(n+N 1c,l) X j=Jn+1 |X2 c(CL0l+1) − ∆x 0 j| + · · · (3.38) 其中 Jn= n−1 X j=1 Nc,j0 , Ll= l−1 X j=1 Nc,j1 由上式可知倬 對所有的 倱 ≤ 倱 ≤ N1 c倬 群集 Cl1 的成本函數倨倳倮倳倸倩式倬 只有一個未知數 Xc2倨CL0l+1倩 且數列 {倁x0 j} 已知倬 因此根據定理倲倮倬 當 Xc2倨CL0l+1倩 等於數列 {倁x 0 j} 的中位數時倬 目標函數 有最小值。 然而倬 對所有的 倱 ≤ 倱 ≤ N1 c倬 群集 Cl1 合法化後倬 並找到其最佳解倨Xc2倨CL0l+1倩倩倬 群集之間仍 可能出現面積重疊倨不合法倩倬 此時重複上述步驟倬 直到群集簇 Ci+1 的個數等於群集簇 Ci 的個 數 倨Ni+1 c 倽 Nci倩倬 表示群集間不再有重疊面積倬 完成合法化。 倲倳

(32)

3.3

善 HiBinLegalizer尋

尋找

找中

中位

位數

數的

的過

過程

前一節,我們證明利用HiBinLegalizer所提出的最佳位置解法器,所找到的最佳位置解, 無論全域擺置的位置是否具備交疊連續性的性質,一旦,群集或標準單元與已合法化的 群集面積交疊,合法化後,在群集內所有的標準單元,其彼此間緊鄰,此時,每一個標 準單元 k 的合法化位置 xi倨k倩倬 皆可由第一個標準單元的合法化位置 xi倨倱倩 與左方所有的 標準單元寬度總和倬 Pk−1 j=1w倨j倩 表示之。再利用最佳位置解法器,求得 xi倨倱倩;當 xi倨倱倩 是 數列 {倁xk}k=N k=1 的中位數倬 目標函數為最小倻 其中 N 是有連續面積交疊群集的總標準單元 個數倬 倁xk , x0倨k倩 − Pk−1 j=1w倨j倩倬 x0倨k倩 是標準單元 k 的全域擺置的左下 x倭座標。然而倬 HiBinLegalizer演算法的試擺列的過程,需不斷的試驗列,對列上的群集尋找中位數。在此章 節,我們提出並且證明數個引理,以簡化試驗驗列尋找中位數的過程。 中位數倨偭健偤偩偡偮倩倬 對 N 個已排序的數而言倬 位於最中間的數即為中位數倬 記為 Qm。因 此倬 當 N 是奇數時倬 位於最中間的數恰有一個倻 然而倬 當 N 是偶數時倬 位於最中間的數有兩 個倬 較小的數稱之為下界中位數倨偬偯偷健偲 偭健偤偩偡偮倩和另一則稱上界倨偵偰偰健偲 偭健偤偩偡偮倩偛倱倶偝倬 分別記 為 QL 和 QU。一般而言倬 當 N 是偶數時倬 中位數會取下界中位數和上界中位數的算數平均數 倨Qm 倽 QL+Q2 U倩。觀察可發現倬 中位數對 N 個數而言倬 恰好大於二分之一個數且小於二分之一 個數倻 因此倬 當 N 是奇數時倬 中位數大於且小於 bN 2c 個數倻 當 N 是偶數時倬 下界中位數小於 N 2 且大於等於 N 2 個數倬 上界中位數大於 N 2 且小於等於 N 2 個數。 就此篇所定義的目標函數而言倬 若群集內的標準單元個數是偶數時倬 不論中位數的選其上界 中位數或下界中位數倬 皆不影響目標函數的成本;若選擇下界中位數表示希望群集盡可能往左 擺置,以減少新插入的標準單元與群集面積重疊的發生,然而,愈往左擺則會增加與已擺置的 群集面積重疊的發生機會,因此,我們取 Qm 倽 αQL倫 倨倱 − α倩QU, α ∈ 偛倰, 倱偝 其中 α 是介於 倰 到 倱 的隨機常數。 在說明簡化尋找中位數的引理前,我們先證明,若新加入標準單元與已擺置的群集面積重 疊,則合法化後,群集的合法化位置會往左移。 引

引引理理理 2. 已知群集 Clast, 有 Nclast 個標準單元, 與最佳位置 qclast。若插入一個標準單元 i 與

群集有面積重疊, 則經合法化後, Clast 的最佳合法位置 q0

clast, 會向左平移,

qc0last ≤ qclast 倨倳倮倳倹倩

(33)

Proof. 假 設 Nclast 是 偶 數倬 qclast 倽 αQL 倫 倨倱 − α倩QH倬 其 中 QL 和 QH 分 別 是 數 列 P 倽 {倁xk} k=Nclast k=1 的 下界與上界中位數倬 α 是介於 倰 到 倱 的常數。由於標準單元 i 與Clast 面積重疊倬 有 qclast 倫 Nclast X j=1 w倨j倩 > x倨i倩 倨倳倮倴倰倩 合法化後倬 x0倨i倩 倽 qc0last倫 Nclast X j=1 w倨j倩 倨倳倮倴倱倩 由於 q0 clast 是 {倁xk} k=Nclast k=1 ∩ {倁xi}i=1的中位數倬 故 qc0last 大於並小於 b Nclast+1 2 c 倽 Nclast 2 個 數倬 其中 倁xi 倽 x倨i倩 − PNclast j=1 w倨j倩。 從 倨倳倮倴倰倩 式倬 qclast > 倁xi倬 考慮兩個極端值 α 倽 倱 和 α 倽 倰 ⇒ 當 α 倽 倱, 倁x i < QL< QH 當 α 倽 倰, 倁xi < QH 倨倳倮倴倲倩 可推得 QH 大於 倨 Nclast 2 倫 倱倩 個數倬 因此 q 0 clast 必小於 QH。我們已知倬 扣除 倁xi倬 QL 大於 Nclast 2 − 倱 個數並且小於 Nclast 2 。倘若倬 我們假設 倁xi < QL倬則 QL 恰大於並小於 Nclast 2 個數倻 反之倬 倁xi > QL倬 則 QH > 倁xi > QL倬 倁xi 恰大於並小於 Nclast 2 個數。整理可得 q0clast 倽 偭偡偸{QL, 倁xi} 倨倳倮倴倳倩 又 QL≤ qclast ≤ QH 倨倳倮倴倴倩 因此倬 結合倨倳倮倴倳倩倨倳倮倴倴倩兩式倬 得 q0 clast ≤ qclast 得證。 假設 Nclast 是奇數倬 qclast 是數列 P 倽 {倁xk} k=Nclast k=1 的中位數倬 大於並小於 b Nclast 2 c 個 數倻 加入標準單元 i 後倬 同倨倳倮倴倰倩式倬 得 倁xi < qclast倬 此時倬 qclast 恰大於 Nclast+1 2 個數且小 於 Nclast−1 2 個數倬 為上界中位數倬 記為 Q 0 H。尋找下界中位數倬 Q 0 L 前倬 假設已知 倁xm−1倬 倁xm−1 ∈ P 倬 其 大 於 b Nclast 2 c − 倱 且小於 b Nclast 2 c 倫 倱 個 數 。 今 加 入 標 準 單 元 i 後倬 若 倁xi < 倁xm−1倬 則 倁xm−1 大於 b Nclast 2 c 且小於 b Nclast 2 c 倫 倱 個數倬 Q 0 L 倽 倁xm−1倻 反之倬 若 倁xi < 倁xm−1倬 則 Q0L倽 倁xi倬 整理可得倬 Q0H 倽 qclast 倨倳倮倴倵倩 Q0L倽 偭偡偸{倁xi, 倁xm−1} 倨倳倮倴倶倩 又 qc0last 介於 Q 0 L 和 Q 0 H 之間倬 因此可得 q 0 clast ≤ qclast倬 得證。 倲倵

(34)

Clast 列上最右邊的群集 Nclast 群集 Clast 中倬 標準單元的個數 {倁xk} Nclast k=1 有 Nclast 項的數列倬 編號從 倱 到 Nclast Pclast 對 Clast倬 其可能位置解的解集合 qclast 群集 Clast 的合法化位置 Wclast 群集 Clast 的寬度 Cp 前置群集 Ncp 前置群集內標準單元的個數 Wcp 群集 Cp 的寬度 Pcp 前置群集的解集合 倁xpU, 倁xpL 當 Ncp 為偶數時倬 前置群集的上界與下界中位數 倁x0pU, 倁x0pL 當前置群集合併後的標準單元個數是偶數倬 其分別代表為上界與下界中位數 Ck 第 k 個群集 qk 群集 Ck 的合法化位置 Wck 群集 Ck 的寬度 表 倳倮倲债 此小節的符號說明 1 m‐1 m 2 p C 標準單元i 擺置前 標準單元i 擺置後 1 m‐1 m 2 last C p C i i 圖 倳倮倴债 將 Clast 分解成 m 個群集與一個標準單元 i 由引理 倲 知,若標準單元 i 擺入後與列上最右邊的群集倬 Clast倬 有

x倨i倩 − qclast ≤ Wclast 倨倳倮倴倷倩

合法化後,標準單元會併入群集且群集會向左平移,倨q0c ≤ qc倩,可能會與前置群集倬 Cp倬 面積 重疊,並且在合法化後又與前置群集面積重疊,我們稱此效應為骨牌效應倨偤偯偭偩偮偯 健個健偣側倩。 接下來,我們將提出四個引理,說明標準單元 倱 觸發骨牌效應後,何時會停止以及說明如何 簡化試驗列找尋中位數。 我們先列舉出符號的定義倬 以方便說明與證明引理倬 參見表格倳倮倳 引 引引理理理 3. 若 Ncp 是偶數且 Nclast 是奇數,合併後,更新的位置為 q0cp 倽 偭偡偸{倁x p L, 倁qclast} 倨倳倮倴倸倩 倲倶

(35)

Proof. 假設 Clast 由 m 個群集和標準單元 i 所構成倬 如圖倳倮倴倮所示倻 解法器的解集合數列分解 成兩數列 Pclast 倽 {倁xk} Nclast−1 k=1 ∪ {倁xi}倬 在標準單元i 觸發前,群集間沒有面積重疊 qi− qi−1 ≥ Wci, i 倽 倲, ..., m 倨倳倮倴倹倩 以及第 m 個群集與前置群集亦沒有面積重疊, qm− qcp ≥ Wcp 倨倳倮倵倰倩 令 qH 是數列 {倁xk} Nclast−1 k=1 的上界中位數,其大於 Nclast−1 2 且小於 Nclast−1 2 − 倱 個數。 由倨倳倮倴倹倩倨倳倮倵倰倩兩式倬 得 qH − qcp ≥ Wcp 倨倳倮倵倱倩

標準單元觸發後倬 姑且不論如何求得 qclast倬 我們知道 qclast − qcp ≤ Wcp 且 qclast 大於並小於 Nclast−1 2 個數。此時倬 更新 P 0 clast 倽 {倁xk− Wcp} Nclast k=1 倨註债 此舉僅將數列向左平移倬 其項之間 的相關位置不變倩。 另一方面倬 已知 qcp 介於 倁xp L 和 倁x p H 之間倬 有 qclast− 倁xpH ≤ Wcp 和 qH− 倁xp L ≥ Wcp倬 整理得 qclast− Wcp ≤ 倁xp H 倨倳倮倵倲倩 倁xpL≤ qH − Wcp 倨倳倮倵倳倩 qclast− Wcp ≤ qH − Wcp 倨倳倮倵倴倩 今假設倬 倁xp L≤ qclast− Wcp倬 由倨倳倮倵倲倩式可知倬 qclast − Wcp 對 Pcp 而言倬 大於且小於 Ncp 2 個項倻 另一方面倬 對 Pclast 而言倬 大於且小於 Nclast−1 2 個數。再由中位數的定義倬 q 0 cp 倽 qclast。反之倬 若 倁xpL ≥ qclast− Wcp倬 由倨倳倮倵倳倩式可得倬 對 P0 clast 而言倬 大於 Nclast−1 2 倫 倱 和小於 Nclast−1 2 個 項倻 對 Pcp 而言倬 大於 Ncp 2 − 倱倬 小於 Ncp 2 倬 此時 q 0 cp 倽 倁x p L。總結以上得 qc0p 倽 偭偡偸{倁x p L, qclast − Wcp} 倨倳倮倵倵倩 qc0p ≤ qcp 倨倳倮倵倶倩 引 引引理理理 4. 若 Ncp 是奇數且 Nclast 是奇數, 更新的位置為 qc0p 倽 α0偭偡偸{倁x p m−1, 倁qclast} 倫 倨倱 − α0倩qcp 倨倳倮倵倷倩 倲倷

數據

圖 圖 圖目 目 目錄 錄 錄 倱倮倱 數位超大型積體電路設計流程圖 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倲 倱倮倲 倨偡倩 實體設計流程圖 倨偢倩實體設計之擺置設計流程圖 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倲 倲倮倱 標準單元的範例 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倮 倴 倲倮倲 二維的歐式距離倨綠線倩為 √ 倳 2 倫 倴 2 倽
圖 倳倮倱债 函數 f 倨倖 x倩 ,當 N r 為奇數倨左圖倩;當 N r 為偶數倨右圖倩 倬 其中 α 是介於 倰 到 倱 的常數。 假設 x s ≥ x t &gt; 倁Q 1 2 倬 則 f 倨x s 倩 − f 倨x t 倩 倽 N r X l=1 |x s − 倁x l | − N r Xl=1 |x t − 倁x l | 倽 i X l=1 倨倁x l − x s 倩 倫 N r X l=i+1 倨x s − 倁x l 倩 − j X l=1 倨倁x l − x t 倩 倫 N r X l=j
表 倳倮倱债 符號說明 倪 所有的上標代表第 i 次合法化的結果 N r 债 列上標準單元的個數 C ki 债 根據第 i 次合法化結果倬 所得的第 k 個群集 N c,ki 债 C ki 內的群集數 C i 债 群 集簇倬 多個群組的集合 N ci 债 群 集簇中的未合法的群集個數 x i 倨l倩 债 標準單元 l 經過第 i 次合法化的左下角 偸倭位置 w倨l倩 债 第 l 個標準單元的寬度 X ci 倨C ki 倩 债 第 i 次合法化倬 群集 C ki 的左下角 x倭座標位置 W c i 倨C ki
圖 倳倮倳债 群集群組化過程的概念圖 N r X j=1 |x 1 (j) − x 0 (j)| = J 1 X j=1 |x 1 (j) − x 0 (j)| + J 2 Xj=J 1 +1 |x 1 (j) − x 0 (j)| + · · · + J N 0cXj=J N 0 c −1 +1 |x 1 (j) − x 0 (j)| (3.20) = J 1 X j=1 |x 1 (1) − ∆x j | + J 2 Xj=J 1 +1 |x 1 (J 1 + 1) − ∆x j | + · · · +
+4

參考文獻

相關文件

申請途徑: 衛生署– 母嬰健康院 電話: 2112 9900. 衛生署母嬰健康院

健康及道德議題 (3 小時) • 辨別使用資訊及通訊科技對健康造成的 威脅;建議在使用資訊及通訊科技時,實

使用 善用 健康

④ 小腸:小腸有消化和 吸收作用,藉由小腸 壁分泌的腸液、來自 胰臟的胰液和來自肝 臟的膽汁,消化為葡 萄糖、胺基酸等營養 物質,再由小腸壁上 的絨毛吸收。.

年青的學生如能把體育活動融入日常生活,便可提高自己的體育活動能

2、 健保費(含法定雇主須提撥健保費及法定雇主因人事 費衍生其負擔健保補充保險費)、勞保費(含就業保 險及職業災害保險)、勞工退休金提撥:投保單位負

每本主題冊會提供一些探討該冊主題內容的建議問題,列舉主題冊內容大綱及學生在

扭開水龍頭 先來沖沖手 再用梘液搓 搓洗要足夠 雙手各部分 切記勿遺漏 大家勤洗手