Hardware Reference
In-Depth Information
Figure 8.35
pressed), and “1110” (key in row 4 pressed). Note that for the purposes of this exercise,
as well as for testing the solution with VHDL or SystemVerilog, the arrangement in
i gure 8.34 can be used equivalently. Assume a 1-ms debouncing interval, a 50-MHz
clock, and sequential encoding for the FSMs.
a) How many l ip-l ops are needed to implement the option in i gure 8.35a (or 8.34a)
with the debouncer of i gure 8.16c? Is this option capable of i ltering out invalid
codewords?
b) Draw a state transition diagram for an FSM capable of implementing the combined
debouncer of i gure 8.35b (or 8.34b). It must also be able to i lter out invalid codewords
(hence,
y
can only be “1111,” “0111,” “1011,” “1101,” or “1110”).
c) How many l ip-l ops are now required?
Exercise 8.10: Dependent Multisignal Debouncer with One-Shot Conversion
This exercise concerns the FSM1 block of i gure 8.19b, which must implement a two-
signal debouncer with one-shot output. Recall that
up
and
dn
are not supposed to be
high at the same time, so the machine should be able to i lter out invalid inputs (the
only values allowed for
x
1
x
2
are “00”, “10”, and “01”). Draw a state transition diagram
for this FSM.
Exercise 8.11: Arbitrary Reference-Value Defi ner with Up/Down Controls
Figure 8.19b shows an alternative for implementing a reference-value dei ner with up
and down controls, which is advantageous when the reference values are few and
irregular (arbitrary). The i rst block was already treated in the previous exercise. Draw
a state transition diagram for an FSM capable of implementing the second block, with
eight reference values (
r
1
,
r
2
, …,
r
8
). Recall that the inputs to this machine can only be
x
1
x
2
= “00” (
idle
), “10” (
up
), or “01” (
down
), with any nonzero input lasting only one
clock period (as determined by the previous block).
Exercise 8.12: Regular Reference-Value Defi ner with Up/Down Controls
Figure 8.19a shows an alternative for implementing a reference-value dei ner with up
and down controls, which is advantageous when the reference values are regularly