chipsalliance / fpga-interchange-schema

https://fpga-interchange-schema.readthedocs.io/
Apache License 2.0
51 stars 20 forks source link

UltraScale clock routing #34

Open gatecat opened 3 years ago

gatecat commented 3 years ago

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:

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