Transcript Slide 1

Digital Fundamentals

Tenth Edition

Floyd

Floyd, Digital Fundamentals, 10 th ed

Boolean Algebra and Logic Simplification

[email protected]

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, 10 th 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

performed;…to collect from the various elements of truth brought to view in the course of these inquiries by which reasoning is

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, 10 th 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, 10 th 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

product term of

A .

B .

C

= 1?

and

C

if the Each literal must = 1; therefore

A

= 1,

B

= 0 and

C

= 0.

Floyd, Digital Fundamentals, 10 th 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, 10 th 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, 10 th 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 B

+

C A B AB X A X A C AC A

(

B+ C

)

AB + AC

Floyd, Digital Fundamentals, 10 th ed [email protected]

Shanghai Jiao Tong University

Rules of Boolean Algebra 1.

A

+ 0 =

A

2.

A

+ 1 = 1 3.

A

.

0 = 0 4.

A

.

1 =

A

5.

A

+

A

=

A

6.

A

+

A

= 1 7.

A

.

A = A

8.

A

.

A

= 0 = 9.

A

=

A

10.

A + AB = A

11.

A + AB = A + B

12. (

A + B

)(

A + C

)

= A + BC

Floyd, Digital Fundamentals, 10 th 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

= The diagram visually shows that

A

+

AB

=

A .

Other rules can be illustrated with the diagrams as well.

Floyd, Digital Fundamentals, 10 th ed [email protected]

Shanghai Jiao Tong University

Rules of Boolean Algebra +

AB

=

A + B

diagram.

This time,

A

is represented by the blue area and

B

again by the red circle.

AB

. Notice that

A

+

AB

The intersection represents =

A + B A A B

Floyd, Digital Fundamentals, 10 th ed [email protected]

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, 10 th 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 + C

(

A

+

B

)(

A + C

)

Floyd, Digital Fundamentals, 10 th ed

=

A + BC

[email protected]

Shanghai Jiao Tong University

DeMorgan ’ s Theorem DeMorgan ’ s 1 st 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 B

NAND

AB A B

Negative-OR

A + B

Inputs

A B

0 0 1 1 0 1 0 1 Output

AB A + B

1 1 1 0 1 1 1 0

Floyd, Digital Fundamentals, 10 th ed [email protected]

Shanghai Jiao Tong University

DeMorgan ’ s Theorem DeMorgan ’ s 2 nd 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 B

NOR

A + B A B

Negative-AND

AB

Inputs

A B

0 0 1 1 0 1 0 1 Output

A + B AB

1 0 0 0 1 0 0 0

Floyd, Digital Fundamentals, 10 th ed [email protected]

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, 10 th 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

)

C X = C

(

A + B

)

+ D D

Applying DeMorgan ’ s theorem and the distribution law:

X = C (A B) + D = A B C + D

Floyd, Digital Fundamentals, 10 th 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, 10 th 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, 10 th 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:

A B C + A B A B C + C D C D + E

An expression is in POS form when two or more sum terms are multiplied as in the following examples: (

A + B

)(

A + C

) (

A + B + C

)(

B

+

D

) (

A + B

)

C

Floyd, Digital Fundamentals, 10 th ed [email protected]

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 = A B C + A B C + A B C

Floyd, Digital Fundamentals, 10 th 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, 10 th ed [email protected]

Shanghai Jiao Tong University

SOP Standard form SOP Standard form

Floyd, Digital Fundamentals, 10 th 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, 10 th ed [email protected]

Shanghai Jiao Tong University

Minterms and Maxterms NOTE:

m i

M i

Floyd, Digital Fundamentals, 10 th ed [email protected]

Shanghai Jiao Tong University

Minterms and Maxterms • • Using

m i

to represent minterms. Sum of minterms expression:

f

= å

m i i

Using

M i

to represent maxterms.

Product of maxterms expression:

f

= Õ

i M i

Floyd, Digital Fundamentals, 10 th ed [email protected]

Shanghai Jiao Tong University

Minterm to Maxterm

f

 

i m i

m i

m i

  1

M i

f

 

m j

 

M j f

 

M j

Shanghai Jiao Tong University Floyd, Digital Fundamentals, 10 th ed [email protected]

f

Theorem

 

i m i

Proof

: 

k

 

i M k f

 

m i

 

m i

 

m i

 

M i

k

 

i M k

Floyd, Digital Fundamentals, 10 th ed [email protected]

Shanghai Jiao Tong University

Example •

Convert the following function to

(a) (b)

Sum of minterms Product of maxterms

F

(

A

,

B

,

C

) 

A

(

B

C

) 

B C

Floyd, Digital Fundamentals, 10 th 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.

2020/4/25

th ed [email protected]

Converting SOP form to Truth Table

