logical systems synthesis. logical synthesis basic gate synthesis f = a. b f = a + b f = a’

98
Logical Systems Synthesis

Upload: kamron-goard

Post on 14-Dec-2015

235 views

Category:

Documents


3 download

TRANSCRIPT

Logical Systems

Synthesis

Logical Synthesis

Basic Gate Synthesis

f = a . b

f = a + b

f = a’

Basic Gate Synthesis

f = (a . b)’

f = (a + b)’

f = a

F = A + B . C

CorrectIncorrect

Operator Precedence in Synthesis

F = (A + B) . C

IncorrectCorrect

Operator Precedence in Synthesis

An example of Step by Step Synthesis

Single Output Circuits

F = A + (B’ + C)(D’ + BE’)

Reducing it to a more abstract form

P = BE’M = B’ + CF = A + M(D’ + P)

N = D’ + PF = A + MN

Z = MNF = A + Z

F = A + Z

F = A + Z

F = A + MN

F = A + Z

F = A + MN

F = A + M(D’ + P)

F = A + (B’ + C)(D’ + BE’)

F = A + (B’ + C)(D’ + BE’)

F = A + (B’ + C)(D’ + BE’)

An example of Multi-Output Synthesis

f = ab + a’c

g = ab + a’c’

These are the common terms in both logic expressions, therefore, they can be used to as a common gate when synthesizing the complete digital system.

Sharing Gates

Idea of sharing of Gates

Circuits for f and g have a common product term (Implicant) namely ab. We are going to make it a common factor i.e. we are going to use the corresponding gate to drive both outputs f & g.

f = a’c + ab

g = a’c’ + ab

Symbols

From Digital Design, 5th Edition by M. Morris Mano and Michael Ciletti

Boolean Algebra

Manipulation of Switching Functions

Boolean/Logic/Switching Expression/Function

Boolean Functions

• Variables and constants take on only one of the two values : 0 or 1

• There are three operators– OR written as a + b– AND written as a . b– NOT written as a ’

()

Operator Precedence

’.

+

PrecedenceSequence

Examples

s = (((x . y’) + (x’ . y))’ . z) + (((x . y’) + (x’ . y)) . z’)

c = (x . y’ + x’ . y) . z + x . y

f = ( a.b + a.c + b.c’)’ . (a + b + c) + a.b.cf = (((a.b) + (a.c) + (b.c’))’ . (a + b + c)) + (a.b.c)

s = ((x . y’ + x’ . y)’ . z) + ((x . y’ + x’ . y) . z’)

c = (((x . y’) + (x’ . y)) . z) + (x . y)

Metatheorem

Duality

Any Theorem or Identity in Switching Algebra remains true if 0 & 1 are swapped and . & + are swapped

throughout the expression

A Theorem about Theorems

Note: Duality does not imply logical equivalence. It only states that one fact leads to another fact.

Axioms / Postulates

0 . 0 = 0

1 . 1 = 1

0 . 1 = 1 . 0 = 0

x = 0 implies x’ = 1

1 + 1 = 1

0 + 0 = 0

0 + 1 = 1 + 0 = 1

x = 1 implies x’ = 0

Theorems (Single Variable)

x . 0 = 0

x . 1 = x

x . x = x

x . x’ = 0

(x’)’ = x

x + 1 = 1

x + 0 = x

x + x = x

x + x’ = 1

(x’)’ = x

Null Elements

Identities

Idempotency

Complements

Involution

Theorems (2- & 3- Variable)

x . y = y . x

x . (y . z) = (x . y) . z

x . (y + z) = x . y + x . z

x + (x . y) = x

(x . y) + (x . y’) = x

x + y = y + x

x + (y + z) = (x + y) + z

x + (y . z) = (x + y) . (x + z)

x . (x + y) = x

(x + y) . (x + y’) = x

Commutativity

Associativity

Distributivity

Covering

Combining

Theorems (2- & 3- Variable)

(x . y)’ = x’ + y’

(x . y) + (x’ . z) + (y . z) = (x . y) + (x’ . z)

(x + y)’ = x’ . y’

(x + y) . (x’ + z) . (y + z) = (x + y) . (x’ + z)

DeMorgan’sTheorem

Consensus Theorem

Theorems (n-Variable)

x . x . ----- . x = x

(x1 . x2 . ----- . xn)’ =x1’ + x2’ + ----- + xn’

x + x + ----- + x = x

(x1 + x2 + ----- + xn)’ =x1’ . x2’ . ----- . xn’

GeneralizedIdempotency

DeMorgan’s Theorem

Theorems (n-Variable)

[F(x1, x2, -----, xn, . , + )]’ = F(x1’, x2’, -----, xn’, + , . )

Generalized DeMorgan’s Theorem

f = ( a . b )’ = a’ + b’

f = ( a + b )’ = a’ . b’

Implications of DeMorgan’s Theorem

f = { [a . ( b’ + c ) ]’ }’ = { a’ + ( b’ + c )’ }’ = { a’ + b . c’ }’f’ = a’ + ( b . c’ )

Implications of DeMorgan’s Theorem

Function Manipulation

Using Axioms and Theorems of Boolean Algebra

Proof of Consensus Theoremx.y + x’.z + y.z = x.y + x’.z

x.y + x’.z + y.z = x.y + x’.z + y.z.1= x.y + x’.z + y.z.(x + x’)= x.y + x’.z + x.y.z + x’.y.z= x.y + x.y.z + x’.z + x’.y.z= x.y.1 + x.y.z + x’.z.1 + x’.y.z= x.y.(1 + z) + x’.z.(1 + y)= x.y.1 + x’.z.1= x.y + x’.z

Theorem Useda = a.1

1 = a + a’a.(b + c) = a.b + a.c

a = a.1a.b + a.c = a.(b + c)

1 + a = 1a.1 = a

Find DeMorgan’s Equivalent of the Following

F = ( ( B . E’ ) + D’ ) . ( B’ + C ) + A = { [ ( ( ( B . E’ ) + D’ ) . ( B’ + C ) ) + A ]’ }’ = { ( ( ( B . E’ ) + D’ ) . ( B’ + C) )’ . A’ }’ = { ( ( B . E’ ) + D’ )’ + ( B’ + C )’ . A’ }’ = { ( B . E’ )’ . D ) + ( B . C’ ) . A’ }’ = { ( B’ + E ) . D ) + ( B . C’ ) . A’ }’ = { ( ( B’ + E ) . D ) ) + ( ( B . C’ ) . A’ ) }’

F = { ( B’ + E ) . D ) + ( B . C’ ) . A’ }’F’ = ( B’ + E ) . D ) + ( B . C’ ) . A’

DeMorgan’s Equivalent

F = ( ( B . E’ ) + D’ ) . ( B’ + C ) + A

DeMorgan’s Equivalent

F’ = ( B’ + E ) . D ) + ( B . C’ ) . A’

DeMorgan’s Equivalent

A circuit developed using NAND gates only can be converted into a circuit employing only NOR gates by directly replacing the NAND gates with the NOR gates and inverting all the inputs and outputs of the circuit

NAND NOR Inter-Conversion

The Converse of this operation is also true

Using DeMorgan’s Theorem

F = ((((B.E’)’ . D)’ . (B.C’)’)’ . A’)’

F’ = ((((B’ + E)’ + D’)’ + (B’ + C)’)’ + A)’

Proof by Example

F = ((((B.E’)’ . D)’ . (B.C’)’)’ . A’)’ = ((((B’ + E) . D)’ . (B’ + C))’ . A’)’ = ((((B’ + E)’ + D’) . (B’ + C))’ . A’)’ = ((((B’ + E)’ + D’)’ + (B’ + C)’) . A’)’ = ((((B’ + E)’ + D’)’ + (B’ + C)’)’ + A)

F’ = ((((B’ + E)’ + D’)’ + (B’ + C)’)’ + A)’

Using DeMorgan’s Theorem

F = A + (B’ + C) . (D’ + B.E’)

F = A + (B’ + C)(D’ + BE’)

Can also be written in the following notation

Forms of Logic Expressions

Generalized Forms of Logic Expressions

SOP Sum of Products

POS Product of Sums

Terminology

Literal

Product Term

Sum Term

Product of Sums

Sum of Products

Definitions• Literal– A variable in either it’s complemented or

uncomplemented form

• Sum Term– One or more Literals connected by an OR operator

• Product Term– One or more Literals connected by an AND operator

Definitions

• Product of Sums– One or more Sum Terms connected by an AND

operator

• Sum of Products– One or more Product Terms connected by an OR

operator

SOP Expression

POS Expression

More SOP Expressions

ABC + A’BC’AB + A’BC’ + C’D’ + D

A’B + CD’ + EF + GK + HL’

More POS Expressions

(A + B’)(A’ + C’ + D)F’(A + C)(B + D’)(B’+C)(A + D’ + E)

(A + B’ + C)(A + C)

