Difference between revisions of "CSC270 Exercises on FSM"

From dftwiki3
Jump to: navigation, search
(Exercise #5)
(Exercise #5)
Line 98: Line 98:
 
main()
 
main()
  
 +
</pre></code>
 +
 +
;Output
 +
 +
<code><pre>
 +
t  Q0 Q1 Q2
 +
----|------------
 +
0  0  0  0
 +
1  1  0  0
 +
2  0  1  0
 +
3  1  1  1
 +
4  0  0  0
 +
5  1  0  0
 +
6  0  1  0
 +
7  1  1  1
 +
8  0  0  0
 +
9  1  0  0
 +
10  0  1  0
 +
11  1  1  1
 +
12  0  0  0
 +
13  1  0  0
 +
14  0  1  0
 +
15  1  1  1
 +
16  0  0  0
 +
17  1  0  0
 +
18  0  1  0
 +
19  1  1  1
 
</pre></code>
 
</pre></code>
  
 
</onlydft>
 
</onlydft>

Revision as of 16:42, 28 February 2011

--D. Thiebaut 15:24, 28 February 2011 (EST)


Exercise #1

  • Implement a sequencer (FSM) which activates 3 Lights: a green light, a yellow light, and a red light. The behavior of the FSM is the following:
    • the green light stays on for 30 seconds, then
    • the yellow light comes on and stays on for 30 seconds, then
    • the red light comes on and stays on for 30 seconds, then we repeat the pattern.
  • There is only one light on at a given time.


GYRSequencer1.png


Exercise #2

  • Same as Exercise 1, but this time the behavior is the following
    • the green light comes on after the red light and stays on for 30 seconds,
    • the yellow light comes on and stays on for the next for 15 seconds,
    • the red light comes on after the yellow light for 30 seconds.


GYRSequencer2.png


Exercise #3

  • Create a "true" frequency divider that divides by 4.

Exercise #4

  • What is the state diagram of the 3-flip-flop circuit with the following equations:
     D0 = Q0'
     D1 = Q0 XOR Q1
     D2 = Q1 XOR Q2

Exercise #5

  • Same question, but solve it with Python.













...