Shift Resister
Shift Resister
Introduction to Registers
Shift Registers
Lecture 1
Q Q Q Q
D D D D
CP
I3 I2 I1 I0
Registers With Parallel Load
Instead of loading the register at every clock pulse,
we may want to control when to load.
Loading a register: transfer new information into the
register. Requires a load control input.
Parallel loading: all bits are loaded simultaneously.
Registers With Parallel Load
Load'.A0 + Load. I0
Load
D Q A0
I0
D Q A1
I1
D Q A2
I2
D Q A3
I3
CLK
CLEAR
Using Registers to implement
Sequential Circuits
A sequential circuit may consist of a register
(memory) and a combinational circuit.
Next-state value
Register Combin-
Clock ational
circuit
Inputs Outputs
Present Next
state Input State Output
A1 A2 x A1+ A2+ y
0 0 0 0 0 0 A1.x' A
0 0 1 0 1 0 1
0 1 0 0 1 0 A2x A2
0 1 1 0 0 1
1 0 0 1 0 0
x y
1 0 1 0 1 0
1 1 0 1 1 0
1 1 1 0 0 1
Using Registers to implement
Sequential Circuits
Example 2: Repeat example 1, but use a ROM.
Address Outputs
1 2 3 1 2 3
0 0 0 0 0 0
0 0 1 0 1 0
0 1 0 0 1 0 A1
0 1 1 0 0 1 A2 8x3
1 0 0 1 0 0 ROM
1 0 1 0 1 0 x y
1 1 0 1 1 0
1 1 1 0 0 1
(a) Serial in/shift right/serial out (b) Serial in/shift left/serial out
Data in Data in
Data in
Data out
Data out
(c) Parallel in/serial out (d) Serial in/parallel out
Data out
(e) Parallel in /
parallel out
CLK
Serial In/Serial Out Shift Registers
Application: Serial transfer of data from one register
to another.
SI SO SI SO
Shift register A Shift register B
Clock CP
Shift control
Clock
Shift Wordtime
control
CP
T1 T2 T3 T4
Serial In/Serial Out Shift Registers
Serial-transfer example.
CLK
Q0 Q1 Q2 Q3
Q0 Q1 Q2 Q3
Parallel In/Serial Out Shift Registers
Bits are entered simultaneously, but output is serial.
Data input
D0 D1 D2 D3
SHIFT/LOAD
Serial
D Q D Q D Q D Q data
Q0 Q1 Q2 Q3 out
C C C C
CLK
SHIFT.Q0 + SHIFT'.D1
Parallel In/Serial Out Shift Registers
Bits are entered simultaneously, but output is serial.
Data in
D0 D1 D2 D3
SHIFT/LOAD SRG 4
Serial data out
CLK C
Logic symbol
Parallel In/Parallel Out Shift Registers
Simultaneous input and output of all data bits.
Parallel data inputs
D0 D1 D2 D3
D Q D Q D Q D Q
C C C C
CLK
Q0 Q1 Q2 Q3
RIGHT/LEFT
Serial
data in
RIGHT.Q0 + D Q D Q D Q D Q Q3
RIGHT'.Q2 Q1 Q2
C C C C
Q0
CLK
Bidirectional Shift Registers
4-bit bidirectional shift register with parallel load.
Parallel outputs
A4 A3 A2 A1
Q Q Q Q
Clear
D D D D
CLK
Serial
input for Serial
shift-right input for
I4 I3 I2 I1 shift-left
Parallel inputs
Bidirectional Shift Registers
4-bit bidirectional shift register with parallel load.
Mode Control
s1 s0 Register Operation
0 0 No change
0 1 Shift right
1 0 Shift left
1 1 Parallel load
An Application – Serial Addition
Most operations in digital computers are done in
parallel. Serial operations are slower but require less
equipment.
A serial adder is shown below. A A + B.
SI
Shift-right SO
Shift-register A x S
CP y FA
z C
SI
External input SO
Shift-register B
Q D
Clear
An Application – Serial Addition
A = 0100; B = 0111. A + B = 1011 is stored in A
after 4 clock pulses.
Initial: A: 0 1 0 0 Q: 0
B: 0 1 1 1
Step 1: 0 + 1 + 0 A: 1 0 1 0 Q: 0
S = 1, C = 0 B: x 0 1 1
Step 2: 0 + 1 + 0 A: 1 1 0 1 Q: 0
S = 1, C = 0 B: x x 0 1
Step 3: 1 + 1 + 0 A: 0 1 1 0 Q: 1
S = 0, C = 1 B: x x x 0
Step 4: 0 + 0 + 1 A: 1 0 1 1 Q: 0
S = 1, C = 0 B: x x x x