Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between Synchronous and Asynchronous reset in Flip Flops

always @ (posedge clk or negedge reset )
begin
//Asynchrous FF
end


always @(posedge clk)
begin
if (reset)
// Synchronous FF
end

What is the difference in the following implementations ? I mean in terms of number of size of the FF . Why and How are they synthesized by the Synthesizer?

like image 989
chitranna Avatar asked Sep 05 '25 03:09

chitranna


1 Answers

An asynchronous reset implies that you have a FF in your library that actually has a async clear (or async set) input. These tend to be a little larger than FFs that do not have these inputs, but this will vary depending on your libraries. These function such that as soon as the rest signal is asserted the Q of the FF will assume the reset state.

A synchronous reset will be implemented by including the reset signal in the fan-in cone of the D input of the FF. This means that when reset is asserted it will not take effect until the next active edge of your clock.

Precisely when you should use one over the other is an expansive subject.

like image 193
Brian Magnuson Avatar answered Sep 10 '25 02:09

Brian Magnuson