Professional Documents
Culture Documents
extracts from:
http://www.elec.uq.edu.au/~3e211/pracs/prac2/prac2.htm
Dept. of Computer Science and Electrical Engineering
The University of Queensland
St. Lucia Qld 4072 Australia
The memory elements in a sequential circuit are called flip-flops. A flip-flop circuit has two
outputs, one for the normal value and one for the complement value of the stored bit. Binary
information can enter a flip-flop in a variety of ways and gives rise to different types of flipflops.
Introduction - D Flip-Flop
The D flip-flop shown in Figure 5 is a modification of the clocked SR flip-flop. The D input goes
directly into the S input and the complement of the D input goes to the R input. The D input is
sampled during the occurrence of a clock pulse. If it is 1, the flip-flop is switched to the set state
(unless it was already set). If it is 0, the flip-flop switches to the clear state.
Introduction - JK Flip-Flop
A JK flip-flop is a refinement of the SR flip-flop in that the indeterminate state of the SR type is
defined in the JK type. Inputs J and K behave like inputs S and R to set and clear the flip-flop
(note that in a JK flip-flop, the letter J is for set and the letter K is for clear). When logic 1 inputs
are applied to both J and K simultaneously, the flip-flop switches to its complement state, ie., if
Q=1, it switches to Q=0 and vice versa.
A clocked JK flip-flop is shown in Figure 6. Output Q is ANDed with K and CP inputs so that
the flip-flop is cleared during a clock pulse only if Q was previously 1. Similarly, ouput Q' is
ANDed with J and CP inputs so that the flip-flop is set with a clock pulse only if Q' was
previously 1.
Note that because of the feedback connection in the JK flip-flop, a CP signal which remains a 1
(while J=K=1) after the outputs have been complemented once will cause repeated and
continuous transitions of the outputs. To avoid this, the clock pulses must have a time duration
less than the propagation delay through the flip-flop. The restriction on the pulse width can be
eliminated with a master-slave or edge-triggered construction. The same reasoning also applies
to the T flip-flop presented next.
Introduction - T Flip-Flop
The T flip-flop is a single input version of the JK flip-flop. As shown in Figure 7, the T flip-flop
is obtained from the JK type if both inputs are tied together. The output of the T flip-flop
"toggles" with each clock pulse.
the flip-flops are indeterminate. Activating the clear input clears all the flip-flops to an initial
state of 0. The graphic symbol of a JK flip-flop with an active-low clear is shown in Figure 12.
Preparation
Prepare the following in your prac book:
Basic Flip-Flop
i.
ii.
Draw the logic circuit implemented with gates for the SR master-slave flip-flop in Figure
9. Use NOR gate flip-flops.
Enter the expected timing diagram for the signals Y, Y', Q, and Q' in Figure 15.
Draw the logic circuit for the D-type positive-edge triggered flip-flop in Figure 11.
Enter the expected timing diagram for the signals S, R, Q, and Q' in Figure 16.
Procedure
Use LogicWorks to simulate the circuits that you have prepared. Use switches from the I/O
library for the inputs and probes from the I/O library for the outputs. Place signal names on the
circuit so that the signals are visible in the timing window. Create a separate drawing for each
circuit.
To be sure that your circuits don't cross the printing page boundaries, check the Show Page
Outlines option from the Drawing|Display Options... menu.
Only print out the circuit and waveforms for the SR master-slave flip-flop.
Back to Contents
Equipment
Back to Contents
References
Back to Contents
The JK Flip-Flop
To prevent any possibility of a "race" condition occurring when both the S and R
inputs are at logic 1 when the CLK input falls from logic 1 to logic 0, we must
somehow prevent one of those inputs from having an effect on the master latch in the
circuit. At the same time, we still want the flip-flop to be able to change state on each
falling edge of the CLK input, if the input logic signals call for this. Therefore, the S or
R input to be disabled depends on the current state of the slave latch outputs.
If the Q output is a logic 1 (the flip-flop is in the "Set" state), the S input can't make
it any more set than it already is. Therefore, we can disable the S input without
disabling the flip-flop under these conditions. In the same way, if the Q output is logic
0 (the flip-flop is Reset), the R input can be disabled without causing any harm. If we
can accomplish this without too much trouble, we will have solved the problem of the
"race" condition.
The circuit below shows the solution. To the RS flip-flop we have added two new
connections from the Q and Q' outputs back to the original input gates. Remember that
a NAND gate may have any number of inputs, so this causes no trouble. To show that
we have done this, we change the designations of the logic inputs and of the flip-flop
itself. The inputs are now designated J (instead of S) and K (instead of R). The entire
circuit is known as a JK flip-flop.
In most ways, the JK flip-flop behaves just like the RS flip-flop. The Q and Q'
outputs will only change state on the falling edge of the CLK signal, and the J and K
inputs will control the future output state pretty much as before. However, there are
some important differences.
Since one of the two logic inputs is always disabled according to the output state of
the overall flip-flop, the master latch cannot change state back and forth while the CLK
input is at logic 1. Instead, the enabled input can change the state of the master latch
once, after which this latch will not change again. This was not true of the RS flip-flop.
If both the J and K inputs are held at logic 1 and the CLK signal continues to
change, the Q and Q' outputs will simply change state with each falling edge of the
CLK signal. (The master latch circuit will change state with each rising edge of CLK.)
We can use this characteristic to advantage in a number of ways. A flip-flop built
specifically to operate this way is typically designated as a T (for Toggle) flip-flop. The
lone T input is in fact the CLK input for other types of flip-flops.
The JK flip-flop must be edge triggered in this manner. Any level-triggered JK latch
circuit will oscillate rapidly if all three inputs are held at logic 1. This is not very
useful. For the same reason, the T flip-flop must also be edge triggered. For both types,
this is the only way to ensure that the flip-flop will change state only once on any
given clock pulse.
At the same time, there are some additional useful configurations of both latches
and flip-flops. In the next pages, we will look first at the major configurations and note
their properties. Then we will see how multiple flip-flops or latches can be combined
to perform useful functions and operations.
Inverters and gates are combinational logic devices because they merely combine inputs according to their logic
function and output the result. Time is not really involved. Sequential logic devices have memory or states.
A flip-flop is a basic memory device that can store one bit of information. The simplest "flop" can be made of two
inverting gates. NOR and NAND flops are shown below. For the NOR-implemented flop, assume that the Q output
is 0 and /Q = 1. (The "/" is "NOT" so that /Q is the logic inverse or complement of Q.) The flop is in the reset state.
Assume also that the S (set) and R (reset) inputs are at 0.
The S input logic level now changes from 0 to 1. This causes the upper NOR gate output to change to 0, so that
/Q = 0. The /Q input to the lower NOR gate allows its output to change so that Q = 1. The flop has changed state,
from Q = 0, to Q = 1. The Q input to the upper gate forces its output to remain 0 so that the S input no longer
matters; it can be 0 or 1 and the flop state remains. The flop "remembers" the state it changed to regardless of the
subsequent S input. Consequently, only a high pulse on S causes the flop to be set (Q = 1). A high pulse on R will
now cause the flop to change state (be reset) so that Q = 0.
The NAND-gate RS flop, works similarly, but with low-going input pulses. By alternately applying low pulses to its
S and R inputs, the flop alternates between states
RS Flip-Flop