Buffer Insertion Basics - Computer Engineering & Systems Group ...
Buffer Insertion Basics - Computer Engineering & Systems Group ...
Buffer Insertion Basics - Computer Engineering & Systems Group ...
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