Transcript Slide 1

Digital
Fundamentals
Tenth Edition
Floyd
Boolean Algebra
and Logic
Simplification
Floyd, Digital Fundamentals, 10th ed
[email protected]
© 2008 Pearson Education
Shanghai Jiao Tong University
In this Chapter…
Objectives:
• Laws and Rules of Boolean Algebra
• Standard Forms of Boolean Expression
• Simplification by using algebra rules
• Karnaugh map and logic simplification
Reading assignment:
 Chapter 4:p173-p212
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Boolean Algebra
• In 1854, George Boole, An Investigation of the Laws
of Thought,on which are Founded the Mathematical
Theories of Logic and Probabilities
– The design of the following treatise is to investigate the fundamental
laws of those operations of the mind by which reasoning is
performed;…to collect from the various elements of truth brought to
view in the course of these inquiries some probable intimations
concerning the nature and constitution of the human mind.
– “the operations of the mind are in a certain real sense subject to laws,
and that a science of the mind is therefore possible.”
• In 1938,Claude E. Shannon, A Symbolic Analysis of
Relay and Switching Circuits, Master thesis
– Application of Boolean Algebra in Digital Design and Analysis
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Boolean Addition
In Boolean algebra, a variable is a symbol used to represent
an action, a condition, or data. A single variable can only
have a value of 1 or 0.
The complement represents the inverse of a variable and is indicated
with an overbar. Thus, the complement of A is A.
A literal is a variable or its complement.
Addition is equivalent to the OR operation. The sum term is 1 if one or
more if the literals are 1. The sum term is zero only if each literal is 0.
Determine the values of A, B, and C that make the sum term
of the expression A + B + C = 0?
Each literal must = 0; therefore A = 1, B = 0 and C = 1.
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Boolean Multiplication
In Boolean algebra, multiplication is equivalent to the AND
operation. The product of literals forms a product term. The
product term will be 1 only if all of the literals are 1.
What are the values of the A, B and C if the
product term of A.B.C = 1?
Each literal must = 1; therefore A = 1, B = 0 and C = 0.
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Commutative Laws
The commutative laws are applied to addition and
multiplication. For addition, the commutative law states
In terms of the result, the order in which variables
are ORed makes no difference.
A+B=B+A
For multiplication, the commutative law states
In terms of the result, the order in which variables
are ANDed makes no difference.
AB = BA
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Associative Laws
The associative laws are also applied to addition and
multiplication. For addition, the associative law states
When ORing more than two variables, the result is
the same regardless of the grouping of the variables.
A + (B +C) = (A + B) + C
For multiplication, the associative law states
When ANDing more than two variables, the result is
the same regardless of the grouping of the variables.
A(BC) = (AB)C
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Distributive Law
The distributive law is the factoring law. A common
variable can be factored from an expression just as in
ordinary algebra. That is
AB + AC = A(B+ C)
The distributive law can be illustrated with equivalent
circuits:
B
C
A
B
B+ C
X
X
A
A
C
A(B+ C)
Floyd, Digital Fundamentals, 10th ed
AB
[email protected]
AC
AB + AC
Shanghai Jiao Tong University
Rules of Boolean Algebra
3. A . 0 = 0
7. A . A = A
8. A . A = 0
=
9. A = A
4. A . 1 = A
10. A + AB = A
5. A + A = A
11. A + AB = A + B
6. A + A = 1
12. (A + B)(A + C) = A + BC
1. A + 0 = A
2. A + 1 = 1
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Rules of Boolean Algebra
Rules of Boolean algebra can be illustrated with Venn
diagrams (文氏图). The variable A is shown as an area.
The rule A + AB = A can be illustrated easily with a diagram. Add
an overlapping area to represent the variable B.
The overlap region between A and B represents AB.
B
A
AB
A
=
The diagram visually shows that A + AB = A. Other rules can be
illustrated with the diagrams as well.
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Rules of Boolean Algebra
Illustrate the rule A + AB = A + B with a Venn
diagram.
This time, A is represented by the blue area and B
again by the red circle. The intersection represents
AB. Notice that A + AB = A + B
A
Floyd, Digital Fundamentals, 10th ed
A
[email protected]
BA
AB
Shanghai Jiao Tong University
Rules of Boolean Algebra
Rule 12, which states that (A + B)(A + C) = A + BC, can
be proven by applying earlier rules as follows:
(A + B)(A + C) = AA + AC + AB + BC
= A + AC + AB + BC
= A(1 + C + B) + BC
= A . 1 + BC
= A + BC
This rule is a little more complicated, but it can also be
shown with a Venn diagram, as given on the following
slide…
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Three areas represent the variables A, B, and C.
The area representing A + B is shown in yellow.
The area representing A + C is shown in red.
The overlap of red and yellow is shown in orange.
The overlapping area between B and C represents BC.
ORing with A gives the same area as before.
A
B
A+B
A+C
A
BC
C
=
C
(A + B)(A + C)
Floyd, Digital Fundamentals, 10th ed
B
A + BC
[email protected]
Shanghai Jiao Tong University
DeMorgan’s Theorem
DeMorgan’s 1st Theorem
The complement of a product of variables is
equal to the sum of the complemented variables.
AB = A + B
Applying DeMorgan’s first theorem to gates:
A
AB
B
NAND
Floyd, Digital Fundamentals, 10th ed
A
A+B
B
Negative-OR
[email protected]
Inputs
A
0
0
1
1
B
0
1
0
1
Output
AB A + B
1
1
1
1
1
1
0
0
Shanghai Jiao Tong University
DeMorgan’s Theorem
DeMorgan’s 2nd Theorem
The complement of a sum of variables is equal to
the product of the complemented variables.
A+B=A.B
Applying DeMorgan’s second theorem to gates:
A
A+B
B
NOR
Floyd, Digital Fundamentals, 10th ed
A
B
Negative-AND
[email protected]
AB
Inputs
A
0
0
1
1
B
0
1
0
1
Output
A + B AB
1
1
0
0
0
0
0
0
Shanghai Jiao Tong University
DeMorgan’s Theorem
Apply DeMorgan’s theorem to remove the
overbar covering both terms from the
expression X = C + D.
To apply DeMorgan’s theorem to the expression,
you can break the overbar covering both terms and
change the sign between the terms. This results in
=
X = C . D. Deleting the double bar gives X = C . D.
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Boolean Analysis of Logic Circuits
Combinational logic circuits can be analyzed by writing
the expression for each gate and combining the
expressions according to the rules for Boolean algebra.
Apply Boolean algebra to derive the expression for X.
Write the expression for each gate:
A
B
(A + B )
C (A + B )
X = C (A + B )+ D
C
D
Applying DeMorgan’s theorem and the distribution law:
X = C (A B) + D = A B C + D
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Boolean Analysis of Logic Circuits
Use Multisim to generate the truth table for the circuit in the
previous example.
Set up the circuit using the Logic Converter as shown. (Note
that the logic converter has no “real-world” counterpart.)
Double-click the Logic
Converter top open it.
Then click on the
conversion bar on the
right side to see the
truth table for the circuit
(see next slide).
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Boolean Analysis of Logic Circuits
The simplified logic expression can be viewed by clicking
Simplified
expression
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
SOP and POS forms
Boolean expressions can be written in the sum-of-products
form (SOP) or in the product-of-sums form (POS). These
forms can simplify the implementation of combinational
logic, particularly with PLDs. In both forms, an overbar
cannot extend over more than one variable.
An expression is in SOP form when two or more product terms are
summed as in the following examples:
ABC+AB
ABC+CD
CD+E
An expression is in POS form when two or more sum terms are
multiplied as in the following examples:
(A + B)(A + C)
Floyd, Digital Fundamentals, 10th ed
(A + B + C)(B + D)
[email protected]
(A + B)C
Shanghai Jiao Tong University
SOP Standard form
In SOP standard form, every variable in the domain must
appear in each term. This form is useful for constructing
truth tables or for implementing logic in PLDs.
You can expand a nonstandard term to standard form by multiplying the
term by a term consisting of the sum of the missing variable and its
complement.
Convert X = A B + A B C to standard form.
The first term does not include the variable C. Therefore,
multiply it by the (C + C), which = 1:
X = A B (C + C) + A B C
=ABC+ABC+ABC
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
SOP Standard form
The Logic Converter in Multisim can convert a circuit into
standard SOP form.
Use Multisim to view the logic for the circuit
in standard SOP form.
Click the truth table to logic
button on the Logic Converter.
See next slide…
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
SOP Standard form
SOP
Standard
form
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
POS Standard form
In POS standard form, every variable in the domain must
appear in each sum term of the expression.
You can expand a nonstandard POS expression to standard form by
adding the product of the missing variable and its complement and
applying rule 12, which states that (A + B)(A + C) = A + BC.
Convert X = (A + B)(A + B + C) to standard form.
The first sum term does not include the variable C.
Therefore, add C C and expand the result by rule 12.
X = (A + B + C C)(A + B + C)
= (A +B + C )(A + B + C)(A + B + C)
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Minterms and Maxterms
NOTE:
mi  M i
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Minterms and Maxterms
• Using mi to represent minterms.
Sum of minterms expression:
f = å mi
i
• Using Mi to represent maxterms.
Product of maxterms expression:
f = Õ Mi
i
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Minterm to Maxterm
f   mi
i
m
i
1
mi  M i
f   mj   M j
j i
j i
f Mj
j i
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Theorem
f 
m   M
i
i
k i
k
Proof:
f   mi   mi   mi   M i   M k
k i
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Example
• Convert the following function to
(a) Sum of minterms
(b) Product of maxterms
F ( A, B, C)  A( B  C)  B C
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Converting SOP form to Truth Table
Steps:
1. List all possible combinations of binary values
of the variables in the expression.
2. Convert the SOP form to its standard form.
3. Place a 1 in the output column for each binary
value that make the standard SOP expression a 1
and place 0 for all the remaining binary values.
2015/7/18
Floyd, Digital Fundamentals, 10
th
ed
[email protected]
30
Shanghai Jiao Tong University
Converting SOP form to Truth Table
X=A(B+CD)
Step1: List the
combination of
input variable
values.
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Step2: Convert to standard SOP form.
A( B  CD)  AB  ACD
 AB(C  C )( D  D )  A( B  B )CD
 ( ABC  ABC )( D  D )  ABCD  AB CD
 ABCD  ABCD  ABC D  ABC D  ABCD  AB CD
 ABCD  ABCD  ABC D  ABC D  AB CD
1111
1110
Floyd, Digital Fundamentals, 10th ed
1101
[email protected]
1100
1011
Shanghai Jiao Tong University
Inputs
Step3: Place
1s and 0s in
truth table.
Floyd, Digital Fundamentals, 10th ed
Output
A
B
C
D
A(B+CD)
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
[email protected]
Shanghai Jiao Tong University
Converting POS form to Truth Table
Steps:
1. List all possible combinations of binary values of the
variables in the expression.
2. Convert the POS form to its standard form.
3. Place a 0 in the output column for each binary value that
make the standard POS expression a 0 and place 1 for all
the remaining binary values.
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Converting POS form to Truth Table
Determine the truth table for following expression:
(A + B + C)(A + B + C)(A + B + C)(A + B + C)(A + B + C)
(A + B + C)(A + B + C)(A + B + C)(A + B + C)(A + B + C)
000
010
011
101
110
And the Truth Table on the next page…
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Converting POS form to Truth Table
Determine the truth table for following expression:
(A + B + C)(A + B + C)(A + B + C)(A + B + C)(A + B + C)
Input
Floyd, Digital Fundamentals, 10th ed
Output
A
B
C
x
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
[email protected]
Shanghai Jiao Tong University
Converting Truth Table to SOP/POS standard form
Determine the SOP/POS of x:
X = ABC + ABC + ABC + ABC
= m3 + m4 + m6 + m7
Output
Input
A
B
C
x
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
Floyd, Digital Fundamentals, 10th ed
SOP std. form:
= å(3, 4, 6, 7)
POS std. form:
X  ( A  B  C )( A  B  C )
( A  B  C )( A  B  C )
 M 0  M1  M 2  M 5
  (0,1, 2,5)
