本研究使用了 C++的程式語言來實現我們的演算法,工作環境為 Linux 的 作業系統並搭載 2.1GHz AMD Opteron 處理器與 8GB 的記憶體,本研究主要採 用 GSRC(Gigascale Systems Research Center)的測試電路並對其稍做修改,其中 彈性模組的長寬比限制介於 1/3 到 3 之間,而晶片的長寬比皆設為 1,線長則採 用 HPWL 的繞線估計方式來計算。以上這些都是符合現代化的設計原則。
4.1. 二維平面規劃結果之與全部模組皆建立幾何限制的方法比較
在3.2 小節中說明了本實驗會將原始的三角剖分圖先執行兩次 AGC 演算法,
再以改良過後的限制圖做整數線性規劃。為了證明此方法的效益,我們比較了全 部模組皆建立幾何限制的方法,並將實驗結果列於表2,其中的每個電路皆保留 了10%的空白區域。第 1 行為模組的總數量,這裡的模組皆為彈性模組。第 2-3 行為我們的實驗結果,第4-5 行為全部模組皆建立幾何限制的實驗結果,兩種方 法分別比較了總繞線長度與程式的執行時間。由表2 可知兩者的線長幾乎相同,
但是我們的方法約可減少31%的執行時間,當模組的數量越多差距會越明顯,表 示使用AGC 演算法的效益也就越高。
表 2. 執行兩次 AGC 演算法與全部模組皆建立幾何限制的比較表 Apply AGC 2 times Maximum constraints
#Modules WL (μm) CPU times (s) WL (μm) CPU times (s)
100 195014 3 195000 3
200 352099 13 351797 14
300 471897 34 471551 41
943 68139559 1689 68137597 2515 1412 73595977 5569 73592677 8037 Normalized 1.00 0.69 1.00 1.00
4.2. 三維平面規劃結果之與凸面最佳化的方法比較
5% whitespace 10% whitespace Luo et al. [19] Ours Luo et al. [19] Ours(a)全域分佈階段 (b)合法化階段 圖 11. 混合模組在二維平面規劃的結果
4.3. 三維平面規劃之彈性模組(soft module)
為了證明我們演算法的效能,本小節將與三维平面規化器Co-place [14]比較 了彈性模組的擺置結果,其實驗結果列於表4。第 1 行列出了所有測試電路的名 稱。第 2 行為三维晶片的總層數。第 3 行為 TSV 的總數量,由於本研究與 Co-place 採用了相同的模組分層結果,故兩者的 TSV 數量是相同的。第 4-7 行分別 比較了兩研究的總繞線長度和CPU 執行時間。由表 4 可得知我們的方法雖然執 行時間較長,但總線長能較Co-place 減少了 8%。
表 4. 與 Co-place [14]比較了彈性模組的三维平面規劃 Co-place [14] Ours Circuit #Dies #TSVs WL
(μm)
CPU times (s)
WL (μm)
CPU times (s) n100 3 505 142500 3.19 133270 4.13 n200 3 1043 254757 3.42 247098 11.09 n300 3 1244 363384 4.65 335191 23.32 n100 4 677 129057 1.54 118780 4.51 n200 4 1572 241392 3.85 226057 15.19 n300 4 1758 342535 4.86 305465 27.09
Normalized 1.08 0.25 1 1
Die 1 Die 2 Die 3
圖 12. 彈性模組在 n100 三層平面規劃的結果
Die 1 Die 2 Die 3
圖 13. 彈性模組在 n200 三層平面規劃的結果
Die 1 Die 2 Die 3
圖 14. 彈性模組在 n300 三層平面規劃的結果
4.4. 三維平面規劃之堆疊式模組(stacked module)
接著將介紹本研究的重點-考慮堆疊式模組的三维平面規劃實驗結果。由 於過去並沒有實際的測試電路和相關的研究來比較,因此我們以 GSRC 所給的
測試電路稍做修改,實驗的模組數量有分100、200 和 300 不等,其結果列於表 5 中。
表 5 僅列出我們的實驗數據,因為過去平面規劃方法並沒有考慮到相同的 議題。第1 行列出了所有測試電路的名稱。第 2 行為三维晶片的總層數。第 3 行 為 TSV 的總數量。第 4 行和第 5 行分別為彈性模組和堆疊式模組的數量。第 6 行和第7 行分別列出了信號線的總連線長度和程式的執行時間。圖 15 和圖 16 為 表5 的其中兩種平面規劃結果,綠色矩形為彈性模組,藍色矩形為堆疊式模組,
而最小的矩形則為TSV。
表 5. 考慮堆疊式模組的三维平面規劃結果 Circuit #Dies #TSVs #Soft
modules
#Staked modules
WL (μm)
CPU times (s) n100 3 505 98 2 147654 5.24 n200 3 1043 195 5 273602 14.15 n300 3 1244 291 9 374805 26.02 n100 4 677 99 1 127783 5.6 n200 4 1572 196 4 258202 17.63 n300 4 1758 294 6 338218 31.4
Die 1 Die 2 Die 3 Die 4
(a)全域分佈階段
(b)合法化階段
圖 15. 堆疊式模組在 n100 四層平面規劃的結果
Die 1 Die 2 Die 3
(a)全域分佈階段
(b) 合法化階段
圖 16. 堆疊式模組在 n300 三層平面規劃的結果