Lecture 21
Princess Sumaya University 4241 – Digital Logic Design Computer Engineering Dept.
Registers
Group of D Flip-Flops I0 D Q A0
Store Data I1 D Q A1
I2 D Q A2
I3 D Q A3
CLK
R
2 / 28
Reset
Princess Sumaya University 4241 – Digital Logic Design Computer Engineering Dept.
Registers
I0 D Q A0
CLK
I3 R
I2 I1 D Q A1
I1
R
I0
A3 I2 D Q A2
A2 R
A1
I3 D Q A3
A0
CLK
Note: New data has to go in R
3 / 28
with every clock Reset
Princess Sumaya University 4241 – Digital Logic Design Computer Engineering Dept.
D7 Q7
R Q6
D6
E Q5
D5
G Q4 LD Q(t+1)
D4
I Q3 0 Q(t)
D3
S Q2 1 D
D2
T Q1
D1
E Q0
D0
R
LD
4 / 28
Princess Sumaya University 4241 – Digital Logic Design Computer Engineering Dept.
D7 Q7
R Q6 I0 D Q A0
D6
E Q5
D5
G Q4
D4 I1 D Q A
I Q3
D3 1
S Q2
D2
T Q1 I2 D Q A
D1
E Q0
D0 Delays 2
R the Clock
LD I3 D Q A
3
Load
CLK 5 / 28
Princess Sumaya University 4241 – Digital Logic Design Computer Engineering Dept.
Gating Clock
skew problem!
In a synchronous circuit clock skew (TSkew) is the
difference in the arrival time between two
sequentially-adjacent registers or flip flops.
6 / 28
Princess Sumaya University 4241 – Digital Logic Design Computer Engineering Dept.
Alternative
No clock gating
I0
MUX
Y D Q A0
I0 I1 S
I0
MUX
Y D Q A
I1 I1 S 1
I0
MUX
Y D Q A
I2 I1 S 2
I0
MUX
Y D Q A
I3 I1 S 3
8 / 28
Load CLK
Princess Sumaya University 4241 – Digital Logic Design Computer Engineering Dept.
2- Shift Registers
Serial SI SO
D Q D Q D Q D Q
Input Serial
Output
CLK
9 / 28
Princess Sumaya University 4241 – Digital Logic Design Computer Engineering Dept.
2- Shift Registers
Q3 Q2 Q1 Q0
SI D Q D Q D Q D Q SO
CLK
CLK
SI
Q3
Q2
Q1
Q0 10 / 28
Princess Sumaya University 4241 – Digital Logic Design Computer Engineering Dept.
Symbol
Serial Transfer
Example
Could shift
data in
Clocked 4 times
Fall 2005 ENG241/Digital Design
12
Princess Sumaya University 4241 – Digital Logic Design Computer Engineering Dept.
Example
Serial Addition
Shift SI
Control Shift Register A
x
S
yFA
C
z
CLK Shift Register B
Q D
CLR
Clear
15 / 28
Serial Addition Then shift through
adder into A. Added
to 0 if A is empty.
Register A
accumulates