You are on page 1of 7

Lab 1 Physics 430 Laboratory Manual 1

LAB 1
Logic Gates, Flip Flops and Registers

In this first lab we assume that you know a little about logic gates and using them. The first
experiment is an exericse to help you review combinatorial logic. Then we apply flip-flops in one of
their most common uses: memory registers. Build these circuits on the Experimental Box
Breadboard area and use switches and LEDs on the "Stimulator" board.

1. Logic Gates and Combinatorial Logic: The Half-Adder


NAND gates and NOR gates are commonly used to build logic circuits because of their
flexibility. There are three tricks commonly used in digital design. The first is a result of DeMorgan's
theorem –(AB) = (–A)+(–B). This means that a NAND gate is the same as a "bubbled" OR gate.
Similarly, –(A+B) = (–A)(–B) so that NORs are also "bubbled" ANDS. This chameleon-like
character is illustrated symbolically in Fig. 1.1. The second useful trick is that when a bubble on a
gate's output is connected to another bubble on an input, the two bubbles cancel. This is written
symbolically –(–A) = A but can be remembered easily by the saying "bubbles burst bubbles." A
third trick that all digital designers have up their sleeves is how to make an inverter out of a NAND
gate or a NOR gate. This is generally done by tying both inputs of the NAND or NOR together. Fig
1.1 summarizes these three principles.

=
=
=
DeMorgan's Theorems Bubbles Burst Bubbles

= =
NANDs and NORs as NOTs

Fig. 1.1

As a first exercise, design an exclusive or gate, XOR, using NAND and NOR gates. The
XOR output can be viewed as the lowest order bit of the sum of its inputs. Next, extend this circuit
to make a half-adder which has two outputs. In addition to the low order sum bit which comes from
an XOR, it has a carry bit which is the high order bit. The truth table below illustrates the operation
of the half-adder. Modify your circuit to make a half-adder and test it. Use toggle switches for the
inputs and LEDs for the two output bits. Can you measure the gate delay between a change on
2 Physics 430 Laboratory Manual Lab 1

an input and the output change? For which output of the half-adder do you expect the largest
delay? Verify by measuring the delay if you can.

Truth Table for the Half-Adder


A B A⊕B AB
sum carry
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

2. Flip-flops and Registers


The simplest flip-flop is the NAND latch and its sister, the NOR latch. Each has four states.
Two of the states are called "Set" and "Reset" because they cause the output to be either high or
low. A third state is called the "Memory" state because this is the resting state where it retains the
last value established by either the set or reset input. The fourth state has indeterminant output
and is not used.
Prepackaged flip-flops like the 74LS74 D flip-flop have a clock input so that the data input
(D) is only valid during a clock edge. Some chips use rising edge trigger, while others use the
falling edge. Falling edge trigger is indicated by a bubble on the clock input in schematic
diagrams. The D flip-flops do not have an indeterminant state which must be avoided: all possible
inputs lead to a useful result.
Construct the simple memory register using two D-flip-flops as shown in Fig 1.2. The
74LS74 contains two D-type flip-flops. Most memory registers have eight or sixteen bits, but you
can get the general idea by just a two-bit register. In fact, if you are pressed for time, you can build
a single-bit register without loss of generality. Clock the register with a one Hz clock pulse and
change the inputs with toggle switches to check out its functioning. Connect the clear inputs to
+5 V.
Q0 Q1

D1

D0 D Q D Q

clock

Fig 1.2
Lab 1 Physics 430 Laboratory Manual 3

Most registers need a separate load-enable signal which tells it when to respond to the
clock signal and capture the input values. The previous register could do this by ANDing the clock
with an enable line so that the flip-flop would only trigger when both enable and clock became
high. This isn't such a good idea because of the delay in the AND gate. The register would be
activated a little later than the clock pulse edge. Normally digital circuits are designed so that all
actions are synchronized precisely with the clock edges. The circuit below allows a load input
while staying in synch with the clock. In this arrangement the load signal must be activated before
the clock edge. The minimum time between enable and clock edge is called the setup time, tsu .

Q0 Q1

D1

D0

load ...
load ...

D Q D Q

clr clr
...
clock
clear ...
Fig 1.3

Verify that the circuit of Fig. 1.3 works as a controlled buffer register. How much setup
time is required between load and the clock edge? Can you check this by measurement?

3. Open Collector Gates (7407)


The 7407 is a buffer chip with an open collector output. Open collector outputs are useful
for interfacing to devices which don't obey TTL conventions. For example, the voltage level for
high may not be in the 2.4 V to 5 V range, or a higher current drive may be needed. Some bus
designs use open-collector outputs so that several devices may share the same bus. If all devices
4 Physics 430 Laboratory Manual Lab 1

on the bus have a high output, then that bus signal is high. But if any device lowers its output,
then the bus signal is low.

to scope
channel A +5V

2.2 kΩ
100 kHz to scope
channel B

Fig. 1.4

