• 沒有找到結果。

GCell Restructuring and ReScheduling

ECO Global Routing

4.2 Extended Routing and GCell Restructuring and Rescheduling

4.2.2 GCell Restructuring and ReScheduling

Whenever a blocked GCell appears, we apply extended routing to pass through the blocked GCell until the final feasible path is found or the extended routing fails. If extended routing still can not pass through the blocked GCell, we reschedule the active GCells to find another path. Before rescheduling the active GCells, we have to modify the internal edges’

connectivity states of the active nodes to reflect the blocked information between GCells. In Figure 4-8(a), GC(i,j) is the blocked GCell. It is obvious that there is no path that passes through GC(i,j) and connects from GC(i-1,j) to GC(i+1,j) and GC(i,j+1). It is very easy to determine the internal edges’ connectivity states of the active nodes. Assume that we want to know the connectivity states of the internal edges of the node GC(i,j) and the routing direction through GC(i,j) is from left to right, we only have to check the idle-path heaps of GC(i,j+1) and GC (i,j-1). If the idle-path heaps of GC(i,j-1) and GC(i,j+1) are empty, the connectivity states of edges nw and ws should be disconnected. Meanwhile, we can set the connectivity state of edge ew to be disconnected if GC(i,j) is a blocked GCell. Figure 4-8 shows an example of routing failure, where the connectivity states of edges nw and ew are set to be disconnected.

After restructuring the internal edges, a new global routing is performed using the visited GCells as the start vertexes, as shown in Figure 4-9(a). Based on the updated connectivity of internal edges, the result of the new global routing will not select the blocked channel. The new active GCells are idle GCells before, and those that are adjacent to old active GCells may have nonempty idle-path heap. We pop up these nonempty idle-path heaps to proceed new tile propagation. In Figure 4-9(b), GC(3,2), GC(3,1), GC(4,1), and GC(5,1) are new active GCells, and GC(3,2), which is adjacent to old active GCell, GC(3,3), must have a nonempty idle-path heap.

The GCell restructuring and rescheduling may be repeated several times during tile propagation. In Figure 4-9(c), tile propagation stops again at GC(4,1). So we restructure and reschedule active GCells, as shown in Figure 4-9(d). The path nodes in the idle-path heaps of GC(4,2) may come from GC(4,3,),GC(4,1), and GC(3,2), and they will be popped up for further propagation. It is worth to note that when we reschedule the active GCells, the number of the active GCells will increase. The worst case is to make all the GCell active and tile propagation will be over the whole tile plane. Therefore, we can guarantee to find a feasible solution if there exists such a solution. Moreover, even though the worst case happens, the routing speed will not drop off greatly because most already visited routing regions will not be visited again as a result of good routing resource estimation.

Figure 4-8. GCell Restructuring

(a)

(b)

Figure 4-9. GCell ReScheduling

(c)

(d)

Figure 4-9. GCell ReScheduling

Chapter 5

Experimental Results

We have implemented a tile-based ECO router with all enhanced algorithms in this thesis using C++ language. We tested a test case from a real VLSI desgin on a 2.4GHz Pentium4 PC with 1GB Ram and performed p2p routings using metal2 and metal3 layers.

Table 5.1 shows the number of tiles of metal2 and metal3 layers in the corner stitching planes. The results without routing graph reduction are listed at the second column, and the third column is obtained after applying routing graph reduction. The number of tiles decreases by 57%. We list the pre-process time before routing in Table 5.2. The construction time of corner-stitching planes is listed at the second column and the time performing RGR is listed at the third column.

Table 5.1. The number of tiles in corner stitching planes

Origin After RGR Layer

#Block Tiles

#Space Tiles # Block Tiles #Space Tiles

Met2 1067179 973528 470325 380798

Met3 591120 541706 289144 218444

Total 3173533 (C1) 1358711 (C2)

Reduction rate 0.571

Reduction rate: (C1-C2)/C1

Table 5.2. The pre-process time before routing.

Pre-process CS Plane Construction (Tcs) RGR (Trgr)

Time (second) 21.656 5.889

We performed seven p2p routings using three methods to get the routing statistics, including the routing time (tile propagation time), wire length and the number of vias. In table 5.3, the second column is for pure tile propagation, and the third column for the case of applying routing graph reduction. When applying routing graph reduction, the routing time improve about 50%, as shown in column T1. Besides, it requires additional pre-process time.

Hence, the total improve rate is about 40 % as shown in column T2. The wire length and the number of via are almost the same.

