A method of removing pessimism in static timing analysis is described.
Delays are expressed as a function of discrete parameter settings
allowing for both local and global variation to be taken in to account.
Based on a specified target slack, each failing timing test is examined
to determine a consistent set of parameter settings which produces the
worst possible slack. The analysis is performed on a path basis. By
considering only parameters which are in common to a particular
data/clock path-pair, the number of process combinations that need to be
explored is reduced when compared to analyzing all combinations of the
global parameter settings. Further, if parameters are separable and
linear, worst-case variable assignments for a particular clock/data path
pair can be computed in linear time by independently assigning each
parameter value. In addition, if available, the incremental delay change
with respect to each physically realizable process variable may be used
to project the worst-case variable assignment on a per-path basis without
the need for performing explicit corner enumeration.