You are on page 1of 1

CS 258F Spring 2003

Instructor: Jason Cong


Homework 2 (Due May 29, 2003)

Reading Assignment
• Read the textbook and classnotes on global routing and detailed routing, and all related papers covered
in this chapter.

Homework Problems
1. Describe in detail how to identify all the non-essential edges (i.e. those edges that can be removed
without disconnecting the net) efficiently as a procedure used in the iterative deletion algorithm for
global routing by Cong and Preas.
2. In standard cell designs, if a net has two logical pins (each corresponds to two electrically equivalent
pins on both sides of a cell) in the same cell row, it is called a two-terminal linear net. If a standard cell
routing problem consists of only two-terminal linear nets, we can apply the following heuristic
algorithm (called the odd-even heuristic):
a) For each row i, if i is odd, route all the nets in row i in channel i-1, otherwise, route all the
nets in row i in channel i.
b) For each row i, if i is odd, route all the nets in row i in channel i, otherwise, route all the nets
in row i in channel i-1.
(Note that (a) and (b) are two separate steps, i.e., in step (b), the routing solution obtained by step
(a) is ignored. Channel i is formed between row i and row i+1.)
Let D1 and D2 denote the total channel density of the routing solutions obtained by step (i) and step (ii),
respectively. Prove that min (D1 ,D2) ≤ Dopt, where Dopt is the total channel density of the optimal
global routing solution.
3. Prove that the left-edge algorithm discussed in the class for interval packing produce a solution with
the minimum number of tracks.
4. Please answer the following questions related to interval packing.
a) Given a set of intervals, develop an algorithm as efficient as possible to find a maximum
subset of them that can be laid out in a single track. What is the complexity of your
algorithm? Prove your results. What is the application of this problem in the greedy channel
router?
b) Given a set of intervals, develop an efficient algorithm to find a maximum subset of them that
can be laid out in two tracks?
c) In general, can you come up with an efficient algorithm to find a maximum subset that can be
laid out in k tracks? What is the complexity of your algorithm? Prove your results.

You might also like