Skip to content

Conversation

mmicko
Copy link
Member

@mmicko mmicko commented Oct 10, 2025

Added a way to specify strategy of clock placement for multi die gatemate.

TODO

  • Add checks if it is possible to use specified strategy
  • Add strategy "full" that will not use max number of PLLs available

Misc:

  • clangformat
  • make sure we are not moving global clock multiple times

@mmicko mmicko requested a review from gatecat October 14, 2025 13:31
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));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick: spelling

Copy link
Member Author

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);
Copy link
Member

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
Copy link
Member

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

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@gatecat gatecat merged commit 3604554 into master Oct 15, 2025
16 checks passed
@gatecat gatecat deleted the mmicko/pll_test branch October 15, 2025 13:33
@gatecat
Copy link
Member

gatecat commented Oct 15, 2025

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.

@mmicko
Copy link
Member Author

mmicko commented Oct 15, 2025

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants