Characterizing Timing Yield for Functional Units During High Level Synthesis
In
this project, our goal is to search for the methods to characterize the timing
yield by efficient circuit graph analysis techniques (to be more specific, it
is the critical path analysis techniques) instead of expensive SSTA techniques.
We will evaluate the effectiveness of this approach by incorporating it into a
timing analysis flow consisting of Synopsys tools.
In order to address the
problem of process variations, statistical static timing analysis (SSTA) has been
proposed and widely studied in recent years. Existing SSTA methods mainly focus
on gate-level timing analysis. However, in the domain of high-level synthesis, statistical
timing analysis has not been studied extensively as at the gate level. One of
the reasons why this is the case is because it is difficult to accurately characterize
performance yields during high-level behavioral synthesis. In most of the
existing works
T = a0 + a1DVth + a2Dl
(1)
where T is the probabilistic delay of the functional unit due to
the process variations. a0 represents the
nominal delay computed at the nominal values of the process variables. a1 and a2 are sensitivity values to
the deviation of different process variables. The delays of individual functional
units in the library are calculated by performing
Yield (i) = Prob(Ti < Tc)
(2)
It has been recognized that the timing yield is in proportional to the
longest path delay of the function unit. The functional unit will have higher
probability to violate a tighter timing constraint. As the longest path delay
constraint becomes tight, there will be more and more critical or asymptotic
critical paths in the circuit. It is obvious that the probability of timing failure
is proportional to the total number of the critical or asymptotic critical
paths in the circuit. Therefore, it is a good heuristic to use the number of
critical paths in the circuit to characterize the yield of that function unit.
In this way, we avoid performing
There are several advantages of using critical path as a metric to characterize
the yield. The algorithms for finding critical path or asymptotic critical path
in a circuit have already been widely researched. There also exist commercial
tools that could perform such analysis, such as PrimeTime
from Synopsys. In high-level synthesis, the timing constraint of an individual
functional unit may be optimized iteratively during scheduling and module
selection. Within each iteration, the timing yield of
the function unit should be recalculated. If we use Monte Carlo or statistical
timing analysis, no information from the previous iteration can be used to
speed up the computation. However, the distributions of the critical and
asymptotic critical paths in the circuit have only small local changes after
the timing constraint is updated.
References