Dl2 Comb Logic 2019
Dl2 Comb Logic 2019
Dl2 Comb Logic 2019
X⋅Y ≡ X AND Y
X+Y ≡ X OR Y
Xʹ′ or X ≡ NOT (X)
- duality: to get “+” column from “⋅” column (and vice versa),
swap “+” with “⋅” operators and swap 0s and 1s
(A+B+C+D+…)ʹ′ = Aʹ′Bʹ′Cʹ′Dʹ′…
(ABCD…)ʹ′ = Aʹ′+Bʹ′+Cʹ′+Dʹ′…
- more on DeMorgan’s:
NAND ≡
Fʹ′ =
Fdual =
Fʹ′ = as expected.
Example:
XYZ F
F =
000 0
001 1
010 0 =
011 0
100 1 (canonical SoP)
101 0
110 0
111 1
now, F' =
so, F = (F')' =
(generalized DeMorgan)
hence, F =
(canonical PoS)
Design Objectives
- using canonical SoP directly to gates often takes many gates and
gates are large (in this example, 7 input OR gate!)
→ large gates can be built using smaller gates
e.g.,
F =
- similarly all NOR circuit can be derived (most easily for OR-
AND circuit)
- generally assume that Xʹ′ is readily available and to use Xʹ′ at gate
input has no more cost that using X
3 input map
YZ
F: X 00 01 11 10 Note: adjacent
columns differ
0 m0 m1 m3 m2
in only 1 bit
⇒ adjacent
1 m4 m5 m7 m6
squares differ
in only 1 bit
Examples:
(1) K-map of F:
YZ
X 00 01 11 10
0 0 0 1 1
1 1 1 0 0
(2) K-map of F:
YZ
X 00 01 11 10
0 0 0 1 0
1 1 0 1 1
(3) K-map of F:
YZ
X 00 01 11 10
0 0 1 1 1
1 0 1 1 0
4 input map
F: YZ
WX 00 01 11 10
00 m0 m1 m3 m2
01 m4 m5 m7 m6
10 m8 m9 m11 m10
Examples:
(1) K-map of F:
YZ
WX 00 01 11 10
00 1 1 0 1
F=
01 1 1 0 1
11 1 1 0 1
10 1 1 0 0
(2) K-map of F:
YZ
WX 00 01 11 10
00 1 1 0 1
01 0 0 0 1
11 0 0 0 0
10 1 1 0 1
F=
(3) K-map of F:
YZ
WX 00 01 11 10
00 0 0 1 0
01 1 0 1 1
11 1 1 1 1
10 0 0 1 0
F=
Example:
YZ
X 00 01 11 10
0 1 1 0 1
F = M3⋅M5⋅M7
1 1 0 0 1
F = (X+Y'+Z')⋅(X'+Y+Z')⋅(X'+Y'+Z')
= (X+Y'+Z')⋅(X'+Y+Z')⋅(X'+Y'+Z')⋅(X'+Y'+Z')
(repeat M7 term)
= (X+[Y'+Z'])⋅(X'+[Y'+Z'])⋅(X'+Y+Z')⋅(X'+Y'+Z')
(move terms around)
= ( XX'+X[Y'+Z']+[Y'+Z']X'+[Y'+Z'][Y'+Z'] )
⋅(X'+Y+Z')⋅(X'+Y'+Z')
(multiplying out left 2 brackets)
= ( )
⋅(X'+Y+Z')⋅(X'+Y'+Z')
(simplifying 1st bracket)
= ( )⋅(X'+Y+Z')⋅(X'+Y'+Z')
(simplifying 1st bracket)
= ( )⋅( )
(simplifying right 2 brackets → try it!)
Don’t Cares
- in some cases, outputs for given inputs can be either “0” or “1”,
whichever is convenient for design ⇒ “don’t care”
e.g.,
XYZ F
000 1
001 X
010 1
011 1
100 0
101 0
110 X
111 1
YZ
X 00 01 11 10
0 1 X 1 1
1 0 0 1 X
F =
→ implemented independently:
5 2-input ANDs
2 3-input ANDs
2 2-input ORs
1 3-input OR
→ implemented together:
WXYZ H F C
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
H:
YZ
WX 00 01 11 10
00
01
11
10
H=
F:
YZ
WX 00 01 11 10
00
01
11
10
F=
C:
YZ
WX 00 01 11 10
00
01
11
10
C=
WXYZ A B C D E
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
A: YZ
WX 00 01 11 10
00
01
11
10
A=
B: YZ
WX 00 01 11 10
00
01
11
10
B=
C: YZ
WX 00 01 11 10
00
01
11
10
C=
D: YZ
WX 00 01 11 10
00
01
11
10
D=
E: YZ
WX 00 01 11 10
00
01
11
10
E=
X 1X 0 Y 1Y 0 Z3Z2Z1Z0
00 00
00 01
00 10
00 11
01 00
01 01
01 10
01 11
10 00
10 01
10 10
10 11
11 00
11 01
11 10
11 11
Z3 =
Y1 Y0
Z2:
X1 X0 00 01 11 10
00
Z2 =
01
11
10
Y1 Y0
Z1:
X1 X0 00 01 11 10
00
Z1 =
01
11
10
Y1 Y0
Z0:
X1 X0 00 01 11 10
00
Z0 =
01
11
10
Inverter (NOT)
- note that, although logic diagrams do not show it, all gates
require a voltage or power supply
→ in our labs, we use Vdd = 5.0 V
Logic Families
- 7400 series ICs are SSI and MSI packages for building digital
systems out of discrete components
→ in practice, digital systems are now integrated into one or
at most a few ICs ⇒ LSI, VLSI
Static Behaviour
- input and output signals of gates are not changing
→ static power consumption, noise immunity, tolerances
between input and output levels
Dynamic Behaviour
- input and output signals of gates are changing
→ dynamic power consumption, timing from input change to
output change
I/O Characteristic
of CMOS Inverter:
Fan-out
Fan-in
Electrostatic Discharge
Transition Time
Propagation Delay
Static Hazards
Timing Diagram
YZ
X 00 01 11 10
0 0 0 1 0
1 1 0 1 1
- no glitch possible
⇒ no static hazard
Dynamic Hazards
but becomes
(1) Inputs
→ wording, truth table, Boolean function, K-map
(2) Objectives
→ minimize # and size of gates, minimize timing delay
(3) Constraints
→ NANDs only, maximum timing delays, limits on gate
driving capabilities (fan-out) and/or gate size (fan-in)
(4) Tools
→ Boolean algebra, SoP/PoS forms, Karnaugh maps (for
small circuits with few inputs), computer-aided design
(CAD) tools (for large circuits)