Problem 6.8 

 

 

a) Implementation of JK with other flip flops

 

Q
J
K
Qnext
S
R
D
T
 0
 0
0
 0
 0
 X
 0
0 
 0
 0
1
0
 0
 X
 0
 0
 0
 1
 0
 1
 1
 0
 1
 1
 0
 1
 1
 1
 1
 0
 1
 1
 1
 0
 0
 1
 X
 0
 1
 0
 1
 0
 1
 0
 0
 1
 0
 1
 1
 1
 0
 1
 X
 0
 1
 0
 1
 1
 1
0
 0
 1
 0
 1

Equations for JK:  J = J     K = K

Equations for SR:  S = J Q'    R = K Q

Equations for D:    D = J Q' + K' Q

Equations for T:    T = J Q' + K Q

 

b) Implementation of SR with other flip flops

 

Q
S
R
Qnext
J
K
D
T
 0
 0
0
 0
 0
 X
 0
0
 0
 0
1
0
 0
 X
 0
 0
 0
 1
 0
 1
 1
 X
 1
 1
 0
 1
 1
 X
 X
 X
 X
 X
 1
 0
 0
 1
 X
 0
 1
 0
 1
 0
 1
 0
 X
 1
 0
 1
 1
 1
 0
 1
 X
 0
 1
 0
 1
 1
 1
X
 X
 X
 X
 X

Equations for JK:  J = S     K = R

Equations for SR:  S = S    R = R

Equations for D:    D = S + R' Q

Equations for T:    T = Q' S + Q R

 

c) Implementation of D with other flip flops

 

Q
D
Qnext
J
K
S
R
T
 0
 0
 0
 0
 X
 0
X 
0
 0
 1
1
 1
 X
 1
0 
 1
 1
 0
 0
 X
 1
 0
1 
 1
 1
 1
 1
 X
 0
 X
 0 
 0

 

Equations for JK:  J = D     K = D'

Equations for SR:  S = D    R = D'

Equations for D:    D = D

Equations for T:    T = Q' D + Q D'
 
 

d) Implementation of T with other flip flops

 

Q
T
Qnext
J
K
S
R
D
 0
 0
0
 0
 X
 0
X 
 0
 0
 1
1
 1
 X
 1
0 
 1
 1
 0
1
 X
 0
 X
0 
 1
 1
 1
0
 X
 1
 0
1 
 0

 
Equations for JK:  J = T     K = T

Equations for SR:  S = Q' T     R = T Q

Equations for D:    D = T' Q + T Q'

Equations for T:    T = T
 

Problem 6.10 

 

 
 

Excitation Equations:
 Next State and Output 

Equations: 
D2 = X (xor) Q0 (xor) Q2  Q2(next) = D2 =  X (xor) Q0 (xor) Q2
D1 = Q2 Q1(next) = D1 = Q2 
D0 = Q1 Q0(next) = D0 = Q1
Y = D2 =X (xor) Q0 (xor) Q2

 

Present State

Q2  Q1  Q0
Next State / Output

Q2(next)  Q1(next)  Q0(next) / Y
X = 0
X = 1
0  0  0
0  0  0 / 0
1  0  0 / 1
0  0  1
1  0  0 / 1
0  0  0 / 0
0  1  0
0  0  1 / 0
1  0  1 / 1
0  1  1
1  0  1 / 1
0  0  1 / 0
1  0  0
1  1  0 / 1
0  1  0 / 0
1  0  1
0  1  0 / 0
1  1  0 / 1
1  1  0
1  1  1 / 1
0  1  1 / 0
1  1  1
0  1  1 / 0
1  1  1 / 1

 
 

 

 

State Diagram

 
 

 

Problem 6.12 

 
 

Present State
Next State
Output
X = 0
X = 1
X = 0
X = 1
S0 
S0
S4
1
0
S1
S0
S4
0
0
S2
S1
S5
0
0
S3
S1
S5
0
0
S4
S2
S6
0
1
S5
S2
S6
0
1
S6
S3
S7
0
1
S7
S3
S7
0
1

Step 1: Sort by outputs and rename the groups
 

