1 / 10

Evolution-based Standard Cell Placement

Evolution-based Standard Cell Placement. Jason Woods. Objectives. Implement a heuristic method of simulating an evolutionary process for cell placement Natural selection Iterative Improvements Minimize cell interconnect wire length “Goodness”

lmassey
Download Presentation

Evolution-based Standard Cell Placement

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. Evolution-based Standard Cell Placement Jason Woods

  2. Objectives • Implement a heuristic method of simulating an evolutionary process for cell placement • Natural selection • Iterative Improvements • Minimize cell interconnect wire length • “Goodness” • Achieve results comparable or better than Simulated Annealing • Simultaneous removal of large numbers of cells

  3. Methods • Algorithm divided into two main blocks • Initial setup • Main iterative process

  4. Method: Initial Setup • I/O • Input files • Parameters • Chip Floorplanning • Aspect ratio • Average and maximum row lengths • Initial Placement • Precomputations • Approximation of optimal wire length • “Goodness” of the initial placement

  5. Method: Main Iterative Process • Controlled by user parameters (cpu-time, total wire-length, etc.) • Mutation • Introduces randomness • Evaluation • Determines “goodness” current solution • Judgment • “goodness” ratio determines if cell retains position in the next generation • Cells not retaining position are removed and placed in a priority queue

  6. Method: Main Iterative Process Continued • Sorting of Queue • Comparison done by wire lengths • Allocation • Cells in queue are optimally placed in solution

  7. High-Light of Code: Flow Chart

  8. Data Structures Cell Ports Net Connections Rows Slots Layout Cells Nets Rows Code Structure construteInitialSolution() initialPlacement() doPrecomputations() doESP() mutate() evaluate() judge() allocate() PrintResults() High-Light of Code

  9. Result Representation • Numerical • Final wire length • Optimal wire length • “Goodness” of final solution • Visual • Accurate representation of layout • Aspect ratio • Cell widths • Empty slots

  10. Discussion • Challenges • Computation of optimal wire lengths • Efficient placement of allocated cells in queue • Features • Enforcement of an aspect ratio • Net connections to cells not limited to cell parameter • Implementation of 2 part optimal wire length computation • No need to sort queue • Uses of binary search technique for cell enqueuing

More Related