Professional Documents
Culture Documents
in an Industrial Setting
Hiroyuki Higuchi
Yusuke Matsunaga
Kyushu University
e-mail matsunaga@c.csce.kyushu-u.ac.jp
Abstract In this paper we enhance the performance of multicycle path analysis in an industrial setting. Industrial designs are,
in general, more complicated, but contain more information than
fundamental sequential circuits. We show how such information
is used for improving the quality and the efficiency of multi-cycle
path analysis. Specifically, we propose local FSM learning to take
into account reachability information. We also propose FF enable
learning to accelerate multi-cycle path analysis. Experimental results show that our methods can handle large industrial designs
with tens of thousands of FFs and detects more multi-cycle paths
faster than conventional ones.
I. I NTRODUCTION
Because of the steadily increasing demand for high performance integrated circuits, timing verification and optimization
are becoming more and more important. The key to good timing verification and optimization is to compute circuit delay
accurately and quickly.
The most common and easiest approach to compute circuit
delay is based on topological delay. Topological delay can be
too conservative, because it ignores false paths and multi-cycle
paths. False paths and multi-cycle paths relax timing constraints, which can be used in logic synthesis, layout, ATPG
for delay faults, and static timing analysis (STA). A false path
in a circuit is a path that is never activated because of the circuit functionality and delay values of the circuit components.
The problem of identifying false paths in logic circuits have
been studied extensively in recent years [1, 2, 3, 4]. Since the
number of paths may be exponential in circuit size, path-based
analysis may suffer from the combinatorial explosion.
A multi-cycle path in a sequential circuit is a combinational
path that does not have to propagate signals in a single clock
cycle. Multi-cycle paths have also been investigated in literature to some extent [5, 6, 7, 8]. Multi-cycle path analysis methods can be grouped into path-based ones and non-path-based
ones [5, 8]. Path-based methods suffer from the combinatorial explosion in the same way as false path analysis does. On
the other hand, non-path-based methods determine whether or
not all the paths between a given flip-flop (FF) pair are multicycle paths. Therefore they do not suffer from the combinatorial explosion. While it is rare for every path between an
input and an output to be a false path, the same does not apply
to multi-cycle paths. Two methods for non-path-based analysis have been proposed: symbolic-traversal-based one [6] and
SAT-based one [7]. Though the SAT-based method is faster
than the symbolic-traversal-based one, it is still not applicable
A. Multi-Cycle Paths
We consider sequential circuits consisting of interconnections of combinational logic gates and clocked FFs. We assume the following: (1) Each FF is clocked by a single clock,
and (2) there is no direct combinational feedbacks.
A combinational path P is an alternating sequence of gates
and edges fg0 ; e0 ; g1 ; e1 ; : : : ; gm01 ; em01 ; gm g, where g0 is a primary input or an FF and gm is a primary output or an FF. We
call g0 and gm the source and the sink of the path respectively.
A signal value at the output of gate gi is simply denoted by gi .
A signal value at the output of gate gi at time t is denoted by
gi (t ).
MUX1FF1
0
D
1
IN
EN1
FF3
D
combinational
logic A
MUX2FF2
0
D
1
EN2
OUT
FF4
D
The first and the second ones make the analysis conservative.
Therefore detected paths are always multi-cycle paths. We
omit the first one in this paper. To handle the second one efficiently, we propose local FSM implication in Section IV. The
third one may make the analysis optimistic. In [9] a method
for handling this problem is shown. We do not consider the
problem in this paper.
FF1(t) 0
IN(t)
FF2(t)
0
1
MUX1
EN1(t)
1
FF3(t)
0
1
FF1(t+1) 1
IN(t+1)
MUX2
FF2(t+1)
0
0
1
combinational
EN2(t)
0
logic A
FF3(t+1) 0
MUX2
FF2(t+2)
0
0
1
combinational
EN2(t+1)
0
logic A
FF3(t+2)
0
1
0
1
1
FF1(t+2)
EN1(t+1)
0
MUX1
0
FF4(t+2)
1
FF4(t+1) 1
FF4(t)
Fig. 3. Example of implication procedure.
Tri-state buffers,
Black boxes.
Data
Sgc
Smp
Sen
D
EN
implicit clock
The clock cycle of the single implicit clock driving all the
FFs is the greatest common divisor of all the clock cycles and
the differences of the phases. The counter counts up to the least
common multiple of the clock cycles and the phase differences.
Gated clocks are also converted into enabling conditions for
FFs. An converted FF is shown in Fig.4. In the figure, Sgc , Smp ,
and Sen are enable signals corresponding to the gated clock,
the multi-phase clock, and the enable input of the original FF
respectively.
IV. L OCAL FSM L EARNING
As we mentioned in Subsection II.C, one of the most optimistic feature of the analysis in [9] comes from the lack of
0000
I=0,1
I=0
0001
1000
I=0,1
I=1
I=0
I=1
1100
I=0,1
1110
TABLE I
C HARACTERISTICS OF THE EXAMPLES
circuit
EX1
EX2
EX3
#cell
36,489
33,522
241,707
#PI
101
209
115
#PO
87
277
115
#FF
8,672
5,586
24,827
#ck
grp
2
3
6
#ck
2
12
43
TABLE III
C OMPARISON OF CPU TIMES
circuit
EX1
EX2
EX3
ck
grp
A
B
A
B
C
A
wo FSM
wo EN
525
101
1,597
83
26
63,834
CPU(sec)
w FSM wo FSM
wo EN
w EN
588
340
116
76
2,015
798
83
77
29
26
64,309
32,367
w FSM
w EN
456
103
1,007
84
26
30,359
TABLE II
E XPERIMENTAL R ESULTS
circuit
EX1
EX2
EX3
ck
grp
A
B
A
B
C
A
#FF
7,584
1,022
4,966
646
10
10,125
#black
box
2,400
14,168
1,395
11,771
13,074
34,699
#local
FSM
39
19
43
4
1
63
#added
imp
54
1
1,036
2
16
365
#remaining FF pairs
before rsim after rsim
88,350
7,710
13,964
3,021
216,468
151,334
7,329
2,326
53
53
750,762
366,215
TABLE IV
C OMPARISON OF THE NUMBER OF MC FF PAIRS
circuit
EX1
EX2
EX3
ck
grp
A
B
A
B
C
A
#MC pair
wo FSM w FSM
3,875
3,915
367
367
5,283
6,128
10
32
44
47
16,481 16,647
#aborted pair
wo FSM w FSM
892
870
76
76
1,220
555
7
14
0
0
5,478
6,900
#MC
pairs
3,958
367
6,128
32
47
16,647
#aborted
pairs
811
76
555
14
0
6,900
abort
ratio
0.9%
0.5%
0.3%
0.2%
0%
0.9%
CPU
(sec)
456
103
1,007
84
26
30,359
VII. C ONCLUSIONS
We have shown how to improve implication-based multicycle path analysis to handle industrial designs. We have proposed local FSM learning to take into account reachability
information and FF enable learning to accelerate multi-cycle
path analysis. Experimental results are encouraging in terms
of the quality and the efficiency of multi-cycle path analysis
for industrial designs.
R EFERENCES
[1] D. Brand and V. S. Iyengar. Timing analysis using functional relationships. In Proceedings of IEEE International Conference on CAD-86,
pages 126129, November 1986.
[2] H.-C. Chen and D. H.-C Du. Path sensitization in critical path problem.
IEEE Transactions on Computer-Aided Design of Integrated Circuits,
12(2):196207, February 1993.
[3] S. Devadas, K. Keutzer, and S. Malik. Computation of floating mode
delay in combinational circuits: Theory and algorithms. IEEE Transactions on Computer-Aided Design of Integrated Circuits, 12(12):1913
1923, December 1993.
[4] P. C. McGeer, A. Saldanha, R. K. Brayton, and A. SangiovanniVincentelli. Delay models and exact timing analysis. In T. Sasao, editor,
Logic Synthesis and Optimization, pages 167189. Kluwer Academic
Publishers, 1993.
[5] A. P. Gupta and D. P. Siewiorek. Automated multi-cycle symbolic timing
verification of microprocessor-based designs. In Proceedings of the 31st
ACM/IEEE Design Automation Conference, pages 113119, 1994.
[6] K. Nakamura, K. Takagi, S. Kimura, and K. Watanabe. Waiting false
path analysis of sequential logic circuits for performance optimization.
In Proceedings of IEEE/ACM International Conference on CAD-98,
pages 392395, November 1998.