Professional Documents
Culture Documents
Morris Mano
Ch Ch
WWW.ISSUU.COM/SHEIKHUHASSAN
CHAPTER 1
2000 by Prentice-Hall, Inc.
1-1.
Decimal, Binary, Octal and Hexadecimal Numbers from (16)10 to (31)10
Dec
Bin
Oct
Hex
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1 0000 1 0001 1 0010 1 0011 1 0100 1 0101 1 0110 1 0111 1 1000 1 1001 1 1010 1 1011 1 1100 1 1101 1 1110 1 1111
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
1-4.
( 1101001 ) 2 = 2 6 + 2 5 + 2 3 + 2 0 = 105
( 10001011.011 )2 = 2 7 + 2 3 + 2 1 + 2 0 + 2 2 + 2 3 = 139.375
( 10011010 ) 2 = 2 7 + 2 4 + 2 3 + 2 1 = 154
1-7.
Decimal
Binary
Octal
369.3125
101110001.0101
561.24
Hexadecimal
171.5
189.625
10111101.101
275.5
BD.A
214.625
11010110.101
326.5
D6.A
62407.625
1111001111000111.101
171707.5
F3C7.A
1-9.
a)
7562/8
945 + 2/8
945/8
118 +1/8
118/8
14 + 6/8
14/8
1 + 6/8
1/8
1/8
0.45 8
3.6
0.60 8
4.8
0.80 8
6.4
0.20x8
3.2
(7562.45)10
(16612.3463)8
b)
(1938.257)10
(792.41CA)16
c)
(175.175)10
(10101111.001011)2
1-11.
a)
(673.6)8
b)
(E7C.B)16
c)
(310.2)4
(1BB.C)16
(7174.54)8
(11 01 00.10)2
(64.4)8
1-15.
a)
(BEE)r = (2699)10
11 r 2 + 14 r 1 + 14 r 0 = 2699
11 r 2 + 14 r 2685 = 0
(365)r = (194)10
3 r 2 + 6 r 1 + 5 r 0 = 194
3 r 2 + 6 r 189 = 0
By the quadratic equation: r = -9 or 7
ANSWER: r = 7
1-17.
(694)10
(835)10
1
0110
1001
0100
+1000
+0011
+0101
1111
1100
1001
+0110
+0110
+0000
0001 0101
1 0010
1001
1-20.
a) (0100 1000 0110 0111)BCD
b) (0011 0111 1000.0111 0101)BCD
(4867)10
(1001100000011)2
(378.75)10
(101111010.11)2
1-23.
a)
(101101101)2
b)
c)
0011 0011
0011 0110
0011 0101ASCII
1-25.
BCD Digits with Odd and Even Parity
Odd
Even
0
1 0000
0 0000
1
0 0001
1 0001
2
0 0010
1 0010
3
1 0011
0 0011
4
0 0100
1 0100
5
1 0101
0 0101
6
1 0110
0 0110
7
0 0111
1 0111
8
0 1000
1 1000
9
1 1001
0 1001
CHAPTER 2
2000 by Prentice-Hall, Inc.
2-1.
a)
XYZ = X + Y + Z
Y
0
Z
0
XYZ
0
XYZ
1
X+Y+Z
1
X + YZ = ( X + Y ) ( X + Z )
b)
Y
0
Z
0
YZ
0
X+YZ
0
X+Y
0
X+Z
0
(X+Y)(X+Z)
c)
XY + YZ + XZ = XY + YZ + XZ
X
0
Y
0
Z
0
XY
0
YZ
0
XZ XY+YZ+XZ XY
0
0
0
YZ
0
2-2.
a)
X Y + XY + XY
= (XY+ X Y ) + (X Y + XY)
= X(Y + Y) + Y(X + X) +
=X+Y
X+Y
XZ XY+YZ+XZ
0
0
A B+ B C + AB + B C = 1
= (A B+ AB) + (B C + B C)
= B(A + A) + B(C + C)
=B+B
=1
c)
Y+XZ+XY
=X+Y+Z
=Y+XY+XZ
= (Y + X)(Y + Y) + X Z
=Y+X+XZ
= Y + (X + X)(X + Z)
=X+Y+Z
d)
X Y + Y Z + XZ + XY + Y Z
= X Y + XZ + Y Z
= X Y + Y Z(X + X) + XZ + XY + Y Z
= X Y + X Y Z + X Y Z + XZ + XY + Y Z
= X Y (1 + Z) + X Y Z +XZ + XY + Y Z
= X Y + XZ(1 + Y) + XY + Y Z
= X Y + XZ + XY (Z + Z)+ Y Z
= X Y + XZ + XY Z +Y Z (1 + X)
= X Y + XZ(1 + Y) + Y Z
= X Y + XZ + Y Z
2-7.
a)
b)
c)
d)
( AB + AB ) ( CD + CD ) + AC
= ABCD + ABCD + ABCD + ABCD + A + C
= A + C + ABCD
= A + C + A(BCD)
= A + C + BCD
= A + C + C(BD)
= A + C + BD
2-9.
a)
F = (A + B )( A + B )
b)
F = ( ( V + W )X + Y )Z
c)
F = [ W + X + ( Y + Z ) ( Y + Z ) ] [ W + X + YZ + YZ ]
d)
F = ABC + ( A + B )C + A ( B + C )
2-10.
Truth Tables a, b, c
X
0
Y
0
Z
0
A
0
B
0
C
0
W
0
X
0
Y
0
Z
0
a)
Sum of Minterms:
ABC+ABC+ABC+ABC
Sum of Minterms:
WXYZ+WXYZ+WXYZ+WXYZ+WXYZ+WXYZ
Sum of Minterms:
+WXYZ
Product of Maxterms: (W + X + Y + Z)(W + X + Y + Z)(W + X + Y + Z)
(W + X + Y + Z)(W + X + Y + Z)(W + X + Y + Z)
(W + X + Y + Z)(W + X + Y + Z)(W + X + Y + Z)
2-12.
a)
b)
c)
2-15.
a)
1
X
b)
Y
1
1
Z
X Z + XY
1
A
c)
B
1
1
C
A + CB
B
1
A 1
C
B+C
2-18.
a)
b)
1 1
A
1
Z
m ( 3, 4, 5, 7, 9, 13, 14, 15 )
m ( 3, 5 , 6 , 7 )
1
1
C
1
Y
1
X
c)
1
1
D
m ( 0, 2 , 6, 7 , 8 , 10, 13, 15 )
2-19.
Using K-maps:
a) Prime = XZ, WX, X Z, W Z
Essential = XZ, X Z
2-22.
Using K-maps:
b) s.o.p.A C + B D + A D
a) s.o.p. CD + AC + B D
p.o.s.(C + D)(A + D)(A + B + C)
2-25.
b)
a)
B
A
C
Primes = AB, AC, BC, A B C
Essential = AB, AC, BC
F = AB + AC + BC
c)
Y
1
1
1
1 1
X
A
Z
Primes = X Z, XZ, WXY, WXY, W Y Z, WYZ
Essential = X Z
F = X Z + WXY + WXY
2-28.
a)
B A
C D
B A
C D
B A
C D
B A
C D
4-input NAND
from 2-input NANDs
and NOTs
A
B
A
B
C
D
C
D
A
B
A
B
C
D
C
D
C
X X
X 1
1 X
X X
D
Primes = AB, C, AD, BD
Essential = C, AD
F = C + AD + (BD or AB)
b)
A
B
A
B
A
B
C
D
C
D
2-30.
a)
C
1
1
1 1
A
1
b)
A
B
C
A
C
A
D
D
F = ( A + B + C )( A + C ) ( A + D )
W
X
W
X
Y
Z
Y
Z A
Y
1
Z
F = ( W + X )( W + X )( Y + Z ) ( Y + Z )
2-34.
X Y = XY + XY
Dual (X Y ) = Dual ( XY + XY )
= ( X + Y )( X + Y )
XY + XY = ( X + Y ) ( X + Y )
= ( X + Y )( X + Y )
2-37.
16 inputs
16 inputs
6 inputs
2-39.
4 0.5 = 2 ns
2-44.
P-Logic
X
Y NAND
NOR
Y NAND
N-Logic
NOR
Y NAND
NOR
0
CHAPTER 3
2000 by Prentice-Hall, Inc.
3-2.
D
T1 =
T3 =
X =
=
Y =
=
T3
X
C
B
T4
T1
BC,
T2 = AD
1
T4 = D + BC
,
T3T4
D + BC
T2T4
AD(D + BC) = A BCD
T2
Y
X
1
1
X
0
0
0
0
1
1
1
1
1
Z
XZ + ZY
X
Z
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
T1
1
1
1
1
1
1
0
0
T2
1
1
1
1
0
0
1
1
T4
1
0
1
1
1
1
1
0
T5
1
0
1
1
1
0
1
0
F
0
1
0
0
0
1
0
1
T2
X
F
Z
Y
T3
1
1
0
0
1
1
1
1
T4
T1
Y
Z
T5
T3
3-3.
X
0
0
1
1
X
T2
F
T1
T3
Y
0
1
0
1
T1
1
0
0
0
T2
0
1
0
0
T3
0
0
1
0
F
1
0
0
1
3-6.
A
M = AS + BS
T1 = ZY + ZY
Y
X
Z
Y
A
S
B
A
S
B
F = YX + T1X
= YX + X(ZY + ZY)
= XY + XYZ + XYZ
T1
X
Z
A
S
B
G =
M
T1X + ZX
= XZ + X(Z + Y)(Z + Y)
XZ + X(YZ + Y Z) =
XZ + XYZ + X Y Z
3-11.
C
1 1
1
D
F = AB + AC
3-13.
AC
AB
AB
A D
3-15.
C
1
1
A
1
1
1
1
X X X X
1 1 X X
C
1 1
X X X X
1
C
1
1
B
A
1 X X
1
1 1
X X X X
1
b = B + C D + CD
c=B+C+D
X X X X
X X
1 X X
D
C
1 1
X X X X
1 1 X X
D
e = B D + CD
B
A
1 X X
1
X X X X
f = A + BD + BC + C D
g = A + CD + BC + BC
3-20.
D3
0
X
X
X
1
D2
0
X
X
1
0
D1
0
X
1
0
0
D0
0
1
0
0
0
A1
X
0
0
1
1
A0
X
0
1
0
1
V = D0 + D1 + D2 + D3
V
0
1
1
1
1
A0
A1
D2
X
D2
X
1 1
D3
A0 = D1 + D0 D2
A1 = D0 D1
1
D1
D1
D0
D0
d = BCD + A + B D + BC + CD
1
1
X X X X
C
1
X X
a = A + C + BD + B D
C
1
D3
3-25.
8/1 MUX
D(0-7)
D(0-7) Y
0
A(0-2)
A(0-2)
8/1 MUX
D(8-14)
D(0-6) Y
0
D(7)
A(0-2)
A(3)
3 OR gates
3-29.
A
0
0
0
0
0
0
0
0
B
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
F
0
1
D
0
1
1 CD
0
0
0
A
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
F
0 CD
0
0
1
1 +V
1
1
1
C
D
C
D
A
B
D
4/1 MUX
A0
A1
0
1
Y
2
3
+V
3-35.
C 1 = T 3 + T 2 = T 1 C 0 + T 2 = A 0 B 0 C 0 + A 0 + B 0 = ( A 0 + B 0 )C 0 + A 0 B 0 = ( A 0 B 0 + C 0 ) ( A 0 + B 0 )
C1 = A0 B0 + A0 C0 + B0 C0
S0 = C0 T4 = C0 T1 T2 = C0 A0 B0 ( A0 + B0 ) = C0 ( A0 + B0 ) ( A0 + B0 ) = C0 A0 B0 + A0 B0
S0 = A0 B0 C0
3-38.
1 0 0 1 1 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
0 1 1 0 1 0 0 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
3-41.
+43
0101011
43
+(17)
= 26
-17
1101111
-43
1010101
+17
0010001
0101011
1101111
10011010
43
0011010
1010101
+ 17
0010001
= 26
1100110
3-45.
a)
b)
c)
d)
e)
3-49.
S
0
0
1
1
1
A
0111
0100
1100
0101
0000
B
0110
0101
1010
1010
0010
C4
0
0
1
0
0
S3 S2 S1
1 1 0
1 0 0
0 0 1
1 0 1
1 1 1
S0
1
1
0
1
0
3-52.
BCD
0
1
2
3
4
5
6
7
8
9
EXCESS-3
A
0
0
0
0
0
0
0
0
1
1
B
0
0
0
0
1
1
1
1
0
0
C
0
0
1
1
0
0
1
1
0
0
D
0
1
0
1
0
1
0
1
0
1
E
1
1
0
0
0
0
0
0
0
0
F
0
0
1
1
1
1
0
0
0
0
G
0
0
1
1
0
0
1
1
0
0
H
1
0
1
0
1
0
1
0
1
0
0
1
2
3
4
5
6
7
8
9
A
0
0
0
0
0
1
1
1
1
1
H = D
H = D
G = C
G = C
F = BC + BC
F = B
E = ABC
B
0
1
1
1
1
0
0
0
0
1
C
1
0
0
1
1
0
0
1
1
0
D
1
0
1
0
1
0
1
0
1
0
E
1
1
1
1
1
0
0
0
0
0
E = A
Gates:
Gates:
Literals:
Literals:
3-55.
3-58.
X1
X2
N1
N2
N6
N3
N4
X3
N5
X4
F
1
0
0
0
0
1
1
1
1
0
G
0
1
1
0
0
1
1
0
0
1
H
0
1
0
1
0
1
0
1
0
1
3-62.
From 3-2: F = X Z + Z Y
Using Nand Gates:
...
signal T: std_logic_vector(0 to 2);
begin
g0: NOT1 port map (Y, T(0));
g1: NAND2 port map (X, Z, T(1));
g2: NAND2 port map (Z, T(0), T(2));
g3: NAND2 port map (T(1), T(2), F);
end
3-66.
3-69.
3-72.
X1
X2
N1
N2
N6
N3
N4
X3
N5
X4
3-76.
//Fucntion F from problem 3-2 = X Z + Z Y
module cicuit_3_76(X, Y, Z, F);
input X, Y, Z;
output F;
assign F = (X & Z) | (Z & ~Y);
endmodule
3-80.
CHAPTER 4
2000 by Prentice-Hall, Inc.
4-4.
D
R
4-5.
S
C
Q
R
4-6.
C
J
K
Y
Q
Reset
J=0 , K=1
Complement
J=1 , K=1
Set
J=1 , K=0
No Change
J=0 , K=0
4-10.
J
0
0
0
0
1
1
1
1
K Q(t) Q(t+1)
0 0
0
0 1
1
1 0
0
1 1
0
0 0
1
0 1
1
1 0
1
1 1
0
S
0
0
0
0
1
1
1
1
R Q(t) Q(t+1)
0 0
0
0 1
1
1 0
0
1 1
0
0 0
1
0 1
1
1 0
X
1 1
X
D Q(t) Q(t+1)
0 0
0
0 1
0
1 0
1
1 1
1
T Q(t) Q(t+1)
0 0
0
0 1
1
1 0
1
1 1
0
Q(t + 1) = T Q
Q (t + 1 ) = D
JA = B
JB = X
KA = BX
KB = AX + AX
Q ( t + 1 ) = S + RQ
Q ( t + 1 ) = JQ + KQ
=
=
BA+ BA +XA
X B + ABX + ABX
4-12.
Present state
Input
X=0
Next state
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
000
100
001
110
010
011
111
101
X=1
001
100
010
101
000
011
111
110
4-17.
Present state
Input
Next state
Output
1/1
0/0
1
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
0
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0/1
0/1
1/0
1/0
3
1/1
Format: X/Y
0/0
4-19.
Present state
Input
DA
Next state
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
0
0
1
1
1
0
0
0
1
0
0
1
1
1
DB
B
1
1
A 1
DA = AB + AX + BX
D B = AX + BX
4-20.
Format: XY/Z (x = unspecified)
Present state
Inputs
Next state
Output
Q(t)
Q(t+1)
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
0
1
0
1
0
1
0
0
X
1
X
1
X
0
X
x1/x
00/0
x1/x
00/1
10/0
1
0
10/1
4-24.
Present state
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
Input
Next state
A
0
0
0
1
1
0
1
1
0
1
0
1
0
1
0
1
Output
DA
1
1
0
0
0
0
0
0
Input
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
0
1
1
1
0
1
0
DA = AX + BX
DB = BX + A X
Next state
1
1
4-25.
Present state
B
1
1
0
1
1
0
0
0
1
DB
DA
J
1
1
1
K
DA = AJ+ AK
B
1
A
X
Y=AB
4-30.
Present state
Input
Next state
JA = BX
FF Inputs
JA
KA
JB
KB
KA = B X + B X
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
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
0
0
0
1
X
X
X
X
X
X
X
X
1
1
0
0
1
0
X
X
0
0
X
X
X
X
0
0
X
X
1
0
JB = A X
KB = A X
4-33.
Present state
Inputs
Next state
FF Inputs
JA = E(BX + B X)
JA
KA
JB
KB
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
0
0
1
0
0
0
0
1
0
0
1
1
X
X
X
X
0
0
1
1
X
X
X
X
X
X
X
X
0
0
1
1
X
X
X
X
0
0
1
1
K A = E(BX + B X)
JB = E
KB = E
4-36.
TA = ABX + ABX
Present state
Input
Next state
FF Inputs
TA
TB
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
0
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
TB = ABX + ABX + BX
T
C
A
A
T
C
Clock
B
B
4-37
library IEEE;
use IEEE.std_logic_1164.all;
entity mux_4to1 is
port (
S: in STD_LOGIC_VECTOR (1 downto 0);
D: in STD_LOGIC_VECTOR (3 downto
0);
Y: out STD_LOGIC
);
end mux_4to1;
process (S, D)
begin
case S is
when "00" => Y <= D(0);
when "01" => Y <= D(1);
when "10" => Y <= D(2);
when "11" => Y <= D(3);
when others => null;
end case;
4-40.
library IEEE;
use IEEE.std_logic_1164.all;
entity jkff is
port (
J,K,CLK: in STD_LOGIC;
Q: out STD_LOGIC
);
end jkff;
case J is
when '0' =>
if K = '1' then
q_out <= '0';
end if;
when '1' =>
if K = '0' then
q_out <= '1';
else
q_out <= not q_out;
end if;
when others => null;
end case;
end if;
end process;
Q <= q_out;
end jkff_arch;
4-45.
always @(S or D)
begin
4-47.
module JK_FF (J, K, CLK, Q) ;
input J, K, CLK ;
output Q;
reg Q;
// (continued in the next column)
CHAPTER 5
2000 by Prentice-Hall, Inc.
5-3.
1000, 0100, 1010, 1101 0110, 1011, 1101, 1110
5-6.
Shifts:
A
B
C
0
0110
0011
0
1
1011
0001
0
2
0101
0000
1
3
0010
0000
1
4
1001
0000
0
5-8.
Replace each AND gate in Figure 5-6 with an AND gate with one additional input and connect this input to the following:
S1 + S0
This will force the outputs of all the AND gates to zero, and, on the next clock edge, the register will be cleared if S1
is 0 and S0 is logic one.
Also, replace each direct shift input with this equation: S1S0 This will stop the shift operation from interfering with the
load parallel data operation.
5-10.
a) 1000, 0100, 0010, 0001, 1000
b) # States = n
5-17.
Q0 =
Q0E
Q1 =
(Q 0Q1 + Q0Q1)E
Q2 =
Q3 =
5-21.
S
E
Q0
J
C
K
Q1
J
C
K
Q2
J
C
K
Q3
J
C
K
Clock
5-24.
TQ8
(Q 1Q8 + Q1Q2Q4)E
TQ4
Q1Q2E
TQ2
Q1Q8E
TQ1
Q1Q8
Q1
C
Q2
C
Q4
T
C
Q8
T
C
Clock
5-26.
a) JB = C
Present state
Next state
0
0
0
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
1
0
FF Inputs
JA
0
0
0
1
X
X
KA
X
X
X
X
0
1
JB
KB
JC
KC
0
1
X
X
X
1
1
X
0
X
1
X
0
1
X
X
0
0
X
X
0
1
X
X
1
X
1
X
1
X
X
1
X
1
X
1
KB = C
JC = B
KC = 1
b) JA = BC
KA = C
JB = AC
KB = C
JC = 1
KC = 1
end reg_4_bit_arch;
5-33.
library IEEE;
use IEEE.std_logic_1164.all;
library IEEE;
use IEEE.std_logic_1164.all;
entity ripple_1_bit is
port (
RESET, CLK, J, K: in STD_LOGIC;
Q: out STD_LOGIC
);
end ripple_1_bit;
entity ripple_4_bit is
port (
RESET, CLK: in STD_LOGIC;
Q: out STD_LOGIC_VECTOR (3 downto 0)
);
end ripple_4_bit;
end ripple_arch;
end ripple_4_bit_arch;
5-35.
module register_4_bit (D, CLK, CLR, Q) ;
input [3:0] D ;
input CLK, CLR ;
output [3:0] Q ;
reg [3:0] Q ;
always @(posedge CLK or negedge CLR)
begin
if (~CLR)
//asynchronous RESET active low
Q = 4'b0000;
else
//use CLK rising edge
Q = D;
end
endmodule
5-39.
module jk_1_bit (J, K, CLK, CLR, Q) ;
jk_1_bit
g1(1'b1, 1'b1, CLK, CLR, Q[0]),
g2(1'b1, 1'b1, Q[0], CLR, Q[1]),
g3(1'b1, 1'b1, Q[1], CLR, Q[2]),
g4(1'b1, 1'b1, Q[2], CLR, Q[3]);
endmodule
CHAPTER 6
2000 by Prentice-Hall, Inc.
6-1.
a) A = 13, D = 32
b) A = 18, D = 64
c) A = 25, D = 32
d) A = 32, D = 8
6-3.
(633)10 = (10 0111 1001)2, (2731) 10 = (0000 1010 1010 1011)2
6-9.
a) 32
b) 20,15
c) 5, 5to32
6-15.
PTERM
YZ
XY
XY
XYZ
INPUTS
X Y Z
1 1
1 1
0 1
1 0 0
1
2
3
4
A
1
1
OUTPUTS
B C D
1 1
1 1 1
1 1
6-18.
PTERM
A
BC
BD
BC
BD
BC D
CD
CD
D
-
1
2
3
4
5
6
7
8
9
-
79
A
1
INPUTS
B C
1 1
1- 0 1
0 1 0
1
0
1
0
1
0
CHAPTER 7
2000 by Prentice-Hall, Inc.
7-1.
C3
Clock
R1
R2
Load
Load
7-3.Errata: Interchange statements Transfer R1 to R2 and Clear R2 synchronously with the clock.
R1
LOAD
C
C2 C1 C0
D0
D1
D2
D3
Q0
Q1
Q2
Q3
R2
LOAD
C
D0
D1
D2
D3
Q0
Q1
Q2
Q3
Clock
7-6.
a)
CLK
CTR 4
R2
REG 4
D(0-3) Q(0-3)
CI
ADD 4
C1
C1
C2
A(0-3) C(0-3)
B(0-3)
CO
R1
D(0-3) Q(0-3)
CO
R1
C1
b)
Load
Count
REG 4
D(0-3) L Q(0-3)
C2
CI
ADD 4
R2
A(0-3) C(0-3)
B(0-3)
CO
REG 4
D(0-3) Q(0-3)
L
Clock
7-9.
0101 1110
1100 0101
0100 0100
AND
1101 1111
OR
1001 1011
XOR
7-11.
sl 1001 1010
sr 0010 0110
7-14.
b) Source Registers -> Destination
R0 -> R4
R1 -> R0, R3
R2 -> R0, R4
R3 -> R2
R4 -> R1, R2
R0
R1
R2
R3
MUX
R4
MUX
MUX
7-19.
C = C8
V = C8 C7
Z = F 7 + F6 + F5 + F 4 + F3 + F2 + F 1 + F0
N = F7
7-22.
Ci
S1
X = A S1 + A S0
Y = B S1 S0 + B S1
S0
Ai
S1 S0
Bi
D0
D1
Bi
D2
Bi
D3
X
FA
Y
CI + 1
7-24.
a) XOR = 00, NAND = 01,
NOR = 10
XNOR = 11
Out = S 1 A B + S0 A B + S1 A B + S 0 A B + S1 S0 A B
b) The above is a simplest result.
7-26.
(a) 1011
(b) 1010
(c) 0001
(d) 1100
Gi
7-28.
R5 R4 R5
R6 R2 + R4 + 1
R5 srR0
(a)
(b)
(c)
R5 = 0000 0100
R6 = 1111 1110
(d)
(e)
R5 = 0000 0000
(f)
R5 = 0001 0010
R5 DataIn
R4 R4 Constant R4 = 0001 0101
R3 R0 R0
R3 = 0000 0000
7-31.
Clock AA
BA
MB
OF/EX:A OF/EX:B
FS
EX/WB:F
EX/WB:DI
MD
RW
DA
R[DA]
02
03
00
06
18
FF
07
00
01
0C
FF
00
02
02
08
0C
00
03
00
02
08
00
00
00
00
02
00
00
0C
00
Data
00
Data
10
00
The contents of registers that change for a given clock cycle are shown in the next clock cycle. Values are given in hexadecimal.
CHAPTER 8
2000 by Prentice-Hall, Inc.
8-1.
S0
00
Inputs: X2,X 1
Z1 = 0
Z2 = 0
0
X2
1
S1
01
Z1 = 0
Z2 = 1
0
X1
1
X2
S2
10
Z1 = 1
Z2 = 0
0
X1
8-2.
A: 0
B: 1
C: 0
State: ST1
Z: 0
1
1
1
ST1
0
1
1
0
ST2
1
0
1
1
ST3
1
1
0
0
ST1
0
1
0
1
ST2
0
ST3
8-5.
STA
Reset
STB
STD
X
1
STC
STE
Z
0
Z
1
8-8.
ST1(t + 1) = ST1A + ST2BC + ST3, ST2(t + 1) = ST1A, ST3(t + 1)= ST2(B + C), Z = ST2B + ST3
For the D flip-flops, DSTi = STi(t + 1) and STi = Q(STi).Reset initializes the flip-flops: ST1 = 1, ST2 = ST3 = 0.
8-9.
X
DY0
Y2
D
C
20
21
22
DY1
Y1
STA
0
STB
1
STC
2
STD
3
STE
4
DECODER
DY0
DY1
State Assignment
DY2
Y2 Y1 Y0
Reset
DY2
Y0
C
R
STA
STB
STC
STD
STE
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
8-12.
100110 (38)
110101 ( 53)
100110
000000
100110
000000
100110
100110
11111011110 (2014)
100110
110101
000000
100110
100110
0100110
00100110
100110
10111110
010111110
0010111110
100110
1100011110
01100011110
100110
11111011110
011111011110
Init PP
Add
After Add
After Shift
After Shift
Add
After Add
After Shift
After Shift
Add
After Add
After Shift
Add
After Add
After Shift
8-17.
IN
CLK
LA
LB
AR
B(14:0)||0
A(14:0)||0
CLK
S 0 MUX 1
BR
CLK
A(15:0)
Bit 15
LC
B(15:0)
L
R
CR
Zero
R is a synchronous reset.
A
Reset
LA
B
LB
C
LC
G
D
C
R
R
LA
LB
Reset
LC
8-20.
library IEEE;
use IEEE.std_logic_1164.all;
entity asm_820 is
port (
A, B, C, CLK, RESET: in STD_LOGIC;
Z: out STD_LOGIC
);
end asm_820;
architecture asm_820_arch of asm_820 is
type state_type is (ST1, ST2, ST3);
signal state, next_state : state_type;
begin
state_register: process (CLK, RESET)
begin
if RESET='1' then --asynchronous RESET active High
state <= ST1;
elsif (CLK'event and CLK='1') then --CLK rising edge
state <= next_state;
end if;
end process;
next_state_func: process (A, B, C, state)
begin
case (state) is
when ST1 =>
if A = '0' then
next_state <= ST1;
else
next_state <= ST2;
end if;
when ST2 =>
if ((B = '1') and (C = '1')) then
next_state <= ST1;
else
next_state <= ST3;
end if;
when ST3 =>
next_state <= ST1;
end case;
end process;
--Output Z only depends on the state and input 'B'
output_func: process (B, state)
begin
case (state) is
when ST1 =>
Z <= '0';
when ST2 =>
if (B = '1') then
Z <= '1';
else
Z <= '0';
end if;
when ST3 =>
Z <= '1';
end case;
end process;
end asm_820_arch;
8-28.
27
18 17
DATAPATH
28 bits/word
8-32.
a) Opcode = 8 bits ,
b) 16 bits
c)
65,536
d) 32768 to +32767
MC
IL
PI
PL
TD TA TB
MB
FS
MD
RW
MM
MW
a) 17 NXT
NXA
NLI
NLP
NLP
DR SA SB
Register
F=AB
FnUt
WR
NW
00101
17 001
DR = 3, SA = 1, SB = 2
b) CNT
000
NLI
NLP
NLP
DR SA
Register
F = lsr A
FnUt
WR
NW
10100
DR = 5, SA = 5
c) 21 BNZ
21 111
d) CNT
000
NXA
NLI
NLP
NLP
00000
NLI
NLP
NLP
DR SA
Register
F=A
FnUt
WR
NW
00000
DR = 6, SA = 6 Note: For R6 + 0, C = 0.
8-47.
Pipeline Fill
Execution Write-Backs
Final Register Load
TOTAL
3 cycles
22 cycles
1 cycle
26 cycles or 26 5 = 130 ns
CHAPTER 9
2000 by Prentice-Hall, Inc.
9-2.
a) LD
LD
R1, A
b) MOV T1, A
c) LD
R2, B
ADD T1, C
ADD C
LD
R3, C
MOV T2, B
ST
T1
LD
R4, D
MUL T2, D
LD
MOV T3, A
MUL D
ADD T3, B
ST
T2
MUL T3, T1
LD
SUB
ADD B
SUB
R1, R1, R2
MOV Y, T3
ST
Y, R1
T3, T2
MUL T1
SUB
T2
ST
9-3.
A)
B,C)
( A + B ) ( A + C ) ( B D ) = AB + CA+ BD
PUSH A
A
PUSH B
B
A
ADD
A+B
PUSH A
A
A+B
MUL
(A+B)x(A+C)
PUSH B
B
(A+B)x(A+C)
PUSH D
D
B
(A+B)x(A+C)
PUSH C
C
A
A+B
ADD
A+C
A+B
MUL
SUB
BxD
(A+B)x(A+C) - BxD
(A+B)x(A+C)
9-6.
a) X = 200 208 1 = 9
9-9.
address field = 0
9-11.
a) 3 Register Fields x 5 bits/Field = 15 bits.
b) 256 = 8 bits. 2 Register Fields x 5 bits/Field = 10 bits. 32 bits - 8 bits - 10 bits = 14 Memory Bits
9-13.
Read and Write of the FIFO work in the following manner:
Write: M [ WC ] DATA
DST M [ RC ]
Read:
ASC ASC + 1
ASC ASC 1
RC RC + 1
WC WC + 1
WC
RC
ASC
WR
WR
RD
RD
9-17.
b) R0 8C + 5C ,
a) ADD
R0, R4
R0 = E8,
C=0
ADC
R1, R5
R1 35 + FE + 0 ,
R1 = 33,
C=1
ADC
R2, R6
R2 D7 + 68 + 1 ,
R2 = 40,
C=1
ADC
R3, R7
R3 2B + 11 + 1 ,
R3 = 3D,
C=0
9-20.
OPP
SHR
SHL
SHRA
SHLA
ROR
ROL
RORC
ROLC
Result
Register
0101 1101
1011 1010
1101 1101
1011 1010
0101 1101
1011 1010
1101 1101
1011 1010
C
1
1
1
1
1
1
0
1
9-22.
Smallest Number =
Largest Number
2255
2+255
0.5
26
(1 2
9-24.
E
(e)2
+8
+7
+6
+5
+4
+3
+2
+1
0
1
2
3
4
5
6
7
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
1111
1110
1101
1100
1011
1010
1001
1000
0111
0110
0101
0100
0011
0010
0001
0000
9-27.
TEST R, (0001)16
BNZ
(Branch to ADRS if Z = 0)
ADRS
9-29.
a)
A=
B=
AB =
0011 0101
53
0011 0100
- 52
0000 0001
b) C (borrow) = 0,
Z=0
9-31.
PC
SP
TOS
a) Initially
2000
2735
3250
b) After Call
2147
2734
2002
c) After Return
2002
2735
3250
9-34.
External Interrupts:
1) Hard Disk
2) Mouse
3) Keyboard
4) Modem
5) Printer
Internal Interrupts:
1) Overflow
2) Divide by zero
3) Invalid opcode
4) Memory stack overflow
5) Protection violation
A software interrupt provides a way to call the interrupt routines normally associated with
external or internal interrupts by inserting an instruction into the code. Privileged system
calls for example must be executed through interrupts in order to switch from user to
system mode. Procedure calls do not allow this change.
CHAPTER 10
2000 by Prentice-Hall, Inc.
10-1.
a) PC M [ SP ] , SP SP + 1
c)
b) R6 0F0F 16
R2 M [ 255 + R3 ], M [ 255 + R3 ] R2
d) M [ SP ] PC + 2, SP SP 1, PC M [ M [ PC + 2 + 00F0 16 ] ]
10-4.
Register: R3, Register Indirect: 3, Immediate: 200210, Direct: 100010,
Indexed: 100310, Indexed Indirect: 100310, Relative: 300310, Relative Indirect: 300310
10-10.
Sym
RT
MC
a) SHRA0 R9 SD
1
R9 R9 (Set MSTS)
2
z: CAR SHRA6
3
DD DD ( 15 ) DD ( 15:1)
4
R9 R9 1
5
z : CAR SHRA3
6
DD DD ,CAR WB0 ( RO M )
b) RLC0 R9 SD
1
R9 R9 (Set MSTS)
2
z: CAR RLC6
3
DD D D ( 14:0 ) C, C DD ( 15 )
4
R9 R9 1
5
z: CAR RLC2
6
DD DD ,CAR WB0 ( RO M )
c) BV0 V: CAR BRA
1
CAR INT0(ROM)
0
0
3
0
0
3
2
0
0
3
0
0
3
2
3
2
MM
/LS
0
0
0
0
0
0
0
0
0
0
MR
/PS
0
0
0
0
1
0
0
0
0
0
SB
MA
MB
MD
0D
0
00
0F
00
00
00
0D
0
00
0F
00
00
00
00
00
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10-12.
Sym
MUL0
1
2
3
4
5
6
7
8
9
RT
R9 16
R10 D D
DD R0
SD rorc ( SD )
C: CAR MUL6
DD DD + R10
DD rorc ( D D )
R9 R9 1
z : CAR MWB0
CAR MUL3
MC
0
0
0
0
3
0
0
0
3
3
DSA
/MS
09
0A
0F
0D
3
0F
0F
09
6
0
SB MA MB MD
10
0F
00
0D
00
0A
0F
00
00
00
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
FS
MO
/NA
10
0
10
0
10
0
17
D
MUL6 0
02
D
17
D
06
F
MWB0 0
MUL3 0
FS/
MO
NA
10
0
00
F
SHRA6 0
15
0
06
F
SHRA3 0
00
D
10
0
00
F
RLC6
0
1B
D
06
F
RLC2
0
00
D
BRA
0
00
0
10-17.
Cycle 1:
PC = 10F
Cycle 2:
PC-1 = 110,
IR = 4418 2F0116
Cycle 3:
PC-2 = 110,
Cycle 5:
R1 = 0000 2F20
10-21.
MOV R7, R6
SUB R8, R8, R6
IF
DOF
IF
EX
4
WB
DOF
EX
WB
IF
DOF
EX
WB
10-23.
a)
MOV R7, R6
SUB R8, R8, R6
b)
NOP
NOP
NOP
AND R8, R7
OR R5, R7
10-28.
a) LD
b) IF
R1, INDEX
R2, ADDRESS
1OF
ADD
R3, R2, R1
EX
LD
R4, R3
WB
SBI
R4, R4, 1
INT
ST
R3, R4
LD