Transistors, Logic Gates and Karnaugh Maps

advertisement

Karnaugh Maps

References:

Chapters 4 and 5 in Digital Principles (Tokheim)

Chapter 3 in Introduction to Digital Systems (Palmer and Perlman)

PHY 201 (Blum) 1

Review: Expressing truth tables

Every truth table can be expressed in terms of the basic Boolean operators AND, OR and

NOT operators.

E.g. using sum of products or product of sums.

The circuits corresponding to those truth tables can be build using AND, OR and NOT

gates, which can be made out of transistors.

In the sum of products approach, the input in each line of a truth table can be expressed in terms of AND’s and NOT’s ( though we will only need the rows that have 1 as an output ).

PHY 201 (Blum) 2

Algebra  Gate

A’ means NOT A high  low  high input low output

PHY 201 (Blum)

Red probe indicator

3

Algebra  Gates

AB means A AND B

PHY 201 (Blum) 4

Algebra  Gates

A+B means A OR B

PHY 201 (Blum) 5

Review: Line by Line

Inputs

Expression

A B

0

0

1

1

0

1

0

1

(Not A) AND

(NOT B)

(Not A) AND B

A AND (NOT

B)

A AND B

A

A

´

´

B

AB ´

AB

´

B

A ´ B ´ is true for the first line and false for the rest

A ´ B is true for the second line and false for the rest

AB ´ is true for the third line and false for the rest

A ´ B ´ is true for the fourth line and false for the rest

This is not yet a truth table. It has no outputs.

PHY 201 (Blum) 6

Writing the expression

To express a truth table as a sum of products

( minterm expression ), take the input lines that correspond to true (high, 1) outputs.

Write the expressions for each of those input lines (as shown on the previous slide).

This step will involve NOTs and ANDs

Then feed all of those expressions into an OR gate.

PHY 201 (Blum) 7

Example 1

1

1

0

1

1

0

0

A

0

0

1

1

0

1

0

1

B

0

PHY 201 (Blum)

1

0

1

0

1

1

0

C

0

1

0

0

0

1

Out

1

0

1

8

Example 1 (Cont.)

A’B’C’ + A’BC’ + AB’C + ABC

The expression one arrives at in this way is known as the sum of products.

You take the product (the AND operation) first to represent a given line.

Then you sum (the OR operation) together those expressions.

It’s also called the minterm expression.

PHY 201 (Blum) 9

Simplifying Boolean algebra expressions

Recall that (A’B’C + A’BC’ + A’BC + AB’C’ + AB’C +

ABC’ + ABC) and (A+B+C) correspond to the same truth table.

Before building a circuit that realizes a Boolean expression, we would like to simplify that expression as much as possible.

Fewer gates means

Fewer transistors

Less space required

Less power required (less heat generated)

More money made

PHY 201 (Blum) 10

A few fundamental theorems

A + 1 = 1

A + 0 = A

A·1 = A

A·0= 0

A + A = A

A·A = A

A + A’ = 1

A·A’ = 0

PHY 201 (Blum) 11

1

1

0

1

1

0

0

A

0

A Trivial Simplification Example

Expressions

0

1

1

0

1

0

1

B

0

1

0

1

0

1

1

0

C

0

0

1

1

0

1

Out

0

0

1 A’ B C’

A’ B C

A B C’

A B C

PHY 201 (Blum) 12

Simplifying a trivial example

A ´ BC ´ + A ´ BC + ABC ´ + ABC

A ´ B (C ´ + C) + AB (C ´ + C)

A ´ B + AB

(A ´ + A) B

B

C+C’ means C OR (NOT C)

In other words, we don’t care about C

PHY 201 (Blum) 13

How simplification occurs

Note that simplification occurs when two terms differ by only one factor.

For example, the terms A ´ BC ´ and A ´ BC have A’B in common and differ only in the C factor.

A’BC’ + A’BC  A’B(C’+C)  A’B

If the two terms differ by more than one factor, there is no simplification

For example, the terms A’BC’ and A’B’C have A’ in common and differ in the B and C factors

A’BC’ + A’B’C  A’(BC’ + B’C)  no simplification

PHY 201 (Blum) 14

PHY 201 (Blum)

1

1

0

1

1

0

0

A

0

Majority Rules Example

0

1

1

0

1

0

1

B

0

1

0

1

0

1

1

0

C

0

Majority

0

0

0

1

1

1

0

1

15

1

1

0

1

1

0

0

A

0

PHY 201 (Blum)

Row Expressions

0

1

1

0

1

0

1

B

0

1

0

1

0

1

1

0

C

0

Row expressions

A’B’C’

A’B’C

A’BC’

A’BC

AB’C’

AB’C

ABC’

ABC

16

Majority rules (sum of products) without simplification

A ´ BC + AB ´ C + ABC ´ + ABC

NOTs

OR

ANDs

PHY 201 (Blum) 17

Majority Rules: Boolean Algebra

Simplification

A ´ BC + AB ´ C + ABC ´ + ABC

The term A’BC can be combined with ABC since they differ by one and only one term

Same for AB’C and ABC

Same for ABC’ and ABC

In logic, ABC = ABC + ABC + ABC

A ´ BC+AB ´ C+ABC ´ +ABC +ABC+ABC

A ´ BC+ABC + AB ´ C+ABC + ABC ´ +ABC

(A ´ +A)BC + A(B ´ +B)C + AB(C ´ +C)

BC + AC + AB

PHY 201 (Blum) 18

Majority rules after simplification

PHY 201 (Blum) 19

Majority Rules Comparison

Gates: 3 NOTs, 4 3-input

ANDs, 1 4-input OR

PHY 201 (Blum)

Gates: 0 NOTs, 3 2-input

ANDs, 1 3-input OR

20

Simplifying made easy

Simplifying Boolean expressions is not always easy.

So we introduce next a method (a

Karnaugh or K map) that is supposed to make simplification more visual.

The first step is to rearrange the inputs into what is called “Gray code” order.

Here, Gray is a guy not a color.

PHY 201 (Blum) 21

Frank Gray in Wikipedia

PHY 201 (Blum) 22

PHY 201 (Blum) 23

Gray code

In addition to binary numbers, there is another way of representing numbers using

1’s and 0’s.

Put another way, there is another useful ordering of the combinations of 1’s and 0’s.

It is not useful for doing arithmetic, but has other purposes.

In Gray code the numbers are ordered such that consecutive numbers differ by one bit only.

PHY 201 (Blum) 24

1

1

0

0

0

0

1

1

PHY 201 (Blum)

Gray code (Cont.)

1

1

1

1

0

0

0

0

0

1

1

0

0

1

1

0

Each row different by one bit only

25

Constructing Gray code ( a.k.a. reflected binary code )

0

1

PHY 201 (Blum) 26

Reflect lower bits and add 0’s in front of the original rows and 1’s in front of the new rows

Add 0’s

0

Lower bits

0

0 1

Add 1’s

1

1

1

0

Reflect lower bits through red line

PHY 201 (Blum) 27

Add

0’s

Add

1’s

Reflect lower bits and 0’s then

1’s in front (again)

1

1

0

0

0

0

1

1

1

1

1

1

0

0

0

0

0

1

1

0

0

1

1

0

Reflect lower bits through red line

PHY 201 (Blum) 28

An important property

In gray-code order, two consecutive rows of a truth table differ by one bit only.

Thus if a truth table is put in gray code order and if two consecutive rows contain a 1, then a simplification of the

Boolean expression is possible.

A term like X + X’ can be factored out.

PHY 201 (Blum) 29

Trivial Example in Gray code

Note:

Gray code ordered inputs

1

1

0

1

1

0

0

A

0

1

0

1

1

0

0

1

B

0

1

1

0

0

0

1

1

C

0

1

0

1

1

0

Out

0

0

1

PHY 201 (Blum) 30

Improving

Some combinations that differ only by a single bit are not in consecutive rows.

Thus there may be a simplification associated with such a combination and we might miss it.

So we put some of the inputs in as columns.

PHY 201 (Blum) 31

1

1

0

1

1

0

0

A

0

PHY 201 (Blum)

Two rows that differ by one bit but are not consecutive

1

0

1

1

0

0

1

B

0

1

1

0

0

0

1

1

C

0

1

0

1

1

0

Out

0

0

1

32

A row-column version

Place the C inputs across the top.

This output corresponds to the input A=0, B=1 and C=0

All inputs are filled in with light blue.

0

1

1

A

0

B\C

0

1

1

0

1

1

0

0

0

1

1

0

1

0

In this version, more inputs differing by one bit only are in adjacent positions.

PHY 201 (Blum) 33

Karnaugh-map

This way of arranging truth tables combined with the rules for simplifying

Boolean expressions goes by the name

Karnaugh map or K map.

Named for Maurice Karnaugh.

PHY 201 (Blum) 34

Maurice Karnaugh

PHY 201 (Blum) 35

The rules

Put the truth table into a form with inputs in Gray code order.

Then one identifies output “blocks” (as large as possible).

A block must be a rectangle containing 1’s and

only 1’s.

The simplification rules require that the number

of 1’s in a block should be a power of 2 (1, 2,

4, 8, …).

However, a given output 1 can belong to more

than one block.

PHY 201 (Blum) 36

Wrapping

There are still cases in which inputs differing by only one bit are not adjacent (e.g. the first and last row).

Imagine that the rows wrap around, so for instance, a block can include the top and bottom rows (without intermediate rows).

Similarly for columns.

PHY 201 (Blum) 37

1

1

1

1

1

1

1

0

0

1

0

0

0

0

0

W

0

PHY 201 (Blum)

0

1

1

1

1

0

0

1

1

0

0

1

0

0

1

X

0

Karnaugh Example

1

0

0

1

1

0

0

1

1

1

1

0

0

1

0

Y

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

Z

0

0

1

1

1

0

1

0

1

0

0

Output

1

0

1

0

0

1

38

Karnaugh Example (Unsimplified

Boolean algebra expression)

WXY’Z + W’XY’Z +

WX’Y’Z’ + W’X’Y’Z’ +

WXYZ’ + WXY’Z’ +

W’XY’Z’ + W’XYZ’

PHY 201 (Blum) 39

Example in Karnaugh (identifying block in gray code truth table)

Z 0 1

0

0

1

1

W X\Y 0

0

PHY 201 (Blum)

1

1

0

0

1

W’X’Y’Z’

1

W’XY’Z’

1

WXY’Z’

1

WX’Y’Z’

0

1

W’XY’Z

1

WXY’Z

0

0

0

0

1

1

0

0

1

0

1

W’XYZ’

1

WXYZ’

0

40

For Yellow Group: W and X inputs change; Y and Z inputs don’t change from zeros. Group represented by Y’Z’

Z 0 1

0

0

1

1

W X\Y 0

0

PHY 201 (Blum)

1

1

0

0

1

W’X’Y’Z’

1

W’XY’Z’

1

WXY’Z’

1

WX’Y’Z’

0

1

W’XY’Z

1

WXY’Z

0

0

0

0

1

1

0

0

1

0

1

W’XYZ’

1

WXYZ’

0

41

For Red Group: W and Z inputs change; X input does not change from 1; Y input does not change from 0. Group represented by XY’

0

0

1

1

Z 0

W X\Y 0

0

PHY 201 (Blum)

1

1

0

1

0

1

W’X’Y’Z’

1

W’XY’Z’

1

WXY’Z’

1

WX’Y’Z’

0

1

W’XY’Z

1

WXY’Z

0

1

1

0

0

0

0

0

1

0

1

W’XYZ’

1

WXYZ’

0

42

For Green group: W and Y inputs change; X input does not change from 1; Z input does not change from 0. Group represented by XZ’

Z 0 1

0

0

1

1

W X\Y 0

0

PHY 201 (Blum)

1

1

0

0

1

W’X’Y’Z’

1

W’XY’Z’

1

WXY’Z’

1

WX’Y’Z’

0

1

W’XY’Z

1

WXY’Z

0

1

1

0

0

0

0

0

1

0

1

W’XYZ’

1

WXYZ’

0

43

Result

Y’Z’ + XY’ + X Z’

A block of size two eliminates one Boolean variable; a block of four eliminates two Boolean variables; and so on.

To find the expression for a block, identify the inputs for that block that don’t change, AND them together, that’s your expression for the block.

Obtain an expression for each block and OR them together. Every 1 must belong to at least one block

(even if it is a block onto itself).

PHY 201 (Blum) 44

From Binary order to Gray code order

PHY 201 (Blum) 45

From Binary order to Gray code order

PHY 201 (Blum) 46

Online References

 http://www.facstaff.bucknell.edu/masta scu/eLessonsHTML/Logic/Logic3.html http://www.cs.usm.maine.edu/~welty/k arnaugh.htm http://en.wikipedia.org/wiki/Frank_Gray

_(researcher) http://en.wikipedia.org/wiki/Maurice_Ka rnaugh

PHY 201 (Blum) 47

Combinations of Resistors

Series, Parallel

PHY 202 (Blum) 48

Analyzing a combination of resistors circuit

Look for resistors which are in series (the same current passing through one must pass through the other) and replace them with the equivalent resistance (R eq

= R

1

+ R

2

).

Look for resistors which are in parallel (both the tops and bottoms are connected by wire and only wire) and replace them with the equivalent resistance (1/R eq

= 1/R

1

+ 1/R

2

).

Repeat as much as possible.

PHY 202 (Blum) 49

Look for series combinations

R eq

=3k

R eq

=3.6 k

50 PHY 202 (Blum)

Look for parallel combinations

R eq

= 1.8947 k

R eq

= 1.1244 k

51 PHY 202 (Blum)

Look for series combinations

PHY 202 (Blum)

R eq

= 6.0191 k

52

Look for parallel combinations

R eq

= 2.1314 k

53 PHY 202 (Blum)

Look for series combinations

R eq

= 5.1314 k

PHY 202 (Blum) 54

Equivalent Resistance

PHY 202 (Blum)

I = V/R = (5 V)/(5.1314 k

) = 0.9744 mA

55

Backwards 1

V= (3)(.9744) = 2.9232

PHY 202 (Blum)

V= (2.1314)(.9744) = 2.0768

56

Backwards 2

PHY 202 (Blum)

V = 2.0768=I (3.3)

I=0.629mA

V = 2.0768=I (6.0191)

I=0.345mA

57

Backwards 3

V=(.345)(3)=1.035

V=(.345)(1.8947)

=0.654

V=(.345)(1.1244)=0.388

58 PHY 202 (Blum)

Download