0% found this document useful (0 votes)
7 views35 pages

Simplification of Boolean Expressionsq

The document discusses the simplification of Boolean expressions in digital circuit design, emphasizing the importance of reducing gate complexity to enhance reliability and reduce costs. It introduces methods such as Boolean algebra and Karnaugh maps for simplifying logic circuits, illustrating these concepts with examples. Additionally, it covers the use of NAND and NOR gates for implementing combinational networks and the significance of minimizing functions for efficient circuit design.

Uploaded by

jeongjeongssu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views35 pages

Simplification of Boolean Expressionsq

The document discusses the simplification of Boolean expressions in digital circuit design, emphasizing the importance of reducing gate complexity to enhance reliability and reduce costs. It introduces methods such as Boolean algebra and Karnaugh maps for simplifying logic circuits, illustrating these concepts with examples. Additionally, it covers the use of NAND and NOR gates for implementing combinational networks and the significance of minimizing functions for efficient circuit design.

Uploaded by

jeongjeongssu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 35

Lecture 4

Engr. Jose Lerio V. Batula


Dept. of Computer
Science
Simplification of Boolean
Expressions

• Often in the design and development of digital circuits, the designer will start
with simple logic requirements but add more and more complex gating making
the final design a complex combination of several gates, some have the same
inputs.
• At some point the designer must step back from the design and review the
combinational logic circuit that has been developed and see of there are ways of
reducing the number of gates without changing the function of the circuit.

• if an equivalent circuit can be formed with fewer gates


 the cost of the circuit is reduced and its reliability improved.
 this process is called “reduction” or simplification of combinational
logic carried out by using the laws and rules of Boolean Algebra.
Simplification of Boolean Expressions …/cont’d

Example 1

• The logic circuit used to turn on a warning buzzer at X based on the input
conditions at A, B and C. A simplified equivalent circuit that will perform the
same function can be formed by using Boolean Algebra.

B B.(A+C)

A
C A+C X Buzzer
C

• The 3 steps are:

• Write the equation, simplify the equation, draw the implementation


Simplification of Boolean Expressions …/cont’d

Thus the Boolean Expression for X:

X B ( A  C )  C
BA  BC  C
BA  C ( B  1)
BA  C
Thus draw the simplified circuit:
A X

B
C BC

B B.(A+C)

A
C A+C X Buzzer
C
Simplification of Boolean Expressions …/cont’d

Example 2
X

A A+B
B
BC.(A+B)

C B.C

X  BC ( A  B )  A
 ABC  BBC  A
 ABC  BC  A
 BC ( A  1)  A
 BC  A

Using rules B
B.Band A  1 1

Draw new implementation


Simplification of Boolean Expressions …/cont’d

We have seen how we can simplify expressions like…

X  AB  AC  BC  AB  BC

… by applying rules of Boolean Algebra, POS or SOP expression.

• Simplification of switching equation reduces the amount of hardware needed to


realise the function
 fewer gates
 fewer I.C.’s
 less cost

Applying Boolean Algebra is fine but can be error prone and a lengthy process.
• There is a simpler graphical method using a Karnaugh map, which is a
particularly representation of a truth table
 more systematic
Simplification of Boolean Expressions …/cont’d

A Karnaugh Map is a matrix of squares


• each square represents a minterm from a Boolean expression

A Karnaugh Map allows us to find input variable redundancies


 help reduce output equation

Each map lists the product terms that can be formed from n variables, each in a
different square.

• a product term in n variables is called a minterm


 thus for 3 variablesx, y, z
 minterms i.e. xyz , x yz ,..., x yz
for 4 variables  2 4 16 minterms.
Simplification of Boolean Expressions …/cont’d

n
A map of n variables will have 2 squares, each representing a minterm.
• The minterm in each square or element of the map is the product of the
variables listed at row and column of the element
 xyz is at the intersectionxy
of and z
The map is filled by placing 1’s in the squares for terms that lead to a 1 output.

B
A 0 1

0 0 1

Z  AB  AB  1 1 0

Z=1 for (A,B) = (0,1)  put 1 in box


