Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Placement
&Routing 3
Hierarchical Timing Analysis
• Hierarchical timing analysis is essential for
hierarchical design.
• Consider circuits inside the blocks to be fixed.
• Complexity O(n): n is #edges in timing models.
gates
gates
gates
7
Timing graph Bipartite timing model
2 1 1 3
1 4 9 9
7
1 1 8
2 1 2 6
2 5 7 10 2 7 10
1 1 2 4
1 6 1 8 3 11 3 5 11
3
path: 1->4->5->7->8->10
8
Delay matrix
• Element on row i col j is delay from input i to ou
tput j, for disconnected input i and output j.
• Row i implies input delay vector = {di,j| di,j from i
nput i.}
Bipartite timing model Delay matrix Outputs
3 O 4 O 5 O6
1 4
7 I1 3 7 8
8
Inputs
6
2 7 5 I2 6 7
4 I3 5
3 5 6
9
Star
• Gs = (Bs, Ds, s, Es)
– Bs input set, Ds output set, center vertex s.
– Edges (i,s) and (s,j).
Star
1 4
4 1
2 3 s 3 5
1 4
3 6
10
Biclique-Star Replacement
• Basic idea: match various input delay vectors to a
pattern and cover each input delay vector by one edge
plus the pattern.
11
Biclique #edge = 9 star #edge = 6
1 2 4 1 4
3 Replace 0 2
4
3 3 5
2 4 5 dij = dis+dsj 2 1 s
5 2 4
4 5
3 6 6 3 6
Outputs Outputs
O 4 O5 O 6 O4 O5 O6
I1 2 3 4 0+ 2 3 4 Pattern
Input =
I2 3 4 5 1+ 2 3 4
vectors
I3 4 5 6 2+ 2 3 4
12
Bipartite Timing Model Reduction
Biclique Search
Biclique-star
Replacement
13
Delay Vector Subtraction
• Input delay vector subtraction Sub(Ia, Ib)
– Distance vector V(Ia,Ib) = {jIa,Ib =da,j – db,j| j
[1..c]}
• Input vectors Ia, Ib share a pattern if all jIa,Ib ar
e equal. O O O 4 5 6
I1 2 3 4
I2 3 4 5
Sub(I2,I1)
V (I2,I1)= 1 1 1
14
Biclique Expansion for Replacements
• Choose an input delay vector as the pattern ve
ctor.
• Expand the biclique of the pattern vector by co
vering as many as possible input vectors.
• Replace the biclique by a star.
step 1 O4 O 5 O 6 step 2 O4 O5 O 6
I1 2 3 4 I1 2 3 4
I2 3 4 5 I3 4 5 7
Sub(I2,I1) Sub(I3,I1)
V (I2,I1) = 1 1 1 V(I3,I1) = 2 2 3
0I2,I1 16
Don’t Care Edges
• Edge (i,j) is a don’t care edge in a biclique star replacement if pat
h delay di,s + ds,j < di,j.
Biclique Star
1 2 4
3 1 4
4 0 2
Replace 3
5 s 5
45 2 4
3 7 6 3 6
7
Don’t Care Edge
17
Biclique Expansion with Don’t Cares
18
O 4 O5 O6
I1 2 3 4
I3 4 5 7
V(I3,I1) = 2 2 3
1 4 1 4
0 2 0 2
3 5 s 3 5
s
4 4
2 3
3 6 3 6
#edges covered #edges covered
increases by 2 decreases by 1 19
Biclique Expansion and Replacement with
Don’t Cares
Biclique Expansion with Don’t Cares (G, Ia, Gc)
I. Add edges (a,j) to Gc;
II. For each input vector Ii
1. Vector subtraction Sub(Ii,Ip);
2. For each j in the distance vector
For each k in distance vector
if k = j #covered++;
else if k < j #removed +=edges to output k;
3. If maximum (#covered - #removed of j )> 1;
For each k in distance vector
if k j Add edge (i,k) to Gc;
else remove output k and edges to k.
Replacement with Don’t Cares (Gc, Ia, Gs)
I. Add inputs, outputs, center vertex s, and edges to Gs
II. da,s = 0, ds,j = Ia,j;
III. For each edge (i,s) in Gs
20
1. di,s = min( Ii,Ia ).
#edge = 9 #edge = 7
1 2 4 1 4
3 0 2
4
3 Replace 1 s 3
4 2 5
2 5 5 2 4
45 Min I1
7 3 7 6
3 6
Don’t Care Edge
step 1 O4 O5 O6 step 2 O 4 O5 O 6
I1 2 3 4 I1 2 3 4
I2 3 4 5 I3 4 5 7
Sub(I2,I1) Sub(I3,I1)
V (I2,I1)= 1 1 1 V(I3,I1) = 2 2 3
21
Bipartite Timing Model Reduction
Biclique Search
Biclique-star
Replacement 22
Star Graph to Bipartite Graph
Transformation
bipartite graph
star timing model 1 s1
1 5 s2
2
s1
6 Split s1,s2
2 3 9
s2 7
4 8
3 Recover
8 Stars s2' 7
4 s1' 5
9 23
6
Correctness
• G: the bipartite timing model before the reduct
ion.
• G': the timing model after the reduction.
24
Experimental Results
• Test cases
– Block 1: 8499 inputs, 16885 outputs, and 1
38,360 edges
– Block 2: 4260 inputs, 7728 outputs and 103
,414 edges
– EG-- #edges in original timing graph of the bl
ock.
– EB--#edges in bipartite timing model.
– Em--#edges after timing model reduction.
• Reduction rG = (EG – Em)/ EG.
• Reduction rB = (EB – Em)/ EB.
25
• |di,j – di,j’| <= Err_bound, where di,j and di,j’ are dela
ys from input i to output j before and after the redu
ction.
27
Conclusions
• We propose a biclique-star replacement
technique and develop an iterative timing
model reduction algorithm based the
proposed technique.
• By allowing reasonable error bounds, the
experimental results show that the proposed
algorithm can effectively reduce the number
of edges in the timing model.
28
Thanks!
29
References
• C.W. Moon, H.~Kriplani, and K.~P. Belkhale, “Timing model extraction
of hierarchical blocks by graph reduction”, in DAC’02, 152-157.
• C. Visweswariah and A.R. Conn, “Formulation of static circuit optimizat
ion with reduced size, degeneracy and redundancy by timing graph m
anipulation”, in ICCAD’99, 244-251.
• S. L. Hakimi and S. S. Yau. “Distance matrix of a graph and its realiza
bility.” Quart. Appl. Math. 22 (1964), 305–317.
• F. Chung, M. Garrett, R. Graham, and D. Shallcross. “Distance realizat
ion problems with applications to internet tomography.” http://www.mat
h.ucsd.edu/˜fan.
• T. Feder and A. Meyerson and R. Motwani and L. O' Callaghan and R.
Panigrahy, “Representing graph metrics with fewest edges.” in Proc. of
Symp. on Theoretical Aspects of Computer Science (2003), 355--366.
30