5d_3 timing model red for hirarcy timing analysis
TRANSCRIPT
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
1/30
Timing Model Reduction for
Hierarchical Timing Analysis
Shuo Zhou
SynopsysNovember 7, 2006
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
2/30
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
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
3/30
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 TimingAnalysis
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
4/30
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
PartitionDesigninto Blocks
Characterize Blocks
into Timin Models
gates
gates
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
5/30
5
Problem Statement
Timing model minimization for
hierarchical timing analysis:
Given a hierarchical block, constructan 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.
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
6/30
6
Previous Works
Transform timing graph [Visweswariah
ICCAD99, Moon DAC02]. 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)].
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
7/30
7
Terminologies: Bipartite Timing Model
G = {B, D, E} Input set B, output set D, and edge set E
Longest and shortest delays.
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
8/30
8
1
67
3
5
2
3
9
10
11
78
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
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
9/30
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 = {di,j| di,jfrominput i.}
1
67
3
5
2
3
4
5
6
78
Bipartite timing model
4
I1
I2
OutputsO4
I3
O5 O6
3 7 8
6 7
4 5
Delay matrix
Inp
uts
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
10/30
10
Star
Gs= (Bs, Ds, s, Es)
Bsinput set, Dsoutput set, center vertex s.
Edges (i,s) and (s,j).
31
34
2
3
s 5
6
Star1
44
1
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
11/30
11
Biclique-Star Replacement
Basic idea: match various input delay
vectors to a pattern and cover each inputdelay vector by one edge plus the pattern.
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
12/30
12
1
45
2
6
2
3
4
5
6
3
43
4 5
Biclique #edge = 9
1
2
2
3
4
1
2
3
s
4
5
6
0
star #edge = 6
Replace
dij= dis+dsj
I1
I2
OutputsO4
I3
O5 O6
2 3 43 4 5
4 5 6
0 +1 +
OutputsO4
2 +
O5 O6
2 3 42 3 4
2 3 4
Pattern=Input
vectors
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
13/30
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
14/30
14
Delay Vector Subtraction
Input delay vector subtraction Sub(Ia, Ib) Distance vector V(Ia,Ib) = {j
Ia,Ib=da,jdb,j| j
[1..c]}
Input vectors Ia, Ibshare a pattern if all jIa,Ib
are equal.
V (I2,I1)=
Sub(I2,I1)
1 1 1
O4 O5 O6I1
I2
2 3 4
3 4 5
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
15/30
15
Biclique Expansion for Replacements
Choose an input delay vector as the patternvector.
Expand the biclique of the pattern vector bycovering as many as possible input vectors.
Replace the biclique by a star.
Biclique Expansion (G, Ia, Gc)
I. Add edges (a,j) to biclique Gc;
II. For each input vector Ii
1. Vector subtraction Sub(Ii,Ia);2. If all j
Ii,Ia= 0Ii,Ia add edges (i, j) to Gc.
Biclique-star Replacement (Gc,Ia,Gs)
I. Add inputs, outputs, center vertex s, and edges (i,s), (s,j) to GsII. da,s= 0, ds,j= Ia,j;
III. For each edge (i,s) in Gs
1. di,s= 0Ii,Ia;
d # d 8
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
16/30
16
1
45
2
7
2
3
4
5
6
34
3
45
#edge = 9
1
2
34
1
2
3
s
4
5
6
0
#edge = 8
I1
0I2,I1
7
45
Replace
2 2 3
I3 4 5 7
2 3 4I1
V(I3,I1) =
Sub(I3,I1)
O4 O5 O6step 2
V (I2,I1) =
Sub(I2,I1)
1 1 1
O4O5 O6I1
I2
2 3 4
3 4 5
step 1
0I2,I1
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
17/30
17
Dont Care Edges
Edge (i,j) is a dont care edge in a biclique
star replacement if path delay di,s+ ds,j< di,j.
Replace
Biclique
Dont Care Edge
1 2
73
4
5
6
34
45
Star
2
2
3
4
1
3
s
4
5
6
0
7
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
18/30
18
Biclique Expansion with Dont Cares
Choice: try each in distance vector as di,s. For d3,s=
di,jis coveredif di,s+ ds,j= di,j, i.e., j= .
di,jis a dont care edgeif
j>
. Output j has to be removedif j< .
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
19/30
19
#edges covered
increases by 2
2 2 3
I3 4 5 7
2 3 4I1
V(I3,I1) =
O4O5O6
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
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
20/30
20
Biclique Expansion and Replacement with
Dont CaresBiclique Expansion with Dont 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 jin the distance vector
For each kin 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 kin distance vector
if kj Add edge (i,k) to Gc;
else remove output k and edges to k.
Replacement with Dont 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
1. di,s= min(Ii,Ia
).
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
21/30
21
Replace
1
45
2
7
2
3
4
5
6
34
3
45
#edge = 9 #edge = 7
Dont Care Edge
12
2
34
1
2
3
s
4
5
6
0
I1Min
7
V (I2,I1)=
Sub(I2,I1)
1 1 1
O4O5 O6
I1I2
2 3 43 4 5
step 1
2 2 3
I3 4 5 72 3 4I1
V(I3,I1) =
Sub(I3,I1)
O4O5 O6step 2
Bi tit Ti i M d l R d ti
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
22/30
22
Bipartite Timing Model Reduction
Biclique Search
Reduction RatioEvaluationratio = #edges_covered/(r+c)
Biclique-star
Replacement
Reduction > 1 Re-evaluation
Star Graph toBipartite Graph
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
23/30
23
Split s1,s2
RecoverStars
6
1
2
3
4
s2'
s1'
s1
s2
9
8
7
5
bipartite graph
s1
1
2
3
5
6
s2
9
7
8
4
star timing model
Star Graph to Bipartite Graph
Transformation
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
24/30
24
Correctness
G: the bipartite timing model before thereduction.
G': the timing model after the reduction.
Edge delay di,jof any connected input i andoutput j in G is covered by the longest pathdelay d
i,j
' from input i to output j in G' after thereduction.
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
25/30
25
Experimental Results
Test cases
Block 1: 8499 inputs, 16885 outputs, and138,360 edges
Block 2: 4260 inputs, 7728 outputs and
103,414 edges EG-- #edges in original timing graph of theblock.
EB--#edges in bipartite timing model.
Em--#edges after timing model reduction.
Reduction rG= (EGEm)/ EG.
Reduction rB= (EBEm)/ EB.
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
26/30
26
Block1 EG= 138,360, EB = 262,491
Err_bound
(ns)
Em rG rB
0 249,032 -80.0% 5.1%
0.1 41,696 69.9% 84.1%
1.0 36,980 73.3% 85.9%10.0 35,981 74.0% 86.3%
100.0 36,169 73.9% 86.2%
|di,jdi,j|
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
27/30
27
Block2 EG= 103,414, EB= 465,190
Err_bound(ns)
Em rG rB
0 397,384 -284.3% 14.6%
0.01 49,613 52.0% 89.3%0.10 29,477 71.5% 93.7%
1.0 21,192 79.5% 95.4%
10.0 20,262 80.4% 95.6%Buffer 1 delay = 0.74ns.
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
28/30
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 numberof edges in the timing model.
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
29/30
29
Thanks!
-
8/10/2019 5D_3 timing model red for hirarcy timing analysis
30/30