nd = ((((b.e’)’ . d)’ . (b.c’)’)’ . a’)’

nr = ((((b’ + e)’ + d’)’ + (b’ + c)’)’ + a)’

s = (((x . y’) + (x’ . y))’ . z) + (((x . y’) + (x’ . y)) . z’)

f = (((a.b) + (a.c) + (b.c’))’ . (a + b + c)) + (a.b.c)

c = (((x . y’) + (x’ . y)) . z) + (x . y)

Not an SOP or POS Expression

Canonical Forms of Logic Expressions

C-SOP Sum of Standard Product Terms

C-POS Product of Standard Sum Terms

aka Canonical Sum

aka Canonical Product

More Terminology

Minterm

Maxterm

Canonical Product

Canonical Sum

Definitions

• Minterm aka Standard Product Term– A Product Term composed of all the variables of the

given problem

• Maxterm aka Standard Sum Term– A Sum Term composed of all the variables of the

given problem

Definitions

• Canonical Sum– One or more Minterms connected by an OR operator

• Canonical Product– One or more Maxterms connected by an AND operator

C-SOP Expression

C-POS Expression

Writing Algebraic Expressions From Truth Tables

OR =

Decomposing into MintermsImplementing 1’s

a.b’ + a’.b = f

OR =

OR =

m2 + m1 = f

Minterms Notation

Expressions involving Minterms

AND =

Decomposing into MaxtermsImplementing 0’s

AND =

( a + b’ ) ( a’ + b ) = f

AND =

M1 . M2 = f

Maxterms Notation

Expressions involving Maxterms

Write Expressions using Minterm/Maxterm Terminology for the following Truth Table

Using Mintermsf = ?

Using Maxtermsf = ?

Write Expressions using Minterm/Maxterm Terminology for the following Truth Table

Using Mintermsf = m2 + m5 + m6

Using Maxtermsf = M0 . M1 . M3 . M4 . M7

Write Expressions using Minterm/Maxterm Terminology for the following Truth Table

Using Mintermsf = m2 + m5 + m6f’ = ?

Using Maxtermsf = M0 . M1 . M3 . M4 . M7f’ = ?

Write Expressions using Minterm/Maxterm Terminology for the following Truth Table

Using Mintermsf = m2 + m5 + m6f’ = m0 + m1 + m3 + m4 + m7

Using Maxtermsf = M0 . M1 . M3 . M4 . M7f’ = M2 . M5 . M6

Write Expressions using Minterm/Maxterm Terminology for the following Truth Table

Using Mintermsf = m2 + m5 + m6f’ = m0 + m1 + m3 + m4 + m7

Using Maxtermsf = M0 . M1 . M3 . M4 . M7f’ = M2 . M5 . M6

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

Alternative Notation

Write Expressions using Minterm/Maxterm Terminology for the following Truth Table

Using Mintermsf = ?f’ = ?

Using Maxtermsf = ?f’ = ?

Write Expressions using Minterm/Maxterm Terminology for the following Truth Table

Using Mintermsf = m1 + m5 + m6 + m8 + m9 + m10 + m14 + m15f’ = m0 + m2 + m3 + m4 + m7 + m11 + m12 + m13

Using Maxtermsf = M0 . M2 . M3 . M4 . M7 . M11 . M12 . M13f’ = M1 . M5 . M6 . M8 . M9 . M10 . M14 . M15

Write Expressions using Minterm/Maxterm Terminology for the following Truth Table

f = ∑ (1, 5, 6, 8, 9, 10, 14, 15)

f = ∏ (0, 2, 3, 4, 7, 11, 12, 13)

f’ = ∑ (0, 2, 3, 4, 7, 11, 12, 13)

f’ = ∏ (1, 5, 6, 8, 9, 10, 14, 15)

Can you intuitively establish a relationship within the following set of results?

f = m2 + m5 + m6f’ = m0 + m1 + m3 + m4 + m7

f = M0 . M1 . M3 . M4 . M7f’ = M2 . M5 . M6

f = M0 . M2 . M3 . M4 . M7 . M11 . M12 . M13f’ = M1 . M5 . M6 . M8 . M9 . M10 . M14 . M15

f = m1 + m5 + m6 + m8 + m9 + m10 + m14 + m15f’ = m0 + m2 + m3 + m4 + m7 + m11 + m12 + m13

Relationship between Minterms and Maxterms

f = m0 + m3f = x’ y’ + x y = ( x’ x + y’ x ) ( x’ y + y’ y ) = ( x y’ ) ( x’ y )f’ = [ (x y’) (x’ y) ]’ = x’ y + x y’ = m1 + m2f’ = m1 + m2

