L O G I C C I R C U I T

Post on 30-Dec-2015

27 views 2 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

LOGIC CIRCUIT

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.

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.

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.

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

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.

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.

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

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.

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."

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.

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.

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.

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.

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.

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.

Logic Circuit Design

Logic Circuit DesignExample 1

xy

Find the Boolean expressions output of the following circuit:

Answer: (x+y)y

Logic Circuit DesignExample 2

Find the Boolean expressions output of the following circuit:

Answer: xy

x

y

_ _ ___

Logic Circuit DesignExample 3

Draw the circuits for the following Boolean algebraic expressions:

x+y

xy

__

x+yx

xy

Logic Circuit DesignExample 4

Draw the circuits for the following Boolean algebraic expressions:

x+y(x+y)xx+y

(x+y)x

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

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

BOOLEAN ALGEBRA

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.

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

Commutative

Associative

Simplification

Distributive

DeMorgan’s

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.

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:

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

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

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

KARNAUGH MAP

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.

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)

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

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)

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

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’

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)

• 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

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( ).

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

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)

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’)

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.

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.

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

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

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

Karnaugh Maps – Rules of Simplification

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.

4. Each group should be as large as possible.

Karnaugh Maps – Rules of Simplification

6. Groups may overlap.

Karnaugh Maps – Rules of Simplification

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

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

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

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

• 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)

• 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

• 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

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

• 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

• 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

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 =

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 =

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

• 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

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

– 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

– 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

• 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

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

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