This preview shows pages 1–3. Sign up to view the full content.
CPE 229 Course Notes: Lecture 3
Copyright: 2005 Bryan Mealy
The Real FSM Story
Up until now, we have taken two approaches to learning the ins and outs (pun intended) of finite state
machines: analysis and design. The approach we took in these types of problems was wellstructured which
hopefully helped to offer some insights into the workings of the FSM. As you probably also may have
noticed, the approach was somewhat tedious. The only saving grace for this approach to FSM problems
was the fact that the problems were not too complex. The key word in the previous sentence is “complex”.
The characteristic that made the approach complex was the fact that all of the inputs to the Next State
Decoder (see Figure 1) necessarily appeared as independent variables in the resulting truth table. Figure 1
shows a block diagram of a FSM (Mooretype). So long as the inputs to the Next State Decoder block
remained relatively few, the resulting truth table remained relatively small the problems remained relatively
doable. The problem is that complex problems were not doable with this approach (and even the simple
ones took too long to do).
The approach we’ve used to design FSMs is referred to as the
classical
approach. Although it is instructive
and interesting (and tedious), we need to come up with other techniques to allow us to work with more
complex problems. This set of notes provides the background and example of the “new” FSM techniques
that allow us to move past the grunt limitations presented by the classical FSM approach (truth table and K
mapbased). The first part of this set of notes provides an example that shows the motivation behind the
new approaches. The second example shows an actual application of the techniques.
Figure 1: A block diagram for a FSM (Mooremachine).
Motivation for the New FSM Techniques
Consider the simple counter design shown in Figure 2(a). The associated PS/NS table is shown in Figure 2
(b). MOST IMPORTANT FACT: We’ll be mostly interested in the Y1
Y1
+
transition in this motivational
example. This is because the Y1 state variable represents every possible transition for a single storage
element: (0
0, 0
1, 1
1, and 1
0). The Y2 variable is shown in the following text but it is less
instructive because not all the possible state transitions are represented.
Y1
Y2
Y1
+
Y2
+
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
(a)
(b)
Figure 2: State diagram and PS/NS table for simple counter.
1
This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentCPE 229
Lecture 3 Notes
For this example, we’ll be generating the excitation inputs for D, T, and JK flipflops. In other words, we
want to implement this counter using two D’s, then two T’s, then two JK flipflops.
Figure 3 shows the excitation data for the D1 and D2 flipflops. Note that the D1 and D2 columns match
the corresponding nextstate variables which is necessarily true for D flipflops
1
. From this point, using the
classical FSM approach, you would then drop the D1 and D2 excitation data into a Kmap and generate the
This is the end of the preview. Sign up
to
access the rest of the document.
 Spring '09
 smith

Click to edit the document details