Forum Discussion
Altera_Forum
Honored Contributor
13 years agoThe asynchronous set/reset is not bad if used correctly. Note that TimeQuest analyzes them as if they were synchronous, so they should not have any timing violations. (The user can always false path these paths though...). Note that some systems require an asynchronous reset, so that the system can be reset even if the clock disappears. For example, think of a medical device that is putting out radiation, and the clock driver goes bad. With an asynchronous reset the system can clear it's state and go to a non-radiating state without the clock. The circuit used for this is an asynchronous assert, synchronous de-assert circuit. Go to alterawiki.com, pull up my TimeQuest User Guide, and go to the section on Recovery and Removal.
As for ripple clocks, that generally are not good, so I'm surprised you see them, but occasionally they can be useful. I also see some designs with tons of gated clocks, not because they want to, but because they have to(large clock muxes are the best example). These are things that should be avoided when possible, but carefully designed for when it is an absolute requirement.