## Search in the document preview

Northwestern University Apr. 10, 2012 Electrical Engineering and Computer Science Handout #3 EECS357: Introduction to VLSI CAD Due: Apr. 17 Prof. Hai Zhou

Homework 2

You may discuss the assignments with your classmates but need to write down your solutions independently. Be careful with your handwriting. Unclear solutions will be assumed to be wrong.

1. (20 points) Consider a hypergraph H, where each hyperedge interconnects at most three vertices. We model each hyperedge of degree 3 with three edges of weight 1/2, on the same set of vertices, to obtain a weighted graph G. Prove that an optimal balanced partitioning of G corresponds to an optimal balanced partitioning of H. Prove this cannot be done if each edge of H interconnects at most four vertices (i.e., give a counter example).

2. (20 points) Consider the bisectioning of the graph with 2n nodes depicted in the follow- ing figure (where n is at least 4). Suppose the initial partitioning is X = {1, 2, . . . , n} and Y = {n + 1, n + 2, . . . , 2n}.

1 2 3 n-1 n

n+1 n+2 n+3 2n-1 2n

(a) Apply Kernighan-Lin algorithm to this problem. In each iteration (i.e. swapping of subsets of nodes to reduce cut size), you need to give at least 3 complete steps (each step is a selecting of a pair of nodes to swap and lock), then you can use observations to give the result of the iteration.

(b) If in each iteration we only consider swapping a pair of nodes, what will be the solution.

3. (20 points) Suppose you are given a circuit with 2n gates of equal size. All the nets in the circuit are 2-pin nets. Constant cij gives the cost of cutting the net between gate i and gate j in a partition. (If there is no net between gate i and gate j, cij = 0.) Let X and Y represent the two partitions of a bisection of the circuit. Define a variable xi for each gate i such that xi = 0 if gate i in in partition X and xi = 1 if gate i is in partition Y .

(a) Show that xi + xj − 2xixj takes the value 1 if xi 6= xj and the value 0 if xi = xj .

(b) Using the result of (a), formulate an expression for the cost of bisectioning (num- ber of nets being cut) in terms of xi.

(c) Express the constraint that X and Y should be of the same size as a linear equation in xi.

(d) By (b) and (c) above, we can formulate the bisectioning problem as a mathe- matical program. In particular, the above formulation is an Integer Quadratic Program. (The product terms involving xi and xj in the cost function make it quadratic.) Integer Quadratic Program is not easy to solve in general. So someone suggests the following technique to solve it heuristically. Pretend that xis are continuous variables in the range of 0 to 1. In that case, the problem becomes a Quadratic Program, which is much easier to solve. Then the solution is rounded off to integer values: if xi ≤ 0.5, set xi = 0 (i.e., assign gate i to X); if xi > 0.5, set xi = 1 (i.e., assign gate i to Y ). Will this heuristic technique retain balance (i.e., size of X equals size of Y )? Why? If not, how can you modify the heuristic to retain balance?

4. You are given the following circuit for partitioning.

(a) (10 points) Model the circuit by a flow network.

(b) (10 points) Find a maximal flow from a to e in the network, and identify a min-cut corresponding to it. Is the min-cut giving a balanced partitioning?

a

b

c

d �

e

f

2