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 ago --- Quote Start --- If 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. --- Quote End --- Does Q2 feed to the registers' aclr port of the rest system? I mean Q2 is used as async reset in HDL coding?