OpenROAD icon indicating copy to clipboard operation
OpenROAD copied to clipboard

detailed_placement creates unroutable placement for centered floorplan

Open stefanottili opened this issue 10 months ago • 3 comments

Describe the bug

revisiting https://github.com/The-OpenROAD-Project/OpenROAD/issues/5557 shows that gpl/rudy work correctly for a centered floorplan.

It's the detailed_placement that messes up the stdcells and creates an unroutable placement.

Expected Behavior

detailed_placement should be able to handle any DIEAREA ( x1 y1 ) ( x2 y2 ), not just x1 = 0, y1 = 0, x2 > 0 y2 > 0

Environment

MacOS M1 homebrew OpenROAD v2.0-18955-g3332c5ee6

To Reproduce

https://github.com/The-OpenROAD-Project/OpenROAD/issues/5557 has a tar file with lef/def/or command file.

Relevant log output

[NesterovSolve] Finished with Overflow: 0.099042
Placement Analysis
---------------------------------
total displacement    3613512.4 u
average displacement      110.8 u
max displacement          736.0 u
original HPWL         1091240.1 u
legalized HPWL        4943157.6 u
delta HPWL                  353 %

Screenshots

No response

Additional Context

No response

stefanottili avatar Feb 12 '25 20:02 stefanottili

Same netlist using a first quadrant floorplan works as expected.

Placement Analysis
---------------------------------
total displacement     107598.5 u
average displacement        3.3 u
max displacement           15.1 u
original HPWL         1091253.2 u
legalized HPWL        1194890.2 u
delta HPWL                    9 %

stefanottili avatar Feb 12 '25 23:02 stefanottili

detailed_placement worked as of filing https://github.com/The-OpenROAD-Project/OpenROAD/issues/5557 in Aug 15 2024. bisecting is tricky since older versions don’t compile with boost 1.87

stefanottili avatar Feb 13 '25 01:02 stefanottili

Don't bother bisecting as there were substantial changes for hybrid rows. This has no priority to fix

maliberty avatar Feb 13 '25 01:02 maliberty