Why applying a hold ECO causes legalization errors?

oA “cell cannot be legalized” error during an ECO (especially a hold ECO, which often involves adding buffers) means the PnR tool cannot find a valid, DRC-clean placement location for the newly added or modified cells that aligns with the site rows and doesn’t overlap with other cells.

High Cell Density/Congestion: There’s simply no physical space (empty sites) to place the new buffer without causing overlaps.

Filler cells not removed from the design.

  • Frozen Placement: If too many surrounding cells are marked as fixed or have dont_touch attributes, the legalizer has very little flexibility to move existing cells to make space for the ECO cell.
  • Large ECO Cell Size: If the ECO involves adding a large buffer or ECO is adding so many buffers in certain area causing placement issues.

Row Utilization Limits: Some tools might have constraints on maximum row utilization that prevent adding more cells even if a few empty sites seem available.

Multi-Height Cells: If the ECO cell is a multi-height cell and the required space pattern (e.g., two adjacent free rows) isn’t available.

Power Domain Constraints: If the ECO cell needs to be in a specific power domain, and that domain’s physical voltage area is full.

What Can Be Done?

Check for Filler or placement blockage issue, this is easy to resolve. By deleting.

Unfix Nearby Cells Temporarily: or manual movement to fix placement issue.

Use Spare Cells (If Available and Pre-placed): If spare cells using too much space, can we reduce it if allowed?

Increase cell shift distance limit so tool can move cell to further distance and resolve legalisation.

Check ECO quality if ECO is simply too large.

Share:
‹ Can we see negative setup and hold values in the library? Why? What is the impact?
Home
What is the difference between cworst/rcworst and C / RC corners? Why do we need to consider different RC corners? ›