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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.2.2 <strong>Buffer</strong> insertion<br />

Suppose that we add a buffer b at u. γ u is then updated to γ ′ u where<br />

Q(γ ′ u) = Q(γ u ) − (R(b) · C(γ u ) + K(b)),<br />

C(γ ′ u) = C(b).<br />

(9)<br />

3.2.3 Branch merging<br />

When two branches T l and T r meet at a branching point v, Γ l and Γ r , which correspond to T l and<br />

T r , respectively, are to be merged. The merging process is performed as follows. For each solution<br />

γ l ∈ Γ l and each solution γ r ∈ Γ r , generate a new solution γ ′ according to:<br />

C(γ ′ ) = C(γ l ) + C(γ r ),<br />

Q(γ ′ ) = min{Q(γ l ),Q(γ r )}.<br />

(10)<br />

The smaller Q is picked since the worst-case circuit performance needs to be considered.<br />

3.3 Inferiority and Pruning Identification<br />

Simply propagating all solutions by the above three operations makes the solution set grow exponentially<br />

in the number of buffer positions processed. An effective and efficient pruning technique<br />

is necessary to reduce the size of the solution set. This motivates an important concept - inferior<br />

solution - in van Ginneken’s algorithm. For any two partial solutions γ 1 ,γ 2 at the same vertex v, γ 2<br />

is inferior to γ 1 if C(γ 1 ) ≤ C(γ 2 ) and Q(γ 1 ) ≥ Q(γ 2 ). Whenever a solution becomes inferior, it is<br />

pruned from the solution set. Therefore, only solutions excel in at least one aspect of downstream<br />

capacitance and slack can survive.<br />

9

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

Saved successfully!

Ooh no, something went wrong!