X=A(B+CD) Step1

: List the combination of input variable values.

Floyd, Digital Fundamentals, 10 th 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

AB C

)(

D

D

)

ABCD

A B CD

ABCD

ABC D

AB C D

AB C D

ABCD

A B CD

ABCD

ABC D

AB C D

AB C D

A B CD

1111 1110 Floyd, Digital Fundamentals, 10 th ed 1101 [email protected]

1100 1011 Shanghai Jiao Tong University

Step3

: Place 1s and 0s in truth table.

Floyd, Digital Fundamentals, 10 th ed A 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 B Inputs C 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 [email protected]

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Output A(B+CD) 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 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, 10 th 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, 10 th 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 0 0 0 0 1 1 1 1 Input B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 Output x 0 1 0 0 1 0 0 1 Floyd, Digital Fundamentals, 10 th ed [email protected]

Shanghai Jiao Tong University

Converting Truth Table to SOP/POS standard form Determine the SOP/POS of x:

1 1 1 A Input B C 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 Output 0 1 1 x 0 0 0 1 1 Floyd, Digital Fundamentals, 10 th ed [email protected]

SOP std. form:

X

=

ABC

+

ABC

+ = =

m

3 å +

m

4 +

m

6 (3, 4, 6, 7)

ABC

+

ABC

+

m

7

POS std. form:

X

 (

A

(

A

 

M

 0 

M

1 

M

(0,1, 2,5) 2 

M

5

C

)

C

)

Shanghai Jiao Tong University

Converting Truth Table to SOP/POS standard form Determine the SOP/POS of x:

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 x 0 1 0 0 1 0 0 1 Floyd, Digital Fundamentals, 10 th ed [email protected]

SOP std. form: POS std. form:

Shanghai Jiao Tong University

Minterms and Maxterms

Floyd, Digital Fundamentals, 10 th ed [email protected]

Shanghai Jiao Tong University

Logic Expressions and Truth Table

Determine the Truth Table of X according to the std. SOP:

ABC

 (1)

ABC

 (2)

ABC

(3)

Floyd, Digital Fundamentals, 10 th ed [email protected]

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

0 1 1 0 0 0 0 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) (3) (4)

Floyd, Digital Fundamentals, 10 th ed [email protected]

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

1 0 1 1 0 1 0 0 (2) (3) (1) (4)

Shanghai Jiao Tong University

Logic Expressions and Truth Table

Determine the Truth Table of X according to the POS:

ABC

AB

Floyd, Digital Fundamentals, 10 th ed [email protected]

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

1 1 0 0 0 1 0 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) (2)

Floyd, Digital Fundamentals, 10 th ed [email protected]

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

0 1 1 1 1 0 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

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 X

1 0 1 0 0 1 0 1 (1) (2) (3) (4)

Floyd, Digital Fundamentals, 10 th ed

ABC

[email protected]

(1)

+

ABC

+

ABC

+

ABC

(2) (3) (4)

Shanghai Jiao Tong University

Logic Expressions and Truth Table

Determine the std. POS of X according to the 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 X

1 0 1 0 0 1 0 1 (1) (2) (3) (4)

Floyd, Digital Fundamentals, 10 th ed

(1) (2) (3) (4)

X

= (

A

+

B

+

C

)(

A

+

B

+

C

)(

A

+

B

+

C

) (

A

+

B

+

C

)

[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, 10 th 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, 10 th ed [email protected]

Shanghai Jiao Tong University

Logic Simplification

AB+A(B+C)+B(B+C)=B+AC

Floyd, Digital Fundamentals, 10 th ed [email protected]

Shanghai Jiao Tong University

Logic Simplification

( Simplify the logic function below.

BD

)  (

AB

(

C

+

BD

) +

AB

)

C

= (

ABC

+

AB

)

C

= (

AC

+

A

)

BC

= (

C

+

A

)

BC

=

CBC

+

ABC

=

BC

Floyd, Digital Fundamentals, 10 th ed [email protected]

Shanghai Jiao Tong University

Minterms and Maxterms

Floyd, Digital Fundamentals, 10 th 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 (2 3 ). 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.

ABC ABC ABC ABC ABC ABC ABC ABC

Floyd, Digital Fundamentals, 10 th ed [email protected]

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

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)

Then it has a K-map:

BC A

0 00

F

(0, 0, 0) 1

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)

Floyd, Digital Fundamentals, 10 th ed [email protected]

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

1 1 1 0 0 1 1 1 Then it has a K-map:

BC A

0 1 00 1 0 01 11 10 1 0 1 1 1 1

Floyd, Digital Fundamentals, 10 th ed [email protected]

Shanghai Jiao Tong University

