Beruflich Dokumente
Kultur Dokumente
based on textbook
Contemporary Logic Design, 2nd Edition
by R. H. Katz and G. Borriello
COMMONWEALTH OF AUSTRALIA
Copyright Regulations 1969
WARNING
This material has been reproduced and communicated to you by or on behalf of
Monash University pursuant to Part VB of the Copyright Act 1968 (the Act).
The material in this communication may be subject to copyright under the Act. Any
further reproduction or communication of this material by you may be the subject of
copyright protection under the Act.
Do not remove this notice.
IV - Combinational Logic
Technologies
Standard gates
Regular logic
gate packages
cell libraries
multiplexers
decoders
PALs
PLAs
ROMs
IV - Combinational Logic
Technologies
IV - Combinational Logic
Technologies
Fixed/Random logic
IV - Combinational Logic
Technologies
IV - Combinational Logic
Technologies
multiplexer
IV - Combinational Logic
Technologies
control
demultiplexer
4x4 switch
Switch implementation of
multiplexers and demultiplexers
IV - Combinational Logic
Technologies
A1
B0
B1
MUX
MUX
Sb
Sum
Ss
DEMUX
S0
IV - Combinational Logic
Technologies
S1
Copyright 2004, Gaetano Borriello and Randy H. Katz
Multiplexers/selectors
Z = A' I0 + A I1
Z
I0
I1
functional form
logical form
two alternative forms
for a 2:1 Mux truth table
IV - Combinational Logic
Technologies
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
0
1
1
1
Multiplexers/selectors (cont'd)
2:1 mux:
4:1 mux:
8:1 mux:
Z = A'I0 + AI1
Z = A'B'I0 + A'BI1 + AB'I2 + ABI3
Z = A'B'C'I0 + A'B'CI1 + A'BC'I2 + A'BCI3 +
AB'C'I4 + AB'CI5 + ABC'I6 + ABCI7
In general: Z =
I0
I1
2 n -1
k=0
(mkIk)
2:1
mux
A
IV - Combinational Logic
Technologies
I0
I1
I2
I3
4:1
mux
A B
Copyright 2004, Gaetano Borriello and Randy H. Katz
I0
I1
I2
I3
I4
I5
I6
I7
8:1
mux
A B C
10
2:1 mux
4:1 mux
IV - Combinational Logic
Technologies
11
Cascading multiplexers
8:1
mux
4:1
mux
2:1
mux
4:1
mux
B C
IV - Combinational Logic
Technologies
alternative
implementation
I0
I1
2:1
mux
I2
I3
2:1
mux
I4
I5
2:1
mux
I6
I7
2:1
mux
C
8:1
mux
4:1
mux
A B
12
Example:
F(A,B,C) = m0 + m2 + m6 + m7
= A'B'C' + A'BC' + ABC' + ABC
= A'B'C'(1) + A'B'C(0)
+ A'BC'(1) + A'BC(0)
+ AB'C'(0) + AB'C(0)
+ ABC'(1) + ABC(1)
1
0
1
0
0
0
1
1
0
1
2
3
4 8:1 MUX
5
6
7
S2 S1 S0
Z
F
13
Example:
1
0
1
0
0
0
1
1
F(A,B,C) = m0 + m2 + m6 + m7
= A'B'C' + A'BC' + ABC' + ABC
= A'B'(C') + A'B(C') + AB'(0) + AB(1)
0
1
2
3
4 8:1 MUX
5
6
7
S2 S1 S0
A
IV - Combinational Logic
Technologies
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
1
0
1
0
0
0
1
1
C'
C'
0
1
C'
C'
0
1
0
1
4:1 MUX
2
3
S1 S0
A
C
Copyright 2004, Gaetano Borriello and Randy H. Katz
14
Generalization
n-1 mux control
variables
I0
I1
. . . In-1 In
In
In'
Example:
G(A,B,C,D)
can be realized
by an 8:1 MUX
choose A,B,C as
control variables
IV - Combinational Logic
Technologies
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
G
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
four possible
configurations
of truth table
rows can be
expressed as
a function of In
1
D
0
1
D'
D
1
D
0
1
D
D
D
D
0
1
2
3
4 8:1 MUX
5
6
7
S2 S1 S0
D
D
C
15
Activity
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
IV - Combinational Logic
Technologies
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Z
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
0
0 when BC
D when BC
A when BC
0
D
A
0
0
1
4:1 MUX
2
3
S1 S0
B
0 when BC
16
IV - Combinational Logic
Technologies
S0
S0
S0
S0
3:8 Decoder:
O0 = G S2 S1 S0
O1 = G S2 S1 S0
O2 = G S2 S1 S0
O3 = G S2 S1 S0
O4 = G S2 S1 S0
O5 = G S2 S1 S0
O6 = G S2 S1 S0
O7 = G S2 S1 S0
17
1:2 decoders
active-high
enable
G
active-low
enable
\G
O0
O0
O1
O1
2:4 decoders
G
O0
active-high
enable
O1
S1 S0
IV - Combinational Logic
Technologies
\G
O0
active-low
enable
O1
O2
O2
O3
O3
S1 S0
Copyright 2004, Gaetano Borriello and Randy H. Katz
18
IV - Combinational Logic
Technologies
A'B'C'
A'B'C
A'BC'
A'BC
AB'C'
AB'C
ABC'
ABC
19
Enable
IV - Combinational Logic
Technologies
4:16
DEC
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A'B'C'D'
A'B'C'D
A'B'CD'
A'B'CD
A'BC'D'
A'BC'D
A'BCD'
A'BCD
AB'C'D'
AB'C'D
AB'CD'
AB'CD
ABC'D'
ABC'D
ABCD'
ABCD
F1
F2
F3
A B C D
Copyright 2004, Gaetano Borriello and Randy H. Katz
20
Cascading decoders
5:32 decoder
1x2:4 decoder
4x3:8 decoders
0
2:4 DEC 1
2
S1 S0 3
A
0
1
2
3:8 DEC3
4
5
6
7
S2 S1 S0
0
1
2
3:8 DEC3
4
5
6
7
S2 S1 S0
C
IV - Combinational Logic
Technologies
A'B'C'D'E'
ABCDE
0
1
2
3:8 DEC 3
4
5
6
7
S2 S1 S0
0
1
2
3:8 DEC 3
4
5
6
7
S2 S1 S0
C
A'BC'DE'
AB'C'D'E'
AB'CDE
21
AND
array
product
terms
OR
array
outputs
IV - Combinational Logic
Technologies
22
F0
F1
F2
F3
=
=
=
=
A +
A C'
B' C'
B' C
B' C'
+ AB
+ AB
+ A
input side:
personality matrix
product
term
AB
B'C
AC'
B'C'
A
inputs
A
B
1
1
0
1
0
1
IV - Combinational Logic
Technologies
1
0
0
outputs
F0 F1
0
1
0
0
0
1
1
0
1
0
1 = uncomplemented in term
0 = complemented in term
= does not participate
F2
1
0
0
1
0
F3
0
1
0
0
1
output side:
1 = term connected to output
0 = no connection to output
reuse of terms
23
Before programming
IV - Combinational Logic
Technologies
24
After programming
AB
B'C
AC'
B'C'
A
IV - Combinational Logic
Technologies
F0
F1
F2
F3
25
IV - Combinational Logic
Technologies
AB+A'B'
CD'+C'D
Copyright 2004, Gaetano Borriello and Randy H. Katz
26
Multiple functions of A, B, C
F1 = A B C
F2 = A + B + C
F3 = A' B' C'
F4 = A' + B' + C'
F5 = A xor B xor C
F6 = A xnor B xnor C
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F1
0
0
0
0
0
0
0
1
F2
0
1
1
1
1
1
1
1
IV - Combinational Logic
Technologies
F3
1
0
0
0
0
0
0
0
F4
1
1
1
1
1
1
1
0
F5
0
1
1
0
1
0
0
1
F6
0
1
1
0
1
0
0
1
A B C
A'B'C'
A'B'C
A'BC'
A'BC
AB'C'
AB'C
ABC'
ABC
F1 F2 F3 F4 F5
F6
27
IV - Combinational Logic
Technologies
28
A
0
0
0
0
0
0
0
0
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
1
C
0
0
1
1
0
0
1
1
0
0
1
IV - Combinational Logic
Technologies
D
0
1
0
1
0
1
0
1
0
1
W
0
0
0
0
0
1
1
1
1
1
X
0
0
0
0
1
1
0
0
0
0
Y
0
0
1
1
1
1
1
1
0
0
Z
0
1
1
0
0
0
0
1
1
0
minimized functions:
W = A + BD + BC
X = BC'
Y=B+C
Z = A'B'C'D + BCD + AD' + B'CD'
29
minimized functions:
A B
W = A + BD + BC
X = B C'
Y=B+C
Z = A'B'C'D + BCD + AD' + B'CD'
C D
A
BD
BC
BC'
B
C
A'B'C'D
BCD
AD'
BCD'
IV - Combinational Logic
Technologies
30
C D
A
BD
BC
0
BC'
0
0
4 product terms
per each OR gate
0
B
C
0
0
A'B'C'D
BCD
AD'
B'CD'
IV - Combinational Logic
Technologies
W X
Y Z
31
A
B
D
B
C
D
B
C
B
IV - Combinational Logic
Technologies
A
\D
B
C
\B
C
\D
32
C D
Magnitude comparator
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
EQ
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
NE
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
LT
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
minimized functions:
EQ = ABCD + ABCD + ABCD + ABCD
LT =
AC + ABD + BCD
IV - Combinational Logic
Technologies
A'B'C'D'
GT
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
A'BC'D
ABCD
AB'CD'
AC'
A'C
B'D
BD'
A'B'D
B'CD
ABC
BC'D'
NE = AC + AC + BD + BD
GT = AC + ABC + BCD
EQ NE LT GT
33
Activity
W = AB + AC + BC
X = ABC + AB + AB
Y = ABC + BC + BC
A B C
W
IV - Combinational Logic
Technologies
Y
34
Activity (contd)
ABC
ABC
AC
Now it fits
A B C
AB
W = ABC + ABC + AC
X = ABC + AB + AB
Y = ABC + BC + BC
AB
BC
BC
IV - Combinational Logic
Technologies
Y
35
n
2 -1
decoder
word[i] = 0011
word[j] = 1010
internal organization
0
n-1
Address
IV - Combinational Logic
Technologies
36
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F0
0
1
0
0
1
1
0
0
F1
0
1
1
0
0
0
0
1
F2
1
1
0
0
1
0
0
0
truth table
IV - Combinational Logic
Technologies
F3
0
0
0
1
1
0
1
0
ROM
8 words x 4 bits/word
A B C
F0F1F2F3
address outputs
block diagram
37
ROM structure
decoder
2n word
lines
memory
array
(2n words
by m bits)
outputs
m data lines
IV - Combinational Logic
Technologies
38
ROM problems
PAL problems
IV - Combinational Logic
Technologies
39
intermediate cost
can implement functions limited by number of terms
high speed (only one programmable plane that is much smaller than
ROM's decoder)
IV - Combinational Logic
Technologies
40
Multi-level logic:
Field-Programmable Gate Array (FPGA)
IV - Combinational Logic
Technologies
41
horizontal
wiring tracks
IO buffers,
programming
and test logic
S0A
D0
D1
2:1
MUX
2:1
MUX
D2
row of
logic cells
S0 S1
D3
2:1
MUX
S0B
Logic Cell structure
IV - Combinational Logic
Technologies
42
4-input
LUT
logic
cell
Y
D Q
MUX
wiring channels
Combinational Function
Block (CFB) structure
(simplified)
IV - Combinational Logic
Technologies
43
Xilinx FPGA
IV - Combinational Logic
Technologies
44
A OE F
X 0 Z
0 1 0
1 1 1
Non-inverting buffer's
timing waveform
A
OE
F
IV - Combinational Logic
Technologies
"Z"
Copyright 2004, Gaetano Borriello and Randy H. Katz
"Z"
45
Tri-state Outputs
Using tri-state gates to implement an economical multiplexer:
F
Input 0
OE
Input 1
OE
SelectInput
IV - Combinational Logic
Technologies
46
Tri-state Outputs
Alternative Tri-state Fragment
F
Input 0
OE
Input 1
OE
SelectInput
I
OE
0
47
Tri-State Outputs
4:1 Multiplexer, Revisited
\EN
S1
S0
1G 1Y3
1Y2
3 139 1Y1
2 1B
1A 1Y0
15
7
6
5
4
D3
2G 2Y3 10
2Y2
13 2B
2Y1 11
14 2A 2Y0 12
D2
D1
D0
IV - Combinational Logic
Technologies
48
A
B
C
D
OC NAND gates
Wired AND:
If A and B are "1", output is actively pulled low
if C and D are "1", output is actively pulled low
if one gate is low, the other high, then low wins
if both gates are "1", the output floats, pulled
high by resistor
Hence, the two NAND functions are AND'd
together! (by O/C outputs and wire)
IV - Combinational Logic
Technologies
49
Y3
139 Y2
3
Y1
B
S1
2
A
Y0
S0
G
+5V
7
6
5
4
\I3
OR
\I2
OR
\I1
OR
\I0
OR
IV - Combinational Logic
Technologies
50
Random logic
Regular logic
multiplexers/decoders
ROMs
PLAs/PALs
FPGAs
Non-gate logic
Tri-state outputs
Open-collector outputs
IV - Combinational Logic
Technologies
51