Step 2: Finger Region Refinement
3.3 Routability Checking
In order to control package size in a reasonable size, Trackmax means the maximum track number. And Lmax means the maximum number of layers of this problem. If substrate routing can not achieve 100% routability, we will take following stratages:
First, if current track number is less than Trackmax, then increase track number. Second,
if current track number is equal to Trackmax, then increase the number of layers until it is equal to Lmax. Finally, if the number of layers is equal to Lmax, this means the package design with our constraints can not reach 100% routability.
Chapter 4
Experimental Results
Our algorithm was implemented in C++ programming language and tested on a Linux workstation with Core 4 Intel(R) Xeon(R) E5160 3.0 GHz and 32G RAM. We used five industry cases [12] to test our algorithm. The detailed information of each case is listed in TABLE 4.1. Note that, case 1 and case 5 have the same finger set, and case 2, case 3, and case 4 have the same finger set. The PCB components of all cases, however, are not identical to each other. There are at most four routing layers we can use.
Table 4.1: Detailed information of the test cases [12].
case1 case2 case3 case4 case5
# of signals 268 429 429 429 268
# of components 1 3 4 3 1
The experimental results listed in TABLE 4.2 and TABLE 4.3 are compared with the Cadb004 [12] and NTHU [13] specifically. In these tables, the package size and the number of BGA layer are used to evaluate total package cost; on the other hand, the total wirelength on BGA can represent the performance. In our algorithm, the execution time of each case is not more than 10 seconds. And all guarantee routablilty 100%.
Table 4.2: Experimental Results Compared with Cadb004 [12].
Table 4.3: Experimental Results Compared with NTHU [13].
Package Size Performance
L W Improvement
First, the results are compared with Cadb004. Cadb004 is the only one team that finished the five test cases of problem B3 in the 2008 IC/CAD Contest. The method of Cadb004 is sorting all signals and surrounding the chip with the signals one by one in a ring. Finally, the method applies the simple channel routing to route the signals.
Although this method must be success for routing and need only 2 layers to complete, it enlarges the package size and increases the total wirelength. The result shows: although there are one more layer be used, the package size and wirelength shrink much more than a half clearly.
Second, we compare our results with NTHU. NTHU constructed a network flow model and applied the Min-Cost-Max-Flow algorithm to solve this problem which can guarantee routability. In the case2, case3, and case4, the package size reduces 23%, the number of layers decreases one, and the wirelength reduces 9%~10%. Then in case1 and case5, we reduce the number of layers one, the package size is a little larger than NTHU, the number of layers decreases one but the wirelength increase 33% and 19%
respectively. In case2, case3, and case4, because the corner region of BGA is less assigned balls, the routing flow of each signal can easily go outward direction and can avoid routing to the corner region. Therefore, the results of these three cases can get better. On the other hand, the results of case1 and case5, the bump balls on BGA are almost filled; therefore, this increases the routing difficulty and cause the package size and total wirelength increase.
Chapter 5
Conclusions
In this thesis, we propose a package design flow for the chip-package-board co-design flow. At first stage, we propose a new pin assignment algorithm considering the differential pair signals and IR-drop. With this algorithm, the whole routing space can be used more efficiently. Then at second stage, the cost function of A* algorithm and routing order effectively increases the routability and reduces the total number of layers.
The experimental results show that our methodologies improve the package size, and the total wirelength to at least 50% while increasing the number of layers by one.
Then while compared with NTHU, if the corner region on BGA package is sparse, our methodologies guarantee routability and effectively reduce the number of layers, total wirelength while controling the package size in a reasonable one. Otherwise, if the corner region on BGA package is dense, the wirelength and the package size do not be improved while the number of layers still reduces to three.
In this thesis, the given information is just component pins, differential pair signals, power/ ground signals and the wire segments can just be horizontal or vertical. In the future, we want to implement one any-angle substrate routing and propose a cost function which considering the issue of the pin assignment in order to make the pin assignment more convincing.
Bibliography
[1] M.-F. Yu, J. Darnauer, and W. M. Dai, “Interchangeable Pin Routing with Application to Package Layout,” In Proceedings IEEE/ACM International Conference on Computer-Aided Design, pages 668–673, 1996.
[2] D. Wang, P. Zhang, C.-K. Chang, and A. Sen, “A Performance-driven I/O Pin Routing Algorithm,” In Proceedings IEEE Asia and South Pacific Design Automation Conference, pages 129–132, 1999.
[3] J.-W. Fang, I.-J. Lin, P.-H. Yuh, Y.-W. Chang, and J.-H.Wang, “A Routing Algorithm for Flip-chip Design,” In Proceedings IEEE/ACM International Conference on Computer-Aided Design, pages 753–758, 2005.
[4] C.-C. Tsai, C.-M. Wang, and S.-J. Chen, “News: A Net-Even-Wiring System for the Routing on a multilayer PGA package,” In IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 17, no. 2, pages 182–189, Feb. 1998.
[5] S.-S. Chen, J.-J. Chen, S.-J. Chen, and C.-C. Tsai, “An Automatic Router for the Pin Grid Array Package,” In Proceedings IEEE Asia and South Pacific Design Automation Conference, pages 133–136, 1999.
[6] S.-S. Chen, J.-J. Chen, C.-C. Tsai, and S.-J. Chen, “An Even Wiring Approach to the Ball Grid Array Package Routing,” In Proceedings International Conference on Computer Design, pages 303–306, 1999.
[7] Y. Kubo and A. Takahashi, “Global Routing by Iterative Improvements for Two-Layer Ball Grid Array Packages,” In IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 25, no. 4, pages. 725-733, April 2006.
[8] Y.-C. Lin, K.-Y. Lee and T.-C. Wang, “A Two-Layer Global Router for Ball Grid Array Packages,” In Proceedings of The Workshop on Synthesis And System Integration of Mixed Information technologies, pages 301–306, 2009.
[9] K. Sheth, E. Sarto, and J. McGrath, “The Importance of Adopting a Package-aware Chip Design Flow,” In Proceedings ACM/IEEE Design Automation Conference, pages 853–856, 2006.
[10] P. Lester, “A* Pathfinding for Beginners,” In GameDev.net (http://www.gamedev.net/reference/articles/article2003.asp), July 2005.
[11] T. H. Cormen, C. E. Leiserson, and R. L. Rivest, Introduction to Algorithms.
Cambridge, MA: MIT Press, 1992.
[12] 2008 MOE/CAD Contest of Taiwan. [Online]. Available:
http://cad_contest.ee.ntu.edu.tw/cad08/index.htm
[13] C.-C. Wang and T.-C. Wang, “Automatic Bump Ball Allocation/Placement and Signal Assignment/Routing for Chip-Package-PCB Co-design,” Master's Thesis, NTHU, 2008.