Systems and methods for determining delay budget allocations for circuit
elements. One embodiment comprises a method including defining timing
edges and corresponding timing paths in an integrated circuit design, and
determining delay budget allocations for each of the edges based on
required arrival time and design slack (S,T) pairs associated with the
different timing paths. The required arrival time is a maximum time when
associated with forward paths, and a minimum time when associated with
backward paths. (S,T) pairs associated with some timing paths are
discarded (i.e., the corresponding timing paths are trimmed) to reduce
the complexity of the delay budget allocation computations. Remaining
(S,T) pairs are used to determine scaling factors for significant timing
paths through the edges. The smallest of the scaling factors for each
edge can be multiplied by an initial delay associated with the edge to
produce a delay budget allocation associated with the edge.