ExpertQuestion 317 of 111Source PDF page undefined

What's the actual difference between the three -legalize_mode options on place_eco_cells, and when does each one risk large cell displacement?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

free_site_only (the default) legalizes ECO cells only on free sites without moving pre-existing cells -- can cause large displacement if no free site is nearby, since the cell may have to travel far to find one. allow_move_other_cells legalizes to the nearest legal location by moving pre-existing cells instead -- no free-site search, but disturbs the existing layout. minimum_physical_impact tries free sites first, and only moves pre-existing cells for cells that still have no nearby free site -- a hybrid that minimizes disturbance while still bounding displacement.

Technical Reference DiagramWhat's the actual difference between the three -legalize_mode options on place_eco_cells, and when does each one risk large cell displacement?
What's the actual difference between the three -legalize_mode options on place_eco_cells, and when does each one risk large cell displacement?, illustrating the physical design concept.

Technical Explanation

  • free_site_only (the default): legalizes on free sites without moving any pre-existing cells. Risk: can cause LARGE displacement if no free site is nearby, since the cell may have to travel a long distance to find one.
  • allow_move_other_cells: legalizes to the nearest legal location by actually moving pre-existing cells out of the way. No free-site search needed, but it disturbs the existing layout, which free_site_only never does.
  • minimum_physical_impact: a hybrid -- tries free sites first (like free_site_only), and only falls back to moving pre-existing cells (like allow_move_other_cells) for the specific cells that still have no nearby free site after that first pass.
  • Displacement thresholds (-displacement_threshold, -max_displacement_threshold) behave differently per mode: with free_site_only, over-threshold cells land in epl_legalizer_rejected_cells; with minimum_physical_impact, over-threshold cells specifically get the epl_max_displacement_cells treatment -- these collections let you review exactly which cells needed more aggressive legalization.

Formula Or Decision Rule

Minimal Physical Impact (MPI) placement = -legalize_mode minimum_physical_impact + -max_displacement_threshold + -remove_filler_references, used together for the least-disruptive legalization of ECO cells.

What To Check

  • Warning sign: check_legality or report_eco_physical_changes shows a surprisingly large displacement for an ECO cell that should have been a minor local fix.
  • Inspect: check which -legalize_mode was used -- free_site_only in a densely-packed region is the classic cause of unexpectedly large ECO cell displacement.
  • Correct: switch to minimum_physical_impact (or allow_move_other_cells with an appropriate threshold) if free_site_only's displacement is unacceptable for this design's density.

Command Checks & Actions

ICC2place_eco_cells -cells $ecoCells -legalize_mode minimum_physical_impact -moveable_distance 10

Legalizes ECO cells using the hybrid free-site-first, move-other-cells-as-fallback strategy, bounded to a 10-unit moveable distance.

ICC2report_eco_physical_changes

Reports whether size_cell/add_buffer/ABOR operations caused large displacement, letting you verify the chosen legalize mode's actual impact.

Healthy, Suspicious & Hard-stop Results

  • Expected: ECO cell displacement stays within expected bounds for the chosen legalize_mode, verified via report_eco_physical_changes.
  • Investigate: an ECO cell shows large displacement under free_site_only in a dense design region -- expected given that mode's documented behavior when no nearby free site exists, worth reconsidering the mode choice.
  • Stop: ECO cells are being legalized with free_site_only in a design region known to be densely packed, with no review of the resulting displacement via report_eco_physical_changes.

Common Mistake

The Trap: Defaulting to free_site_only for every ECO placement regardless of local free-site density -- in a densely-packed region with no nearby free sites, this default risks exactly the large-displacement outcome minimum_physical_impact or allow_move_other_cells would have avoided.

What The Interviewer Is Testing

Whether you know the precise behavioral difference between all three legalize modes (not just that they exist) and specifically which one risks large displacement under which condition.

Practical Example

Debug Scenario: An ECO cell placed with the default free_site_only legalize mode ends up displaced far from its intended location because no free site existed nearby. Switching to -legalize_mode minimum_physical_impact for that cell lets it use a nearby free site if one exists, or move a pre-existing cell only as a fallback -- bounding the displacement much more tightly.

Physical Design & Planning Handbook

Dive into 14 comprehensive chapters covering netlist sanity, FinFET grids, macro placement, power grids, CTS, and timing budgeting.