Mallard ECE 290: Computer Engineering I  Spring 2007  ECE 290: L.
..
https://mallard.cites.uiuc.edu/ECE290/material.cgi?SessionID=mding3_.
..
1 of 4
4/20/2007 4:01 AM
ECE 290: LAB #5 (due March 16, 3 pm)
LAB 5: Design of a Sequential Circuit
1 Introduction
The state diagram of Figure 1 below implements a dividebysix circuit for unsigned binary numbers.
The circuit works as follows: Suppose the input sequence X = 10011
2
= 19
10
is applied over time beginning with the leftmost 1,
starting at state 000. The output sequence Z = 00011
2
= 3
10
represents the quotient of 18 ÷ 6 and the final state = 001
2
= 1
10
represents the remainder.
Now suppose that after the above calculation of 19 ÷ 6 another 1 is entered on the input line. Remember that the circuit was
already in state = 001. Now the overall input is X = 100111
2
= 39
10
. The overall output sequence Z = 000110
2
= 6
10
again
represents the quotient, this time for the division 39 ÷ 6, and the final state 011
2
= 3
10
again is the remainder.
Before coming to lab
you should design the logic circuit for the above state diagram using three JK flipflops to represent the
state variables Q
A
, Q
B
, and Q
C
. Use don't cares as necessary. To get complemented state variables (if needed), use the
complemented outputs of the flipflops, not inverters. You must show all of your work on the worksheet at the end of this lab.
Double check your Karnaugh maps and expressions before you start entering your circuit
!!!
In your ece290 work directory, create a new subdirectory,
lab5
, for this lab. When you open HDL Designer, create a new Library
Mapping called
LAB5
with this directory as the root. Fill in the title block as usual. The JK F/Fs that you will use are in the
moduleware
library, under the
Registers
category and are called
jkff
. An example of one is shown in Figure 2. Your design will
have many gates and wires, so try to keep things neat, but it's unavoidable for your design to look a bit cluttered when you're
done. In order to keep things straight, it's handy to add text to label each flipflop input with its boolean expression. You can do
this by using
Add>Comment Text
in the block diagram window. Also, if you need to use 0 or 1 as an input to a flip flop, use
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
This is the end of the preview.
Sign up
to
access the rest of the document.
 Spring '08
 Staff
 Input/output, Cybernetics, Mallard ECE

Click to edit the document details