What is the reason for reset synchronization in new CL design template?
za1nrkhan opened this issue · 1 comments
According to the AWS shell interface specification under Clocks and Reset:
The shell provides an active_low reset signal synchronous to clk_main_a0: rst_main_n. This is an active low reset signal, and is asserted while an AFI is being loaded. The reset signal is de-asserted after the AFI load is complete and the clocks are stable.
And yet there is this reset synchronization circuit present in the new CL template as well as in some of the example CL designs.
If the reset signal is synchronous to clk_main_a0, wouldn't it just make sense to connect rst_main_n directly in the design rather than passing it through the reset synchronization circuit?
Hello,
You are correct, although the reset synchronization is not absolutely required if using rst_main_n
in the ``clk_main_a0``` domain. However, for ease of timing closure we strongly recommend pipelining the reset and reducing the global asynchronous resets in the design.
Of course, reset synchronization is required if rst_main_n
is going to be used in other clock domains.
We hope that helps. Please let us know if you have any questions.
Thank you!
Chakra