Present State
Next State
Output
X = 0
X = 1
X = 0
X = 1
S0 / G0
S0 / G0
S4 / G2
1
0
S1 / G1
S0 /G0
S4 / G2
0
0
S2 / G1
S1 / G1
S5 / G2
0
0
S3 / G1
S1 / G1
S5 / G2
0
0
S4 / G2
S2 / G1
S6 / G2
0
1
S5 / G2
S2 / G1
S6 / G2
0
1
S6 / G2
S3 / G1
S7 / G2
0
1
S7 / G2
S3 / G1
S7 / G2
0
1

 
Step 2: Put S1 into a new group (G3) and rename

 

Present State
Next State
Output
X = 0
X = 1
X = 0
X = 1
S0 / G0
S0 / G0
S4 / G2
1
0
S1 / G3
S0 /G0
S4 / G2
0
0
S2 / G1
S1 / G3
S5 / G2
0
0
S3 / G1
S1 / G3
S5 / G2
0
0
S4 / G2
S2 / G1
S6 / G2
0
1
S5 / G2
S2 / G1
S6 / G2
0
1
S6 / G2
S3 / G1
S7 / G2
0
1
S7 / G2
S3 / G1
S7 / G2
0
1

Step 3: Combine the states in each group
 

Present State
Next State
Output
X = 0
X = 1
X = 0
X = 1
G0 = {S0} 
G0
G2 
1
0
G3 = {S1} 
G0
G2
0
0
G1 = {S2,S3} 
G3 
G2
0
0
 G2 =  {S4,S5,S6,S7}
G1 
G2
0
1

 
 

Problem 6.16 

 Design a counter that counts in the sequence 0,1,3,6,10,15
 
output of the counter : Y3 Y2 Y1 Y0 where Y3 is the most significant bit and

Y3 = Q3    Y2 = Q2    Y1 = Q1    Y0 = Q0
 

PRESENT
Q3Q2Q1Q0
NEXT
Q3Q2Q1Q0
D3D2D1D0T3T2T1T0S3R3 S2R2 S1R1 S0R0 J3K3 J2K2 J1K1 J0K0
0 0 0 00 0 0 10 0 0 1 0 0 0 10 - 0 - 0 - 1 0 0 - 0 - 0 - 1 -
0 0 0 10 0 1 10 0 1 1 0 0 1 00 - 0 - 1 0 - 0 0 - 0 - 1 - - 0
0 0 1 0- - - -- - - - - - - -- - - - - - - - - - - - - - - -
0 0 1 10 1 1 00 1 1 0 0 1 0 10 - 1 0 - 0 0 1 0 - 1 - - 0 - 1
0 1 0 0- - - -- - - - - - - -- - - - - - - - - - - - - - - -
0 1 0 1- - - -- - - - - - - -- - - - - - - - - - - - - - - -
0 1 1 01 0 1 01 0 1 0 1 1 0 01 0 0 1 - 0 0 - 1 - - 1 - 0 0 -
0 1 1 1- - - -- - - - - - - -- - - - - - - - - - - - - - - -
1 0 0 0- - - -- - - - - - - -- - - - - - - - - - - - - - - -
1 0 0 1- - - -- - - - - - - -- - - - - - - - - - - - - - - -
1 0 1 01 1 1 11 1 1 1 0 1 0 1- 0 1 0 - 0 1 0 - 0 1 - - 0 1 -
1 0 1 1- - - -- - - - - - - -- - - - - - - - - - - - - - - -
1 1 0 0- - - -- - - - - - - -- - - - - - - - - - - - - - - -
1 1 0 1- - - -- - - - - - - -- - - - - - - - - - - - - - - -
1 1 1 0- - - -- - - - - - - -- - - - - - - - - - - - - - - -
1 1 1 10 0 0 00 0 0 0 1 1 1 10 1 0 1 0 1 0 1 - 1 - 1 - 1 - 1


D3 = Q1Q0'

D2 = Q2'Q1

D1 = Q1Q0' + Q3'Q0

= Q1Q0' + Q2'Q0

D0 = Q1' + Q3Q2'

= Q1' + Q3Q0'

T3 = Q2

T2 = Q1

T1 = Q1'Q0 + Q3Q2

= Q1'Q0 + Q2Q0

= Q1'Q0 + Q3Q0

T0 = Q1Q0 + Q2'Q0'

S3 = Q1Q0'

= Q3'Q2

= Q2Q0'

R3 = Q0

S2 = Q2'Q1

R2 = Q2

S1 = Q1'Q0

= Q2'Q0

= Q3'Q0

R1 = Q3Q2

= Q2Q0

= Q3Q0

S0 = Q2'Q0'

R0 = Q1Q0