In this experiment, connect the open collector output to +5 V through a 2.2 k resistor.
Accurately record the output vs. input waveforms. Now, in addition add a 100 to 120 pF capacitor
from the output to ground.
Explain and comment on the results.

4. Three State Outputs (74LS241)


Another way to connect outputs of several devices or registers to the same bus uses
three-state buffers. The enable signal of the buffer is used to connect only one of the registers to
the bus at a time. When the buffer is disabled or "three-stated," the high impedance between that
buffer's input and output effectively disconnects that device from the bus. Thus only one device
can be enabled at one time, the others being "three-stated."

100 kHz to scope


channel B

1 kHz

from switch

Fig. 1.5

Connect the inputs of two buffers of the 74LS241 to 100 kHz and 1 kHz clocks as shown
in Fig. 1.3. The two outputs are connected together and monitored by the scope. Use a switch to
alternately enable one clock signal or the other to the scope input. Accurately record the output.
Now put 100-120 pF from output to ground. Compare and contrast with part 3.
Lab 2 Physics 430 Laboratory Manual 5

LAB 2
Counters

1. The Ripple Counter


The ripple counter is the simplest counter you can build out of J-K flip-flops. All flip-flops
are put in toggle mode. The first one is actuated by the clock signal so its output will change every
second clock transistion. This output is then fed into the next flip-flop so its output changes every
fourth clock edge. Therefore the output of the first flip-flop is the lowest bit of the binary count,
the second is the second bit and so forth. The only problem with this kind of counter is the delay
from the input of one flip-flop to the next one which accumulates as the number of bits increase.
Still, if you only want to divide a high frequency clock signal by a lot, the ripple counter is a good
and simple way to do it.
+5V +5V
Q0 Q1

J Q J Q

Clock in
K K
CLR CLR

Fig. 2.1

Build this simple ripple counter and watch it work. Use LEDs to output the count and
either a slow clock or a toggle switch for the clock input. Put a fast clock signal in and look at the Q1
output frequency in relation to the input frequency.

2. The Synchronous Counter


The synchronous counter shown in Fig 2.2 is better for most counting applications
because all its bits change at the same time. In order to show the construction of a synchronous
counter we extend our diagram to include a third bit. See how the JK input of the higher order bits
must AND all previous bits. Thus flip-flop for bit n will toggle only when all lower order bits are high.
+5V
Q0 Q1 Q2

J Q J Q J Q

K K K
CLR CLR CLR

Clock in

Fig 2.2
6 Physics 430 Laboratory Manual Lab 2

Redesign this circuit to use a NAND or NOR gate instead of the AND gate. Build it and
verify that it works.

3. The Ring Counter


The ring counter’s output only has one high bit. It shifts this high bit right or left with each
clock pulse. When it reaches the last output it reverts back to the first position again. You should
build the ring counter shown in Fig 2.3 and see how it works. These counters are useful in
microprocessors where single instructions may take several clock cycles. A ring counter keeps
track of which phase of the instruction it’s in.
Q0 Q1 Q2

PR
D Q D Q D Q

CLR CLR

–Clear
Clock in

Fig. 2.3

4. 74LS161 four-bit binary counter


The 74LS161 is a prepackaged divide-by-sixteen counter that you will find useful.

LED 6
15
CY 11
6
SW 4 D QD
12
LED 4
5
+5V SW 3 C QC LED 3
4 13
SW 2 B QB LED 2
3 14
SW 1 A QA LED 1
9 1
LOAD CLR
ENP ENT CK
7 10 2
PB2 PB1
1 Hz

Fig. 2.4

With this setup you should be able to verify all aspects of 74LS161 operation: parallel
loading, clearing, and counting. Record results and prepare a table indicating the operations of
the device, including ENP = ENT = 0 or ENP = ENT = 1.
You can make a Divide-by-N counter where N is set by the parallel-load switches.
Disconnect the LOAD input from the pushbutton. Route the CY output through an inverter to the
Lab 2 Physics 430 Laboratory Manual 7

LOAD input. Now the counter will reload the parallel input bits when CY goes high. By loading in
the two’s complement of N you get the Divide-by-N counter.

5. The 74LS138 One-of-Eight Decoder

SW1 SW2 SW3

6 7
G1 Y7 Scope B
5 9
G2A Y6 Scope A
15 4 10
G2B Y5 LED6
6 CY 11 11
inputs D QD 74138 Y4 LED5
5 12 3 12
don't C
74161
QC C Y3 LED4
4 13 2 13
matter B QB B Y2 LED3
3 14 1 14
A QA A Y1 LED2
9 1 15
5V LOAD CLR Y0 LED1
ENP ENT CK
7 10 2
PB1
1 Hz

Fig. 2.5

This setup allows you to check out the entire truth table of the 74LS138. The value of
ABC cycles 0→1→2→3…→7→0. PB1 resets the value to 0 at any time. SW1, SW2 and SW3
control the enabling inputs. The six LEDs and the two scope channels monitor the eight outputs.
Verify the operation of the 74LS138 and prepare its complete truth table.