Beruflich Dokumente
Kultur Dokumente
Digital Electronics
(EEE 365)
Muhammad Asad Rahman
Asst. Prof., Dept. of EEE
CUET
http:/asad31.webs.com
1
Sequential Logic
Counters and Registers
Counters
Registers
2
16-Jun-15
Introduction: Counters
Counters are circuits that cycle through a specified
number of states.
16-Jun-15
16-Jun-15
16-Jun-15
J
C
K
CLK
C
K
Q0
FF0
CLK
Q1
FF1
Q0
Timing diagram
Q0
Q1
00 01 10 11 00 ...
16-Jun-15
J
C
K
CLK
C
K
Q0
FF0
CLK
Q1
C
K
Q1
FF2
FF1
Q2
Q0
Q1
Q2
0
Recycles back to 0
16-Jun-15
16-Jun-15
J
C
K
CLK
Q1
C
K
FF0
Q2
C
K
FF1
Q3
C
K
FF2
FF3
CLK
1
10 11 12 13 14 15 16
Q0
Q1
Q2
Q3
Digital Systems Principles & Applications
by R. J. Tocci
16-Jun-15
CLK
Q0
Q1
Q2
tPLH
(CLK to Q0)
16-Jun-15
16-Jun-15
100 ns
CLK
Q0
Q1
Q2
50 ns
50 ns
50 ns
The 100 condition
does not occur.
16-Jun-15
All J, K
inputs
are 1
(HIGH).
16-Jun-15
CLK
K
Q
CLR
CLK
K
Q
CLR
CLK
K
Q
CLR
B
C
10
16-Jun-15
Example (contd):
C
CLK
K
Q
CLR
All J, K
inputs
are 1
(HIGH).
Clock
CLK
K
Q
CLR
CLK
K
Q
CLR
B
C
1
10 11 12
MOD-6 counter
produced by
clearing (a MOD-8
binary counter)
when count of six
(110) occurs.
A
B
C
NAND 1
Output 0
Digital Systems Principles & Applications
by R. J. Tocci
16-Jun-15
11
Clock
A 0
0 1
0 1
B 0
0 0
0 0
C 0
NAND 1
Output 0
1 1
0 0
Temporary
state
111
10 11 12
000
001
110
010
101
Counter is a MOD-6
counter.
011
100
16-Jun-15
12
16-Jun-15
K
CLR
K
CLR
K
CLR
K
CLR
C
D
E
F
K
CLR
K
CLR
All J = K = 1.
16-Jun-15
13
16-Jun-15
K
CLR
K
CLR
K
CLR
K
CLR
14
16-Jun-15
C
K
CLK
C
K
CLR
Clock
C
K
CLR
(A.C)'
C
K
CLR
CLR
10
D 0
C 0
B 0
A 0
11
NAND
output
Digital Systems Principles & Applications
by R. J. Tocci
16-Jun-15
15
Q0
Q1
C
K Q'
C
Q'
K
Q2
C
K Q'
3-bit binary
up counter
1
J
CLK
16-Jun-15
C
Q'
K
Q0
C
K Q'
Q1
Q2
C
K Q'
3-bit binary
down counter
16
16-Jun-15
1
J
CLK
Q0
Q1
C
K Q'
C
Q'
K
111
001
Q2
C
K Q'
010
110
011
101
100
CLK
Q0
Q1
Q2
16-Jun-15
17
be
Q
C
Q'
K
Q1
J
Q
C
K Q'
Modulus-4 counter
16-Jun-15
Q2
J
Q
C
Q'
K
Q3
J
Q
C
K Q'
Q4
J
Q
C
K Q'
Modulus-8 counter
18
16-Jun-15
A1
A2
A3
3-bit
binary counter
A4
A5
3-bit
binary counter
A5
A4
A3
A2
A1
A0
0
0
0
0
0
0
:
0
0
0
0
0
0
:
0
0
0
0
1
1
:
0
0
:
1
0
0
:
0
0
:
1
0
0
:
0
1
:
1
0
1
:
16-Jun-15
19
Display
A3
16-Jun-15
0-9
A2 A1 A0
Display
A3
0-9
Display
A2 A1 A0
A3
0-9
A2 A1 A0
BCD
counter
BCD
counter
BCD
counter
Hundreds
Tens
Units
Count
pulse
20
10
16-Jun-15
Example: 2-bit synchronous binary counter (using T flipflops, or JK flip-flops with identical J,K inputs).
00
01
11
10
Present
state
Next
state
Flip-flop
inputs
A1 A0
0
0
0
1
1
0
1
1
A1+ A0+
0
1
1
0
1
1
0
0
TA1 TA0
0
1
1
1
0
1
1
1
16-Jun-15
21
Next
state
Flip-flop
inputs
A1 A0
0
0
0
1
1
0
1
1
A1+ A0+
0
1
1
0
1
1
0
0
TA1 TA0
0
1
1
1
0
1
1
1
TA1 = A0
TA0 = 1
1
J
C
Q'
K
A0
A1
C
K Q'
CLK
16-Jun-15
22
11
16-Jun-15
A2+
0
0
0
1
1
1
1
0
Next
state
A1+
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
A1
A1
1
A2
Flip-flop
inputs
TA2 TA1 TA0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
A0+
A2
1
A0
A1
A2
A0
TA2 = A1.A0
A0
TA1 = A0
TA0 = 1
16-Jun-15
23
TA1 = A0
TA0 = 1
A2
A1
Q
J
A0
Q
J
Q
J
CP
1
16-Jun-15
24
12
16-Jun-15
or
16-Jun-15
25
1
J
C
Q'
K
A0
C
K Q'
A1
A2.A1.A0
Q
A2
C
K Q'
A3
C
K Q'
CLK
16-Jun-15
26
13
16-Jun-15
Q3
Q2
Q1
Q0
Initially
1
2
3
4
5
6
7
8
9
10 (recycle)
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
0
T0 = 1
T1 = Q3'.Q0
T2 = Q1.Q0
T3 = Q2.Q1.Q0 + Q3.Q0
16-Jun-15
27
Q0
1
T
C
Q
Q'
T
C
Q
Q'
Q1
T
C
Q2
Q'
T
C
Q3
Q'
CLK
16-Jun-15
28
14
16-Jun-15
Q0
1
T
C
Q
Q'
T
C
Q1
Q'
T
C
Q2
Q'
T
C
Q3
Q'
CLK
16-Jun-15
29
16-Jun-15
30
15
16-Jun-15
Up
Q2
Q1
Q0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
2
3
4
5
6
7
Down
Up counter
TQ0 = 1
TQ1 = Q0
TQ2 = Q0.Q1
TQ0 = 1
TQ1 = (Q0.Up) + (Q0'.Up' )
TQ2 = ( Q0.Q1.Up ) + (Q0'. Q1'. Up' )
Down counter
TQ0 = 1
TQ1 = Q0
TQ2 = Q0.Q1
16-Jun-15
31
Q0
Up/down
T
C
Q
Q'
Q1
T
C
Q
Q'
T
C
Q2
Q'
CLK
16-Jun-15
32
16
16-Jun-15
000
001
100
101
011
111
010
110
Present
state
Q2 Q1 Q0
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Q2 +
0
0
1
0
0
1
1
1
Next
state
Q1 +
0
1
1
1
0
0
1
0
Q0 +
1
1
0
0
0
0
1
1
JQ2 KQ2
0
X
0
X
1
X
0
X
X
1
X
0
X
0
X
0
Flip-flop
inputs
JQ1 KQ1 JQ0 KQ0
0
X
1
X
1
X
X
0
X
0
0
X
X
0
X
1
0
X
0
X
0
X
X
1
X
0
1
X
X
1
X
0
16-Jun-15
33
Q2
Q 1Q 0
00
01 11
0
1
10
1
Q2
00
0 X
01 11
X X
10
X
1 1
KQ2 = Q1'.Q0'
16-Jun-15
01 11
1
X
10
X
Q 1Q 0
00
0
JQ1 = Q2'.Q0
JQ2 = Q1.Q0'
Q2
Q 1Q 0
Q2
Q 1Q 0
00
0 X
01 11
X
1 X
10
Q2
00
0 1
01 11
X X
10
KQ1 = Q2.Q0
Q 1Q 0
Q 1Q 0
00
0 X
01 11
1
10
X
1 X
34
17
16-Jun-15
Q0
C
K Q'
CLK
16-Jun-15
JQ1 = Q2'.Q0
KQ1 = Q2.Q0
Q0
'
Q1
C
Q1
K Q' '
C
K Q'
Q2
Q2
'
35
Decoding A Counter
Decoding a counter involves determining which state in
the sequence the counter is in.
16-Jun-15
36
18
16-Jun-15
Decoding A Counter
Example: MOD-8 ripple counter (active-HIGH decoding).
Clock
10
A'
B'
C'
HIGH only on
count of ABC = 000
A'
B'
C
HIGH only on
count of ABC = 001
A'
B
C'
HIGH only on
count of ABC = 010
.
.
.
A
B
C
HIGH only on
count of ABC = 111
16-Jun-15
37
Decoding A Counter
Example: To detect that a MOD-8 counter is in state 0
(000) or state 1 (001).
A'
B'
C'
A'
B'
C
Clock
10
HIGH only on
count of ABC = 000
or ABC = 001
A'
B'
16-Jun-15
10
38
19
16-Jun-15
functionality.
16-Jun-15
39
1
0
1
Next state
16-Jun-15
40
20
16-Jun-15
Load
I4 I3 I2 I1
A4 A3 A2 A1
Count = 1
Clear = 1
CP
I4 I3 I2 I1
Inputs = 0
A4 A3 A2 A1
A4 A3 A2 A1
Carry-out
Load
I4 I3 I2 I1
Count = 1
Clear = 1
CP
Load
I4 I3 I2 I1
1 0 1 0
Count = 1
Clear = 1
CP
0 0 1 1
Count = 1
Load = 0
CP
Clear
41
Introduction: Registers
An n-bit register has a group of n flip-flops and some
logic gates and is capable of storing n bits of information.
16-Jun-15
42
21
16-Jun-15
Simple Registers
No external gates.
Example: A 4-bit register. A new 4-bit data is loaded
every clock cycle.
A3
A2
A1
A0
I3
I2
I1
I0
CP
16-Jun-15
43
16-Jun-15
44
22
16-Jun-15
Load
D Q
A0
D Q
A1
D Q
A2
D Q
A3
I0
I1
I2
I3
CLK
CLEAR
Digital Logic & Computer Design
by M. Morris Mano
16-Jun-15
45
Combinational
circuit
Inputs
Outputs
components
and
46
23
16-Jun-15
Example 1:
A1+ = m(4,6) = A1.x'
A2+ = m(1,2,5,6) = A2.x' + A2'.x = A2 x
y = m(3,7) = A2.x
Present
state
A1 A2
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
Input
x
0
1
0
1
0
1
0
1
Next
State
A1+ A2+
0
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0
Output
y
0
0
0
1
0
0
0
1
A1.x' A
1
A2x
A2
y
16-Jun-15
47
1
0
0
0
0
1
0
1
0
Outputs
2
3
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
A1
A2
x
1
2
3
8x3
ROM
2
3
16-Jun-15
48
24
16-Jun-15
Shift Registers
Another function of a register, besides storage, is to
provide for data movements.
16-Jun-15
49
Shift Registers
Basic data movement in shift registers (four bits are
used for illustration).
Data in
Data out
Data out
Data in
Data out
Data in
Data out
(e) Parallel in /
parallel out
(f) Rotate right
16-Jun-15
50
25
16-Jun-15
Serial data
input
D Q
Q0
D Q
Q1
D Q
Q2
D Q
Q3
Serial data
output
CLK
16-Jun-15
51
Shift register A
SO
SI
Shift register B
SO
CP
Clock
Shift
control
CP
16-Jun-15
Wordtime
T1
T2
T3
T4
52
26
16-Jun-15
Initial value
After T1
After T2
After T3
After T4
SI
Shift register B
SO
CP
Clock
Shift control
Timing Pulse
SO
Shift register A
Shift register A
1
1
1
0
1
0
1
1
1
0
1
0
1
1
1
Shift register B
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
1
0
0
1
1
Serial output of B
0
1
0
0
1
0
1
0
0
1
16-Jun-15
53
D Q
D Q
D Q
D Q
CLK
Q0
Q1
Data input
CLK
Q2
Q3
SRG 4
Logic symbol
C
Q0 Q1 Q2 Q3
16-Jun-15
54
27
16-Jun-15
D1
D2
D3
SHIFT/LOAD
D Q
C
D Q
Q0
Q1
D Q
C
Q2
D Q
C
Serial
data
Q3 out
CLK
SHIFT.Q0 + SHIFT'.D1
16-Jun-15
55
SRG 4
C
Logic symbol
16-Jun-15
56
28
16-Jun-15
D1
D2
D3
D Q
D Q
D Q
D Q
CLK
Q0
Q1
Q2
Q3
16-Jun-15
57
RIGHT.Q0 +
RIGHT'.Q2
D Q
D Q
Q1
D Q
C
Q2
D Q
Q3
Q0
CLK
16-Jun-15
58
29
16-Jun-15
Clear
A4
A3
A2
A1
CLK
s1
s0
Serial
input for
shift-right
4x1
MUX
3 2 1 0
4x1
MUX
3 2 1 0
4x1
MUX
3 2 1 0
4x1
MUX
3 2 1 0
I4
I3
I2
I1
Serial
input for
shift-left
Parallel inputs
Digital Logic & Computer Design
by M. Morris Mano
16-Jun-15
59
16-Jun-15
0
1
0
1
Register Operation
No change
Shift right
Shift left
Parallel load
60
30
16-Jun-15
Shift-register A
SI
Shift-register B
SO
x
S
y FA
C
z
SO
Q D
Clear
Digital Logic & Computer Design
by M. Morris Mano
16-Jun-15
61
16-Jun-15
Initial:
A: 0 1 0 0
B: 0 1 1 1
Q: 0
Step 1: 0 + 1 + 0
S = 1, C = 0
A: 1 0 1 0
B: x 0 1 1
Q: 0
Step 2: 0 + 1 + 0
S = 1, C = 0
A: 1 1 0 1
B: x x 0 1
Q: 0
Step 3: 1 + 1 + 0
S = 0, C = 1
A: 0 1 1 0
B: x x x 0
Q: 1
Step 4: 0 + 0 + 1
S = 1, C = 0
A: 1 0 1 1
B: x x x x
Q: 0
62
31
16-Jun-15
16-Jun-15
63
Ring Counters
One flip-flop (stage) for each state in the sequence.
The output of the last stage is connected to the D input
of the first stage.
16-Jun-15
64
32
16-Jun-15
Ring Counters
Example: A 6-bit (MOD-6) ring counter.
PRE
D Q
Q0
D Q
Q1
D Q
Q2
D Q
Q3
D Q
Q4
D Q
Q5
CLR
CLK
Clock
0
1
2
3
4
5
16-Jun-15
Q0
1
0
0
0
0
0
Q1
0
1
0
0
0
0
Q2
0
0
1
0
0
0
Q3
0
0
0
1
0
0
Q4
0
0
0
0
1
0
Q5
0
0
0
0
0
1
100000
000001
010000
000010
001000
000100
65
Johnson Counters
The complement of the output of the last stage is
connected back to the D input of the first stage.
16-Jun-15
66
33
16-Jun-15
Johnson Counters
Example: A 4-bit (MOD-8) Johnson counter.
D Q
Q0
D Q
Q1
Q2
D Q
D Q
Q'
Q3'
CLR
CLK
Q0
0
1
1
1
1
0
0
0
Clock
0
1
2
3
4
5
6
7
Q1
0
0
1
1
1
1
0
0
Q2
0
0
0
1
1
1
1
0
Q3
0
0
0
0
1
1
1
1
0000
0001
1000
0011
1100
0111
1110
1111
16-Jun-15
67
Johnson Counters
Decoding logic for a 4-bit Johnson counter.
Clock
0
1
2
3
4
5
6
7
16-Jun-15
A
0
1
1
1
1
0
0
0
B
0
0
1
1
1
1
0
0
C
0
0
0
1
1
1
1
0
D
0
0
0
0
1
1
1
1
Decoding
A'.D'
A.B'
B.C'
C.D'
A.D
A'.B
B'.C
C'.D
A'
D'
State 0
A
B'
State 1
B
C'
State 2
C
D'
State 3
B'
C
State 6
A
D
State 4
C'
D
State 7
A'
B
State 5
68
34
16-Jun-15
The End
35