scispace - formally typeset
Open AccessProceedings ArticleDOI

A new algorithm for standard cell global routing

Reads0
Chats0
TLDR
This algorithm achieves up to 11% area reduction compared to the previous global routing package used in the DATools systems and up to 17% reduction in the total channel densityCompared to the Timberwolf 4.2 package.
Abstract
The algorithm considers all of the interconnection nets in parallel. This produces superior results, since information about all of the nets is available throughout the global routing process. The global routing is formulated as finding the optimal spanning forest (a generalization of optimal spanning trees) on a graph that contains all of the interconnection information. The results of several theorems allow many nonoptimal connections to be pruned before the process begins. This approach successfully solves the net-ordering and congestion-prediction problems from which other approaches suffer. The algorithm was implemented as part of the DATools systems. The benchmarks from the Physical Design Workshop are used as part of the comparison suite. The algorithm achieves up to 11% area reduction compared to the previous global routing package used in the DATools systems and up to 17% reduction in the total channel density compared to the Timberwolf 4.2 package. In no case does the algorithm do worse than its competitors. >

read more

Content maybe subject to copyright    Report

INTEGRATION, the VLSI journal 14 (1992) 49-65 49
Elsevier
A new algorithm for standard cell
global routing
Jason Cong
Department of Computer Science, Unit'ersity of California at Los Angeles, Los Angeles"
CA 90024, USA
Bryan Preas
Xerox Palo Alto Research Center, 3333 Coyote Hill Road, Palo Alto, CA 94304, USA
Received 5 November 1990
Rcviscd 11 May 1992
Abstract.
In this paper, we present a new algorithm for standard cell global routing. The
algorithm considers all of the interconnection nets simultaneously; this produces superior
results since information about all of the nets is available throughout the global routing
process. Wc formulate the global routing problem as one of finding the optimal spanning
forest on a graph that contains all of the interconnection information. The results of an
important theorems allow us to prune many non-optimal connections before the global
routing process begins. This approach successfully solves the net ordering and congestion
prediction problems which other approaches suffer. The new algorithm was implemented as
part of the DATools system at Xerox PARC. The benchmarks from the Physical Design
Workshop are used as part of the comparison suite. The new algorithm achieves up to 11%
area reduction compared to the previous global routing package used in the DATools
system and obtains up to 17% reduction in the total channel density compared to the
Timberwolf 4.2 package.
Keywords.
Global routing; standard cell design; spanning forests.
I. Introduction
The standard cell design style is widely used in the design of VLSI circuits;
the cells (either obtained from a library or constructed by a cell generator) are
arranged in horizontal rows. The aim of a standard cell design system is to
generate a correct physical design for a circuit from its logic design with the best
0167-9260/92/$05.00 © 1992 - Elsevier Science Publishers B.V. All rights reserved

50 J. Cong, B. Preas / Standard cell global routing
utilization of chip area. Due to the inherent complexity of physical design, the
process is usually divided into three steps: placement, global routing and
channel routing. During placement, we determine the row and the position
within the row for each cell in the logic design. Next, during global routing, we
determine the connection pattern, or topology, for each net. Global routing
introduces feedthrough cells making connections across the cell rows, selects the
pins (from the pins that are internally connected within the cells) to be
connected, and determines the routing channels that the net segments belong
to. Then, each channel is routed individually by a channel router which assigns
specific layers and tracks for wires to implement the connection patterns
determined by global routing. This paper studies the global routing problem in
standard cell designs.
The global router in the Highland system [1] was used as the benchmark for
standard cell global routing at the Physical Design Workshop on Placement and
Floorplanning [2]. It builds aluminimum spanning tree for each net. The cost for
each net edge is a function of channel density, feedthrough availability and wire
length. An subsequent optimization step tries to improve the solution. Supowit
[3] gives an odd-even heuristic algorithm for standard cell global routing. It
produces a solution within a factor of 1.5 of the optimal solution (in terms of
total channel density). However, Supowit's result applies only to problems in
Jason Cong received his B.S. degree in computer science from the Peking
University in 1985. He received his M.S. degree and Ph.D. degree in
computer science from the University of Illinois at Urbana-Champaign in
1987 and 1990, respectively. Currently, he is an assistant professor in the
Computer Science Department of University of California, Los Angeles.
From 1986 to 1990, he was a research assistant in the Computer Science
Department of the University of Illinois. He worked at the Xerox Palo
Alto Research Center in the summer of 1987. He worked at the National
Semiconductor Corporation in the summer of 1988. His research interests
include computer-aided design of VLSI circuits, faulttolerant design of
VLSI systems, and design and analysis of efficient combinatorial and
geometric algorithms. He received the Best Graduate Award from the
Peking University in 1985. He was awarded a DEC Computer Science Fellowship in 1988. He
received the Ross J. Martin Award for excellence in research from the University of Illinois at
Urbana-Champaign in 1989. He received the National Science Foundation Engineering Research
Initiation Award in 1991.
Bryan T. Preas obtained the B.S. degree from Texas A&M University in
1968, the M.S. degree from Carnegie-Mellon University in 1969, and the
Ph.D. degree from Stanford University in 1979. He was with Bell Tele-
phone Laboratories, Whippany, NJ from 1968 to 1973 where the worked
on hardware and software design for large, multiprocessor computers.
From 1973 to 1981 he was with Sandia National Laboratories, Albu-
querque, NM with the CAD development group. He was Vice President
of Research and Development at VR Information Systems in Austin, TX
from 1981 to 1983 where he was responsible for development of CAD
software. In 1983, he joined the Xerox Palo Alto Research Center as
Area Manger of Design and Architecture and Principal Scientist. Dr.
Preas was awarded the Humboldt Senior Scientist prize and spent 1990 at
the University of Paderborn, Germany. Dr. Preas has published numerous technical papers and is
active in several professional organizations. He serves on the program committees of several
conferences and is Associate Editor of the IEEE transactions on CAD. He is currently Program
Chair of the Design Automation Conference.

