gpl: skip incremental no unlocked instances are identified#9650
Conversation
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
There was a problem hiding this comment.
Code Review
This pull request changes the behavior of incremental placement when no unlocked instances are available to be placed. Previously, it would unlock all instances and trigger a full Nesterov placement, which could undo previous work. The new behavior is to simply skip the incremental placement step in this scenario. This change is logical and avoids unintended full placement runs. My review includes a suggestion to make the corresponding log message more precise to aid future debugging. This comment aligns with the provided rules.
|
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
|
Does this have an QOR impact (ie secure-CI needed)? |
|
yes, a few designs may fall into this situation. There is an open PR for the metrics: The-OpenROAD-Project/OpenROAD-flow-scripts#3958 I also put it in the queue. |
|
clang-tidy review says "All clean, LGTM! 👍" |
GPL incremental is currently being run at the end of stage 3-4 (resize.tcl). If it identifies no unplaced instances and the overflow is above 10% it will restart the whole placement, undoing all TD and RD work from stage 3-3 (global_place.tcl). This happens at least with sky130hd/aes.
To avoid this I opted to just skip GPL incremental when no unplaced instances are identified.