Z=1 for (A,B) = (1,0)  put 1 in box

put 0 everywhere else.


Simplification of Boolean Expressions …/cont’d

The Karnaugh Map is very convenient


• provides some “feel” for the function due to its graphical presentation

However its usefulness is chiefly due to the arrangement of the cells or squares.
• Each cell differs from the adjacent cell by having exactly one variable
complemented in the minterm.
• The expression must be written in canonical form  each term in the expression
must contain each variable.

E.g. Z  ABC  A BC  AB C  AB C
Simplification of Boolean Expressions …/cont’d

BC
A 00 01 11 10

0 0 0 1 0

1 1 1 1 0

The top row BC is numbered such that only 1-bit changes at a time, as we move
from box to box
• known as a Grey Code (code where only one bit changes at a time)
i.e. not numbered as in the usual sequence, but done to show the
relationship between variables.

• The main reason for this will become very obvious.


 any two squares that are adjacent differ in only one variable
• If two adjacent squares both have an entry of one
 the corresponding product terms differ in only one variable
 the two terms can be merged by eliminating that variable.
Simplification of Boolean Expressions …/cont’d

If we consider a grouping of two of the circled terms which are adjacent we can

 
see that
AB C  AB C  AB C  C  AB

So we can represent these 2 terms by AB , this is immediately apparent from the


map as for the circled ones:

• A is constant = 1
• B is constant = 0
• C changes and  will not be in the final expression.
Simplification of Boolean Expressions …/cont’d

So to simplify an expression using a Karnaugh Map we circle all the ones together
that we can using circles of:
• 2
• 4
• 8
• 16

ensuring that each circle contains ones.


• Then we can form our final simplified expression form the minimum number of
circles required to encompass all the ones.

BC
A 00 01 11 10

0 0 0 1 0

1 1 1 1 0
Simplification of Boolean Expressions …/cont’d

minimum expression :
Z  AB  BC

we could also include the third circle and thus :

Z  AB  AC  BC

but this is not a minimum expression.


• Two loops cover all the ones.

Z  ABCD  ABC D  ABC D  ABCD  ABC D  ABCD  ABCD


Simplification of Boolean Expressions …/cont’d

CD
AB 00 01 11 10

00 0 0 1 0

01 1 1 1 0

11 0 1 1 0

10 0 0 1 0

Z CD  BD  ABC
Simplification of Boolean Expressions …/cont’d

for which an implementation would be :

A A.B.C

B.D

C
C.D
D
Simplification of Boolean Expressions …/cont’d

One feature should be noted at this point


• The concept of adjacency can be extended to include wrapping around the edges
of the map.
 The maps are considered so that top and bottom edges
and
left and right edges are touching.
CD
or we could loop the zeros  AB 00 01 11 10

00 0 0 1 0

01 1 1 1 0

11 0 1 1 0

10 0 0 1 0

Z CD  C B  AD
Simplification of Boolean Expressions …/cont’d

For which an implementation would be


A

Z
B

B
Z
Z CD  C B  AD C

  
Z  C  D C  B  A  D 
Simplification of Boolean Expressions …/cont’d

Can use Bubble Logic to convert one form to another

A A
Z Z
B B

A A
Z Z
B B

A A
Z Z
B B

A A
Z Z
B B

A A
Z Z
B B
Simplification of Boolean Expressions …/cont’d

Thus the implementation is equivalent to


A

B
Z
C

B Z
C

which is equivalent to our first implementation.


Simplification of Boolean Expressions …/cont’d

NAND and NOR Implementations


AND’s and OR’s and NOT’s have been used up to this point.
• Why not continue
• Why bother with NAND’s or NOR’s

The main reason is that a NAND can be made to yield AND and OR gates
 an AND gate can be formed from 2 NAND gates
and
2-input OR can be formed from 3 NAND gates

A
A B A B
B
A A
A

AB

B B
B
Simplification of Boolean Expressions …/cont’d

Thus a set of NAND’s can thus be used to make any combinational network by
substituting the above for AND and OR blocks

Same applies for NOR’s

A A. B A+B
B

A A

AB

B B

Z  ABC D  ABC D  ABCD  ABC D 


ABCD  ABCD  ABC D  ABCD 
ABCD  ABC D  ABC D
Simplification of Boolean Expressions …/cont’d

CD
AB 00 01 11 10

00 1 1 0 1

01 0 1 1 1

11 0 1 1 1

10 1 1 0 0

It is possible to circle to wrap around


Simplification of Boolean Expressions …/cont’d

Minimum expression

Z B C  C D  BC  A CD eqn (1)
Sum of Products

use AND and OR

or Z B C  BD  BC  A CD
BD is the not an essential prime implicant
Simplification of Boolean Expressions …/cont’d

Sometimes it is easier to group the zeros terms together

CD
AB 00 01 11 10

00 1 1 0 1

01 0 1 1 1

11 0 1 1 1

10 1 1 0 0

Z BC D  AB C  B CD
Simplification of Boolean Expressions …/cont’d

Z BC D  AB C  B CD eqn (2)

Z BC D  AB C  B CD
 
Z  B C  D  A  B C  B C  D  eqn (3)
Product of sums Use OR and AND

We can also rearrange Z as follows :

Z BC D  AB C  B CD

Z  B  C  D    A  B  C    B  C  D  eqn (4)


     
Use NOR
Simplification of Boolean Expressions …/cont’d

likewise for sum of products form of Z

Z B C  C D  BC  A CD

eqn (5)
Z  B C  C D  BC  A CD
Use NAND
Simplification of Boolean Expressions …/cont’d

Implementation of Minimum Functions

Observing the function Z, from the last example again :

Z  ABC D  ABC D  ABCD  ABC D 


ABCD  ABCD  ABC D  ABCD 
ABCD  ABC D ABC D
we can see that to implement Z would require :
• 4 inverters
• 11 quad-input AND gates
• 1 eleven-input OR gate
Simplification of Boolean Expressions …/cont’d

Thus in general we always need to minimise the function :

Can implement the minimum Z in Sum of Products form


i.e. Eqn. 1 as in Figure A.

Can implement the minimum Z in negation of Sum of Products form


i.e. Eqn. 2 as in Figure C

Can implement the minimum Z in Product of Sums form


i.e. Eqn. 3 as in Figure B

By applying deMorgans Laws we can rearrange Z and then implement it


i.e. Eqn. 4 as in Figure D
i.e. inverters & NOR gates

or Egn. 5 as in Figure E
i.e. only NAND gates
Simplification of Boolean Expressions …/cont’d

Implementation shown in Figure D is probably the simplest as it only requires


inverters and NOR gates.

Figure F illustrates how we can convert between Product-of-Sums to NOR gate


implementation, with the use of 2 inverters.

• between the output of the OR gates and input of the AND gate
• obviously has no effect on the output
• now each OR + NOT  makes it a NOR

And

• the NOT’s at the input of the AND  makes it a NOR

The same process converts Figure A to Figure E.


Simplification of Boolean Expressions …/cont’d

Figure A Min Z Sum of Products

A C D

A
B C

B
Z

C
B C

D
C D

Z  BC  C D  BC  ACD
Simplification of Boolean Expressions …/cont’d

Figure B Min Z Product of Sums

A  B C

B
B C  D Z

D
B C  D

Z B  C  D  A  B  C  B  C  D 
Simplification of Boolean Expressions …/cont’d

Figure C Min Z Negation of Sum of Products

A B C

B B C D Z

D
B C D

Z  BC D  ABC  BCD
Simplification of Boolean Expressions …/cont’d

Figure D Min Z NOR Gates


A  B C

B
B C  D Z

D
B C  D

Z B  C  D   A  B  C   B  C  D 
Simplification of Boolean Expressions …/cont’d

Figure E Min Z NAND Gates


A C D

A
B C

B
Z

C
B C

D
C D

Z  BC C D BC ACD
Simplification of Boolean Expressions …/cont’d

Figure F Conversion of POS to NOR Gates


A  B C

B B C  D Z

D
B C  D

Z B  C  D  A  B  C  B  C  D 

You might also like