03 DigitalComponents
03 DigitalComponents
Basic Components
Outline
• Decoders
• Multiplexers
• Registers
• Binary Counters
• Memory
3-to-8 Line Decoder
D0
• A decoder is a combinational circuit
• It activates the output bit that
D1
corresponds to the binary number at
the input
D2
• For n-bit binary input there could be up
to 2n-bit output.
D3
• An n-input m-output decoder is called
an n-to-m line decoder, where m ≤ 2n.
D4
D5
D6
D7
3-to-8 Line Decoder
D0
A B C D0 D1 D2 D3 D4 D5 D6 D7 D1
(0) 0 0 0 1 0 0 0 0 0 0 0 D2
(1) 0 0 1 0 1 0 0 0 0 0 0
(2) 0 1 0 0 0 1 0 0 0 0 0 D3
(3) 0 1 1 0 0 0 1 0 0 0 0
(4) 1 0 0 0 0 0 0 1 0 0 0 D4
(5) 1 0 1 0 0 0 0 0 1 0 0
(6) 1 1 0 0 0 0 0 0 0 1 0 D5
(7) 1 1 1 0 0 0 0 0 0 0 1
D6
D7
Decoder Example
A B C D
Y0
Y1
Y0
• Implement the Y1
A Y2
Y2
following EW
functions using a
Y3 B Y3
decoder and OR Y4 C Y4
gates: Y5 D Y5
Y6
Y6
Y7
EW = Σ (1, 2, 3, 7, 11) Y7
Y8
Y8
Y9
NS = Σ (0, 4, 5, 6, 9, 10, Y9 Y10 NS
12, 13, 14, 15) Y10 Y11
Y11 Y12
Y12
Y13
Y14
Y13
Y15
Y14
Y15
3-to-8 Decoder (74 138)
D7 D6 D5 D4 D3 D2 D1 D0 A2 A1 A0
0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 0 0 0 1
0 0 0 0 0 1 0 0 0 1 0
0 0 0 0 1 0 0 0 0 1 1
0 0 0 1 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0 1 0 1
0 1 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 1 1 1
Decoder in Action
Random-access
memory
(RAM)
Decodes CPU device select to enable the output device
Central
Processing Unit
(CPU) Output
Devices
Input Memory stick
I0 E A1 A0
D0
I1
D1 I0
Z
I2 D2
I1
I3 Z
D3 I2
0 1 2 3
I3
2-to-4 decoder
A1 A0 E
Central
Input Processing Unit
Devices (CPU) Output
Devices
Memory stick
16x1 MUX
1
0 Σ (1, 2, 3, 7, 11)
0
0
1
0
0
0
0
C1 C2 C3 C4
Logic Function Implementation with MUX
8x1 MUX
Logic Function Implementation with MUX
4x1 MUX
Logic Function Implementation with MUX
00 0000 X 1
01 0001 1
02 0010 1 0
03 0011 1
04 0100 x C3
05 0101 0
06 0110 0 0
07 0111 1
08 1000 0 C3
09 1001 0
10 1010 0 0
11 1011 1
12 1100 0 0
13 1101 x
14 1110 0
15 1111 0
MEV K-maps Minimization
D C D C D C D C D C D C D C D C
C Dn Qn Qn+1
• • • • • • • 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0 0 1 0
1 0 1
Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0
1 1 1
C
Characteristic Table
D7 D6 D5 D4 D3 D2 D1 D0
Register with Parallel Load
State Register
Q1 Q1 0M
Qk
Flip Flops
Sn+1 = δ(Sn,Xn)
DB1 DB2 D Q
U
Q2 Q2 DBk 1
X CLK Qk
DB2 DB1 Q
R
Q3 Q3
DB3 DB0
D0=Q1
D2=Q3
D1=Q2
serial input = D3
D Q D Q D Q D Q
Q0 =
C C C C
serial
28 output
clock
Multi-function Registers
S1 S0 Register operation A3
I3
Register
00 No change (msb)
01 Shift right (msblsb) I2 A2
10 Shift left (lsb msb)
I1 A1
11 Parallel load
I0 A0
(lsb)
Multi-function Registers
Serial In S1 S0 CL
CK
f30 0 M D3 Q
f31 1
U A3
f32 2 CLK (msb)
I3 f33 3 X Q
R
f20 0 M D2 Q
f21 1
U A2
S1 S0 Function I2 f23
f22 2
3 X
CLK
Q
R
(f0) 0 0 No Change=Store
(f1) 0 1 Shift Right: direction msb→lsb
(f2) 1 0 Shift Left: direction lsb →msb
f10 M
(f3) 1 1 Parallel Load DB I1
0 D1 Q
f11 1
U A1
f12 2 CLK
f13 3 X Q
R
f00 0 M D0 Q
f01 1
U A0
f02 2 CLK (lsb)
I0 f03 3 X Q
R
Common sense design strategies
(msb)
State Register
Q2
Flip Flops
Sn+1 = δ(Sn,Xn)
I2 A2 I2
Q1
I1 A1 I1
A0 (lsb) Q0
I0 I0
Steps 1,2
S1 S0 Akn+1 Function
(f0) 0 0 Akn No Change=Store (k={0,1,2,3})
(f1) 0 1 Ank+1 Shift Right (k={0,1,2}: msb->lsb & D3=Serial In)
(f2) 1 0 Ank-1 Shift Left (k={1,2,3}: lsb => msb & D0=Serial In)
(f3) 1 1 Ik Parallel Load (k={0,1,2,3})
State / Transition
Table (MEV format)
Top-down design S1 S0 CL
CK
S1 S0 Dk = Akn+1 0 M D3 Q
Serial In 1
U A3
(f0) 0 0 Dk = Ak ; k={0,1,2,3} 2 CLK (msb)
(f1) 0 1 Dk = Ak+1 ; k={0,1,2} I3 3 X Q
R
Steps 3,4 D3=Serial In
D-FF's (f2) 1 0 Dk = Ak-1 ; k={1,2,3}
excitation D0=Serial In 0 M D2 Q
1 A2
equations (f3) 1 1 Dk = Ik ; k={0,1,2,3} 2
U
CLK
I2 3 X Q
R
Step 5: Implementation
0 M D1 Q
1
U A1
2 CLK
I1 3 X Q
R
0 M D0 Q
Serial In
1
U A0
2 CLK (lsb)
3 X Q
I0 R
Four‐bit universal
shift register
FPGA Programmable Logic Element
„Programmable
0 0 1 f(0,0,1)
Inverter”
D
Ck f(0,1,1) M
Q
0 1 0 f(0,1,0) 3
0 1 1 f(0,1,1) D
Ck
Q
f(1,0,0) U f(A,B,C)
1 0 0 f(1,0,0) 4
1 0 1 f(1,0,1) D
Ck f(1,0,1) X
Q
5
1 1 0 f(1,1,0)
D
Ck f(1,1,0)
1 1 1 f(1,1,1) Q
6
Clk · Prog D
Ck f(1,1,1)
Q
TDO 7
FPGA
FPGA
Q0 Q1 Q2
clk
0 1 0 2 3 2 0 4 5 4 6 7 6 4 0
BAD
Counters
1
CK
0
1
CL 0
Q 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6
Using D flip-flops
Modulo 16 synchronous counter-D
DECIMAL Present STATE OF The next state = D0 D1
Q3 Q2 Q3 Q2
STATE THE COUNTER FLIP FLOP INPUTS
Q1 Q0 00 01 11 10 Q1 Q0 00 01 11 10
Q Q3 Q2 Q1 Q0 D3 D2 D1 D0
00 1 1 1 1 00 0 0 0 0
0 0 0 0 0 0 0 0 1 01 0 0 0 0 01 1 1 1 1
1 0 0 0 1 0 0 1 0
11 0 0 0 0 11 0 0 0 0
2 0 0 1 0 0 0 1 1
3 0 0 1 1 0 1 0 0 10 1 1 1 1 10 1 1 1 1
4 0 1 0 0 0 1 0 1
5 0 1 0 1 0 1 1 0
6 0 1 1 0 0 1 1 1
7 0 1 1 1 1 0 0 0 Q3 Q2 D2 Q3 Q2 D3
8 1 0 0 0 1 0 0 1 Q1 Q0 00 01 11 10 00 01 11 10
Q1 Q0
9 1 0 0 1 1 0 1 0
10 1 0 1 0 1 0 1 1 00 0 1 1 0 00 0 0 1 1
11 1 0 1 1 1 1 0 0
12 1 1 0 0 1 1 0 1 01 0 1 1 0 01 0 0 1 1
13 1 1 0 1 1 1 1 0 11 1 0 0 1 11 0 1 0 1
14 1 1 1 0 1 1 1 1
15 1 1 1 1 0 0 0 0 10 0 1 1 0 10 0 0 1 1
Using D flip-flops has the distinct advantage of a straightforward definition of the flip-flop
The current state of these inputs is the next state of the counter Q n+1 = Dn
Modulo 16 synchronous counter-D
Dn = Qn+1
Q3 Q2 D3 Q3 Q2 D2
Q1 Q0 00 01 11 10 Q1 Q0 00 01 11 10
00 0 0 1 1 00 0 1 1 0
01 0 0 1 1 01 0 1 1 0
11 0 1 0 1 11 1 0 0 1
10 0 0 1 1 10 0 1 1 0
Q3 Q2 D1 Q3 Q2 D0
00 01 11 10 Q1 Q0 00 01 11 10
Q1 Q0
1 1 1 1 D0 = Q0
00 0 0 0 0 D1 = Q1. Q0 + Q1. Q0 00
1 1 1 1 01 0 0 0 0
01
11 11 0 0 0 0
0 0 0 0
10 1 1 1 1 10 1 1 1 1
CL CK
Q0
D Q
CLK Q0
Q
R
Q1
D Q
CLK Q1
Q
R
D0 = Q0
Q2
D1 = Q1. Q0 + Q1. Q0 D Q
CLK Q2
D2 = Q2. Q0 + Q2. Q1 + Q2. Q1. Q0 R
Q
CLK Q3
Q
R
Modulo 16 synchronous counter-JK
Q3 Q2 Q1 Q0 0 2 3 4 5
1
CL
4-Bit BINARY 15 6
COUNTER
CK
14 7
CL
3
Q = Σ Qi . 2i 13 12 11 10 9 8
i=0
1
CK
0
1
CL 0
Q 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6
Using JK flip-flops
Modulo 16 synchronous counter-JK
J1 = K1 = A0 (T - 1)
Qn Qn+1 Jn Kn
0 0 0 x
Present State Next State Flip-Flop Inputs
A2 (T − 1) A1 (T − 1) A0 (T − 1) A1 (T ) J1 K1 0 1 1 x
x x 0 A1 (t − 1) 0 0 1 0 x 1
x x 1 1 1
(A1 (t − 1))’ 1 1 x 0
Modulo 16 synchronous counter-JK
0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 0 1 0
2 0 0 1 0 0 0 1 1
3 0 0 1 1 0 1 0 0
4 0 1 0 0 0 1 0 1
5 0 1 0 1 0 1 1 0
6 0 1 1 0 0 1 1 1
7 0 1 1 1 1 0 0 0
8 1 0 0 0 1 0 0 1
9 1 0 0 1 1 0 1 0
10 1 0 1 0 1 0 1 1
11 1 0 1 1 1 1 0 0
12 1 1 0 0 1 1 0 1
13 1 1 0 1 1 1 1 0
14 1 1 1 0 1 1 1 1
15 1 1 1 1 0 0 0 0
Use the “Common
Present state Sn Next state Sn +1 A3 input A2 input A1 input A0 input sense” design approach
A3 A2 A1 A0 A3+ A2+ A1+ A0+ J3 K3 J2 K2 J1 K1 J0 K0 -> see previous slide
A
0 0 0 0 0 0 0 0 1 0 x 0 x 0 x 1 x
1 0 0 0 1 0 0 1 0 0 x 0 x 1 x x 1
2 0 0 1 0 0 0 1 1 0 x 0 x x 0 1 x
3 0 0 1 1 0 1 0 0 0 x 1 x x 1 x 1
4 0 1 0 0 0 1 0 1 0 x x 0 0 x 1 x
5 0 1 0 1 0 1 1 0 0 x x 0 1 x x 1
6 0 1 1 0 0 1 1 1 0 x x 0 x 0 1 x
A0
7 0 1 1 1 1 0 0 0 1 x x 1 x 1 x 1
8 1 0 0 0 1 0 0 1 x 0 0 x 0 x 1 x
9 1 0 0 1 1 0 1 0 x 0 0 x 1 x x 1 A1A0
10 1 0 1 0 1 0 1 1 x 0 0 x x 0 1 x
11 1 0 1 1 1 1 0 0 x 0 1 x x 1 x 1
12 1 1 0 0 1 1 0 1 x 0 x 0 0 x 1 x A2A1A0
13 1 1 0 1 1 1 1 0 x 0 x 0 1 x x 1
14 1 1 1 0 1 1 1 1 x 0 x 0 x 0 1 x
15 1 1 1 1 0 0 0 0 x 1 x 1 x 1 x 1 50
Present state Sn Next state Sn +1 A3 input A2 input A1 input A0 input
A3 A2 A1 A0 A3+ A2+ A1+ A0+ J3 K3 J2 K2 J1 K1 J0 K0
0 0 0 0 0 0 0 1 0 x 0 x 0 x 1 x
0 0 0 1 0 0 1 0 0 x 0 x 1 x x 1
0 0 1 0 0 0 1 1 0 x 0 x x 0 1 x
0 0 1 1 0 1 0 0 0 x 1 x x 1 x 1 J0
A1A0
0 1 0 0 0 1 0 1 0 x x 0 0 x 1 x \A3A
2 00 01 11 10
0 1 0 1 0 1 1 0 0 x x 0 1 x x 1 00 1 1 1 1
01 X X X X
0 1 1 0 0 1 1 1 0 x x 0 x 0 1 x 11 1 1 1 1
10 X X X X
0 1 1 1 1 0 0 0 1 x x 1 x 1 x 1
K0
1 0 0 0 1 0 0 1 x 0 0 x 0 x 1 x A1A0
\A3A
1 0 0 1 1 0 1 0 x 0 0 x 1 x x 1 2 00 01 11 10
00 X X X X
1 0 1 0 1 0 1 1 x 0 0 x x 0 1 x 01 1 1 1 1
11 X X X X
1 0 1 1 1 1 0 0 x 0 1 x x 1 x 1 10 1 1 1 1
1 1 0 0 1 1 0 1 x 0 x 0 0 x 1 x
1 1 0 1 1 1 1 0 x 0 x 0 1 x x 1 J0 = 1
1 1 1 0 1 1 1 1 x 0 x 0 x 0 1 x K0 = 1
1 1 1 1 0 0 0 0 x 1 x 1 x 1 x 1
Present state Sn Next state Sn +1 A3 input A2 input A1 input A0 input
A3 A2 A1 A0 A3+ A2+ A1+ A0+ J3 K3 J2 K2 J1 K1 J0 K0
A
0 0 0 0 0 0 0 0 1 0 x 0 x 0 x
1 0 0 0 1 0 0 1 0 0 x 0 x 1 x
2 0 0 1 0 0 0 1 1 0 x 0 x x 0 A1A0
\A3A
3 0 0 1 1 0 1 0 0 0 x 1 x x 1 2 00 01 11 10
00 0 0 0 0
4 0 1 0 0 0 1 0 1 0 x x 0 0 x 01 1 1 1 1
11 X X X X
5 0 1 0 1 0 1 1 0 0 x x 0 1 x 10 X X X X
6 0 1 1 0 0 1 1 1 0 x x 0 x 0 K1
A1A0
7 0 1 1 1 1 0 0 0 1 x x 1 x 1 \A3A
2 00 01 11 10
8 1 0 0 0 1 0 0 1 x 0 0 x 0 x 00 X X X X
01 X X X X
9 1 0 0 1 1 0 1 0 x 0 0 x 1 x 11 1 1 1 1
10 0 0 0 0
10 1 0 1 0 1 0 1 1 x 0 0 x x 0
J1 = A0
11 1 0 1 1 1 1 0 0 x 0 1 x x 1
12 1 1 0 0 1 1 0 1 x 0 x 0 0 x
13 1 1 0 1 1 1 1 0 x 0 x 0 1 x
K1 = A0
14 1 1 1 0 1 1 1 1 x 0 x 0 x 0
15 1 1 1 1 0 0 0 0 x 1 x 1 x 1
Present state Sn Next state Sn +1 A3 input A2 input A1 input A0 input
A3 A2 A1 A0 A3+ A2+ A1+ A0+ J3 K3 J2 K2 J1 K1 J0 K0
A
0 0 0 0 0 0 0 0 1 0 x 0 x
1 0 0 0 1 0 0 1 0 0 x 0 x
2 0 0 1 0 0 0 1 1 0 x 0 x
3 0 0 1 1 0 1 0 0 0 x 1 x
4 0 1 0 0 0 1 0 1 0 x x 0 J2
A1A0
5 0 1 0 1 0 1 1 0 0 x x 0 \A3A
2 00 01 11 10
6 0 1 1 0 0 1 1 1 0 x x 0 00 0 X X 0
01 0 X X 0
7 0 1 1 1 1 0 0 0 1 x x 1 11 1 X X 1
10 0 X X 0
8 1 0 0 0 1 0 0 1 x 0 0 x
K2
9 1 0 0 1 1 0 1 0 x 0 0 x A1A0
\A3A
10 1 0 1 0 1 0 1 1 x 0 0 x 2 00 01 11 10
00 X 0 0 X
11 1 0 1 1 1 1 0 0 x 0 1 x 01 X 0 0 X
11 X 1 1 X
12 1 1 0 0 1 1 0 1 x 0 x 0 10 X 0 0 X
13 1 1 0 1 1 1 1 0 x 0 x 0 J2 = A0A1
14 1 1 1 0 1 1 1 1 x 0 x 0 K2 = A0A1
15 1 1 1 1 0 0 0 0 x 1 x 1
Present state Sn Next state Sn +1 A3 input A2 input A1 input A0 input
A3 A2 A1 A0 A3+ A2+ A1+ A0+ J3 K3 J2 K2 J1 K1 J0 K0
A
0 0 0 0 0 0 0 0 1 0 x
1 0 0 0 1 0 0 1 0 0 x
2 0 0 1 0 0 0 1 1 0 x
3 0 0 1 1 0 1 0 0 0 x
4 0 1 0 0 0 1 0 1 0 x J3
A1A0
5 0 1 0 1 0 1 1 0 0 x \A3A
2 00 01 11 10
6 0 1 1 0 0 1 1 1 0 x 00 0 0 X X
01 0 0 X X
7 0 1 1 1 1 0 0 0 1 x 11 0 1 X X
10 0 0 X X
8 1 0 0 0 1 0 0 1 x 0
K3
9 1 0 0 1 1 0 1 0 x 0 A1A0
\A3A
10 1 0 1 0 1 0 1 1 x 0 2 00 01 11 10
00 X X 0 0
11 1 0 1 1 1 1 0 0 x 0 01 X X 0 0
12 1 1 0 0 1 1 0 1 x 0 11 X X 1 0
10 X X 0 0
13 1 1 0 1 1 1 1 0 x 0
J3 = A0A1A2
K3 = A0A1A2
14 1 1 1 0 1 1 1 1 x 0
15 1 1 1 1 0 0 0 0 x 1
Modulo 16 counter-JK
J0 A1A0 J2 J3
A1A \A3A A1A0 A1A0
0\A3 2 00 01 11 10 \A3A \A3A
A2 00 01 11 10 00 0 0 0 0 2 00 01 11 10 2 00 01 11 10
00 1 1 1 1 01 1 1 1 1 00 0 X X 0 00 0 0 X X
01 X X X X 11 X X X X 01 0 X X 0 01 0 0 X X
11 1 1 1 1 10 X X X X 11 1 X X 1 11 0 1 X X
10 X X X X 10 0 X X 0 10 0 0 X AX0
K1
K0 A1A0 K2 K3
A1A \A3A A1A0 A1A0
0\A3 2 00 01 11 10 \A3A \A3A
A2 00 01 11 10 00 X X X X 2 00 01 11 10 2 00 01 11 10
00 X X X X 01 X X X X 00 X 0 0 X 00 X X 0 A01A0
01 1 1 1 1 11 1 1 1 1 01 X 0 0 X 01 X X 0 0
11 X X X X 10 0 0 0 0 11 X 1 1 X 11 X X 1 0
10 1 1 1 1 10 X 0 0 X 10 X X 0 0
J0 = 1 J1 = A0 J2 = A0A1 J3 = A0A1A2A A A 2 1 0
K0 = 1 K1 = A0 K2 = A0A1 K3 = A0A1A2
Binary Counter with Parallel Load
S1 S0 Qkn+1 Function
(f0) 0 0 Qkn Store
k = {0,1,2,3}
(f1) 0 1 Nk Count up Multifunction Register
(f2) 1 0 DBk Load implemented as a Sequential Circuit
(f3) 1 1 0 Clear S1 S0
S1 S0
Q3 Q3
Multifunction
DB3 DB3
(msb)
State Register
Register
Q2 Q2
Flip Flops
Sn+1 = δ(Sn,Xn)
DB2 DB2
Q1 Q1
DB1 DB1
Q0 Q0
DB0 DB0
(lsb)
Binary Counter with Parallel Load S1 S0 CL
CK
f00 0 M D0 Q Q0
f01 1
U (lsb)
f0 2 2 CLK
f0 3 3 X Q
R
f10 0 M D1 Q1
Q
f11 1
U
f 12 2 CLK
f1 3 3 X Q
R
f20 0 M D2 Q2
Q
f21 1
U
f 22 2 CLK
f2 3 3 X Q
R
f30 0 M D3 Q3
Q
f31 1
U (msb)
f 32 2 CLK
f3 3 3 X Q
R
Binary Counter with Parallel Load
CLK
Q3 Q2 Q1 Q0 Q3+ Q2+ Q1+ Q0+ D3 D2 D1 D0 Q
R
0 0 0 0 0 0 0 1 0 0 0 1
0 0 0 1 0 0 1 0 0 0 1 0 Q1
D Q
0 0 1 0 0 0 1 1 0 0 1 1
CLK Q1
0 0 1 1 0 1 0 0 0 1 0 0 Q
R
0 1 0 0 0 1 0 1 0 1 0 1
0 1 0 1 0 1 1 0 0 1 1 0
Q2
0 1 1 0 0 1 1 1 0 1 1 1 D Q
0 1 1 1 1 0 0 0 1 0 0 0 CLK Q2
Q
1 0 0 0 1 0 0 1 1 0 0 1 R
1 0 0 1 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 1 1 0 1 1 Q3
D Q
1 0 1 1 1 1 0 0 1 1 0 0
CLK Q3
1 1 0 0 1 1 0 1 1 1 0 1 Q
R
1 1 0 1 1 1 1 0 1 1 1 0
1 1 1 0 1 1 1 1 1 1 1 1
1 1 1 1 0 0 0 0 0 0 0 0
CL
A1A0 2 CK
Q0
0
Multifunction 1
M D Q
U CLK
2
Register DB0
0 3
X
R
Q
Implementation
Q1
0
M D Q
A1 A0 Dk= Qkn+1 Function 1
U
2
CLK Q1
(f0) 0 0 Qkn Store DB1 X Q
0 3 R
(f1) 0 1 Nk Count up
(f2) 1 0 DBk Load
(f3) 1 1 0 Clear Q2
0 D Q
M
1
U CLK Q2
2
DB2 X Q
0 3 R
Q3
0
M D Q
1
U CLK Q3
2
DB3 X Q
0 3 R
Binary Counter with Parallel Load
S1 S0
S1 S0
Q3 Q3
Multifunction
DB3 DB3
(msb)
State Register
Register
Q2 Q2
Flip Flops
Sn+1 = δ(Sn,Xn)
DB2 DB2
Q1 Q1
DB1 DB1
DI0 D0 Q0 Q0
DB0 DB0
D1 (lsb)
DI1 Z
DI2 D2
DI3 k = {0,1,2,3} Qn Qn+1 Jn Kn
D3
0 1 2 3 S1 S0 Qkn+1 Function 0 0 0 x
2-to-4 decoder MUX (f0) 0 0 Qkn Store
(f1) 0 1 Nk Count up
0 1 1 x
S1 S0 E
(f2) 1 0 DBk Load 1 0 x 1
(f3) 1 1 0 Clear
1 1 x 0
Binary Counter with Parallel Load
k = {0,1,2,3}
S1 S0 Qkn+1 Function
(f0) 0 0 Qkn Store
(f1) 0 1 Nk Count up
(f2) 1 0 DBk Load
(f3) 1 1 0 Clear
D-Latch using JK FF
START HERE
D Qn Qn+1
D J Q Given:
δ 0 0 0 D-Latch
0 1 0 Characteristic
K
1 0 1 Table
1 1 1
1
JK Excitation Table
D Qn Qn+1 J K Qt Qt+Δt Jt Kt
0 0 0 0 x 0 0 0 x
0 1 0 x 1 0 1 1 x
1 0 1 1 x 1 0 x 1
1 1 1 x 0
1 1 x 0
Excitation table for
Sequential Circuit to be Designed
Step 3
D-Latch using JK FF
0 0 0 01 D J Q
1 1 2 x3 J=D
5
K=D K
K D
4
D Qn Qn+1 J K D Qn 0 1
0 0 0 0 x
0 x 0 11 D Clock
0 1 0 x 1
1 0 1 1 x 1 x2 0 3
1 1 1 x 0
Step 3
State Encoding mod 4 counter
S3 S2 S1 S0 S3 S2 S1 S0
D S Q D Q D Q D Q
2-to-4 decoder C C C C
R R R
Clock
1 T Q T Q
RST
C C
Clock