Topic2 Combinational Circuits (1)
Topic2 Combinational Circuits (1)
+
HALF-ADDER
x
C S
We will use x, y and z for inputs and s for sum and c for carry are the
two outputs. x y z c s
The truth table 0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
Full Adder
S = x`y`z + x`yz` + xy`z` + xyz
k-map for s
y z 00 01 11 10
x
0 0 1 0 1
1 1 0 1 0
Full Adder
K-map on C
y z 00 01 11 10
x
C=yz+xz+xy
0 0 0 1 0
But we would like to use the
previous logic gate XOR 1 0 1 1 1
K-map on C
NOT using NAND: A′=A NAND AA' = A \text{ NAND } AA′=A NAND A
AND sing NAND:
A⋅B=(A NAND B)’
OR using NAND (via De Morgan’s Theorem):
Why NAND?
•Universality: Since NAND is functionally complete, any logic function
can be built using just NAND gates.
(Example)
F = A + B • (C + D’)
= A + B • (C’D)’
Note that (C’D)’ = C + D’ and (A’X’)’ = A +
X
F = (A’ • (B • (C’D)’)’)’
Now there is no OR operation in the Boolean
expression. Note that
A NAND B = (AB)’
F= (A’ • (B • (C’D)’)’)’
The logic circuit for this function is given by:
Consists of:
Inputs (n)
Outputs (2n , numbered from 0 2n - 1)
Selectors / Enable (active high or active
low)
The truth table of 2-to-4
Decoder
2-to-4 Decoder
2-to-4 Decoder
The truth table of 3-to-8
Decoder
A2 A1 A0 D0 D1 D2 D3 D4 D5 D6 D7
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
3-to-8 Decoder
3-to-8 Decoder with
Enable
2-to-4 Decoder: NAND
implementation
Decoder is enabled when E=0 and an output is
active if it is 0
2-4 Decoder with 2-input
and Enable
Decoder Expansion
Decoder expansion
Combine two or more small decoders
input variables
Since any Boolean function can be
X Y Z C S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
one decoder.
S(X,Y,Z) = m(1,2,4,7);
C(X,Y,Z) = m(3,5,6,7)
Chapter 2 Encoder
Encoders
output lines
Encoders
Encoders with OR gates
Encoders
active)
Selectors / Enable (active high or active low)
D3 D2 D1 D0 A1 A2 V
0 0 0 0 x X 0
0 0 0 1 0 0 1
0 0 1 0 0 1 1
0 0 1 1 0 1 1
0 1 0 0 1 0 1
0 1 0 1 1 0 1
0 1 1 0 1 0 1
0 1 1 1 1 0 1
1 0 0 0 1 1 1
1 0 0 1 1 1 1
1 0 1 0 1 1 1
1 0 1 1 1 1 1
1 1 0 0 1 1 1
1 1 0 1 1 1 1
1 1 1 0 1 1 1
1 1 1 1 1 1 1
Priority Encoder
Priority Encoder
Chapter2 Digital
Components
Multiplexer (MUX)
4 to 1 line
multiplexer
S1 S0 F
2n MUX to 1
0 0 I0
n for this MUX is 2 0 1 I1
This means 2 1 0 I2
selection lines s0 1 1 I3
and s1
Multiplexer (MUX)
Consists of:
Inputs (multiple) = 2n
Output (single)
Selectors (# depends on # of inputs) = n
Enable (active high or active low)
Function table with
enable
Multiplexers versus
decoders
•A Multiplexer uses n binary select bits to choose
from a maximum of 2n unique input lines.
•Multiplexers and decoders both can decode
minterms.
•Decoders have n number of output lines while
I2
I1
I0
S1
S0
2-t0-4 Decoder
4-to-1 Multiplexer
Note that the multiplexer has an extra OR gate. A1 and A0 are
the two inputs in decoder. There are four inputs in multiplexer.
Function table with
enable
Cascading multiplexers
S1 S0 F
0 0 I0
0 1 I1
1 0 I2
1 1 I3
Example: Construct an
8-to-1 multiplexer using I0
2-to-1 multiplexers. I1
S2 S1 S0 F I2
0 0 0 I0 I3
2-1 F
0 0 1 I1 MUX
S E
0 1 0 I2
I4 S2 E
0 1 1 I3
I5
1 0 0 I4
1 0 1 I5
1 1 0 I6 I6
1 1 1 I7 I7
Example ( ) Construct 8-to-1 multiplexer using one 2-to-1 multiplexer and
two 4-to-1 multiplexers
S2 S1 S0 X
Quadruple 2-to-1 Line Multiplexer
E S Y
(Enable) (Select) (Output)
0 X All 0’s
1 0 A
1 1 B
Subtraction using addition
Conventional addition (using carry) is
easily
implemented in digital computers.
However; subtraction by borrowing is
difficult and inefficient for digital
computers.
Much more efficient to implement
subtraction using ADDITION OF the
COMPLEMENTS of numbers.
Complements of
numbers
(r-1 )’s Complement
•Given a number N in base r having n digits,
•the (r- 1)’s complement of N is defined as
(rn - 1) - N
base or r = 10 and r- 1= 9, 9 9 9 9 9
99999……. - N
•
9’s complement Examples
9 9 9 9 9 9
-
and the 9’s complement of 12389 is
99999- 12389 = 87610. 1 2 3 8 9
8 7 6 1 0
l’s complement
For binary numbers, r = 2 and r —
1 = 1,
r-1’s complement is the l’s
complement.
The l’s complement of N is (2n - 1)
- N. Bit n-1 Bit n-2 ……. Bit 1 Bit 0
1 1 1 1 1
- Digit
n
Digit
n-1
Next
digit
Next
digit
First
digit
l’s complement
Find r-1 complement for binary number N with four binary digits.
r-1 complement for binary means 2-1 complement or 1’s
complement.
n = 4, we have 24 = (10000)2 and 24 - 1 = (1111)2.
1 1 1 1 1 1 1
1011001 is 0100110 0 1 0 0 1 1 0
1 1 1 1 1 1 1
0001111 is 1110000 1 1 1 0 0 0 0
r’s Complement
•Given a number N in base r having n digits,
•the r’s complement of N is defined as
rn - N.
base or r = 10,
1 0 0 0 0 0
•so the 10’s complement of N
is 10n-N. - Digit
n
Digit
n-1
Next
digit
Next
digit
First
digit
100000……. - N
•
10’s complement
Examples
Find the 10’s complement of
546700 and 12389 1 0 0 0 0 0 0
1 0 0 0 0 0
- Digit
n
Digit
n-1
Next
digit
Next
digit
First
digit
2’s complement Example
1 0 0 0 0 0 0 0
0 1 0 0 1 1 1
1 0 0 0 0 0 0 0
1 1 1 0 0 0 1
Fast Methods for 2’s
Complement
Method 1:
The 2’s complement of binary number is obtained by adding 1 to the
l’s complement value.
Example:
1’s complement of 101100 is 010011 (invert the 0’s and 1’s)
2’s complement of 101100 is 010011 + 1 = 010100
Fast Methods for 2’s
Complement
Method 2:
The 2’s complement can be formed by leaving all least significant 0’s
and the first 1 unchanged, and then replacing l’s by 0’s and 0’s by l’s
in all other higher significant bits.
Example:
The 2’s complement of 1101100 is
0010100
Leave the two low-order 0’s and the first 1 unchanged, and then
replacing 1’s by 0’s and 0’s by 1’s in the four most significant bits.
Examples
Finding the 2’s complement of (01100101)2
Method 1 – Simply complement each bit and
then add 1 to the result.
(01100101)2
[N] = 2’s complement = 1’s complement (10011010) 2
+1
=(10011011)2
Method 2 – Starting with the least significant
bit, copy all the bits up to and including the first
1 bit and then complement the remaining bits.
N =01100101
[N] =10011011
Subtraction of Unsigned
Numbers
using r’s complement
Subtract N from M : M–N
add M to ( rn – N ) : Sum = M + ( r n – N)
M = 13250
10’s complement of N = +27468
Sum = 40718