J. Cong, B. Preas / Standard cell global routing
51
which all the nets are two-pin linear nets. Another global router developed for
standard cell designs is part of the Timberwolf package [SeSa86]. It first
connects each net by a minimum spanning tree based on wire length. Then it
employs an iteration algorithm (simulated annealing with t -- 0) to improve the
assignment of net segments to channels. The previous standard cell global
router [4] used in the DATools system at Xerox PARC [5] generates the
minimum number of feedthroughs. Feedthroughs are added only to connect the
nets. Feedthroughs are then placed, along with the other cells, as part of a
row-based placement improvement step. More recent work on standard cell
global routing includes the work by Mowchenko and Ma [6], which generalized
the left edge algorithm for channel routing to global routing, the work by Lee
and Sechen [7] which generated Steiner trees from minimum spanning trees, a
parallel router by Rose [8], which enumerated all possible two-bend nets, a
parallel router by Brouwer and Banerjee [9], which is based on Burstein and
Pelavin's hierarchical approach, and a global router by Meixner and Lauther
[10] based on network flow computation. In [11] and [12], a similar problem was
addressed for gate array designs, where the objective was to minimize the
maximum channel density.
A careful study shows that these approaches have one or more of the
following shortcomings:
(1) The final solution produced is sensitive to the order in which the nets are
considered because the nets are connected one by one. However, little is
known about what is a good net order. (In [6], they avoided net ordering
problems by carrying out the routing on a channel by channel basis. But still,
it is difficult to choose a good channel order.) 1
(2) These global routers are not capable of predicting congested area in chan-
nels when they add net segments. This is especially true in the early stage
when most net segments have not been included.
(3) The net connection patterns that can be produced are restricted by the
algorithms. Only a few predetermined topologies are allowed.
In this paper, we present a new algorithm for standard cell global routing which
successfully overcomes the shortcomings mentioned above. This algorithm pro-
cesses all the nets in parallel, so the results are independent of the order in
which the nets are considered. Furthermore, better results are produced since
information about all of the nets is available throughout the global routing
process. We introduce the net connection graph and formulate the problem as
finding an optimal spanning forest of the net connection graph. We prove a
theorem which allows us to simplify the net connection graph by pruning a large
number of non-optimal connections. This makes it computationally feasible to
consider the optimal connections in all the channels at the same time. Thus, our
algorithm can predict very accurately the densest areas in each channel and,
therefore, distribute density evenly over all channels to minimize the total
channel density. The new algorithm was implemented as part of the DATools
Parallel global routers usually avoid the net ordering problem.

52 J.
Cong, B. Preas / Standard cell global routing
system at Xerox PARC. Benchmarks from the Physical Design Workshop are
used as part of the comparison suite. The new algorithm achieves up to 11%
reduction in area compared to the previous global routing package used in the
DATools system and obtains up to 17% reduction in the total channel density
compared to the Timberwolf 4.2 package. In no case does the new algorithm do
worse than its competitors.
The remainder of this paper describes the algorithm. Section 2 defines the
problem formulation. The two-stage algorithm is discussed in Section 3. The
comparative results are presented in Section 4. An extended abstract of this
paper was presented in ICCAD'88 [13].
2. Formulation of the problem
The goal of global routing is to determine the connection pattern for each net
and achieve the best utilization of chip area. The connection pattern is defined
by the positions for feedthroughs, the pins to be connected, and the channels in
which the net segments that connect the pins lie.
Chip area
is equal to the
product of the width of the chip and the height of the chip, where the
width of
the chip
is the maximum length (including any feedthroughs) of any row of the
chip, and the
height of the chip
is the sum of the heights of all cell rows and the
total channel density times the line-to-line spacing.
We define the
net connection graph
to be an undirected graph G = (V, E),
where V is the set of pins currently in the design. An edge (pi, Pj) is in E if the
two pins Pi and Pi are in the same net. We also call (pg, pj) a
net segment
if Pi
and Pi are in the same channel. Clearly, each net in the net connection graph is
a connected component
and is represented by a complete graph on the pins of
the net. Note that V may grow as we perform the global routing because new
pins are introduced when feedthroughs are added. A
global routing solution
is a
spanning forest of the net connection graph. A spanning forest which yields the
minimum chip area is called an
optimal spanning forest.
There are two problems involved in standard cell global routing. The first
problem is to determine whether and where to add feedthroughs. Generally
speaking, feedthroughs have two functions. One function is to complete the
I ! row3 I I row3
I
Ir°w2 [
.~~ I r°w2
I ~ ~ I rowl
[
]~ ]~ I rowl
(a) (b)
Fig. 1. A feedthrough allows a net to cross a cell row. Thc feedthrough in row 2 is required to
complete the connection.

