19.02.2015 Views

Buffer Insertion Basics - Computer Engineering & Systems Group ...

Buffer Insertion Basics - Computer Engineering & Systems Group ...

Buffer Insertion Basics - Computer Engineering & Systems Group ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5.2 Predictive Pruning<br />

During the van Ginneken’s algorithm, a candidate is pruned out only if there is another candidate<br />

that is superior in terms of capacitance and slack. This pruning is based on the information at<br />

the current node being processed. However, all candidates at this node must be propagated further<br />

upstream toward the source. This means the load seen at this node must be driven by some minimal<br />

amount of upstream wire or gate resistance. By anticipating the upstream resistance ahead of time,<br />

one can prune out more potentially inferior candidates earlier rather than later, which reduces the<br />

total number of candidates generated. More specifically, assume that each candidate must be driven<br />

by an upstream resistance of at least R min . The pruning based on anticipated upstream resistance<br />

is called predictive pruning.<br />

Definition 1 (Predictive pruning) Let α 1 and α 2 be two nonredundant candidates of T(v) such<br />

that C(α 1 ) < C(α 2 ) and Q(α 1 ) < Q(α 2 ). If Q(α 2 ) − R min · C(α 2 ) ≤ Q(α 1 ) − R min · C(α 1 ),<br />

then α 2 is pruned.<br />

Predictive pruning preserves optimality. The general situation is shown in Fig. 14. Let α 1 and<br />

α 2 be candidates of T(v 1 ) that satisfy the condition in Definition 1. Using α 1 instead of α 2 will<br />

not increase delay from v to sinks in v 2 ,...,v k . It is easy to see C(v,α 1 ) < C(v,α 2 ). If Q at v is<br />

determined by T(v 1 ), we have<br />

Q(v,α 1 ) − Q(v,α 2 ) = Q(v 1 ,α 1 ) − Q(v 1 ,α 2 ) − R min · (C(v 1 ,α 1 ) − C(v 1 ,α 2 ))<br />

≥ 0<br />

Therefore, α 2 is redundant.<br />

32

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!