Combinational Logic Implementation Using Multiplexers
Combinational Logic Implementation Using Multiplexers
Using Multiplexers
1
Use of Multiplexers
Multi-point connections
A0 A1 B0 B1
Multiple input sources
Sa MUX MUX Sb
A B
Sum
S0 S1
2
General Concept of Using Multiplexers
n
2 data inputs, n control inputs, 1 output
n
used to connect 2 points to a single point
Z = A' I 0 + A I 1
A Z I1 I0 A Z
0 I0 0 0 0 0
1 I1 0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 0
Functional form 1 0 1 1
Logical form 1 1 0 1
1 1 1 1
I0
I1
4:1 Z Z = A' B' I0 + A' B I1 + A B' I2 + A B I3
I2 mux
I3
A B
I0
I1
I2
I3
8:1 Z = A' B' C' I0 + A' B' C I1 + A' B C' I2 + A' B C I3 +
I4 mux Z
I5 A B' C' I4 + A B' C I5 + A B C' I6 + A B C I7
I6
I7 n -1
2
In general, Z = S m I
k=0 k k
A B C in minterm shorthand form for a 2 n :1 Mux
4
Design of Large Multiplexers
Large multiplexers can be implemented by cascaded smaller ones
A B
C
I6 0
I7 1 S
5
C
Multiplexers/Selectors as General
n-1
Purpose Blocks
2 :1 multiplexer can implement any function of n variables
1 0 A B C F
0 1 0 0 0 1 C 0
1 2
C F
F 0 0 1 0 C 1 4:1
0 3 8:1 0
0 1 0 1 2 MUX
0 4 MUX C 1
0 0 1 1 0 3
5 S1 S0
1 6 1 0 0 0
0 A B
1 7 S2 S1 S0 1 0 1 0
1 1 0 1
A B C 1
1 1 1 1
"Lookup Table"
6
Generalization of Multiplexer/Selector
I I … I
Logic F
1 2 n
… 0 0 0 1 1 Four possible
n-1 Mux 0 1 0 1 configurations
control variables 1 of the truth table rows
single Mux
data variable 0 In In 1 Can be expressed as
a function of In, 0, 1
Example:
G(A,B,C,D) can be implemented by an 8:1 MUX:
1 0
K-map D 1
Choose A,B,C 0 2
as control variables 8:1 G
1 3
D 4 mux
D 5
Multiplexer D 6
Implementation D 7 S2 S1 S0
TTL package efficient A B C
May be gate inefficient
7
Decoders/Demultiplexers
n
Decoder: single data input, n control inputs, 2 outputs
O1 = G • S0 • S1 • S2
2:4 Decoder:
O0 = G • S0 • S1 O2 = G • S0 • S1 • S2
O1 = G • S0 • S1 O3 = G • S0 • S1 • S2
O2 = G • S0 • S1 O4 = G • S0 • S1 • S2
O3 = G • S0 • S1 O5 = G • S0 • S1 • S2
O6 = G • S0 • S1 • S2
O7 = G • S0 • S1 • S2 8
Decoder as a Logic Building Block
0 ABC
1 ABC
2 ABC Decoder Generates Appropriate
Enb
3:8 3 ABC Minterm based on Control Signals
dec 4 ABC
5 ABC
6 ABC
S2 S1 S0 7 ABC
A B C
Example Function:
F1 = A' B C' D + A' B' C D + A B C D
F2 = A B C' D' + A B C
F3 = (A' + B' + C' + D')
9
Decoder as a Logic Building Block
0 ABCD
1 ABCD
F1
2 ABCD
3 ABCD
4 ABCD
5 ABCD
Enb 6 ABCD
4:16
7 ABCD
dec
8 ABCD F2
9 ABCD
10 ABCD
11 ABCD
12 ABCD
13 ABCD
14 ABCD
F3
S3 S2 S1 S0 15 ABCD
A B C D
If active low enable, then use NAND gates!
10