Presentation is loading. Please wait.

Presentation is loading. Please wait.

EE4271 VLSI Design Advanced Interconnect Optimizations Buffer Insertion.

Similar presentations


Presentation on theme: "EE4271 VLSI Design Advanced Interconnect Optimizations Buffer Insertion."— Presentation transcript:

1 EE4271 VLSI Design Advanced Interconnect Optimizations Buffer Insertion

2 Objectives What have we learned? –Buffer insertion on a single wire What are we going to learn? –Buffer insertion on a tree

3 Timing Driven Buffering Problem Formulation Given –A Steiner tree –RAT at each sink –A buffer type –RC parameters –Candidate buffer locations Find buffer insertion solution such that the slack at the driver is maximized

4 Candidate Buffering Solutions

5 Candidate Solution Characteristics Each candidate solution is associated with –v i : a node –c i : downstream capacitance –q i : RAT v i is a sink c i is sink capacitance v is an internal node

6 Van Ginneken’s Algorithm Candidate solutions are propagated toward the source

7 Solution Propagation: Add Wire c 2 = c 1 + cx q 2 = q 1 – rcx 2 /2 – rxc 1 r: wire resistance per unit length c: wire capacitance per unit length (v 1, c 1, q 1 ) (v 2, c 2, q 2 ) x

8 8 Solution Propagation: Insert Buffer c 1b = C b q 1b = q 1 – R b c 1 C b : buffer input capacitance R b : buffer output resistance (v 1, c 1, q 1 ) (v 1, c 1b, q 1b )

9 Solution Propagation: Merge c merge = c l + c r q merge = min(q l, q r ) (v, c l, q l )(v, c r, q r )

10 Solution Propagation: Add Driver q 0d = q 0 – R d c 0 = slack min R d : driver resistance Pick solution with max slack min (v 0, c 0, q 0 ) (v 0, c 0d, q 0d )

11 11 Example of Merging Left candidates Right candidates Merged candidates

12 Solution Pruning Two candidate solutions –(v, c 1, q 1 ) –(v, c 2, q 2 ) Solution 1 is inferior if –c 1 ≥ c 2 : larger load –and q 1 ≤ q 2 : tighter timing

13 13 Merging Branches Right Candidates Left Candidates

14 14 Pruning Merged Branches Critical With pruning

15 Exercise Compute candidate buffer solutions after merge. (5,10) (8,15) (10,20) (12,25) (2,7) (7,10) (9,15)

16 Exercise (20,400) 2 2 2 2 Unit Wire Cap = 5 Unit Wire Res = 3 Buffer C=5, R=1 Perform buffer insertion to maximize the slack at driver (15,300)

17 Summary Buffer insertion on a tree Solution pruning can significantly reduce the number of solutions


Download ppt "EE4271 VLSI Design Advanced Interconnect Optimizations Buffer Insertion."

Similar presentations


Ads by Google