1 / 25

Buffered Routing Tree Construction Under Buffer Placement Blockage

Buffered Routing Tree Construction Under Buffer Placement Blockage. Wei Chen & Massoud Pedram USC Premal Buch Magma Design Automation VLSID 2002. Outline. Motivation Preliminaries BRBP Algorithm Experiment Result Conclusion. Motivation (1/3).

saniya
Download Presentation

Buffered Routing Tree Construction Under Buffer Placement Blockage

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Buffered Routing Tree Construction Under Buffer Placement Blockage Wei Chen & Massoud Pedram USC Premal Buch Magma Design Automation VLSID 2002

  2. Outline • Motivation • Preliminaries • BRBP Algorithm • Experiment Result • Conclusion

  3. Motivation (1/3) • Buffering has been a common technique to improve circuit speed • No previous works construct buffered multi-pin routing tree with consideration to blockages

  4. Motivation (2/3)

  5. Motivation (3/3) • Proposed algorithm has three characteristics: • Buffer locations are not pre-determined • Multi-pin nets are easily handled • Use line-search algorithm instead of maze route

  6. Preliminaries (1/3) • Problem definition: • Given placement blockages and locations of sources and sinks for all nets • To simultaneously build the net topology and insert sized buffer (inverter)

  7. Preliminaries (2/3) • The delay model of buffer/inverter is a re-formulation of conventional RC model of CMOS gate delay[5] • The delay of a buffer: d = τ(p + gh) τ:scaling parameter p : parasitic delay of gate g : logical effort of the gate h : electrical effor(gain) Cl / Cin

  8. Preliminaries (3/3) • Interconnect delay: Elmore delay model

  9. BRBP Algorithm • BRBP algorithm flow • Hanan graph • Data structure and base solution • Solution propagation • Edge buffering • Pruning • Algorithm flow and time complexity

  10. BRBP - Algorithm Flow Hanan graph Pop a solution & find its escape nodes Initialize base solutions For each escape node No Solution queue is empty? Expand solution to escape node Merge and prune Yes Implement best solution & map buffer/invters to real library New solution been dominated? Update timing Insert back to queue

  11. BRBP - Hanan graph

  12. BRBP - Data Structure • Each solution has five labels: • root : a pointer to the root of node tree formed by now • cap : capacitive load seen from root • req : required arrival time at root • reachable_set: a set of the nodes that are reachable from root • repeater : the type(buffer, inverter, null) and size inserted at root

  13. BRBP-Base solution (1/2)

  14. BRBP-Base solution (2/2) • All base solutions are pushed into a priority queue priority_sols • Each time returns the solution with largestreq (less critical sinks or partial solutions)

  15. BRBP-Solution Propagation (1/4) • Find escape nodes:

  16. BRBP-Solution Propagation (2/4)

  17. BRBP-Solution Propagation (3/4)

  18. BRBP-Solution Propagation (4/4) • All of the new higher-level solutions are pushed back to priority_sols • After a popped-out solution expands to all its escape nodes, another solution is popped • Repeat the process until the priority_sols is empty or a solution reaches all the sinks

  19. BRBP - Edge Buffering • If a edge between two roots are too long, we should also insert buffer/inverter on it • The maximum length that needs no buffer can be easily determined[10] • Generate new solutions at end of each segment

  20. BRBP - Pruning (1/2) • Consider the set of solutions with the same root and driving the same sink set • For any two solutions u and v, if capu > capv and requ <= reqv, then u is dominated by v and will be dropped from priority_sols

  21. BRBP - Pruning (2/2) • Pruning does not affect optimality • Pruning is performed in two cases: • When a solution merges with the other rooted at its escape node • Edge buffering

  22. Example

  23. BRBP - Time complexity • If we have N‧M Hanan grids, at most K solutions are kept after each pruning, and n is the number of sinks: Worst-case space complexity:O(N‧M‧2n‧K) Time complexity:O(N2‧M2‧2(2n-m) ‧K2)

  24. Experiment Result

  25. Conclusion • A dynamic-programming based algorithm is presented to perform buffered routing with placement blockages • Experiment result shows average improvement of 7.9% on longest delay and 2.3% on median port slack

More Related