Table 5.4 shows the case of applying routing graph reduction and ECO global routing, and the right two items in the second column show how many times the extended routing and GCell restructuring and rescheduling are performed. Compared with pure tile-based router, the cost time decreases about 80-90%, as shown in column T3. However, the wire length increases by 3~30%, as shown in column W. The wire length is much longer for TEST5 because the start terminal is located on a very density region. Therefore, the global router is hard to find a good global path.

Table 5.3. Apply Routing Graph Reduction

Pure tile-based router Apply RGR Test

Table 5.4. Apply ECO Global Routing with Routing Graph Reduction.

Apply RGR +ECO Global Routing

Chapter 6 Conclusions

In this thesis we presented two methods to promote routing speed of the tile-based router.

The first is routing graph reduction. By redundant tiles removal and neighbor tiles alignment, it diminishes tile fragmentation as well as reduces the routing time without sacrificing routing quality. The second is ECO global routing. It improves a lot the speed of the routing at little expense of routing quality. Also we proposed a routing flow, including extended routing and GCell restructuring and rescheduling, to incrementally expand ECO routing regions when global routing can not guide detailed routing to find a feasible path. Experimental results show that routing graph reduction can save routing time by about 40%, while ECO global routing with routing graph reduction can further reduce routing time up to 85% or so.

Bibliography

[1] J. Cong, L. He, C.-K. Koh, and P. Madden, “Performance optimization of VLSI interconnect layout,” Intergr. VLSI J., vol. 21, no. 1–2, pp. 1–94, Nov. 1996.

[2] T. Ohtsuki, “Gridless routers—New wire routing algorithms based on computational geometry, in Proc. Int. Conf. Circuits and Systems, pp. 802809, May 1985.

[3] K. L. Clarkson, S. Kapoor, and P. M. Vaidya, “Rectilinear shortest paths through polygonal obstacles in O(n(log n) ) time,” in Proc. 3rd Annual Symp. Computational Geometry, 1987, pp. 251–257.

[4] Y. Wu, P. Widmayer, M. Schlag, and C. Wong, “Rectilinear shortest paths and minimum spanning trees in the presence of rectilinear obstacles,”IEEE Trans. Computers, vol.

C-36, no. 1, pp. 321-331, 1987.

[5] S.Zheng, J.S. Lim, and S. Iyengar, “Finding obstacle-avoiding shortest paths using implicit connection graphs,”IEEE Trans. Computer-Aided Design, vol. 15, no. 1, pp.

103-110, Jan. 1996.

[6] J. Cong, J. Fang, and K. Khoo, “An implicit connection graph maze routing algorithm for ECO routing,” in Proc. Int. Conf. Computer-Aided Design, pp. 163167, Nov. 1999.

[7] J. Cong, J. Fang, and K. Khoo,“DUNE: A multilayer gridless routing system with wire plan-ning,”in Proc. Int. Symp. Physical Design, Apr. 2000, pp. 1218.

[8] J. Cong, J. Fang, and K. Khoo,“DUNE - A multilayer gridless routing system,”IEEE Trans. Computer-Aided Design, vol. 20, no. 5, pp. 633-647, May. 2001.

[9] M. Sato, J. Sakanaka, and T. Ohtsuki, “A fast line-search method based on a tile plane,” in IEEE Int. Symp. Circuits and Systems, pp. 588591, May 1987.

[10] A. Margarino, A. Romano, A. De Gloria, F. Curatelli, and P. Antognetti, “A tile-expansion router,”IEEE Trans. Computer-Aided Design, vol. CAD-6, pp. 507517, July 1987.

[11] R. Eric Lunow, “A Channelless, Multilayer Router,”in 25th ACM/IEEE Design Automation Conference, pp. 667 - 671, 1988.

[12] L.-C. Liu, H.-P. Tseng, and C. Sechen, “Chip-level area routing,” in Proc. Int. Symp.

Physical Design, pp. 197204, Apr. 1998.

[13] C. Tsai, S. Chen, and W. Feng, “An H-V Alternating Router,” IEEE Trans.

Computer-Aided Design, vol. 11, pp. 976–991, Aug. 1992.

[14] J. Dion and L. M. Monier,“Contour: A tile-based gridless router,”Western Research Laboratory, Palo Alto, CA, Research Report 95/3.

[15] Zhaoyun Xing and Russell Kaog, “Shortest Path Search Using Tiles and Piecewise Linear Cost Propagation,”IEEE Trans. Computer-Aided Design, vol. 21, no. 2, pp.

145158, Feb. 2002.

[16] J. K. Ousterhout, “Corner Stitching: Adata-structuring technique for VLSI layout tools,” IEEE Trans. Computer-Aided Design, vol. CAD-3, pp.87–100, Jan. 1984.

[17] Preparata Franco P. & Shamos Michael Ian, “ Computational geometry : an introduction”, Springer-Verlag, New York ,1985

相關文件