Title: Combinational Networks
1Combinational Networks
2HOMEWORK CHAPTER 10
Exercises 1a, 5a, 7a, 13, 14a-f, 20a-c, 25, 28b,
30a-c, 32a-b, 35a-b, 41, 49
Hope you have a VERRRY NICE day !!
3OVERVIEW
- Boolean Algebra and Logic Gates
- Combinational Analysis
- Combinational Design
- Combinational Devices
4Introduction
- Time to think about how we actually turn logic
into hardware that can be used to form the heart
of the modern day computer - There are two basic types of logic systems found
in computers - Combinational Logic Systems (retains no memory of
prior events) - Sequential Logic Systems (retains memory of
events which have already occurred) - Both use Logic Gates as basic components
5Introduction
- The building block of all logic gates is the
circuit - A collection of transistors and wires
- Performs a Boolean operation on one or more
inputs and produces an output - A combination of logic gates taken together form
combinational system (or network) - Can describe the action of a combinational system
in terms of a truth table - Can use Boolean Algebra to reduce a combinational
system to smallest size
6Combinational Networks
- Think of in terms of inputs and outputs
- The inputs determine the outputs
- The actual output is determined by the set of
logic gates found in the combinational network
A
B
X f(A,B,C,D)
C
D
7Combinational Networks
- Three common methods for describing the behavior
of a combinational network or system - Truth Tables
- Boolean Algebraic Expressions
- Logic Diagrams
8Combinational Networks
A
X f(A,B,C)
B
C
Truth Table
A
B
C
X
0
0
1
0
0
0
1
1
0
1
1
0
0
1
0
1
Truth Table describes operation of the
Combinational network
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
9Boolean Algebra
- Three basic logical operations associated with
binary variables - AND Ex. X Y Z or XY Z. Interpreted as Z 1
if and only if X 1 AND Y1 else Z0 - OR Ex XY Z. Interpreted as Z1 if X1 OR Y1
OR if both X1 and Y1. Z0 if and only if both
X0 AND Y0. - NOT X Z. Interpreted as Z is what X is NOT. If
X 1, then Z 0 and if X0, then Z1. Also
referred to as the complement operation.
10Truth Tables of Boolean Operators
NOT
X
X
0
1
1
0
11Boolean Algebra
- Algebra that deals with binary variables and
logic operations - All complex logic functions are built on the
three basic logic operations AND, OR, and NOT
which operate on binary variables and the
constants 1 and 0 - Think about DUALITY - used extensively in design
of logic systems
12Basic Identities for Boolean Algebra
1. X 0 X
3. X 1 1
5. X X X
10. X Y Y X
11. XY YX
Comm
12. X (Y Z) (X Y) Z
13. X(YZ) (XY)Z
Assoc
14. X(Y Z) XY XZ
15. X YZ (XY)(XZ)
Dist
DeMorg
13DeMorgans Truth Tables
X
Y
XY
(XY)
X
Y
XY
XY
X Y
XY
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
0
0
14Boolean Manipulation
- Why worry about manipulating Boolean equations?
- Simplification of digital circuits
- Fewer gates required
- Potential for faster operation
- Smaller is always better
15Boolean Manipulation
- Duality principle revisited
- Used in simplifying logic equations
- Obtain the dual by interchanging OR and AND
operations and replacing 1s with 0s and 0s
with 1s - The dual of
- XYZW is (X Y)(ZW)
16Boolean Manipulation
- Complements
- Can derive the complement of a function
algebraically by applying DeMorgans theorem - or can obtain via truth table by interchanging
1s and 0s for the function F - or can obtain by interchanging AND and OR
operations and complementing each variable (which
is a straightforward application of DeMorgans
theorem)
17Boolean ManipulationComplement Functions
Function
Complement Function
F (AB)(AC)(BC)
18Boolean ManipulationComplement Functions
Find the complement of F
F ABC ABC
Step 1 Find the Dual
F (ABC)(ABC)
Step 2 Complement each variable
F (ABC)(ABC)
Results in Complement Function
19Boolean ManipulationConsensus Theorem
- Useful in simplifying Boolean expressions
- Eliminate unnecessary terms
1
Show
Truth Table
F
XY XZ YZ XY XZ YZ(XX)
X
Y
Z
F
G
0
0
0
0
0
XY XZ XYZ XYZ
0
0
1
1
1
XY XYZ XZ XYZ
0
1
0
0
0
0
1
1
1
1
XY(1 Z) XZ(1 Y)
1
0
0
0
0
XY XZ
G
1
0
0
1
0
1
1
1
1
0
1
1
1
1
1
1
?YZ is an unnecessary term
20Logic Diagrams
- The third way of representing the behavior of a
combinational network - An interconnection of Logic Gates
- Gives a hardware perspective of the behavior
- Each of the three basic Boolean operators (AND,
OR, NOT) has a logic gate associated with it - There are more logic gates besides these three
(XOR, NAND, XNOR, NOR)
21Basic Digital Logic Gates
Truth Tables
Logic Gate
Operator
Boolean Function
AND
ZXY
OR
ZXY
NOT
22Basic Digital Logic Gates
Truth Tables
Logic Gate
Operator
Boolean Function
NAND
ZXY
Invert the output
NOR
ZXY
XOR
23OVERVIEW
- Boolean Algebra and Logic Gates
- Combinational Analysis
- Combinational Design
- Combinational Devices
24Boolean Representation
The connection between the three representations
of Boolean behavior
25Logic Diagram Example
Draw the Logic Diagram for F((ABBC)A)
A
B
F
C
26Two Level Networks
- Logic can have any number of levels of gates to
go through - Fewer levels means faster operation in real life
- All combinational networks can be reduced to two
levels - A change in the input requires only two gate
delays to propagate to the output - A good thing to do when constructing digital
logic circuits!
27Two-Level Networks
Level 1
Level 2
28Ubiquitous NAND
X
Y
XYZ
Z
Three Input NAND
EQUIVALENT TO
X
Y
X Y Z
Z
Three INVERTED Input OR
Because of De Morgans Theorem!!
29Ubiquitous NOR
X
Y
XYZ
Z
Three Input NOR
EQUIVALENT TO
X
Y
X Y Z
Z
Three INVERTED Input AND
30An And-OR ImplementationUsing NAND Gates
31OVERVIEW
- Boolean Algebra and Logic Gates
- Combinational Analysis
- Combinational Design
- Combinational Devices
32Boolean Functions in Standard Form(Canonical
Expressions)
- Boolean functions are in standard form when
expressed in terms of product terms or sum terms
- enhances simplification procedures - A product term where all the input variables
appear exactly once either complemented or
uncomplemented is called a minterm - A sum term where all the input variables appear
exactly once either complemented or
uncomplemented is called a maxterm
33Standard FormMinterms and Maxterms for 3
Variables
Minterms
Maxterms
Product Term
Symbol
Sum Term
Symbol
X
Y
Z
0
0
XYZ
0
m0
XYZ
M0
0
0
1
m1
XYZ
M1
XYZ
0
1
0
m2
XYZ
M2
XYZ
0
1
1
m3
XYZ
M3
XYZ
1
0
0
m4
XYZ
M4
XYZ
1
0
1
m5
XYZ
M5
XYZ
1
1
0
m6
XYZ
M6
XYZ
1
1
1
m7
XYZ
M7
XYZ
Note A Minterm and a Maxterm with the same
subscript number are compliments of each other.
M0 m0
34Putting a Function in Standard Form
- A Boolean Function can be expressed
algebraically from a given - truth table by forming the logical sum of all
minterms which - produce a 1 in the function
F 1 for each of the combinations of variables
XYZ, XYZ, XYZ, XYZ,
So F
XYZ XYZ XYZ XYZ
F m0 m2 m5 m7 ?m(0,2,5,7)
And
F m1 m3 m4 m6 ?m(1,3,4,6)
F m1 m3 m4 m6
F m1 m3 m4 m6
F M1 M3 M4 M6 ?M(1,3,4,6)
35Focus on Minterms
- We will only focus on using Minterms in this class
36Important Properties of Minterms
- There are 2n minterms for n Boolean variables
- Any Boolean function can be expressed as a
logical sum of minterms - The compliment of a function contains those
minterms not included in the original function - A function that includes all the 2n minterms is
equal to logic 1
37Sum of Products
A Boolean Function in Sum of Minterms form can be
simplified by algebraic manipulation or map
simplification
F 1 for each of the combinations of variables
XYZ, XYZ, XYZ, XYZ, XYZ
Truth Table
X
Y
Z
F
0
0
1
0
m0
So
0
0
1
1
m1
0
1
1
0
m2
F XYZ XYZ XYZ XYZ XYZ
0
1
0
1
m3
F ?m(0,1,2,4,5)
1
0
1
0
m4
F can be simplified to by algebraic or map
simplification techniques to Sum of Products
1
0
1
1
m5
1
1
0
0
m6
1
1
0
1
m7
F Y XZ
Which equivalent equation is easier to build??
38 39Karnaugh Map Simplification
- Working with algebraic equations often tedious
and error-prone - Use a mapping technique to reduce an algebraic
equation to its simplest form - Can simplify equations of up to 5 variables
readily by hand but beyond 5 becomes unweildy
40Two-Variable Map
- There will be 4 minterms for a 2 variable
equation, therefore use a Karnaugh map with 4
squares - 1s and 0s on the left side and top of map
designate the values of the variable - As shown, Variable X is complemented in row 0 and
uncomplemented in row 1 - Variable Y appears complemented in column 0 and
uncomplemented in column 1
41Two-Variable Map
Equates
- The concept is to put a one in each square that
has a - corresponding minterm in the Boolean Equation
- Only four terms possible
42Two-Variable Map Example
Simplify
- Put 1s in boxes of corresponding terms
- Put 0s (or leave blank) in all other boxes
- Simplified expression for F is obtained by
grouping adjacent 1s - and eliminating unneeded variables.
- In this problem there are two ways of grouping
1s, 1 way is to - circle the row where X 1 and the other is to
circle the column - where Y 1
- Y is eliminated from the two product terms
where X 1 and X is - eliminated from the two product terms where Y 1
ANSWER F X Y
43Three-Variable Map
- There will be 8 minterms for a 3 variable
equation, therefore use a Karnaugh map with 8
squares - The minterm numbers do not follow the normal
binary sequence - Only one bit changes from one adjacent column to
the next
44Three -Variable Map
Equates to
45Three -Variable Map Example
Simplify
F(X, Y, Z) ?m(1, 2, 5, 6)
m1 m5 X Y Z X Y Z
(X X)(Y Z)
YZ
00
01
11
10
? X is redundant
X
0
1
0
1
0
m2 m6 X Y Z X Y Z
(X X)(Y Z)
1
0
1
0
1
? X is redundant
ANSWER F YZ YZ
46Three -Variable Map Example
Simplify
F(X, Y, Z) ?m(1, 3, 5, 7)
m1 m3 m5 m7 X Y Z X Y Z X Y Z
X Y Z
((X(Y Y) X(Y Y))Z
Y
(X X)Z
YZ
00
01
11
10
? X and Y are redundant
X
0
1
1
0
0
ANSWER F Z
X
1
0
1
1
0
Z
47Three -Variable Map Example
Simplify
F(X, Y, Z) ?m(3, 4, 6, 7)
Y
YZ
00
01
11
10
X
0
0
1
0
0
X
1
1
0
1
1
Z
Y is redundant
X is redundant
ANSWER F YZ XZ
48Four -Variable Map
Y
YZ
00
01
11
10
WX
m0
m1
m3
m2
00
01
m4
m5
m7
m6
X
m12
m13
m15
m14
11
W
10
m8
m9
m11
m10
Z
49Four -Variable Example
Truth Table
Y
X
Y
Z
F
W
YZ
0
0
0
0
0
00
01
11
10
WX
0
0
1
1
0
0
1
1
0
0
0
1
0
1
00
0
1
0
1
0
1
0
1
0
0
01
1
0
1
1
0
1
1
0
1
1
1
0
0
0
X
1
1
1
1
0
1
1
1
1
11
0
0
0
1
0
W
0
0
1
1
1
0
1
0
1
1
0
1
0
1
10
0
1
1
1
0
1
0
0
1
1
1
0
1
1
1
Z
1
1
0
1
1
1
1
1
1
1
ANSWER F XY YZ YZ WX
50Dont Care Conditions
- Often times you will generate a truth table that
has several combinations that you as the designer
dont care about - Use DONT CARES to simplify your expression
- Sometimes you can eliminate essential prime
implicants - Example Consider the following incompletely
specified function - F(W,X,Y,Z) ?m(1,3,7,11,15)
- d(W,X,Y,Z) ?m(0,2,5) - These are dont cares
51Dont Care Example
Truth Table
Y
X
Y
Z
F
W
YZ
0
0
x
0
0
00
01
11
10
WX
0
0
1
1
0
0
1
x
0
0
X
1
1
X
00
0
1
1
1
0
1
0
0
0
0
01
1
0
x
1
0
0
X
1
0
1
1
0
0
0
X
1
1
1
1
0
0
0
1
0
11
0
0
0
1
0
W
0
0
1
1
0
0
1
0
1
0
0
0
1
0
10
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
Z
1
1
0
1
0
1
1
1
1
0
ANSWER F YZ WX
52Dont Care Example
Truth Table
Y
X
Y
Z
F
W
YZ
0
0
x
0
0
00
01
11
10
WX
0
0
1
1
0
0
1
x
0
0
X
1
1
X
00
0
1
1
1
0
1
0
0
0
0
01
1
0
x
1
0
0
X
1
0
1
1
0
0
0
X
1
1
1
1
0
0
0
1
0
11
0
0
0
1
0
W
0
0
1
1
0
0
1
0
1
0
0
0
1
0
10
0
1
1
1
1
1
0
0
1
0
1
0
1
1
0
Z
1
1
0
1
0
1
1
1
1
0
ANSWER F YZ WZ
Second solution
53OVERVIEW
- Boolean Algebra and Logic Gates
- Combinational Analysis
- Combinational Design
- Combinational Devices
54Combinational Devices
- Several combinational devices are widely used in
computer design - Half and Full Adders
- Multiplexers
- Decoders
- Arithmetic Logic Units
- Demultiplexers
55Multiplexers
- A multiplexer selects binary information from one
of many inputs and directs that input to a single
output - Use selector variables to determine which input
line is selected - For 2n input lines there are n selection lines
needed - Used extensively in computer systems to move data
through system
56Multiplexer
D0
Truth Table
D1
S1
S0
F
F
0
0
D0
D2
0
1
D1
1
0
D2
D3
1
1
D3
S0
S1
574 to 1 Line Multiplexer
S0
S1
D0
D1
Y
D2
D3
58Decoders
- Binary code of n bits is capable of representing
up to 2n distinct elements - A decoder can convert n coded inputs to a maximum
of 2n unique ouputs - How might you use a decoder in building a
computer?
593 to 8 Line Decoder Truth Table
D5
D6
A2
A1
A0
D7
D4
D3
D2
D1
D0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
603 to 8 Line Decoder
D0 A2A1A0
D1 A2A1A0
A0
D2 A2A1A0
A1
D3 A2A1A0
D4 A2A1A0
A2
D5 A2A1A0
D6 A2A1A0
D7 A2A1A0
61Demultiplexers
- Does the opposite of the multiplexer
- Selects 1 of 2n outputs to direct the input to
- Use selector variables to determine which output
line is selected - For 2n output lines there are n selection lines
needed - Used extensively in computer systems to move data
through system
62Demultiplexer
D0
Truth Table
D1
S1
S0
D0
D1
D2
D3
F
0
0
F
0
0
0
D2
0
1
0
F
0
0
1
0
0
0
F
0
D3
1
1
0
0
0
F
S0
S1
631 to 4 Line Demultiplexer
S0
S1
D0
D1
D2
D3
Input
64Arithmetic Circuits
- A combinational circuit that performs arithmetic
operations with binary numbers or decimal numbers
in a binary code - Most basic operation is the addition of binary
digits - Most basic circuit is the half-adder
- Two outputs Sum and Carry
- Two inputs A and B
65Basic Half-Adder
Inputs
Outputs
A
Sum
A
B
Sum
Carry
0
0
0
0
B
1
0
1
0
1
0
1
0
Carry
1
1
0
1
66Basic Full-Adder Construction
Odd function therefore implement using XOR gates
Sum
BCin
00
01
11
10
A
0
1
0
1
0
1
1
0
1
0
Cout
BCin
00
01
11
10
A
0
0
1
0
0
1
0
1
1
1
Cout AB ACin BCin Sum A xor B xor Cin
67Basic Full-Adder
68End Chapter 10