-
Notifications
You must be signed in to change notification settings - Fork 273
gatemate: support multiple clock distribution strategies #1574
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
himbaechel/uarch/gatemate/pack.cc
Outdated
for (auto &user : net->users) { | ||
IdString die = uarch->index_to_die[uarch->tile_extra_data(net->driver.cell->bel.tile)->die]; | ||
if (user.cell->region && user.cell->region->name != die) | ||
log_error("Trying to assing cell '%s' to multiple regions.\n", user.cell->name.c_str(ctx)); |
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.
nitpick: spelling
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.
fixed
|
||
NetInfo *new_signal = ctx->createNet(ctx->idf("%s$die%d", net->name.c_str(ctx), new_die)); | ||
uarch->glbout[new_die]->connectPort(ctx->id("GLB1"), new_signal); | ||
copy_constraint(net, new_signal); |
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.
note to myself as much as anything else - we really need support for clock constraints with phase shifts for timing analysis to work in this kind of situation properly
iosel->connectPorts(id_GPIO_OUT, gpio, id_A); | ||
iosel->connectPorts(id_GPIO_EN, gpio, id_T); | ||
gpio->connectPort(id_IO, new_clk1); | ||
} else |
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.
can you add braces to the else
clause here too? looks weird without them
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.
fixed
Merged, appreciate it's not so important while multi-die parts are not generally available, but as a follow-up it would be good to document somewhere what these different strategies actually mean. |
Thanks. Think best place to document that would be in code so will add that. Meanwhile I have pushed clangformat changes since those were missing in xo2 PR. |
Added a way to specify strategy of clock placement for multi die gatemate.
TODO
Misc: