I've been reading about FPGA resets, particularly the links in benefits of removing reset in an FPGA design and the article http://www.sunburst-design.com/papers/CummingsSNUG2002SJ_Resets.pdf. For my design, it seems like the best solution is to use asynchronous resets, but with a reset synchronizer circuit to make the de-assert of the reset synchronous.
In this scenario, even though the flip flops are wired async, because the de-assert in synchronous, the reset is still subject to timing constraints. However, because the reset line goes to an async pin on the flip flops, my understanding is that the FPGA tools will not do a timing analysis on that signal.
My question is how do I add and define timing restrictions to the reset line so that I can verify that I'm meeting timing requirements? (And ideally have the tools optimize routing to achieve that if possible). My current design uses Libero, but I'm hoping there's a general solution that will work with Vivado and other FPGA tools as well.