In order to reduce runtime and the memory space usage, we have de…ned two prune conditions in modi…ed RMP algorithm. Assume that there are two solutions sA and sB
within the same node, we prefer to prune the solutions with more bends, and with power and capacitance dominance.
Prune with bends: If bendA> bendB; totLengthA totLengthB; ratA ratB, then sA is dominated and can be pruned.
Prune with VG approach: If signalVA= signalVB; powA< powB; capA capB; ratA ratB, thensB is dominated and can be pruned.
17
Chapter 4
Greedy Heuristic: Fast Voltage island Aware Bu¤ered Tree
Construction(FVABT)
Generally the modi…ed RMP algorithm deals with a net that has nsink nodes, and the grid graph has size N M and K solutions with the same rs need propagation in each node. Becausen sink node has 2n kinds of combinations, the modi…ed RMP algorithm has O(2n N M K) solutions during propagation. It is obvious that computation time will increase expontentially as number of sink increase. If modi…ed RMP algorithm only process one sink at a time, the complexity can be reduced to O(N M K):
Rather than handling 2n kinds of sink combinations, FVABT performs modi…ed RMP algorithm with one sink only at each iteration. In other words, because the propagation allows to merge solutions with di¤erent sink at each node in the grid graph, the modi…ed RMP algorithm regards each node as a Steiner point. The solutions in the grid graph corresponding to various kinds of Steiner tree are generated. Instead of treating each node as a Steiner point, a desired solution is selected and then retrace the graph to erase the solutions that does not relate to the desired one. This approach can e¢ ciently reduce Steiner points.
FVABT algorithm performs modi…ed RMP algorithm for each sink, until all the sinks are handled. After one source-sink pair has …nished the execution of the modi…ed RMP algorithm, a desired lowest power solution is selected. Note that since the objective is low power, if we only keep the exact low power solution and prune others, in next iteration
modi…ed RMP algorithm may not merge the solution with the stored low power solution due to timing violation problem. Therefore, one of the major issues in FVABT is to keep the useful solutions in the grid graph. Assume that after performing modi…ed RMP to sink ti
and a desire solutionsolD has chosen. For each node in graph, the following solutions should be kept while erasing solutions:
For every nodes in the graph, keep the initial solutions generated during …lling initial solution step.
Because the initial solutions are used such that a bu¤ered routing tree could be gen-erated at the source node, therefore, we need these initial solutions to generate the bu¤ered routing tree for next sink.
For nodes on the desired path that solD passed by, keeps solutions that rs = ftig and solutions related with various kinds of bu¤er insertion on the desired path should be kept.
The reason of keeping these two kinds of solution is that we want to keep some Steiner points for next sink’s usage. Here, we use an example to explain. While performing FVABT for a net with 3 sink nodes, shown in Figure 4.1, t1 is …rst processed with modi…ed RMP algorithm because it is nearest to source node. A desire path between source node and t1 is then select. The solutions of nodes on the desired path with rs = ft1g are kept. The reason is that the nodes on the desired path could be Steiner points while performing modi…ed RMP for next sink t2. While performing modi…ed RMP fort2, shown in Figure 4.2,t2 could share with the former bu¤ered routing tree by using node A as a Steiner point since solutions with rs = ft1g are kept at node A. After performing modi…ed RMP on t2, solutions of nodes on the desired path with rs = ft2g should be kept. Furthermore, solutions of nodes on the desired path with rs = ft1; t2g should also be kept such that they can be used (nodes as Steiner points) when the path is possibly shared by handling next sink. Finally t3 is processed, if there exists another sink which needs to be processed, the useful solutions of the nodes on the desired path should be kept, shown in Figure 4.3.
The FVABT algorithm is shown in Figure 4.4. First, the waves in FVABT are di¤erent from the ones in the modi…ed RMP. In order to pop the desired wave with target
19
Figure 4.1: An example of performing FVABT to a net with 3 sink nodes, the yellow circles are bu¤er locations. After generating the bu¤ered routing tree for t1, the solutions with rs = ft1g need to be kept for the node on the desired path could be Steiner points while performing modi…ed RMP on next sink node.
sink nearest to source during each iteration, VABT only marks each wave with its target sink, while modi…ed RMP marks each wave as the solution’s reachable sinks of nodes within a wave.
Therefore, solutions in a wave might have di¤erent reachable sinks in FVABT algorithm, but all these solutions are intended to bulid a tree for this target sink. After a wave with target sink nearest to source is fetched, solutions of nodes in this wave will be propagated to its neighbors with the solution propagation described in Section III.C (line 4-9). Once we have propagated one of its neighboring node, we prune the redundant new generated solutions and store the non-redundant solutions to the neighboring node. When one or more than one new generated solutions are stored, we store the neighbor to a temporary wave (line 10-14).
Whenever we complete a wave propagation, we check whether source is visited. If visited, we choose a desired solution which has lowest power consumption and reach the target sink of this wave. If not visited, we again store the new generated wave (line 15-20). The program stops until all the sinks have been processed.
Figure 4.2: Apply modi…ed RMP on sink node t2. Because of the former kept solution, a bu¤ered routing tree with a shared path between source and node A could be generated.
After performing modi…ed RMP tot2, solutions of nodes on the desired path with rs = ft2g should be kept. Besides, solutions of nodes on the desired path with rs = ft1; t2g should also be kept such that they can be used (nodes as Steiner points) when the path is possibly shared by handling next sink.
21
Figure 4.3: After performing modi…ed RMP on sink node t3, if there exists another sink which needs to be processed, the solutions that we demonstrate in this …gure should be kept.
Figure 4.4: FVABT (Modi…ed RMP with greedy heuristic). Let modi…ed RMP only applies on one sink. Once we process this sink, a desired solution is chosen, and the useless solutions are cleared in this grid graph. We keep on applying modi…ed RMP algorithm until all the sinks are processed.
23
Chapter 5
Experimental Results
We have implemented modi…ed RMP and our heuristic in C++ and the platform is on AMD Dempron 1.75GHz with 1GB memory. We randomly generate several test cases.
All these cases have six obstacles, one voltage island, and ten bu¤er feasible locations, but the number of sinks, pin location assignment, and bu¤er location assignment are di¤erent.
For each of these cases, the size of the grid graph is about 25*25 on a 17*17mm design, and the number in each …le name shows the total number of source and sink pins.
The experimental results for modi…ed RMP and our heuristic are shown in Table 5.1.
Since our heuristic performs the tradeo¤ in …nding solutions, the results present advantages in both algorithms for cases net4, net5, and net6. However our approach shows massive speedup over modi…ed RMP algorithm. Moreover, when the number of sink is larger than six, modi…ed RMP cannot …nd solutions in six hours.
The bu¤ered routing trees ofnet5and net6 are shown in Figure 5.1 and Figure 5.2.
Figure 5.1 presents the case that the source node is within the voltage island. In order to avoid leakage current and keep signal integrity, level converter must be placed somewhere between the sink pin out of voltage island and source pin. Figure 5.2 presents the case that the source node is out of the voltage island. Since the voltage island might be turned o¤, none of bu¤er is placed inside the voltage island. If we examine those bu¤ered routing tree in Figure 5.1 and Figure 5.2, we can …nd that those trees are not Minimum Reclinear Steiner Tree (MRST), which most routing algorithms intend to obtain. The reason is that MRST cannot …t on a design with voltage islands, not only for the timing violation problem but also for the signal integrity and the leakage current problems.
Table 5.1: Comparison between modi…ed RMP and FVABT algorithm. The results present advantages in both algorithms for cases net4, net5, and net6. However our approach shows massive speedup over modi…ed RMP algorithm. For larger cases, modi…ed RMP cannot …nd solutions in six hours.
…le modi…ed RMP VABT
name delay (ps) power (fJ) CPU time (sec) delay (ps) power (fJ) CPU time (sec)
net4 1205 9166 51 1276 8990 0.12 (425X)
net5 1299 5348 336 971 6148 0.04 (8400X)
net6 1513 7435 638 1462 7606 0.17 (3752X)
net10 - - >6hr 1306 13957 281
net13 - - >6hr 1956 15825 591
net15 - - >6hr 1631 16882 18.3
LC
Figure 5.1: The resultant bu¤ered routing tree ofnet5, which presents the case that a source node is within the voltage island. The little squares are feasible bu¤er lcoations where none of bu¤er places there. The rectangle circled with dotted line is the voltage island.
25
Figure 5.2: The resultant bu¤ered routing tree ofnet6, which presents the case that a source node is out of the voltage island.
Chapter 6
Conclusion and Future Work
In this thesis, we have implemented modi…ed RMP algorithm from [9] to deal with the designs in the presence of voltage islands. By using the prune techniques and a greedy heuristic, FVABT is much faster and can deal with multiple sinks net as number of sink increases. We plan to adopt the multilevel framework proposed in some routing algorithms to FVABT to make it even faster.
27
Bibliography
[1] Van Ginneken, “Bu¤er placement in distributed RC-tree networks for minimal Elmore delay” in Proc. of IEEE Int. Symp. Circuits Systems, May 1990, pp. 865–868.
[2] C. J. Alpert, A. Devgan, S.T. Quay, “Bu¤er insertion with accurate gate and inter-connect delay computation” in Proc. of the Design Automation Conf., pp. 479–484, 1999.
[3] Y. Peng, X. Liu, “Freeze: Engineering a fast repeater insertion solver for power mini-mization using the Ellipsoid method”in Proc. of the Design Automation Conf., pp.813-818, 2005.
[4] Z. Li, C. N. Sze, C. J. Alpert, J. Hu, W. Shi, “Making fast bu¤er insertion even faster via approximation techniques” Asia and South Paci…c Design Automation Conference (ASP-DAC), pp. 13-18, Jan. 2005
[5] Z. Li, W. Shi, “A fast algorithm for optimal bu¤er insertion”IEEE Trans. on Computer-Aidede Design, vol. 24, no. 6, June 2005, pp. 879-891.
[6] J. Lillis, C. K. Cheng, T. Lin, “Optimal wire sizing and bu¤er insertion for low power and a generalized delay model” in IEEE International Conference on Computer Aided Design, pages 138–143, 1995.
[7] K. H. Tam, L. He, “Power optimal dual vdd bu¤ered tree considering bu¤er stations and blockages” in Proc. of the Design Automation Conf., pp. 497–502, 2005.
[8] A. Youssef, M. Anis, M. Elmasry, “POMR: A power aware interconnect optimization methodology” IEEE Transaction on Very Large Scale Integration Systems, vol. 13, pp.
297-307, 2005
[9] J. Cong, X. Yuan, “Routing tree construction under …xed bu¤er location” in Proc. of the Design Automation Conference, pp. 379-384, 2000.
[10] W. Chen M. Pedram, P. Buch, “Bu¤ered routing tree construction under bu¤er place-ment blockages” Asia and South Paci…c Design Automation Conference (ASP-DAC), pp. 381, 2002
[11] X. Tang, R. Tian, H. Xiang, D. F. Wong, “A new algorithm for routing tree construction with bu¤er insertion and wire sizing under obstacle constraints” in IEEE International Conference on Computer Aided Design, pp. 49–56, 2001.
[12] A. Dechu, C. Shen, C. Chu, “An e¢ cient routing tree construction algorithm with bu¤er insertion, wire sizing, and obstacle considerations” IEEE Trans. on Computer-Aidede Design, vol. 24, no. 4, April 2005, pp. 600-608.
[13] M.Lai, D.F.Wong, "Maze routing with bu¤er insertion and wire sizing" in Proc. of the Design Automation Conf., pp. 374-378, 2000.
[14] J. Hu, Y. Shin, N.Dhanwada, and R. Marculescu, "Architecting voltage islands in core-based system-on-a-chip designs", IEEE International Symposium on Low Power Elec-tronics and Design, pp. 180-185, 2004
[15] W. Hwang "New trends in low power SoC design technologies", IEEE International SOC Conference, pp. 422, 2003
[16] D.Lackey, P. Zuchowski, T. Bednar, D.Stout, S. Gould, and J. Cohn. "Managing power and performance for system-on-chip designs using voltage islands" in IEEE International Conference on Computer Aided Design, pages 195-202, 2002.
[17] H. Wu, I-Min. Liu, Martin D. F. Wong, and Y. Wang "Post-placement voltage island generation under performance requirement" in IEEE International Conference on Com-puter Aided Design, pages 309-316, 2005.
[18] H. Wu, Martin D. F. Wong, I-Min Liu "Timing-constrained and voltage island aware voltage assignment" in Proc. of the Design Automation Conf., 2006
[19] W.-P. Lee, H.-Y. Liu, and Y.-W. Chang "Voltage island aware ‡oorplanning for power and timing optimization" in IEEE International Conference on Computer Aided Design, 2006.
作者簡歷
曾柏欽,民國六十六年九月出生於台中市。民國八十九年七月畢業於逢甲大 學電機工程學系,並於民國九十三年九月進入國立交通大學電子研究所就讀,從 事 VLSI 實體設計方面相關研究。民國九十五年七月取得碩士學位,碩士論文題 目為『考慮存在電壓島的緩衝器繞線樹架構的一個有效率的演算法』。