is there an explanation somewhere of `PL_RESIZER_S...
# timing-closure
a
is there an explanation somewhere of
PL_RESIZER_SETUP_SLACK_MARGIN
/
PL_RESIZER_HOLD_SLACK_MARGIN
? the flowchart in the document above seems to imply that these can be increased in order to meet timing, but from the OpenROAD source code it seems that this could lead to ignoring actual timing violations? @User
j
@User @User can you please respond to this?
v
@User default values found here OPENLANE_ROOT/configuration/placement.tcl
m
yes please can we get some help here
I opened a comment on the google doc to ask what the values did and which way to change them to get improvements
but there is not really any help there either
maybe @User or @User could comment?
m
Normally the resizer stops when it reaches zero slack. You can use those variables to tell it to "overfix". That can be useful as the repair is done before we have full routing details and it is possible it might not be conservative enough to account for final parasitics/timing.
👍 1
m
Is the range 0 to 1? What would a setting of 1 do?
m
it is the slack you want to fix to (time units)
m
Ah!
m
roughly start with whatever your negative margin is at the end of the flow (maybe plus a bit)
m
Any upper limit?
m
the higher you set it the more buffering/sizing/power you will consume so you don't want to crank it up needlessly
there is no hard limit though
👍 1
at some value it will become impossible to meet - you can only make the design so fast