植基於Corner stitching表示法之增量式平面規劃之研究 張家銘、程仲勝 ; 陳木松
E-mail: [email protected]
摘 要
積體電路後端實體設計(physical design)中,平面規劃(floorplanning)一直是一個相當重要的設計步驟。然而隨著VLSI/SOC系 統的複雜化,有可能在平面規劃結束後,因佈局結果不良,需重新再進行平面規劃以求得一較佳佈局結果。但若一再地重 複進行平面規劃,這是相當耗時的。因此我們利用增量式平面規劃(incremental floorplanning)的觀念,縮短重複進行平面規 劃的時間。
在本論文中,我們先取得以任何一種平面規劃(floorplanning)表示法所產生的平面規劃圖,再以Corner Stitching表示法來記 錄模組間相對位置關係。為了維持初始平面規劃圖中模組間相對位置關係,我們不重新進平面規劃,取而代之執行一連串 增量式運算,包含新增模組與修改模組兩種運算,以得到面積不變與繞線長度較短的平面規劃結果。
實驗結果顯示所提增量式平面規劃演算法確實具有不錯的效能,且在少數模組維度小幅修改時,能產生不錯的平面規劃結 果
關鍵詞 : Corner Stitching表示法、平面規劃、增量式平面規劃 目錄
封面內頁 簽名頁
授權..................................iii 中文摘要................................iv 英文摘要................................v 誌謝..................................vi 目錄..................................vii 圖目錄..................................x 表目錄.................................xiv
第一章 緒論 ...............................1 1.1 研究背景與動機.......................1
1.2 研究方法..........................2 1.3 論文架構..........................2
第二章 參考文獻.............................3 2.1 可切割與不可切割平面規劃表示法...............3
2.2 增量式平面規劃.......................4 2.2.1植基於基因演算法之增量式平面規劃 ...........5 2.2.2植基於CBL表示法之增量式平面規劃............5 2.2.3植基於模擬退火演算法之增量式平面規劃 .........7
2.2.4植基於Delaunay Triangulation表示法之增量式平面規劃.8 第三章 資料結構探討 ................
..........10
3.1 Bins表示法 ........................10
3.2 Quad Tree表示法 ..........................11 3.3 Delaunay Triangulation表示法...............12
3.4 Corner Stitching表示法..................13
第四章 以Corner Stitching表示法進行增量式平面規劃 ...........15 4.1 問題描述 ..........................15 4.2 增量式平面規劃演算法 ....................16 4.3 切割閒置空間 ........................17 4.4 利用Corner Stitching表示法建立二元樹 ...........18
4.4.1 無限定移動範圍..................19 4.4.2 有限定移動範圍..................22
4.5走訪二元樹..........................26 4.5.1二元樹後序走訪 ..................28
4.5.2二元樹前序走訪 ..................31
4.6 修改運算 ..........................34 4.6.1先水平移動後垂直移動 ...............34
4.6.2先垂直移動後水平移動 ...............35 4.6.3水平/垂直移動最佳.................36
4.7 新增運算 ..........................37
第五章 實驗結果 .............................40 5.1 執行修改運算實驗 ......................41
5.1.1策略一:先水平移動後垂直移動 ...........42 5.1.2策略二:先垂直移動後水平移動 ...........45 5.1.3策略三:水平/垂直移動最佳.............48
5.2 執行新增運算實驗 ......................52 5.3 不同閒置空間比例 ......................57 5.4 執行一連串增量式運算 ....................63 5.5 限制網列長度 ........................66
第六章 結論與未來展望 ..........................70 參考文獻..................................71 附錄 A n200測試電路實驗結果.......................A-1 A.1執行n200修改運算實驗.....................A-1
A.2執行n200新增運算實驗.....................A-2 A.3執行n200一連串增量式運算...................A-4
附錄 B n300測試電路實驗結果........................B-1 B.1執行n300修改運算實驗.....................B-1
B.2執行n300新增運算實驗.....................B-2 B.3執行n300一連串增量式運算...................B-4 參考文獻
[1]R. H. J. M. Otten (1982) “Automatic Floorplan Design” Proceedings of the 19th ACM/IEEE Design Automation Conference, Pages 261-267.
[2]D. F. Wong and C. L. Liu (1986) “A New Algorithm for Floorplan Designs” Proceedings of the 23th ACM/IEEE Design Automation Conference, Pages 101-107.
[3]H. Murata, K. Fujiyoshi, S. Nakatake, and Y. Kajitani (1996) “VLSI Module Placement Based on Rectangle-Packing by the Sequence–Pair
” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Volume 15, Issue 12, Pages 1518-1524.
[4]S. Nakata, K. Fujuoshi, H. Murata, and Y. Kajitani (1996) “Module Placement Based on BSG-Structure and IC Layout Applications”
Proceedings of the 1996 IEEE/ACM International Conference on Computer-Aided Design, Pages 484-491.
[5]P. N. Guo, C. K. Cheng, and T. Yoshimura (1999) “An O-tree Representation of Non-Slicing Floorplan and Its Applications” Proceedings of the 36th ACM/IEEE Design Automation Conference, Pages 268-273.
[6]Y. C. Chang, Y. W. Chang, G. M. Wu, and S. W. Wu (2000) “B*-Trees: A New Representation for Non-Slicing Floorplans” Proceedings of the 37th ACM/IEEE Design Automation Conference, Pages 458-463.
[7]X. Hong, G. Huang, Y. Cai, J. Gu, S. Dong, C. K. Cheng, and Jun Gu (2000) “Corner Block List: An Effective and Efficient Topological Representation of Non-Slicing Floorplan” Proceedings of the 2000 IEEE/ACM International Conference on Computer-Aided Design, Pages 8-12.
[8]J. M. Lin and Y. W. Chang (2001) “TCG: A Transitive Closure Graph-Based Representation for Non-Slicing Floorplans” Proceeding of the 38th ACM/IEEE Design Automation Conference, Pages 764-769.
[9]Peter G. Sassone and Sung K. Lim (2003) “A Novel Geometric Algorithm for Fast Wire-Optimized Floorplanning” Proceedings of the 2003 IEEE/ACM International Conference on Computer-Aided Design, Pages 74-80.
[10]Y. Ma, S. Dong, X. Hong, Y. Cai, C. K. Cheng, and J. Gu (2001) “VLSI Floorplanning with Boundary Constraints Based on Corner Block List” Proceedings of Asia and South Pacific Design Automation Conference, Pages 509-514.
[11]Y. Ma, X. Hong, S. Dong, Y. Cai, C. K. Cheng, and J. Gu (2001) “A Compact Algorithm for Placement Design Using Corner Block List Representation” Proceedings of the 4th ASIC Conference, Pages 146-149.
[12]X. Tang and D. F. Wong (2002) “Floorplanning with Alignment and Performance Constraints” Proceedings of the 39th ACM/IEEE Design Automation Conference, Pages 848-853.
[13]H. Xiang, X. Tang, and D. F. Wong (2003) “Bus-Driven Floorplanning” Proceedings of the 2003 IEEE/ACM International Conference on Computer-Aided Design, Pages 66-73.
[14]S. Zhou, S. Dong, C. K. Cheng and J. Gu (2001) “ECBL: an extended corner block list with solution space including optimum placement”
Proceedings of the 2001 international symposium on Physical design Conference, Pages 150-155.
[15]J. Cong and M. Sarrafzadeh (2000) “Incremental Physical Design” Proceedings of International Symposium on Physical Design, Pages 84-92.
[16]Y. Liu, H. Yang and R. Luo (2003) “An Incremental Floorplanner Based on Genetic Algorithm” Proceedings of 5th International Conference on ASCI Vol.1, Pages 331-334.
[17]L. Yang, Y. Ma, X. Hong, S. Dong and Q. Zhou (2005) “An Incremental Algorithm for Non-Slicing Floorplan Based on Corner Block List Representation” Chinese Journal of Semiconductors Vol.26 No.12, Pages 2335-2343.
[18]Qing. Dong, Bo. Yang, Jing. Li, (2009) “Incremental Buffer Insertion and Module Resizing Algorithm Using Geometric Prograμming”
Great Lakes Symposium on VLSI, Pages 413-416.
[19]R. A. Finkel and J. L. Bentley (1974) “Quad-tree- a data structure for retrieval oncomposite keys” Acta Informatica, Vol. 4, No.1-9.
[20]N.A. Golias and R.W. Dutton (1997) “Delaunay triangulation and 3D adaptive mesh generation” Finite Elments in Analysis and Design, Vol.25, Pages 331-341.
[21]John K. Ousterfout (1984) “Corner stitching: A data-structuring technique for VLSI layout tools” IEEE Trans.Computer-Aided Design , Pages 87-100.
[22]Chen, Tung-Chieh and Chang (2006) “Modern floorplanning based on B*-tree and fast simulated annealing” Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions onVol.25, Pages 637-650.
[23]高一宏、程仲勝 (2007) “植基於Corner Block List表示法之增量式平面規劃之研究” 私立大葉大學電機工程研究所.