Hardware Reference
In-Depth Information
Moore machines, whereas for asynchronous output a Mealy machine is the natural
choice.
Figure 8.27b shows three options for the asynchronous input: in graph 1,
x
lasts
one clock period; in graph 2, it lasts more than one clock period but not more than
T
; in graph 3, it lasts less than one (or even less than one-half of a) clock period. In
all cases the output pulse (
y
) must have the same length
T
. Because stretchers can be
synchronous or asynchronous, two options are shown for the output. In the asyn-
chronous case (upper plot for
y
), the output goes up as soon as the input goes up
(thus, the total length is obviously
T
), whereas in the synchronous case (lower plot
for
y
), the output changes only at clock edges. As usual, small propagation delays were
included between clock transitions and the corresponding responses to portray a
realistic situation.
Figure 8.27c shows three options for the synchronous input: in graph 4,
x
lasts one
clock period; in graph 5, it lasts more than one but less than
T
clock periods; in graph
6, it lasts at least one-half of a clock period. Again, the output can be asynchronous
(upper plot for
y
) or synchronous (lower plot for
y
). Note that the asynchronous output
looks synchronous, but rigorously speaking it is not because its starting point is deter-
mined by
x
, not directly by the clock. Observe that in the truly synchronous case the
negative clock edge was adopted for the FSM (so
x
and
y
are updated at opposite clock
edges).
Solutions for two of the cases presented in
>
i gure 8.27 are shown in
i gure 8.28. The
i rst solution is for the synchronous case of
i gure 8.27b, valid for inputs 1 and 2;
because this circuit is synchronous, it was implemented with a Moore machine (
i gure
Figure 8.28
(a) Moore solution for the synchronous case of i gure 8.27b, covering inputs 1-2, and (b) an
illustrative timing diagram. (c) Mealy solution for the asynchronous case of i gure 8.27c, covering
inputs 4-5, and (d) an illustrative timing diagram.