1 / 23

Porosity Aware Buffered Steiner Tree Construction

Porosity Aware Buffered Steiner Tree Construction. C. Alpert G. Gandham S. Quay IBM Corp. M. Hrkic Univ Illinois Chicago. J. Hu Texas A&M Univ. Outline. Introduction and Previous work Problem formulation Algorithm Experimental results Conclusion. 73. 24. -23. 33.

Download Presentation

Porosity Aware Buffered Steiner Tree Construction

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. Porosity Aware Buffered Steiner Tree Construction C. Alpert G. Gandham S. Quay IBM Corp M. Hrkic Univ Illinois Chicago J. Hu Texas A&M Univ

  2. Outline • Introduction and Previous work • Problem formulation • Algorithm • Experimental results • Conclusion

  3. 73 24 -23 33 Buffer Insertion • Improve timing • Drive long wire • Shield load from critical path • Van Ginneken’s Algorithm • Given tree topology fixed • Find optimal solution at fast speed Slack Slack

  4. If There Are Big Blockages

  5. Previous Works • Simultaneous tree construction and buffer insertion • Buffer blockage driven • Recursively Merging and Embedding [Cong and Yuan, DAC 00] • Graph-based[Tang, et al., ICCAD 01] • General purpose • SP-Tree [Hrkic and Lillis, ISPD 02] • Excellent solution quality • High complexity • Sequential tree construction + buffer insertion • Adaptive blockage avoidance [Hu, et al., ISPD 02] • Very good solution quality • Practical computation speed

  6. If There Are Many Small Blockages

  7. Porosity Has to Be Considered • Handling small blockages will slow down computation • Buffers in dense region may be spiraled away • No previous work handles porosity directly

  8. Express Porosity through Tile Graph • For a tile g • A(g): tile area • a(g): usage area • d(g) = a(g)/A(g) • Porosity cost is d2(g), if a buffer is placed ing

  9. Problem Formulation Porosity-aware Buffered Steiner Tree Problem: • Given • A net N = {v0, v1, …, vn} • Load capacitance c(vi) and required arrival time q(vi) • Tile graph G(VG, EG) • Construct a Steiner tree T(V,E), such that • Required arrival time q(vi) are satisfied • Total porosity cost is minimized

  10. Observation • Easy to deal with node-to-node path • Congestion can be avoided by rerouting without affecting timing • Hard to deal with Steiner nodes • Moving Steiner nodes may degrade timing

  11. Basic Strategy • Construct a timing driven Steiner tree regardless porosity • Adjust Steiner nodes simultaneously with length-based buffer insertion • Adjustment range need to be restrained • A Steiner node is moved only when buffer is needed there

  12. Length-based Buffer Insertion • Simple buffering following rule of thumb • Capacitance load of driver/buffer ≤ bound L • Dynamic programming based • Candidate solutions are propagated bottom-up • Solution is characterized by load capacitance and porosity cost • A solution with greater load and cost will be pruned L=2

  13. Plate: Adjustment Range

  14. Plate-based Adjustment • Integrate Steiner node adjustment with length-based buffer insertion • Solutions are propagated to and merged at each tile of plate • Merged solutions at each tile are further propagated toward root • Alternative topologies are generated • A candidate topology is selected only when it is a part of min cost solution at the root

  15. Example of Plate-based Adjustment

  16. Methodology Flow • Timing-driven Steiner tree ( C-Tree ) • Plate-based adjustment • Local blockage avoidance • If a wire overlaps with blockage, it is rerouted within its local tiles • Van Ginneken style buffer insertion

  17. Experiment Setup • Integrated into industrial physical synthesis tool • Three testcases • 155K, 334K and 293K cells • 209, 848 and 18 blockages • FOM(Figure of Merit): cumulative negative slacks

  18. Experimental Result on FOM

  19. Resource Consumption • Wirelength increase is negligible • CPU time is increased significantly • Plate-based adjustment • More candidate buffer locations enabled

  20. Result Regardless Porosity

  21. Result Considering Porosity

  22. Conclusion • Porosity need to be considered in buffered Steiner tree construction • A plate-based adjustment in a four-stage flow is proposed as a solution • Experiments with industrial physical synthesis system show encouraging results

  23. Thank you !

More Related