Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

E silicon track b


Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

E silicon track b

  1. 1. Advanced Floorplanning and Clock Tree Techniques For Handling Large Regular Structures Paul Dudek – Sr. Physical Design Engr. J. Bhasker - Architect eSilicon Corporation
  2. 2. Introduction Some complex and timing critical chip layout designs require user manual guidance in order to workaround tool limitations. This presentation will provide a few examples of chip layout challenges and type of solutions that have been used at eSilicon.
  3. 3. Topics covered <ul><li>Xbar overview </li></ul><ul><li>Buffer/FF Stages </li></ul><ul><li>Critical Routing </li></ul><ul><li>Clock Tree </li></ul>
  4. 4. Xbar Overview <ul><li>hierarchical blocks: </li></ul><ul><li>>350 </li></ul><ul><li>overall size: </li></ul><ul><li>10 mm x 12 mm. </li></ul><ul><li>P&R cell count: </li></ul><ul><li>7 million </li></ul>Outport blocks 15 16 14 15 16 13 14 15 11 12 13 10 11 12 10 11 09 10 11 08 09 07 08 06 07 08 05 06 07 04 05 06 03 04 02 03 04 00 01 02 00 01 00 26 25 08 16 input_port blocks
  5. 5. Xbar Overview – actual layout
  6. 6. Buffer/FF Stages Between Hierarchical Blocks . . . . . . Center block Hierarchical block pins were distributed and manually adjusted to later drive custom routing and repeater buffer and FF cells (inside the channels between the blocks) placement .
  7. 7. Buffer/FF Stages Between Hierarchical Blocks input _port input _port . . . outport . . . outport Repeater buffers were driving hundreds of signals from left-to-right, right-to-left, top-to-bottom and bottom-to-top and needed to be placed at exact locations.
  8. 8. Buffer/FF Stages Between Hierarchical Blocks The buffer/flop repeater stages were grouped and made into temporary hierarchical blocks. Hierarchical blocks Temporary hierarchical block (flattened after floorplanning stage) Custom routing from/to The repeater stages.
  9. 9. Buffer/FF Stages Between Hierarchical Blocks Actual view of the repeater cells within a single Xbar column.
  10. 10. Buffer/FF Stages Between Hierarchical Blocks <ul><li>Main benefits of creating temporary hierarchical blocks vs. creating fenced cell regions: </li></ul><ul><li>Ease of adding custom routing which was based on the </li></ul><ul><li>hierarchical and temporary block pin locations. </li></ul><ul><li>It would have been difficult to add routing based on cells </li></ul><ul><li>“ randomly” clustered in a fenced region. </li></ul><ul><li>2. Ease of placing cells at an exact location inside the </li></ul><ul><li>temporary blocks. A separate script was written to place </li></ul><ul><li>the cells in a stepping pattern to prevent overlaps, with </li></ul><ul><li>placement based on the block pin locations. </li></ul>
  11. 11. Buffer/FF Stages Between Hierarchical Blocks Repeater cells for vertical routing Repeater cells for horizontal routing Hierarchical blocks Final view of the flattened temporary blocks repeater stages.
  12. 12. M9 custom vertical signal routes M8 custom horizontal signal routes ‘ Center’ hierarchical blocks All custom critical routing was done in thick M8 and M9 above the hierarchical blocks. The blocks had M7 PG mesh with max, 70% util. Critical Routing - ‘thick’ M8/M9
  13. 13. Xbar custom routing corner view M9 custom vertical signal routes M8 custom horizontal signal routes Critical Routing
  14. 14. M8/M9 ‘thick metal’ VSS/VDD mesh M8/M9 routing tracks (or routing grids) Note the M8/M9 PG mesh was built in such way that only 1 signal route could be routed in-between, resulting in automatic pre-built shielding for all critical routes. Critical Routing - shielding
  15. 15. Critical Routing - summary <ul><li>Benefits of custom routing on M8/M9: </li></ul><ul><li>Resistance of thick M8/M9 layers was about 6x less than </li></ul><ul><li>for other layers allowing “strong” buffers to drive them </li></ul><ul><li>over long distances without slew degradation. </li></ul><ul><li>With M8/M9 PG mesh in every other track, the custom </li></ul><ul><li>routes were automatically shielded – by construction. </li></ul><ul><li>Small hierarchical blocks were easily built with six </li></ul><ul><li>signal layers plus M7 PG max mesh coverage, thus </li></ul><ul><li>eliminating any xtalk with M8/M9 custom routes from above. </li></ul>
  16. 16. Clock “sync” cells attempting to balance the clock tree skew made the skew worse. This was due to the narrow channels between the xbar hierarchical blocks. Clock Tree Clock tree skew balance cells Existing repeater cells
  17. 17. Clock Tree Custom clock tree was built using a script placing clock inverter cells up to 64 quadrants, after which automatic CTS was run to tool built the remaining tree.
  18. 18. Clock Tree Same as previous picture, but showing all the hierarchical blocks.
  19. 19. Clock Tree Example of one of the 64 quadrants. Hierarchical blocks “ Flylines” showing target connections Clock driver cell for blocks’ clock pins
  20. 20. Clock Tree Example of one of the 64 quadrants. Hierarchical blocks “ Flylines” showing target connections Clock driver cell for FF cells
  21. 21. Clock Tree Clock tree – 1st attempt. (showing flylines to the final targets) Each quadrant was divided equally, where the channels were “split” in the center assigning half the FFs to one quadrant and the other half to the other. Tool was unable to balance the skew between the quadrants.
  22. 22. Clock Tree Clock tree – 2nd attempt. The channel FF cells “split” in the center was removed and “ whole” channels were assign to a given quadrant. Skew has improved but the tool was still unable to balance the skew between the quadrants.
  23. 23. Clock Tree Clock tree – 3rd attempt. The custom H-tree was moved to minimize wire length to the final targets. Tool was able to provide local skew of 120p and global skew of 180p. Target skew was 200 ps.
  24. 24. Clock Tree 3 attempts comparison.
  25. 25. Tool Usage <ul><li>Magma tool set made it possible to complete this complex design in about 8 month period from initial netlist handoff to tapeout. </li></ul><ul><li>Magma straightforward TCL database access greatly simplified custom script implementation. </li></ul><ul><li>One can guide the tool with critical cell placement and routing to work around tool limitations. </li></ul>
  26. 26. Conclusion Complex design structures such as a crossbar require user guidance and ability to manipulate layout database structure. Scripting allows quick update of layout database for each incremental revision of the netlist.