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.5 Implicit Representation<br />

Van Ginnken’s algorithm uses explicit representation to store slack and capacitance values, and<br />

therefore it takes O(bn) time when adding a wire. It is possible to use implicit representation to<br />

avoid explicit updating of candidates.<br />

In the implicit representation, C(v,α) and Q(v,α) are not explicitly stored for each candidate.<br />

Instead, each candidate contains 5 fields: q, c, qa, ca and ra 2 . When qa, ca and ra are all 0, q<br />

and c give Q(v,α) and C(v,α), respectively. When a wire is added, only qa, ca and ra in the root<br />

of the tree ( [39]) or as global variables themselves ( [41]) are updated. Intuitively, qa represents<br />

extra wire delay, ca represents extra wire capacitance and ra represents extra wire resistance.<br />

It takes only O(1) time to add a wire with the implicit representation [39, 41]. For example,<br />

in [41], when we reach an edge e with resistance R(e) and C(e), qa, ra and ca are updated to<br />

reflect new values of Q and C of all previous candidates in O(1) time, without actually touching<br />

any candidate:<br />

qa = qa + R(e) · C(e)/2 + R(e) · ca,<br />

ca = ca + C(e),<br />

ra = ra + R(e).<br />

2 In [41], only 2 fields, q and c, are necessary for each candidate. qa, ca and ra are global variables for each 2-pin<br />

segment.<br />

37

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

Saved successfully!

Ooh no, something went wrong!