Presentation is loading. Please wait.

Presentation is loading. Please wait.

Timing Model Reduction for Hierarchical Timing Analysis Shuo Zhou Synopsys November 7, 2006.

Similar presentations


Presentation on theme: "Timing Model Reduction for Hierarchical Timing Analysis Shuo Zhou Synopsys November 7, 2006."— Presentation transcript:

1 Timing Model Reduction for Hierarchical Timing Analysis Shuo Zhou Synopsys November 7, 2006

2 2 Outline Static Timing Analysis in Design Flow Hierarchical timing analysis Proposed Techniques –Iterative timing model reduction algorithm based on a biclique-star replacement technique. Experimental Results Conclusions

3 3 Static Timing Analysis in Design Flow Static Timer is integrated in each stage. Need efficient static timer. Design Flow Floorplaning Synthesis Placement &Routing Static Timing Analysis

4 4 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 Partition Design into Blocks Characterize Blocks into Timing Models gates

5 5 Problem Statement Timing model minimization for hierarchical timing analysis: –Given a hierarchical block, construct an abstract timing model with minimal number of edges that covers the longest and shortest path delays of each pair of input and output in the block.

6 6 Previous Works Transform timing graph [Visweswariah ICCAD’99, Moon DAC’02]. –Perform serial/parallel edge merging. Represent delay matrix with minimal number of edges. –Optimal realization of a distance matrix [Hakimi Quart. Appl. Math. 22 (1964), Chung http://www.math.ucsd.edu/˜fan]. –Biclique-star replacement for bicliques with unit edge delay [Feder Symp. on Theoretical Aspects of Computer Science (2003)].

7 7 Terminologies: Bipartite Timing Model G = {B, D, E} –Input set B, output set D, and edge set E –Longest and shortest delays.

8 8 1 6 7 3 5 2 3 9 10 11 7 8 Bipartite timing model 4 1 2 2 1 1 1 1 2 3 4 2 3 5 6 7 8 9 10 11 Timing graph 1 1 1 1 2 path: 1->4->5->7->8->10

9 9 Delay matrix Element on row i col j is delay from input i to output j,  for disconnected input i and output j. Row i implies input delay vector = {d i,j | d i,j from input i.} 1 6 7 3 5 2 3 4 5 6 7 8 Bipartite timing model 4 I1I1 I2I2 Outputs O4O4 I3I3 O5O5 O6O6 378  67  5 Delay matrix Inputs

10 10 Star G s = (B s, D s, s, E s ) –B s input set, D s output set, center vertex s. –Edges (i,s) and (s,j). 3 1 3 4 2 3 s 5 6 Star 1 4 4 1

11 11 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.

12 12 1 4 5 2 6 2 3 4 5 6 3 4 3 4 5 Biclique #edge = 9 1 2 2 3 4 1 2 3 s 4 5 6 0 star #edge = 6 Replace d ij = d is +d sj I1I1 I2I2 Outputs O4O4 I3I3 O5O5 O6O6 234 345 456 0 + 1 + Outputs O4O4 2 + O5O5 O6O6 234 234 234 Pattern = Input vectors

13 13 Bipartite Timing Model Reduction Biclique Search Reduction Ratio Evaluation ratio = #edges_covered/(r+c) Biclique-star Replacement Reduction > 1 Re-evaluation Repeat

14 14 Delay Vector Subtraction Input delay vector subtraction Sub(I a, I b ) –Distance vector V(I a,I b ) = {  j Ia,Ib =d a,j – d b,j | j  [1..c]} Input vectors I a, I b share a pattern if all  j Ia,Ib are equal. V (I 2,I 1 )= Sub(I 2,I 1 ) 111 O4O4 O5O5 O6O6 I1I1 I2I2 234 345

15 15 Biclique Expansion for Replacements Choose an input delay vector as the pattern vector. Expand the biclique of the pattern vector by covering as many as possible input vectors. Replace the biclique by a star. Biclique Expansion (G, I a, G c ) I.Add edges (a,j) to biclique G c ; II.For each input vector I i 1.Vector subtraction Sub(I i,I a ); 2.If all  j Ii,Ia =  0 Ii,Ia add edges (i, j) to G c. Biclique-star Replacement (G c,I a,G s ) I.Add inputs, outputs, center vertex s, and edges (i,s), (s,j) to G s II.d a,s = 0, d s,j = I a,j ; III.For each edge (i,s) in G s 1.d i,s =  0 Ii,Ia ;

16 16 1 4 5 2 7 2 3 4 5 6 3 4 3 4 5 #edge = 9 1 2 3 4 1 2 3 s 4 5 6 0 #edge = 8 I1I1  0 I2,I1 7 4 5 Replace 223 I3I3 457 234I1I1 V(I 3,I 1 ) = Sub(I 3,I 1 ) O4O4 O5O5 O6O6 step 2 V (I 2,I 1 ) = Sub(I 2,I 1 ) 111 O4O4 O5O5 O6O6 I1I1 I2I2 234 345 step 1  0 I2,I1

17 17 Don’t Care Edges Edge (i,j) is a don’t care edge in a biclique star replacement if path delay d i,s + d s,j < d i,j. Replace Biclique Don’t Care Edge 1 2 7 3 4 5 6 3 4 4 5 Star 2 2 3 4 1 3 s 4 5 6 0 7

18 18 Biclique Expansion with Don’t Cares Choice: try each  in distance vector as d i,s. For d 3,s =  –d i,j is covered if d i,s + d s,j = d i,j, i.e.,  j = . –d i,j is a don’t care edge if  j > . –Output j has to be removed if  j < .

19 19 #edges covered increases by 2 223 I3I3 457 234I1I1 V(I 3,I 1 ) = O4O4 O5O5 O6O6 2 2 3 4 1 3 s 4 5 6 0 #edges covered decreases by 1 3 4 1 3 s 6 0 2 3 4 5

20 20 Biclique Expansion and Replacement with Don’t Cares Biclique Expansion with Don’t Cares (G, I a, G c ) I.Add edges (a,j) to G c ; II.For each input vector I i 1.Vector subtraction Sub(I i,I p ); 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 G c ; else remove output k and edges to k. Replacement with Don’t Cares (G c, I a, G s ) I.Add inputs, outputs, center vertex s, and edges to G s II.d a,s = 0, d s,j = I a,j ; III.For each edge (i,s) in G s 1.d i,s = min(  Ii,Ia ).

21 21 Replace 1 4 5 2 7 2 3 4 5 6 3 4 3 4 5 #edge = 9 #edge = 7 Don’t Care Edge 1 2 2 3 4 1 2 3 s 4 5 6 0 I1I1 Min  7 V (I 2,I 1 )= Sub(I 2,I 1 ) 111 O4O4 O5O5 O6O6 I1I1 I2I2 234 345 step 1 223 I3I3 457 234I1I1 V(I 3,I 1 ) = Sub(I 3,I 1 ) O4O4 O5O5 O6O6 step 2

22 22 Bipartite Timing Model Reduction Biclique Search Reduction Ratio Evaluation ratio = #edges_covered/(r+c) Biclique-star Replacement Reduction > 1 Re-evaluation Star Graph to Bipartite Graph

23 23 Split s 1,s 2 Recover Stars 6 1 2 3 4 s2's2' s1's1' s1s1 s2s2 9 8 7 5 bipartite graph s1s1 1 2 3 5 6 s2s2 9 7 8 4 star timing model Star Graph to Bipartite Graph Transformation

24 24 Correctness G: the bipartite timing model before the reduction. G': the timing model after the reduction. Edge delay d i,j of any connected input i and output j in G is covered by the longest path delay d i,j ' from input i to output j in G' after the reduction.

25 25 Experimental Results Test cases –Block 1: 8499 inputs, 16885 outputs, and 138,360 edges –Block 2: 4260 inputs, 7728 outputs and 103,414 edges –E G -- #edges in original timing graph of the block. –E B --#edges in bipartite timing model. –E m --#edges after timing model reduction. Reduction r G = (E G – E m )/ E G. Reduction r B = (E B – E m )/ E B.

26 26 Block1 E G = 138,360, E B = 262,491 Err_bound (ns) EmEm rGrG rBrB 0249,032-80.0%5.1% 0.141,69669.9%84.1% 1.036,98073.3%85.9% 10.035,98174.0%86.3% 100.036,16973.9%86.2% |d i,j – d i,j ’| <= Err_bound, where d i,j and d i,j ’ are delays from input i to output j before and after the reduction. Buffer  1 delay = 1.34ns.

27 27 Block2 E G = 103,414, E B = 465,190 Err_bound (ns) EmEm rGrG rBrB 0397,384-284.3%14.6% 0.0149,61352.0%89.3% 0.1029,47771.5%93.7% 1.021,19279.5%95.4% 10.020,26280.4%95.6% Buffer  1 delay = 0.74ns.

28 28 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.

29 29 Thanks!

30 30 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 optimization with reduced size, degeneracy and redundancy by timing graph manipulation”, in ICCAD’99, 244-251. S. L. Hakimi and S. S. Yau. “Distance matrix of a graph and its realizability.” Quart. Appl. Math. 22 (1964), 305–317. F. Chung, M. Garrett, R. Graham, and D. Shallcross. “Distance realization problems with applications to internet tomography.” http://www.math.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.


Download ppt "Timing Model Reduction for Hierarchical Timing Analysis Shuo Zhou Synopsys November 7, 2006."

Similar presentations


Ads by Google