f = m0 + m3f = x’ y’ + x y f’ = ( x’ y’ + x y )’ = ( x’ . y’ )’ ( x . y )’ = ( x + y ) ( x’ + y’ )f’ = ( x + y ) ( x’ + y’ ) = M0 . M3f’ = M0 . M3

f = m0 + m3f’ = m1 + m2 = x’ y + x y’f = ( x’ y + x y’ )’ = ( x’ y )’ ( x y’ )’ = ( x + y’ ) ( x’ + y) = M1 . M2f = M1 . M2

To implement a function we can use the logic 1’s in the output to obtain a Minterms’ SOP or use the logic 0’s

to obtain a Maxterms’ POS

Where,T = {Set of all indices} = {0 to 2n - 1}R = {Set of indices of required to implement C-SOP of F(x1, x2, …., xn)}S = T – R

F(x1, x2, …. , xn) = ∑mR = ∏MS

[F(x1, x2, …. , xn)]’ = ∑mS = ∏MR

Note : Observe the Duality inherent in this Generalization

Use Boolean Algebra to establish the relationship between the following set of Expressions

f = m2 + m5 + m6f’ = m0 + m1 + m3 + m4 + m7

f = M0 . M1 . M3 . M4 . M7f’ = M2 . M5 . M6

f = M0 . M2 . M3 . M4 . M7 . M11 . M12 . M13f’ = M1 . M5 . M6 . M8 . M9 . M10 . M14 . M15

f = m1 + m5 + m6 + m8 + m9 + m10 + m14 + m15f’ = m0 + m2 + m3 + m4 + m7 + m11 + m12 + m13

Converting SOP to POS

f = x y + x’ z (SOP Form)

Using Distributive Lawf = x y + x’ z f = ( x y + x’ ) (x y + z) f = ( x + x’ ) ( y + x’ ) ( x + z ) ( y + z ) f = ( y + x’ ) ( x + z ) ( y + z )

f = ( y + x’ ) ( x + z ) ( y + z ) (POS Form)

Converting POS to SOP

f = ( x + y ) ( x’ + z ) (POS Form)

Using Distributive Lawf = ( x + y ) ( x’ + z ) f = x ( x’ + z ) + y ( x’ + z ) f = x x’ + x z + y x’ + y z f = x z + y x’ + y z

f = x z + y x’ + y z (SOP Form)

Note : To obtain the expression f = x y + x’ z as in the previous slide apply Consensus Theorem

Converting SOP to C-SOP

F = A + B’C (SOP Form)

Expanding both terms separately using {x = x . 1} & {1 = (x + x’)} A = A (B + B’) = AB + AB’ = AB (C + C’) + AB’ (C + C’) A = ABC + ABC’ + AB’C + AB’C’B’C = B’C (A + A’) = AB’C + A’B’C

Combining the expressionsF = ABC + ABC’ + AB’C + AB’C’ + AB’C + A’B’C = ABC + ABC’ + AB’C + AB’C + AB’C’ + A’B’C

Using {x + x = x}F = ABC + ABC’ + AB’C + AB’C’ + A’B’C

F = ABC + ABC’ + AB’C + AB’C’ + A’B’C (C-SOP Form)

Converting POS to C-POS

f = ( x’ + y ) ( x + z ) ( y + z ) (POS Form)

Expanding the three terms separately using {x = x + 0} & {0 = x x’}( x’ + y ) = x’ + y + z z’ = ( x’ + y + z ) ( x’ + y + z’ )( x + z ) = x + z + y y’ = ( x + z + y ) ( x + z + y’ ) = ( x + y + z ) ( x + y’ + z )( y + z ) = y + z + x x’ = ( y + z + x ) ( y + z + x’ ) = ( x + y + z ) ( x’ + y + z )

Combining the expressionsf = ( x’ + y + z ) ( x’ + y + z’ ) ( x + y + z ) ( x + y’ + z ) ( x + y + z ) ( x’ + y + z )f = ( x’ + y + z ) ( x’ + y + z ) ( x + y + z ) ( x + y + z ) ( x’ + y + z’ ) ( x + y’ + z )

Using {x . x = x}f = ( x’ + y + z’ ) ( x + y + z ) ( x’ + y + z’ ) ( x + y’ + z )

f = ( x’ + y + z’ ) ( x + y + z ) ( x’ + y + z’ ) ( x + y’ + z ) (C-POS Form)