Forum Discussion
Altera_Forum
Honored Contributor
11 years agoQuestion about sync/async reset and recovery/removal
I understand most of the recommendation when implementing reset scheme is using asynchronous assertion and synchronous deassertion. My question is why do we need sync deassertion given that it is alr...
Altera_Forum
Honored Contributor
11 years agoIf reset is not pre-synchronised it means it will be be de-asserted anytime and so it will fail timing. In fact Timequest cannot report on a path unless it is between two registers (including outside io registers).
The output of double synchroniser is synchronised since it is the D input that matters here. D1 starts and stays as '1' from powerup then when reset is de-asserted i.e. changes '0'=> '1' Q1 changes from '0' => '1' ( on clock edge but de-assertion can be at any time relative to clock edge) then Q2 changes from '0' to '1' on next clock edge while reset has been '1' for one clock period. Q2 is then used as reset for the system registers.