Karnaugh maps Gray code Cells are usually labeled using 0 ’ s and 1 ’ s to represent the variable and its complement.

AB C

00 0 1 The numbers are entered in gray code, to force adjacent cells to be different by only one variable.

01 11 Ones are read as the true variable and zeros are read as the complemented variable. 10

Floyd, Digital Fundamentals, 10 th 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.

C C

Read the terms for the yellow cells.

AB ABC ABC AB ABC

The cells are

ABC

and

ABC

.

AB ABC ABC AB ABC

Floyd, Digital Fundamentals, 10 th ed [email protected]

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.

AB C B

changes across this boundary 1. Group the 1 ’ s into two overlapping groups as indicated.

2. Read each group by eliminating any variable that changes across a boundary.

C

changes across this boundary

Floyd, Digital Fundamentals, 10 th ed

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:

BC A

00 0 1 1 0

AB

+

AC

+

BC

1 01 1 11 10 0 1 1 1

Floyd, Digital Fundamentals, 10 th ed [email protected]

Shanghai Jiao Tong University

Karnaugh maps Simplify the logic function with K-map:

BC A

00 0 1 1 0

AC

+

BC

+

AB

1 01 1 11 10 0 1 1 1

Floyd, Digital Fundamentals, 10 th ed [email protected]

Shanghai Jiao Tong University

Karnaugh maps A 4-variable map has an adjacent cell on each of its four boundaries as shown.

AB AB AB AB CD CD 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…

Floyd, Digital Fundamentals, 10 th ed [email protected]

Shanghai Jiao Tong University

B

changes

B

changes Karnaugh maps Group the 1 ’ s on the map and read the minimum logic.

C

changes across outer boundary

C

changes

X

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

Floyd, Digital Fundamentals, 10 th ed [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, 10 th ed [email protected]

Shanghai Jiao Tong University

Simplifying functions with don’t care terms AB

A Input B C D Output Y

CD 00 01

0 0 0 0 0 0 0 0 1 0 1 0 0 0 0

00 01 0 0 0 0

0 0 1 1 0 0 0 0 1 1 1 0 0 1 0 1 0 0 0 0

11 10 0 0 1 0

0 1 1 1 1

11 X X X X Treating the ‘X’s as ‘0’s 10 1 1 X X

1 0 0 0 1 1 0 0 1 1 1 0 … 1 0 1 1 1 1 th ed X … X [email protected]

ABCD

+

ABC

Shanghai Jiao Tong University

Simplifying functions with don’t care terms AB

0 0 0 A Input B C D 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 1 1 1 0 0 1 0 1 0 Output Y 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 … 1 0 1 1 1 1 th ed X … X 0 0 0 0 0 0 0

CD

[email protected]

00 01 11 10 00

BCD

0 0 0 0 + 01 0 0 1 0

A

11 X X X X Treating the ‘X’ as ‘1’s 10 1 1 X X

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, 10 th 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, 10 th 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, 10 th 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, 10 th ed [email protected]

Shanghai Jiao Tong University

Selected Key Terms

Variable Complement Sum term

A symbol used to represent a logical quantity that can have a value of 1 or 0, usually designated by an italic letter.

The inverse or opposite of a number. In Boolean algebra, the inverse function, expressed with a bar over the variable. 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, 10 th ed [email protected]

Shanghai Jiao Tong University

Selected Key Terms

Sum-of products (SOP)

A form of Boolean expression that is basically the ORing of ANDed terms.

Product of sums (POS)

A form of Boolean expression that is basically the 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, 10 th 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, 10 th ed [email protected]

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, 10 th ed [email protected]

3. The Boolean expression

A

.

1 is equal to a.

A

b.

B

c. 0 d. 1

Floyd, Digital Fundamentals, 10 th ed [email protected]

4. The Boolean expression

A

+ 1 is equal to a.

A

b.

B

c. 0 d. 1

Floyd, Digital Fundamentals, 10 th ed [email protected]

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, 10 th ed [email protected]

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, 10 th ed [email protected]

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, 10 th ed [email protected]

8. The minimum expression that can be read from the Karnaugh map shown is

C C

a.

X = A AB

b.

X = A AB

c.

X = B AB

1 1 d.

X = B AB

1 1

Floyd, Digital Fundamentals, 10 th ed [email protected]

9. The minimum expression that can be read from the Karnaugh map shown is

C C

a.

X = A AB

1 1 b.

X = A AB

c.

X = B AB

d.

X = B AB

1 1

Floyd, Digital Fundamentals, 10 th ed [email protected]

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, 10 th ed [email protected]

Answers: 1. b 6. c 2. c 7. a 3. a 8. a 4. d 9. d 5. a 10. b

Floyd, Digital Fundamentals, 10 th ed [email protected]

Shanghai Jiao Tong University