-
Notifications
You must be signed in to change notification settings - Fork 412
Remove remaining global and static varaibels in the placement stage #2770
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…temp_place_macro_static
…ghtedMedianMoveGenerator
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good -- thanks! This is a huge readability/infrastructure improvement.
…str() when needed
Not sure why these little designs would get a different answer ... suggest running valgrind / the sanitizers to be sure there are no memory faults (S: strong). |
|
||
xold = std::max(std::min(xold, (int)device_ctx.grid.width() - 2), 1); //-2 for no perim channels | ||
yold = std::max(std::min(yold, (int)device_ctx.grid.height() - 2), 1); //-2 for no perim channels | ||
layer_old = std::max(std::min(layer_old, (int)device_ctx.grid.get_num_layers() - 1), 0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Calls to std::max()
and std::min()
are removed from median move generators. There are a few other palces in this file and weighted_median_move_generator.cpp
where pin location coordinates are clipped between 1 and H|W-2. QoR changes before and after the commit that removes this.
I updated golden results for a few circuits in nightly tests. A failure in |
Resolved merge confilicts caused my merging #2793. |
Looks good. Since you only have a small change due to merging in changes, this is OK to merge without another QoR test. Just please take a look at the strong tests or run one design to confirm same/equivalent QoR. Then feel free to merge whenever you like. |
place_macro.cpp
PlaceMacros
place_macros_
member variable toBlkLocRegistry
std::vector
forSwitches
andDirects
int_arch
get_coordinate_of_pin()
toBlkLocRegistry
. Replaced inline pin location compuations with calls to this function.