[email protected]
Shanghai Jiao Tong University
Converting Truth Table to SOP/POS standard form
Determine the SOP/POS of x:
Input
SOP std. form:
Output
A
B
C
x
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
Floyd, Digital Fundamentals, 10th ed
POS std. form:
[email protected]
Shanghai Jiao Tong University
Minterms and Maxterms
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Logic Expressions and Truth Table
Determine the Truth Table of X
according to the std. SOP:
ABC  ABC  ABC
(1)
(2)
Floyd, Digital Fundamentals, 10th ed
(3)
[email protected]
Input
A B C
Output
0 0 0
0
0 0 1
1
0 1 0
1
0 1 1
0
1 0 0
0
1 0 1
0
1 1 0
0
1 1 1
1
(2)
(3)
(1)
Shanghai Jiao Tong University
Logic Expressions and Truth Table
Determine the Truth Table of X
according to the std. SOP:
ABC  ABC  ABC  ABC
(1)
(2)
Floyd, Digital Fundamentals, 10th ed
(3)
(4)
[email protected]
Input
A B C
Output
0 0 0
1
0 0 1
0
0 1 0
1
0 1 1
0
1 0 0
0
1 0 1
1
1 1 0
0
1 1 1
1
(2)
(3)
(1)
(4)
Shanghai Jiao Tong University
Logic Expressions and Truth Table
Determine the Truth Table of X
according to the POS:
A B C
ABC  AB
Floyd, Digital Fundamentals, 10th ed
Input
[email protected]
Output
0 0 0
1
0 0 1
1
0 1 0
0
0 1 1
0
1 0 0
0
1 0 1
1
1 1 0
0
1 1 1
0
Shanghai Jiao Tong University
Logic Expressions and Truth Table
Determine the Truth Table of X
according to the std. POS:
X = (A+ B +C)(A+ B +C)
(1)
Floyd, Digital Fundamentals, 10th ed
(2)
[email protected]
Input
A B C
Output
0 0 0
0
0 0 1
1
0 1 0
1
0 1 1
1
1 0 0
1
1 0 1
0
1 1 0
1
1 1 1
1
(1)
(2)
Shanghai Jiao Tong University
Logic Expressions and Truth Table
Determine the std. SOP of X
according to the Truth Table:
Input
A B C
(1)
Output X
0 0 0
1
0 0 1
0
0 1 0
1
0 1 1
0
1 0 0
0
1 0 1
1
1 1 0
0
1 1 1
1
Floyd, Digital Fundamentals, 10th ed
ABC + ABC +ABC + ABC
(2)
(3)
(4)
(1)
(2)
(3)
(4)
[email protected]
Shanghai Jiao Tong University
Logic Expressions and Truth Table
Determine the std. POS of X
according to the Truth Table:
(1) A  B  C
Output X
(2) A  B  C
0 0 0
1
(3) A  B  C
0 0 1
0
0 1 0
1
0 1 1
0
1 0 0
0
1 0 1
1
1 1 0
0
1 1 1
1
Input
A B C
Floyd, Digital Fundamentals, 10th ed
(1)
(4) A  B  C
(2)
(3)
X = (A+ B + C)(A+ B + C)(A+ B + C)
(A+ B + C)
(4)
[email protected]
Shanghai Jiao Tong University
Logic Simplification
• Why simplification?
– In software design, simpler logic means less program
branches and simpler codes
– In hardware design, simpler logic means less gates, lower
cost and less energy consumption
• Ways to simplify logic functions
– With rules in Boolean Algebra
– With Karnaugh map
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Logic Simplification
Simplify the logic function below.
AB+A(B+C)+B(B+C)
AB+A(B+C)+B(B+C)
=AB+AB+AC+BB+BC
=AB+AC+B+BC
=B(A+1+C)+AC
=B+AC
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Logic Simplification
• AB+A(B+C)+B(B+C)=B+AC
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Logic Simplification
Simplify the logic function below.
( AB(C  BD)  AB)C
(AB(C + BD) + AB)C
= (ABC + AB)C
= (AC + A)BC
= (C + A)BC
= C BC + ABC
= BC
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Minterms and Maxterms
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Karnaugh maps
The Karnaugh map (K-map) is a tool for simplifying
combinational logic with 3 or 4 variables. For 3 variables,
8 cells are required (23).
The map shown is for three variables
labeled A, B, and C. Each cell
represents one possible product term.
Each cell differs from an adjacent
cell by only one variable.
Floyd, Digital Fundamentals, 10th ed
[email protected]
ABC
ABC
ABC
ABC
ABC
ABC
ABC
ABC
Shanghai Jiao Tong University
Karnaugh maps and the truth table
For any logic function F(A, B, C), its truth table is:
Input
A B C
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Output F
Then it has a K-map:
A
F(0,0,0)
F(0,0,1)
F(0,1,0)
F(0,1,1)
F(1,0,0)
F(1,0,1)
F(1,1,0)
F(1,1,1)
Floyd, Digital Fundamentals, 10th ed
BC
[email protected]
0
1
00 F (0,0,0)
F (1,0,0)
01
F (0,0,1)
F (1,0,1)
11
F (0,1,1)
F (1,1,1)
10
F (0,1,0)
F (1,1,0)
Shanghai Jiao Tong University
Karnaugh maps and the truth table
For a logic function F(A, B, C) with truth table:
Input
A B C
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Output F
Then it has a K-map:
A
1
1
1
0
0
1
1
1
Floyd, Digital Fundamentals, 10th ed
0
1
00
1
0
01
1
1
11
0
1
10
1
1
BC
[email protected]
Shanghai Jiao Tong University
Karnaugh maps
Cells are usually labeled using 0’s and 1’s to represent
the variable and its complement.
C
AB
0
00
Gray
code
01
11
1
The numbers are entered in gray
code, to force adjacent cells to be
different by only one variable.
Ones are read as the true variable
and zeros are read as the
complemented variable.
10
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Karnaugh maps
Alternatively, cells can be labeled with the variable letters.
This makes it simple to read, but it takes more time
preparing the map.
CC
Read the terms for the
yellow cells.
AB
AB ABC
CC
ABC
AB
AB ABC
ABC ABC
The cells are ABC and ABC.
Floyd, Digital Fundamentals, 10th ed
[email protected]
AB
AB ABC
ABC
AB ABC
AB
ABC
ABC
Shanghai Jiao Tong University
Karnaugh maps
K-maps can simplify combinational logic by grouping
cells and eliminating variables that change.
Group the 1’s on the map and read the minimum logic.
B changes
across this
boundary
C
AB
00
0
01
1
1
1
1
11
10
C changes
across this
boundary
Floyd, Digital Fundamentals, 10th ed
1. Group the 1’s into two overlapping
groups as indicated.
2. Read each group by eliminating any
variable that changes across a boundary.
3. The vertical group is read AC.
4. The horizontal group is read AB.
X = AC +AB
[email protected]
Shanghai Jiao Tong University
Karnaugh maps
Simplify the logic function with K-map:
A
0
1
00
1
0
01
1
1
11
0
1
10
1
1
BC
Floyd, Digital Fundamentals, 10th ed
AB + AC + BC
[email protected]
Shanghai Jiao Tong University
Karnaugh maps
Simplify the logic function with K-map:
A
0
1
00
1
0
01
1
1
11
0
1
10
1
1
BC
Floyd, Digital Fundamentals, 10th ed
AC + BC + AB
[email protected]
Shanghai Jiao Tong University
Karnaugh maps
A 4-variable map has an adjacent cell on each of its four
boundaries as shown.
CD
CD
AB
AB
AB
AB
Floyd, Digital Fundamentals, 10th ed
CD
CD
Each cell is different only by
one variable from an adjacent
cell.
Grouping follows the rules
given in the text.
The following slide shows an
example of reading a four
variable map using binary
numbers for the variables…
[email protected]
Shanghai Jiao Tong University
Karnaugh maps
Group the 1’s on the map and read the minimum logic.
C changes across
outer boundary
CD
00
AB
00 1
01
11
10
1
B changes
01
1
1
11
1
1
10
1
1
B changes
C changes
X
Floyd, Digital Fundamentals, 10th ed
1. Group the 1’s into two separate
groups as indicated.
2. Read each group by eliminating
any variable that changes across a
boundary.
3. The upper (yellow) group is read as
AD.
4. The lower (green) group is read as
AD.
X = AD +AD
[email protected]
Shanghai Jiao Tong University
Simplifying functions with don’t care terms
• Don’t Care Terms
– Some input combinations may never appear
– For example, BCD input never produce “1100”
• How to handle Don’t Care Terms
– May be treated as 1, or 0
– Often decisions are tend to result in simpler logic
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Simplifying functions with don’t care terms
Input
A B C D
Output
Y
0
0
0 0
0
0
0
0 1
0
0
0
1 0
0
0
0
1 1
0
0
1
0 0
0
0
1
0 1
0
0
1
1 0
0
0
1
1 1
1
1
0
0 0
1
1
0
0 1
1
1
0
1 0
X
…
1 1 1 10th ed
Floyd, Digital 1
Fundamentals,
…
X
AB
CD
00
01
11
10
00
0
0
X
1
01
0
0
X
1
11
0
1
X
X
10
0
0
X
X
Treating the ‘X’s as ‘0’s
ABCD + ABC
[email protected]
Shanghai Jiao Tong University
Simplifying functions with don’t care terms
Input
A B C D
Output
Y
0
0
0 0
0
0
0
0 1
0
0
0
1 0
0
0
0
1 1
0
0
1
0 0
0
0
1
0 1
0
0
1
1 0
0
0
1
1 1
1
1
0
0 0
1
1
0
0 1
1
1
0
1 0
X
…
1 1 1 10th ed
Floyd, Digital 1
Fundamentals,
…
X
AB
CD
00
01
11
10
00
0
0
X
1
01
0
0
X
1
11
0
1
X
X
10
0
0
X
X
Treating the ‘X’ as ‘1’s
BCD + A
[email protected]
Shanghai Jiao Tong University
Hardware Description Languages (HDLs)
A Hardware Description Language (HDL) is a tool for
implementing a logic design in a PLD. One important
language is called VHDL. In VHDL, there are three
approaches to describing logic:
1. Structural
Description is like a schematic
(components and block diagrams).
2. Dataflow
Description is equations, such as
Boolean operations, and registers.
3. Behavioral Description is specifications over
time (state machines, etc.).
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Hardware Description Languages (HDLs)
The data flow method for VHDL uses Boolean-type statements. There
are two-parts to a basic data flow program: the entity and the
architecture. The entity portion describes the I/O. The architecture
portion describes the logic. The following example is a VHDL program
showing the two parts. The program is used to detect an invalid BCD
code.
entity BCDInv is
port (B,C,D: in bit; X: out bit);
end entity BCDInv
architecture Invalid of BCDInv
begin
X <= (B or C) and D;
end architecture Invalid;
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Hardware Description Languages (HDLs)
Another standard HDL is Verilog. In Verilog, the I/O and the logic is
described in one unit called a module. Verilog uses specific symbols to
stand for the Boolean logical operators.
The following is the same program as in the previous slide, written
for Verilog:
module BCDInv (X, B, C, D);
input B, C, D;
output X;
assign X = (B | C)&D;
endmodule
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Problem Set
• Page 224
• 6(a,b) , 10(c,d,e), 14(c), 16(a), 20(b,d,e),
22(a), 26(b,c), 30(a), 32(a), 34(a), 36(a,d),
40(b, d), 44(a,e), 46
• or, http://front.sjtu.edu.cn/dc/ps-ch04.pdf
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Selected Key Terms
Variable A symbol used to represent a logical quantity that
can have a value of 1 or 0, usually designated by
an italic letter.
Complement The inverse or opposite of a number. In Boolean
algebra, the inverse function, expressed with a bar
over the variable.
Sum term The Boolean sum of two or more literals equivalent
to an OR operation.
Product term The Boolean product of two or more literals
equivalent to an AND operation.
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
Selected Key Terms
Sum-of- A form of Boolean expression that is basically the
products (SOP) ORing of ANDed terms.
Product of A form of Boolean expression that is basically the
sums (POS) ANDing of ORed terms.
Karnaugh map An arrangement of cells representing combinations
of literals in a Boolean expression and used for
systematic simplification of the expression.
VHDL A standard hardware description language. IEEE
Std. 1076-1993.
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
1. The associative law for addition is normally written as
a. A + B = B + A
b. (A + B) + C = A + (B + C)
c. AB = BA
d. A + AB = A
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
© 2008 Pearson Education
2. The Boolean equation AB + AC = A(B+ C) illustrates
a. the distribution law
b. the commutative law
c. the associative law
d. DeMorgan’s theorem
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
© 2008 Pearson Education
3. The Boolean expression A . 1 is equal to
a. A
b. B
c. 0
d. 1
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
© 2008 Pearson Education
4. The Boolean expression A + 1 is equal to
a. A
b. B
c. 0
d. 1
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
© 2008 Pearson Education
5. The Boolean equation AB + AC = A(B+ C) illustrates
a. the distribution law
b. the commutative law
c. the associative law
d. DeMorgan’s theorem
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
© 2008 Pearson Education
6. A Boolean expression that is in standard SOP form is
a. the minimum logic expression
b. contains only one product term
c. has every variable in the domain in every term
d. none of the above
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
© 2008 Pearson Education
7. Adjacent cells on a Karnaugh map differ from
each other by
a. one variable
b. two variables
c. three variables
d. answer depends on the size of the map
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
© 2008 Pearson Education
8. The minimum expression that can be read from
the Karnaugh map shown is
a. X = A
C
C
AB
b. X = A
AB
c. X = B
AB
1
1
d. X = B
AB
1
1
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
© 2008 Pearson Education
9. The minimum expression that can be read from
the Karnaugh map shown is
a. X = A
AB
b. X = A
AB
c. X = B
AB
d. X = B
AB
Floyd, Digital Fundamentals, 10th ed
[email protected]
C
C
1
1
1
1
Shanghai Jiao Tong University
© 2008 Pearson Education
10. In VHDL code, the two main parts are called
the
a. I/O and the module
b. entity and the architecture
c. port and the module
d. port and the architecture
Floyd, Digital Fundamentals, 10th ed
[email protected]
Shanghai Jiao Tong University
© 2008 Pearson Education
Answers:
Floyd, Digital Fundamentals, 10th ed
1. b
6. c
2. c
7. a
3. a
8. a
4. d
9. d
5. a
10. b
[email protected]
Shanghai Jiao Tong University