J3 = Q2

K3 = Q2

= Q0

J2 = Q1

K2 = 1

J1 = Q0

K1 = Q3Q2

= Q2Q0

= Q3Q0

J0 = Q2'

K0 = Q1

The following solution sends all undefined states to state 0. This uses unnecessary gates and is not the approved way of solving the problem.

Q3Q2Q1Q0Q3Q2Q1Q0 J3 K3J2 K2J1 K1 J0 K0S3 R3S2 R2 S1 R1S0 R0D3D2D1D0 T3T2T1T0
0  0  0  00  0  0  1 0  X0  X0  X1  X 0  X0  X0  X1  0 0  0  0  10  0  0  1
0  0  0  10  0  1  1 0  X0  X1  XX  0 0  X0  X1  0X  0 0  0  1  10  0  1  0
0  0  1  00  0  0  0 0  X0  XX  10  X 0  X0  X0  10  X 0  0  0  00  0  1  0
0  0  1  10  1  1  0 0  X1  XX  0X  1 0  X1  0X  00  1 0  1  1  00  1  0  1
0  1  0  00  0  0  0 0  XX  10  X0  X 0  X0  10  X0  X 0  0  0  00  1  0  0
0  1  0  10  0  0  0 0  XX  10  XX  1 0  X0  10  X0  1 0  0  0  00  1  0  1
0  1  1  01  0  1  0 1  XX  1X  00  X 1  00  1X  00  X 1  0  1  01  1  0  0
0  1  1  10  0  0  0 0  XX  1X  1X  1 0  X0  10  10  1 0  0  0  00  1  1  1
1  0  0  00  0  0  0 X  10  X0  X0  X 0  10  X0  X0  X 0  0  0  01  0  0  0
1  0  0  10  0  0  0 X  10  X0  XX  1 0  10  X0  X0  1 0  0  0  01  0  0  1
1  0  1  01  1  1  1 X  01  XX  01  X X  01  0X  01  0 1  1  1  10  1  0  1
1  0  1  1 0  0  0  0 X  10  XX  1X  1 0  10  X0  10  1 0  0  0  01  0  1  1
1  1  0  00  0  0  0 X  1X  10  X0  X 0  10  10  X0  X 0  0  0  01  1  0  0
1  1  0  10  0  0  0 X  1X  10  XX  1 0  10  10  X0  1 0  0  0  01  1  0  1
1  1  1  00  0  0  0 X  1X  1X  10   X 0  10  10  10  X 0  0  0  01  1  1  0
1  1  1  10  0  0  0 X  1X  1X  1X  1 0  10  10  10  1 0  0  0  01  1  1  1

 
J3 = Q2Q1Q0'
K3 = Q2 + Q1' + Q0
J2 = Q3'Q1Q0 + Q3Q1Q0'
K2 = 1
J1 = Q3'Q2'Q0
K1 = Q3'Q2'Q0' + Q2Q0 + Q3Q2 + Q3Q0
J0 = Q3'Q2'Q1' + Q3Q2'Q1
K0 = Q1 + Q2 + Q3
 
S3 = Q3'Q2Q1Q0'
R3 = Q3Q2 + Q1' + Q0
S2 = Q3'Q2'Q1Q0 + Q3Q2'Q1Q0'
R2 = Q2
S1 = Q3'Q2'Q0
R1 = Q3'Q2'Q0' + Q3Q2 + Q2Q0 + Q3Q0
S0 = Q3'Q2'Q1' + Q3Q2'Q1Q0'
R0 = Q1Q0 + Q2 + Q3Q0

D3 = Q3Q2Q1Q0' + Q3Q2'Q1Q0'
D2 = Q3Q2'Q1Q0'+ Q3'Q2'Q1Q0
D1 = Q3'Q2'Q0 + Q3'Q2Q1Q0' + Q3Q2'Q1Q0'
D0 = Q3Q2'Q1Q0' + Q3'Q2'Q1'

T3 = Q2Q0 + Q3Q0' + Q3Q1
T2 = Q2 + Q3'Q1Q0 + Q3Q1Q0'
T1 = Q3'Q2'Q1'Q0 + Q3'Q2'Q1Q0' + Q2Q1Q0 +Q3Q2Q1 + Q3Q1Q0
T0 = Q1Q0 + Q2Q0 + Q3Q0 + Q3Q2'Q1 + Q3'Q2'Q1'Q0'