You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In detail_route.tcl, arguments are collected into an array and passed to detailed_route. This way it is clear what is happening and how the information flows and it is all contained to detail_route.tcl
However in global_place, global state is modified by e.g gpl::set_routability_target_rc_metric_cmd and it is not clear who uses this information later on or whether this information can leak outside of replace.tcl.
Suggested Solution
Adopt the pattern of detail_route.tcl and avoid using global state throughout OpenROAD .tcl files like global_place.tcl.
Additional Context
No response
The text was updated successfully, but these errors were encountered:
Another advantage of the detail_route.tcl approach is that it makes it easier to implement logging.
Consider detailed_placement, if all the arguments were on the detailed_placement command, then adding log_cmd would tell the whole story.
The user now has to piece together by careful examination of the logs + variables + reading the .tcl code what is going on. set_placement_padding is another example of global state.
Description
In detail_route.tcl, arguments are collected into an array and passed to detailed_route. This way it is clear what is happening and how the information flows and it is all contained to detail_route.tcl
However in global_place, global state is modified by e.g
gpl::set_routability_target_rc_metric_cmd
and it is not clear who uses this information later on or whether this information can leak outside of replace.tcl.Suggested Solution
Adopt the pattern of detail_route.tcl and avoid using global state throughout OpenROAD .tcl files like global_place.tcl.
Additional Context
No response
The text was updated successfully, but these errors were encountered: