P
pallav
Guest
I'm reading one of Cliff Cummings paper on using registered outputs to
get clean, glitch-free outputs (goal is to eventually implement a
synchronous FIFO). A question I have is, are registered outputs only
relevant for Mealy machines? I'm experimenting with a synchronous up/
down counter (Moore machine). I have two implementations:
sync_updown_counter is following the style presented in the paper. The
other implementation, sync_updown_counter1, is the typical way.
sync_updown_counter: http://www.pastey.net/122017
sync_updown_counter1: http://www.pastey.net/122018
I synthesized both designs using Synopsys Compiler with "compile -
exact_map". The exact map flags makes it strictly match the DFF in
HDL. The structure of sync_updown_counter is very clear. The "cloud"
combinational logic is on the left and goes into the flip flops. The
structure of the sync_updown_counter1 is not that organized. However,
the area of sync_updown_counter1 is less than sync_updown_counter by
about 60 units although they both use 4 flip-flops.
However, since the counter next state is only dependent on its current
state (i.e., a Moore machine), I don't think there will be a glitch
issue. Thus, is there a reason to use registered outputs for counters
or Moore machines in general?
Thanks for any insight.
Kind regards,
get clean, glitch-free outputs (goal is to eventually implement a
synchronous FIFO). A question I have is, are registered outputs only
relevant for Mealy machines? I'm experimenting with a synchronous up/
down counter (Moore machine). I have two implementations:
sync_updown_counter is following the style presented in the paper. The
other implementation, sync_updown_counter1, is the typical way.
sync_updown_counter: http://www.pastey.net/122017
sync_updown_counter1: http://www.pastey.net/122018
I synthesized both designs using Synopsys Compiler with "compile -
exact_map". The exact map flags makes it strictly match the DFF in
HDL. The structure of sync_updown_counter is very clear. The "cloud"
combinational logic is on the left and goes into the flip flops. The
structure of the sync_updown_counter1 is not that organized. However,
the area of sync_updown_counter1 is less than sync_updown_counter by
about 60 units although they both use 4 flip-flops.
However, since the counter next state is only dependent on its current
state (i.e., a Moore machine), I don't think there will be a glitch
issue. Thus, is there a reason to use registered outputs for counters
or Moore machines in general?
Thanks for any insight.
Kind regards,