Continuing from our last article, Resets - I , this article
discusses the synchronous resets mentioned earlier and evaluates its pros and
cons.
Before continuing forward, a basic knowledge of the "Flip Flop" is assumed.
Synchronous Resets
Synchronous is derived from two terms “syn” meaning “same” +
“chronos” meaning “time” and how do we denote time in our systems? The answer
is Clocks. So going by the name, this reset occurs when the reset is HIGH/LOW
(depending on the type of reset) at a rising/falling clock edge (again
depending on whether the flop is positive edge triggered or negative edge
triggered). If the reset goes high (Assuming reset=1 put Q=0) in between any
time t, t+T (where T is the time period of the clock) and comes back to “0”,
the reset will not be registered. Or in other words there is no difference
between the D signal (Assuming a D type flop which is the industry standard)
and the reset signal as both of the signals are sampled at the
positive/negative edge of the clock.
Consider the diagrams below and it will make more sense:
Fig 1. D Flip Flop
Fig 2. Timing Diagram for D Flip Flop in fig1.
Note that
in above diagram we have assumed a Zero delay model for each of the signals
(Which is a deviation from the real world as it has delays, I will come back
with more on this)
From
above diagram it is easier to see that No matter what the value of D_flop
(which is the D input of the flop ) while the sync_reset is high, the Q_flop will be "0". Once the reset has been removed, Q_flop follows the D_flop.
The plus points of the synchronous reset are clearly visible:
1.
It
helps in glitch filtering (If they do not occur near the clock edge then the
glitch will not cause any harm to the circuit).
2.
Also
the (not so visible point) is that the flop circuit is simple and hence
consumes less area.
3.
The
resulting system is completely synchronous
The negative point lies in the plus point themselves:
1.
It
requires a clock in order to be sampled.
2. The
applied reset will have to strictly adhere to the requirements of setup and
hold times (provided in the “SPEC” sheet of the Flop) so that there are no
timing issues.
3. One
big problem which arises while using this kind of reset (because of the fact
that they are similar to data signals) is the synthesis. The synthesis tool may
not be able to differentiate between data and the reset as both are being
sampled on the clock edge. It becomes necessary then to tell the tool to add
certain “directives” which tell it that the input to “S or R” pin of the flop
is a “set or reset” signal.
4. Also
it may happen that the reset signal becomes the fastest timing path and then
would need a timing closure as it would be the critical path, which we
generally don’t want.
Synchronous designs have been the
preferred design for designers for the last few decades but with increasing
complexity newer approaches are being adopted by the industry (GALS being one
of them which I mentioned in
an earlier post).
Hope you liked the article.
Your feedback and comments are
welcome.
Upcoming Post : Reset - III
No comments:
Post a Comment