Skip to content
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

UltraScale clock routing #34

Open
gatecat opened this issue Apr 14, 2021 · 0 comments
Open

UltraScale clock routing #34

gatecat opened this issue Apr 14, 2021 · 0 comments
Labels
documentation Improvements or additions to documentation question Further information is requested

Comments

@gatecat
Copy link
Collaborator

gatecat commented Apr 14, 2021

While looking into the clock routing problem, I remeberred that UltraScale+ clock routing has some special requirements (for many simpler devices a minimal-PIP BFS avoiding general routing gives good enough results).

In particular:

  • clocks must first be routed from the BUFG to a chosen clock root, picked to be in the centre of the design, using "routing" type resources
  • "distribution" type resources must then be used to fan the clock out to columns, where it is then routed using the dedicated column globals to sites

Screenshot from 2021-04-14 09-07-50

The big question is how, and whether, we should encode this relatively complex logic into the interchange format. A set of rules for globals that says "first use this wire type to a point; and then that wire type" seems like something that might be useful, although I'm not sure if this is going to reliably pick a suitable clock root.

reference: https://www.xilinx.com/support/documentation/user_guides/ug572-ultrascale-clocking.pdf

@issuelabeler issuelabeler bot added documentation Improvements or additions to documentation question Further information is requested labels Apr 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant