l o g i c c i r c u i t

77
LOGIC CIRCUIT

Upload: macaulay-whitehead

Post on 03-Jan-2016

28 views

Category:

Documents


1 download

DESCRIPTION

L O G I C C I R C U I T. G oal. To understand how digital a computer can work, at the lowest level. To understand what is possible and the limitations of what is possible for a digital computer. Logic Gates. Digital circuits are hardware components that manipulate binary information. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: L O G I C C I R C U I T

LOGIC CIRCUIT

Page 2: L O G I C C I R C U I T

Goal

• To understand how digital a computer can work, at the lowest level.

• To understand what is possible and the limitations of what is possible for a digital computer.

Page 3: L O G I C C I R C U I T

Logic Gates

• Digital circuits are hardware components that manipulate binary information.

• Logic gates are implemented using transistors and integrated circuits.

• Each basic circuit is referred to as a logic gate.

Page 4: L O G I C C I R C U I T

Logic Gates

• All basic logic gates have the ability to accept either one or two input signals (depending upon the type of gate) and generate one output signal.

Page 5: L O G I C C I R C U I T

Binary Logic

• The binary logic system is one of a class of mathematical systems referred to as Boolean Algebra.

• In digital electronics, Boolean variables 0 and 1 correspond to binary 0 and 1.

• Input and Output signals are binary.• binary:

– always in one of two possible states;– typically treated as:

» On / Off (electrically)» 1 / 0» True / False

• Binary logic deals with binary variables

Page 6: L O G I C C I R C U I T

Review of Boolean Algebra

• The Boolean algebra is an algebra dealing with binary variables and logic operations.

• We use symbols to represent Boolean variables. The variables are designated by letters of the alphabet.E.g.: A, B, C, X, Y, Z.

• A Boolean expression is an algebraic expression formed by using binary variables, the logic operation symbols.

Page 7: L O G I C C I R C U I T

Logic Gates Symbols

Inputs and outputs• Gates have two or more inputs, except a NOT gate which has only one input. All

gates have only one output. Usually the letters A, B, C and so on are used to label inputs, and Q is used to label the output. On this page the inputs are shown on the left and the output on the right.

The inverting circle (o)• Some gate symbols have a circle on their output which means that their function

includes inverting of the output. It is equivalent to feeding the output through a NOT gate. For example the NAND (Not AND) gate symbol shown on the right is the same as an AND gate symbol but with the addition of an inverting circle on the output.

Page 8: L O G I C C I R C U I T

Basic logic gates• NOT• AND

• OR

xx

xy

xy xy

xyz

zx+yx

yxy

x+y+z

zxy

xy

x+yxy

xÅyxy

• NAND

• NOR

• XOR

Page 9: L O G I C C I R C U I T

Truth Table

• A truth table is a good way to show the function of a logic gate. • It shows the output states for every possible combination of

input states. • The symbols 0 (false) and 1 (true) are usually used in truth

tables.

Page 10: L O G I C C I R C U I T

Logic Gate: NOT

• The NOT gate is also known as an inverter, simply because it changes the input to its opposite (inverts it). 

• The NOT gate accepts only one input and the output is the opposite of the input. 

• A common way of using the NOT gate is to simply attach the circle to the front of another gate.  This simplifies the circuit drawing and simply says: "Invert the output from this gate."

Page 11: L O G I C C I R C U I T

Logic Gate: AND

• The AND gate requires two inputs and has one output. • The AND gate only produces an output of 1 when BOTH the

inputs are a 1, otherwise the output is 0.

Page 12: L O G I C C I R C U I T

Logic Gate: OR

• The OR gate requires two inputs and has one output. • The OR gate only produces an output of 1 when AT LEAST ONE

inputs is a 1, otherwise the output is 0.

Page 13: L O G I C C I R C U I T

Logic Gate: NAND

• This is an AND gate with the output inverted, as shown by the 'o' on the output.

• The output is true if input A AND input B are NOT both true:

Q = NOT (A AND B)

• A NAND gate can have two or more inputs, its output is true if NOT all inputs are true.

Page 14: L O G I C C I R C U I T

Logic Gate: NOR

• This is an OR gate with the output inverted, as shown by the 'o' on the output.

• The output Q is true if NOT inputs A OR B are true:

Q = NOT (A OR B)

• A NOR gate can have two or more inputs, its output is true if no inputs are true.

Page 15: L O G I C C I R C U I T

Logic Gate: XOR

• The output Q is true if either input A is true OR input B is true, but not when both of them are true:

Q = (A AND NOT B) OR (B AND NOT A)

• This is like an OR gate but excluding both inputs being true. • The output is true if inputs A and B are DIFFERENT. EX-OR gates can only

have 2 inputs.

Page 16: L O G I C C I R C U I T

Logic Gate: XNOR

• This is an EX-OR gate with the output inverted, as shown by the 'o' on the output.

• The output Q is true if inputs A and B are the SAME (both true or both false):

Q = (A AND B) OR (NOT A AND NOT B)

• EX-NOR gates can only have 2 inputs.

Page 17: L O G I C C I R C U I T

Logic Circuit Design

Page 18: L O G I C C I R C U I T

Logic Circuit DesignExample 1

xy

Find the Boolean expressions output of the following circuit:

Answer: (x+y)y

Page 19: L O G I C C I R C U I T

Logic Circuit DesignExample 2

Find the Boolean expressions output of the following circuit:

Answer: xy

x

y

_ _ ___

Page 20: L O G I C C I R C U I T

Logic Circuit DesignExample 3

Draw the circuits for the following Boolean algebraic expressions:

x+y

xy

__

x+yx

Page 21: L O G I C C I R C U I T

xy

Logic Circuit DesignExample 4

Draw the circuits for the following Boolean algebraic expressions:

x+y(x+y)xx+y

(x+y)x

Page 22: L O G I C C I R C U I T

Circuit-to-Truth Table Example

OR

A

Y

NOT

ANDB

CAND

2# of Inputs = # of Combinations

2 3 = 8

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

A B C Y

Page 23: L O G I C C I R C U I T

OR

A

Y

NOT

ANDB

CAND

A B

A C

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

A B C Y

0

0

00

0

11

}

1

1

}

Circuit-to-Truth Table Example

Page 24: L O G I C C I R C U I T

BOOLEAN ALGEBRA

Page 25: L O G I C C I R C U I T

LAWS OF BOOLEAN ALGEBRA

• The next aspect of Boolean algebra is that of laws or properties• Laws or rules for Boolean Algebra expressions have been invented to help

reduce the number of logic gates needed to perform a particular logic operation resulting in a list of functions or theorems known commonly as the Laws of Boolean.

• As with many kinds of algebra, the principal laws take the form of equations between terms built up from variables using the operations of the algebra.

• Such an equation is deemed a law or identity just when both sides have the same value for all values of the variables, equivalently when the two terms denote the same operation.

Page 26: L O G I C C I R C U I T

Basic Identities of Boolean Algebra

1. X + 0 = X

2. X . 1 = X

3. X + 1 = 1

4. X . 0 = 0

5. X + X = X

6. X . X = X

7. X + X = 1

8. X . X = 0

9. X = X

Page 27: L O G I C C I R C U I T

Commutative

Associative

Page 28: L O G I C C I R C U I T

Simplification

Page 29: L O G I C C I R C U I T
Page 30: L O G I C C I R C U I T

Distributive

Page 31: L O G I C C I R C U I T

DeMorgan’s

Page 32: L O G I C C I R C U I T

Boolean & Truth Table

• Each Boolean expression can be specified by a truth table which lists all possible combinations of the values of all variables in the expression.

Page 33: L O G I C C I R C U I T

Proof using Truth Table

• Truth Tables can be used to prove that two Boolean expressions are equal.• If the two expressions have the same value for all possible combinations

of input variables, they are equal.• For example, prove the following Boolean expression using truth table:

Page 34: L O G I C C I R C U I T

• The truth table for the expressions will look like below:

Page 35: L O G I C C I R C U I T

Another example is proving the Distributive Law using truth table: X(Y + Z) = XY + XZ

Page 36: L O G I C C I R C U I T

PRACTICE

1. Demonstrate by means of truth tables the validities of the following identities:

a. (XYZ)’ = X’ + Y’ + Z’

b. X + YZ = (X + Y)(X + Z)

c. X’Y + Y’Z + X’Z = XY’ + YZ’ + X’Z

2. Prove the following identity of each of the following Boolean equations using algebraic manipulation:

a. A’B + B’C’ + AB + B’C = 1

b. Y + X’Z + XY’ = X + Y + Z

c. AB + BC’D’ + A’BC + C’D = B + C’D

Page 37: L O G I C C I R C U I T

KARNAUGH MAP

Page 38: L O G I C C I R C U I T

Circuit Minimization

• Algebraic manipulations can be used to simplify Boolean expressions– As we've seen, this process is not always easy

• Karnaugh maps (K-maps) provide an easy and visual technique for finding the minimum cost Sum-of-Product (SOP) or Product-of-Sum (POS) form for a Boolean expression.

Page 39: L O G I C C I R C U I T

Canonical & Standard Forms

• We need to consider formal techniques for the simplification of Boolean functions.– Identical functions will have exactly the same canonical form.– Minterms and Maxterms– Sum-of-Minterms and Product-of- Maxterms– Product and Sum terms– Sum-of-Products (SOP) and Product-of-Sums (POS)

Page 40: L O G I C C I R C U I T

Definition

• Literal: A variable or its complement• Product term: literals connected by *• Sum term: literals connected by +• Minterm: a product term in which all the variables appear exactly

once, either complemented or uncomplemented• Maxterm: a sum term in which all the variables appear exactly once,

either complemented or uncomplemented

Page 41: L O G I C C I R C U I T

Forms of Boolean Expressions

• Sum-of-products (SOP)– First the product (AND) terms are formed then these are summed

(OR)– E.g: ABC + DEF + GHI

• Product-of-sum (POS)– First the sum (OR) terms are formed then the products are taken

(AND)– E.g: (A+B+C) (D+E+F) (G+H+I)

Page 42: L O G I C C I R C U I T

Minterm

• Represents exactly one combination in the truth table.• Denoted by mj, where j is the decimal equivalent of the minterm’s

corresponding binary combination (bj). • A variable in mj is complemented if its value in bj is 0, otherwise is

uncomplemented.

• Example:

Assume 3 variables (A,B,C), and j=3. Then, bj = 011 and its corresponding minterm is denoted by mj = A’BC

Page 43: L O G I C C I R C U I T

Maxterm

• Represents exactly one combination in the truth table.• Denoted by Mj, where j is the decimal equivalent of the maxterm’s

corresponding binary combination (bj). • A variable in Mj is complemented if its value in bj is 1, otherwise is

uncomplemented.

• Example:

Assume 3 variables (A,B,C), and j=3. Then, bj = 011 and its corresponding maxterm is denoted by Mj = A+B’+C’

Page 44: L O G I C C I R C U I T

Truth Table notation for Minterms and Maxterms

• Minterms and Maxterms are easy to denote using a truth table.

• Example: Assume 3 variables x,y,z (order is fixed)

Page 45: L O G I C C I R C U I T

• Minterms and Maxterms are easy to denote using a truth table.

• Example: Assume 3 variables x,y,z

(order is fixed)

x y z Minterm Maxterm

0 0 0 x’y’z’ = m0

x+y+z = M0

0 0 1 x’y’z = m1 x+y+z’ = M1

0 1 0 x’yz’ = m2 x+y’+z = M2

0 1 1 x’yz = m3 x+y’+z’= M3

1 0 0 xy’z’ = m4 x’+y+z = M4

1 0 1 xy’z = m5 x’+y+z’ = M5

1 1 0 xyz’ = m6 x’+y’+z = M6

1 1 1 xyz = m7 x’+y’+z’ = M7

Truth Table notation for Minterms and Maxterms

Page 46: L O G I C C I R C U I T

Canonical Form (Unique)

• Any Boolean function F( ) can be expressed as a unique sum of minterms and a unique product of maxterms (under a fixed variable ordering).

• In other words, every function F() has two canonical forms:– Canonical Sum-Of-Products (sum of minterms)– Canonical Product-Of-Sums (product of maxterms)

• Canonical Sum-Of-Products:The minterms included are those mj such that F( ) = 1 in row j of the truth table for F( ).

• Canonical Product-Of-Sums:The maxterms included are those Mj such that F( ) = 0 in row j of the truth table for F( ).

Page 47: L O G I C C I R C U I T

Example:

• Truth table for f1(a,b,c) at right• The canonical sum-of-products form for f1 is:

f1(a,b,c) = m1 + m2 + m4 + m6 = a’b’c + a’bc’ + ab’c’ + abc’

• The canonical product-of-sums form for f1 is:f1(a,b,c) = M0 • M3 • M5 • M7 = (a+b+c)•(a+b’+c’)• (a’+b+c’)•(a’+b’+c’).

• Observe that: mj = Mj’

a b c f1

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

Page 48: L O G I C C I R C U I T

Notation: ∑ and ∏

• f1(a,b,c) = ∑ m(1,2,4,6), where ∑ indicates that this is a sum-of-products form, and m(1,2,4,6) indicates that the minterms to be included are m1, m2, m4, and m6.

• f1(a,b,c) = ∏ M(0,3,5,7), where ∏ indicates that this is a product-of-sums form, and M(0,3,5,7) indicates that the maxterms to be included are M0, M3, M5, and M7.

• Since mj = Mj’ for any j, ∑ m(1,2,4,6) = ∏ M(0,3,5,7) = f1(a,b,c)

Page 49: L O G I C C I R C U I T

Conversion Between Canonical Forms

• Replace ∑ with ∏ (or vice versa) and replace those j’s that appeared in the original form with those that do not.

• Example:

f1(a,b,c)= a’b’c + a’bc’ + ab’c’ + abc’ = m1 + m2 + m4 + m6

= ∑(1,2,4,6)= ∏(0,3,5,7)

= (a+b+c)•(a+b’+c’)•(a’+b+c’)•(a’+b’+c’)

Page 50: L O G I C C I R C U I T

Standard Forms (NOT Unique)

• Standard forms are “like” canonical forms, except that not all variables need appear in the individual product (SOP) or sum (POS) terms.

• Example:

f1(a,b,c) = a’b’c + bc’ + ac’is a standard sum-of-products form

• f1(a,b,c) = (a+b+c)•(b’+c’)•(a’+c’)is a standard product-of-sums form.

Page 51: L O G I C C I R C U I T

Karnaugh Maps (K-Map)

• Karnaugh maps (K-maps) are graphical representations of boolean functions.

• It is a simplification tool for managing Boolean algebraic expressions.

• Complex boolean function can be simplified by using boolean algebra but it lacks specific rules and becomes tedious sometimes.

• The map method provides a simple and straightforward method.• One map cell corresponds to a row in the truth table.• Also, one map cell corresponds to a minterm or a maxterm in the

boolean expression.• Multiple-cell areas of the map correspond to standard terms.

Page 52: L O G I C C I R C U I T

B C A

00 01 11 10

0 m0 m1 m3 m2

1 m4 m5 m7 m6

BA

0 1

0 m0 m1

1 m2 m3

C D A B

00 01 11 10

00 m0 m1 m3 m2

01 m4 m5 m7 m6

11 m12 m13 m15 m14

10 m8 m9 m11 m10

K-maps in Various Sizes

Page 53: L O G I C C I R C U I T

The K-Map uses the following rules for simplification of expressions by grouping together adjacent cells containing ones:

1. Groups may not include any cell containing a zero

Karnaugh Maps – Rules of Simplification

Page 54: L O G I C C I R C U I T

2. Groups may be horizontal or vertical, but not diagonal.

Karnaugh Maps – Rules of Simplification

Page 55: L O G I C C I R C U I T

Karnaugh Maps – Rules of Simplification

3. Groups must contain 1, 2, 4, 8, or in general 2n cells. That is if n = 1, a group will contain two 1's since 21 = 2. If n = 2, a group will contain four 1's since 22 = 4.

Page 56: L O G I C C I R C U I T

4. Each group should be as large as possible.

Karnaugh Maps – Rules of Simplification

Page 57: L O G I C C I R C U I T

6. Groups may overlap.

Karnaugh Maps – Rules of Simplification

Page 58: L O G I C C I R C U I T

7. Groups may wrap around the table. The leftmost cell in a row may be grouped with the rightmost cell and the top cell in a column may be grouped with the bottom cell.

Karnaugh Maps – Rules of Simplification

Page 59: L O G I C C I R C U I T

8. There should be as few groups as possible, as long as this does not contradict any of the previous rules.

Karnaugh Maps – Rules of Simplification

Page 60: L O G I C C I R C U I T

1. No zeros allowed.

2. No diagonals.

3. Only power of 2 number of cells in each group.

4. Groups should be as large as possible.

5. Every one must be in at least one group.

6. Overlapping allowed.

7. Wrap around allowed.

8. Fewest number of groups possible

Karnaugh Maps – Rules of Simplification

SUMMARY

Page 61: L O G I C C I R C U I T

Two-Variable Map

m3m21

m1m00

10AB

0 1

2 3

NOTE: ordering of variables is IMPORTANT for f(A, B), A is the row, B is the column.

Cell 0 represents A’B’; Cell 1 represents A’B; etc. If a minterm is present in the function, then a 1 is placed in the corresponding cell.

m3m11

m2m00

10BA

0 2

1 3

OR

Page 62: L O G I C C I R C U I T

• Any two adjacent cells in the map differ by ONLY one variable, which appears complemented in one cell and uncomplemented in the other.

• Example:

m0 (=x1’x2’) is adjacent to m1 (=x1’x2) and m2 (=x1x2’) but NOT m3

(=x1x2)

Page 63: L O G I C C I R C U I T

• f(x1,x2) = x1’x2’+ x1’x2 + x1x2’ = m0 + m1 + m2

= x1’ + x2’

• 1s placed in K-map for specified minterms m0, m1, m2

• Grouping (OR-ing) of 1’s allows simplification.

• What (simpler) function is represented by each dashed rectangle?– x1’ = m0 + m1

– x2’ = m0 + m2

• Note m0 covered twice

x1 0 1

0 1 1

1 1 0

x2

0 1

2 3

2-Variable Map - Example

Page 64: L O G I C C I R C U I T

• f(x1,x2) = m(0,1,3)

• Canonical SOP:– f = x1'x2'+x1'x2+x1x2

= x1'x2'+x1'x2+x1x2+x1'x2 = x1'+x2

x1 x2 F

0 0 1

0 1 1

1 0 0

1 1 1

x2x1

0 1

0 1 1

1 0 1

minimum form: f = x1'+x2

2-Variable Karnaugh Map

Page 65: L O G I C C I R C U I T

m6m7m5m41

m2m3m1m00

10110100yz

x0 1 3 2

4 5 7 6

• Note: variable ordering is (x,y,z); yz specifies column, x specifies row.

• Each cell is adjacent to three other cells (left or right or top or bottom or edge wrap)

3-Variable Karnaugh Map

Page 66: L O G I C C I R C U I T

• The types of structures that are either minterm or are generated by repeated application of the minimization theorem on a three variable map are shown at right.

• Groups of 1, 2, 4, 8 are possible.

minterm

group of 2 terms

group of 4 terms