J. Cong, B. Preas / Standard cell global routing 53
.I
]row3 I
/
I r°w2
I ~.
_~ ]row1 ] I
(a) (b)
[ row 3
] row2
Irow 1
Fig. 2. Feedthroughs can also be used to reduce the total channel density.
connections among pins that make up the nets. For the example shown in Fig.
l(a), we have to insert a feedthrough in row 2 to complete the connections for
the net as shown in Fig. l(b). The other function of feedthroughs is to reduce
the total channel density. Consider the net shown in Fig. 2(a). Although we can
complete the connection without adding any feedthroughs, by adding a
feedthrough in row 2 we save a long wire in channel 2. This may reduce the total
channel density. The second problem in standard cell global routing is to
determine the net segments to complete the connection of the nets after
feedthroughs have been added. Figure 3 shows three different choices of net
segments to connect a net. At this stage, since the width of the chip is fixed, the
problem is to build a spanning forest of the net connection graph to minimize
the total channel density.
In some standard cell families, many cells have build-in feedthroughs. In this
case, the feedthrough insertion problem is eliminated or simplified. In [3] and
[6], it was assumed that all the feedthroughs have been added and only the
problem of determining the net segments was studied. In [4] and [14], simple
methods were used to determine feedthrough locations for completing the
connections. Their algorithms concentrated on the problem of determining the
net segments. In our global router, we also use a rather straightforward method
to compute the feedthroughs first. Then, we focus on the optimal selection of
net segments.
The standard cell global routing problem is computationally difficult; we can
show the problem of finding an optimal spanning forest is NP-hard. In fact, the
problem of determining net segments itself is already NP-hard even for a small
number of cell rows (assuming that no feedthroughs need to be added). To be
more precise, we state the following theorem based on a result in [15]:
Theorem 1. Given a standard cell placement in which no feedthroughs are needed
to complete the net connections, the problem of choosing net segments to minimize
total channel density is NP-hard if there are five or more cell rows in the design.
I _.~ j j ! I t
I
f
[ I [ I [ I
Fig. 3. For the net shown, three different choices of net segments.

Citations
More filters
Book

Computational geometry

Book

Algorithms for VLSI Physical Design Automation

TL;DR: This book is a core reference for graduate students and CAD professionals and presents a balance of theory and practice in a intuitive manner.
Journal ArticleDOI

Power minimization in IC design: principles and applications

TL;DR: An in-depth survey of CAD methodologies and techniques for designing low power digital CMOS circuits and systems is presented and the many issues facing designers at architectural, logical, and physical levels of design abstraction are described.
Journal ArticleDOI

Performance optimization of VLSI interconnect layout

TL;DR: A comprehensive survey of existing techniques for interconnect optimization during the VLSI physical design process, with emphasis on recent studies on interconnect design and optimization for high-performance V LSI circuit design under the deep submicron fabrication technologies.
Journal ArticleDOI

Provably good performance-driven global routing

TL;DR: A provably good performance-driven global routing algorithm for both cell-based and building-block design based on a new bounded-radius minimum routing tree formulation, based on an analog of Prim's minimum spanning tree construction.
References
More filters
Book

The Design and Analysis of Computer Algorithms

TL;DR: This text introduces the basic data structures and programming techniques often used in efficient algorithms, and covers use of lists, push-down stacks, queues, trees, and graphs.
Book

Computational geometry

Proceedings ArticleDOI

TimberWolf3.2: A New Standard Cell Placement and Global Routing Package

TL;DR: TimberWolf3.2 as discussed by the authors is a new standard cell placement and global routing package that uses simulated annealing to place cells such that the total estimated interconnect cost is minimized.
Proceedings ArticleDOI

A new global router for row-based layout

TL;DR: A global router for row-based layout styles such as sea-of-gates, gate-array, and standard cell circuits is discussed, generalized to handle macro blocks on the chip, equivalent sets of pins, single pins (those without an equivalent), and circuits having many or no built-into-the-cell feeds.