PPT: Shift Registers

advertisement
Shift Registers
Last Mod: March 2014
 Paul R. Godin
Registers 1.1
Shift Register Applications

Shift Registers are an important Flip-Flop
configuration with a wide range of applications,
including:










Computer and Data Communications (Serial and Parallel)
Converting between serial and parallel applications
Multi-bit number storage
Sequencing (enabling system)
Basic arithmetic such as scaling (a serial shift to the left
or right will change the value of a binary number a power
of 2, like shifting a decimal point for a base-10 number)
Logical operations
Delay circuits
State machines
Parity circuits
…other applications
Registers 1.2
Parallel versus Serial

Serial communications: provides a binary
number as a sequence of binary digits, one
after another, through one data line.

Parallel communications: provides a binary
number as binary digits through multiple data
lines at the same time.
Registers 1.3
Shift Registers

Shift Registers are devices that store and move data
bits in serial (to the left or the right),

..or in parallel,

..or a combination of serial and parallel.
Registers 1.4
Configuration

In Shift Registers, the binary digit transfers (shifts)
from the output of one flip-flop to the input of the
next individual Flip-Flop at every clock edge.

Once the binary digits are shifted in, the individual
Flip-Flops will each retain a bit, and the whole
configuration will retain a binary number.
Registers 1.5
Construction

Shift registers are constructed from flip-flops due to their
characteristics:



Edge-triggered devices
Output state retention
Each Flip-Flop in a shift register can retain one binary digit.

For instance, if a 5-bit binary number needs to be stored and
shifted, 5 flip-flops are required.

Each binary digit transfer operation requires a clock edge.

Asynchronous inputs are useful in resetting the whole
configuration.
Registers 1.6
Shift Register Construction

Shift registers are comprised of D Flip-Flops that
share a common clock input.
D Q
D Q
D Q
Q
Q
Q
Registers 1.7
Combinations of Data Transfer Methods

SISO: Serial In, Serial Out
10110
10110
10110

SIPO: Serial In, Parallel Out 10110
10110

PISO: Parallel In, Serial Out

PIPO: Parallel In, Parallel Out
10110
10110
10110
How many clock edges are required for each operation?
Registers 1.8
SISO Flip-Flop Shift Register

a Serial In Serial Out shift register has a single
input and a single output
Input
D Q
D Q
D Q
Q
Q
Q
Output
Registers 1.9
SIPO Flip-Flop Shift Register

a Serial In Parallel Out shift register has a single
input and access to all outputs
Output
Input
Output
Output
D Q
D Q
D Q
Q
Q
Q
Registers 1.10
PISO Flip-Flop Shift Register

a Parallel In Serial Out shift register requires
additional gates. In this example the parallel input
must revert to logic low; in other configurations
steering gates are used to switch between loading and
shifting operations.
Input
Input
Input
Output
D Q
Q
D Q
D Q
Q
Q
Registers 1.11
PIPO Flip-Flop Shift Register

a Parallel In Parallel Out register has the simplest
configuration. It represents a memory device.
Input
Input
Input
D Q
D Q
D Q
Q
Q
Q
Output
Output
Output
Registers 1.12
Universal Shift Registers

Universal Shift Registers can be configured to
operate in a variety of modes.

Internally use steering gates to configure:





SIPO, PIPO, SISO, PISO operations
Shift Direction
Parallel input (load)
Hold
Refer to the manufacturer specification sheets for
more information.
Registers 1.13
Universal Shift Registers

Look up the 74LS194 and describe its function
by looking at the schematic. Fill in the table.
S0 S1
0
0
0
1
1
0
1
1
Mode
In-class exercise
14
Registers 1.14
Application: Parallel transferring the
contents of a Register to another register.
Describe where this
circuit combination
may be used.
Registers 1.15
JK Shift Registers
J-K Shift registers are seldom used, as two inputs (J,K)
are required to load the first flip-flop (note all others
receive only set or reset inputs).
Input
J
Q
J
Q
J
Q
Input
K
Q
K
Q
K
Q
Output
Registers 1.16
Ring Counter

A ring counter takes the serial output of the last
Flip-Flop of a shift register and provides it to the
serial input of the first Flip-Flop.

Ring Counters are also known as re-circulating shift
registers.

The display characteristics will be familiar…
Registers 1.17
Ring Counter
In Class: Build a ring counter using
electronics simulation tools
Registers 1.18
Self-Starting or Load on Power-up

There are several ways of loading values into a ring
counter on power-up:


RC circuit
Logic detection (similar to truncating a counter)
In Class: Add a self-starting circuit using electronics
simulation tools (note: the simulation software may not
realistically simulate start-up.
Registers 1.19
Johnson Counter

A Johnson Counter re-circulates the last flipflop Q (inverted) output back to the input of the
first Flip-Flop. It doesn’t require an
initialization value, and will provide a
predictable output state sequence.
Registers 1.20
Re-Circulating Counters
A 4-bit Johnson counter has a modulus of 8, meaning
there are 8 unique output states.
Johnson Counter
0000
1000
1100
1110
1111
8 unique states
0111
0011
0001
What is the modulus of a 5-bit counter? 6-bit counter?
Registers 1.21
State Diagram


A State Diagram is used to describe the
sequence of output states of a circuit.
The state diagram for the previous Johnson
counter looks like this:
1000
1100
0000
1110
0001
0011
1111
0111
Registers 1.22
Ring Counter Application

Some devices require scanning. Scanning is when
devices are enabled one at a time to:



check their status, or
enable their output
An example of scanning is for keyboard inputs. The
ring counter enables each of the keys in turn to check
on their state.
Registers 1.23
Ring Counter used to sequence a device
Decoder
Display Commons
Ring Counter
Registers 1.24
State Recognition

One application of registers is to recognize a specific binary
number. Sequences of bits are loaded in series into a register.
External detection gates will identify if the value matches a
predetermined value:
What value will this circuit detect?
Will this work with a Johnson counter?
25
Registers 1.25
Comparison of two values

Values stored in shift registers can be compared by using the
following circuit :
What is the output if both binary inputs are the same?
Registers 1.26
End
Paul R. Godin
prgodin@gmail.com
Registers 1.27
Download