Page 67: L O G I C C I R C U I T

• f(A,B,C) = m(1,2,6,7)

• Minimum SOP is f = A B + B C' + A' B' C

B C A

00 01 11 10

0 0 1 0 1

1 0 0 1 1

3-Variable Karnaugh Map

Page 68: L O G I C C I R C U I T

More 3 Variable K-Maps

B C A

00 01 11 10

0 0 0 1 1

1 1 1 0 0

B C A

00 01 11 10

0 1 1 1 1

1 0 0 1 1

A' B + A B' (A B)

A' + B

f =

f =

Page 69: L O G I C C I R C U I T

B C A

00 01 11 10

0 0 1 1 0

1 1 0 0 1

B C A

00 01 11 10

0 1 0 0 1

1 1 0 1 1

A' C + A C' (A C)

C' + A B

f =

f =

Page 70: L O G I C C I R C U I T

Four-Variable Karnaugh Maps

• Top cells are adjacent to bottom cells. Left-edge cells are adjacent to right-edge cells.

• Note variable ordering (WXYZ).

m10m11m9m810

m14m15m13m1211

m6m7m5m401

m2m3m1m000

10 11 01 00WX

YZ

Page 71: L O G I C C I R C U I T

• One square represents a minterm of 4 literals.• A rectangle of 2 adjacent squares represents a product term of 3

literals.• A rectangle of 4 squares represents a product term of 2 literals.• A rectangle of 8 squares represents a product term of 1 literal.• A rectangle of 16 squares produces a function that is equal to logic

1.

Four-variable Map Simplification

Page 72: L O G I C C I R C U I T

Example:• Simplify the following Boolean function (A,B,C,D) =

∑m(0,1,2,4,5,7,8,9,10,12,13).• First put the function g( ) into the map, and then group as many 1s

as possible.

cdab

1 11

11

1 11

1 11

g(A,B,C,D) = c’+b’d’+a’bd

111

11

111

111

Four-variable Karnaugh Map

Page 73: L O G I C C I R C U I T

– f(A,B,C,D) = m(0,1,2,3,6,8,9,11,13,14)

– f = A C' D + B C D' + B' C ' + B' D + A'B'

C D A B

00 01 11 10

00 1 1 1 1

01 0 0 0 1

11 0 1 0 1

10 1 1 1 0

Four-variable Karnaugh Map

Page 74: L O G I C C I R C U I T

– f(A,B,C,D) = m(0,1,2,5,6,7,8,9,10,13,15)

– f = B D + A' B C + B' D' + B' C' or– f = B D + A' B C + B' D' + C' D (there are 2 more)

C D A B

00 01 11 10

00 1 1 0 1

01 0 1 1 1

11 0 1 1 0

10 1 1 0 1

These are not essential!

Four-variable Karnaugh Map

Page 75: L O G I C C I R C U I T

• Many times there are incompletely specified conditions– Valuations that can never occur, or for which we “don’t care

what the device does”

• They are denoted with ‘X’. Each ‘X’ may be arbitrarily assigned the value 0 or 1 in an implementation.

• Don’t cares can be used to further simplify a function

• Don't care situations are often called incompletely specified functions

Don’t Care Conditions

Page 76: L O G I C C I R C U I T

f(A,B,C,D) = m(1,5,8,9,10) + d(3,7,11,15)

– f = A B' + A' D

C D A B

00 01 11 10

00 0 1 X 0

01 0 1 X 0

11 0 0 X 0

10 1 1 X 1

Example Using Don't Cares

Page 77: L O G I C C I R C U I T

Example:

• Simplify the function f(a,b,c,d) whose K-map is shown at the right.

• f = a’c’d+ab’+cd’+a’bc’

or• f = a’c’d+ab’+cd’+a’bd’

xx11

xx00

1011

1010

xx11

xx00

1011

1010

0 1 0 1

1 1 0 1

0 0 x x

1 1 x x

abcd

00

01

11 10

00 01 11 10