0% found this document useful (0 votes)
14 views31 pages

02 Comb

This document summarizes key concepts in combinational logic: 1) It introduces basic logic concepts like Boolean algebra, truth tables, and logic functions. 2) It discusses logic realization including two-level logic and canonical forms. It also covers incompletely specified functions. 3) It explains how Boolean algebra can be used to simplify logic functions and represents them in alternate ways like cubes and Karnaugh maps.

Uploaded by

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

02 Comb

This document summarizes key concepts in combinational logic: 1) It introduces basic logic concepts like Boolean algebra, truth tables, and logic functions. 2) It discusses logic realization including two-level logic and canonical forms. It also covers incompletely specified functions. 3) It explains how Boolean algebra can be used to simplify logic functions and represents them in alternate ways like cubes and Karnaugh maps.

Uploaded by

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

Combinational logic

„ Basic logic
‰ Boolean algebra, proofs by re-writing, proofs by perfect induction
‰ logic functions, truth tables, and switches
‰ NOT, AND, OR, NAND, NOR, XOR, . . ., minimal set
„ Logic realization
‰ two-level logic and canonical forms
‰ incompletely specified functions
„ Simplification
‰ uniting theorem
‰ grouping of terms in Boolean functions
„ Alternate representations of Boolean functions
‰ cubes
‰ Karnaugh maps

Autumn 2006 CSE370 - II - Combinational Logic 1

Possible logic functions of two variables

„ There are 16 possible functions of 2 input variables:


‰ in general, there are 2**(2**n) functions of n inputs

X F
Y

X Y 16 possible functions (F0–F15)


0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1
X Y not Y not X
X and Y X xor Y X=Y X nand Y
X or Y X nor Y not (X and Y)
not (X or Y)

Autumn 2006 CSE370 - II - Combinational Logic 2


Cost of different logic functions

„ Different functions are easier or harder to implement


‰ each has a cost associated with the number of switches needed
‰ 0 (F0) and 1 (F15): require 0 switches
‰ X (F3) and Y (F5): require 0 switches, output is one of inputs
‰ X’ (F12) and Y’ (F10): require 2 switches for "inverter" or NOT-gate
‰ X NOR Y (F4) and X NAND Y (F14): require 4 switches
‰ X OR Y (F7) and X AND Y (F1): require 6 switches
‰ X = Y (F9) and X ⊕ Y (F6): require 16 switches

‰ thus, because NOT, NOR, and NAND are the cheapest they are the
functions we implement the most in practice

Autumn 2006 CSE370 - II - Combinational Logic 3

Minimal set of functions

„ Can we implement all logic functions from NOT, NOR, and NAND?
‰ For example, implementing X and Y
is the same as implementing not (X nand Y)
„ In fact, we can do it with only NOR or only NAND
‰ NOT is just a NAND or a NOR with both inputs tied together
X Y X nor Y X Y X nand Y
0 0 1 0 0 1
1 1 0 1 1 0

‰ and NAND and NOR are "duals",


that is, its easy to implement one using the other
X nand Y ≡ not ( (not X) nor (not Y) )
X nor Y ≡ not ( (not X) nand (not Y) )
„ But lets not move too fast . . .
‰ lets look at the mathematical foundation of logic

Autumn 2006 CSE370 - II - Combinational Logic 4


An algebraic structure

„ An algebraic structure consists of


‰ a set of elements B
‰ binary operations { + , • }
‰ and a unary operation { ’ }
‰ such that the following axioms hold:

1. the set B contains at least two elements: a, b


2. closure: a + b is in B a • b is in B
3. commutativity: a+b=b+a a•b=b•a
4. associativity: a + (b + c) = (a + b) + c a • (b • c) = (a • b) • c
5. identity: a+0=a a•1=a
6. distributivity: a + (b • c) = (a + b) • (a + c) a • (b + c) = (a • b) + (a • c)
7. complementarity: a + a’ = 1 a • a’ = 0

Autumn 2006 CSE370 - II - Combinational Logic 5

Boolean algebra

„ Boolean algebra
‰ B = {0, 1}
‰ variables
‰ + is logical OR, • is logical AND
‰ ’ is logical NOT
„ All algebraic axioms hold

Autumn 2006 CSE370 - II - Combinational Logic 6


Logic functions and Boolean algebra

„ Any logic function that can be expressed as a truth table can


be written as an expression in Boolean algebra using the
operators: ’, +, and •
X Y X•Y X Y X’ X’ • Y
0 0 0 0 0 1 0
0 1 0 0 1 1 1
1 0 0 1 0 0 0
1 1 1 1 1 0 0

X Y X’ Y’ X•Y X’ • Y’ ( X • Y ) + ( X’ • Y’ )
0 0 1 1 0 1 1
0 1 1 0 0 0 0
( X • Y ) + ( X’ • Y’ ) ≡ X=Y
1 0 0 1 0 0 0
1 1 0 0 1 0 1

Boolean expression that is


true when the variables X
and Y have the same value
X, Y are Boolean algebra variables and false, otherwise
Autumn 2006 CSE370 - II - Combinational Logic 7

Axioms and theorems of Boolean algebra

„ identity
1. X + 0 = X 1D. X • 1 = X
„ null
2. X + 1 = 1 2D. X • 0 = 0
„ idempotency:
3. X + X = X 3D. X • X = X
„ involution:
4. (X’)’ = X
„ complementarity:
5. X + X’ = 1 5D. X • X’ = 0
„ commutativity:
6. X + Y = Y + X 6D. X • Y = Y • X
„ associativity:
7. (X + Y) + Z = X + (Y + Z) 7D. (X • Y) • Z = X • (Y • Z)

Autumn 2006 CSE370 - II - Combinational Logic 8


Axioms and theorems of Boolean algebra (cont’d)

„ distributivity:
8. X • (Y + Z) = (X • Y) + (X • Z) 8D. X + (Y • Z) = (X + Y) • (X + Z)
„ uniting:
9. X • Y + X • Y’ = X 9D. (X + Y) • (X + Y’) = X
„ absorption:
10. X + X • Y = X 10D. X • (X + Y) = X
11. (X + Y’) • Y = X • Y 11D. (X • Y’) + Y = X + Y
„ factoring:
12. (X + Y) • (X’ + Z) = 12D. X • Y + X’ • Z =
X • Z + X’ • Y (X + Z) • (X’ + Y)
„ concensus:
13. (X • Y) + (Y • Z) + (X’ • Z) = 13D. (X + Y) • (Y + Z) • (X’ + Z) =
X • Y + X’ • Z (X + Y) • (X’ + Z)

Autumn 2006 CSE370 - II - Combinational Logic 9

Axioms and theorems of Boolean algebra (cont’d)

„ de Morgan’s:
14. (X + Y + ...)’ = X’ • Y’ • ... 14D. (X • Y • ...)’ = X’ + Y’ + ...
„ generalized de Morgan’s:
15. f’(X1,X2,...,Xn,0,1,+,•) = f(X1’,X2’,...,Xn’,1,0,•,+)

„ establishes relationship between • and +

Autumn 2006 CSE370 - II - Combinational Logic 10


Axioms and theorems of Boolean algebra (cont’d)

„ Duality
‰ a dual of a Boolean expression is derived by replacing
• by +, + by •, 0 by 1, and 1 by 0, and leaving variables unchanged
‰ any theorem that can be proven is thus also proven for its dual!
‰ a meta-theorem (a theorem about theorems)
„ duality:
16. X + Y + ... ⇔ X • Y • ...
„ generalized duality:
17. f (X1,X2,...,Xn,0,1,+,•) ⇔ f(X1,X2,...,Xn,1,0,•,+)

„ Different than deMorgan’s Law


‰ this is a statement about theorems
‰ this is not a way to manipulate (re-write) expressions

Autumn 2006 CSE370 - II - Combinational Logic 11

Proving theorems (rewriting)

„ Using the laws of Boolean algebra:


‰ e.g., prove the theorem: X • Y + X • Y’ = X
distributivity (8)
complementarity (5)
identity (1D)

‰ e.g., prove the theorem: X+X•Y = X


identity (1D)
distributivity (8)
identity (2)
identity (1D)

Autumn 2006 CSE370 - II - Combinational Logic 12


Proving theorems (rewriting)

„ Using the laws of Boolean algebra:


‰ e.g., prove the theorem: X • Y + X • Y’ = X
distributivity (8) X • Y + X • Y’ = X • (Y + Y’)
complementarity (5) X • (Y + Y’) = X • (1)
identity (1D) X • (1) = X9

‰ e.g., prove the theorem: X+X•Y = X


identity (1D) X + X•Y = X •1 + X•Y
distributivity (8) X •1 + X•Y = X • (1 + Y)
identity (2) X • (1 + Y) = X • (1)
identity (1D) X • (1) = X 9

Autumn 2006 CSE370 - II - Combinational Logic 13

Activity

„ Prove the following using the laws of Boolean algebra:


‰ (X • Y) + (Y • Z) + (X’ • Z) = X • Y + X’ • Z

identity 1. X + 0 = X 1D. X • 1 = X
null 2. X + 1 = 1 2D. X • 0 = 0
complementarity: 5. X + X’ = 1 5D. X • X’ = 0
commutativity: 6. X + Y = Y + X 6D. X • Y = Y • X
associativity: 7. (X + Y) + Z = X + (Y + Z) 7D. (X • Y) • Z = X • (Y • Z)
distributivity: 8. X • (Y + Z) = (X • Y) + (X • Z) 8D. X + (Y • Z) = (X + Y) • (X + Z)
factoring: 12. (X + Y) • (X’ + Z) = X • Z + X’ • Y 12D. X • Y + X’ • Z = (X + Z) • (X’ + Y)

Autumn 2006 CSE370 - II - Combinational Logic 14


Activity

„ Prove the following using the laws of Boolean algebra:


‰ (X • Y) + (Y • Z) + (X’ • Z) = X • Y + X’ • Z

(X • Y) + (Y • Z) + (X’ • Z)
identity (X • Y) + (1) • (Y • Z) + (X’ • Z)
complementarity (X • Y) + (X’ + X) • (Y • Z) + (X’ • Z)
distributivity (X • Y) + (X’ • Y • Z) + (X • Y • Z) + (X’ • Z)
commutativity (X • Y) + (X • Y • Z) + (X’ • Y • Z) + (X’ • Z)
factoring (X • Y) • (1 + Z) + (X’ • Z) • (1 + Y)
null (X • Y) • (1) + (X’ • Z) • (1)
identity (X • Y) + (X’ • Z) 9

identity 1. X + 0 = X 1D. X • 1 = X
null 2. X + 1 = 1 2D. X • 0 = 0
complementarity: 5. X + X’ = 1 5D. X • X’ = 0
commutativity: 6. X + Y = Y + X 6D. X • Y = Y • X
associativity: 7. (X + Y) + Z = X + (Y + Z) 7D. (X • Y) • Z = X • (Y • Z)
distributivity: 8. X • (Y + Z) = (X • Y) + (X • Z) 8D. X + (Y • Z) = (X + Y) • (X + Z)
factoring: 12. (X + Y) • (X’ + Z) = X • Z + X’ • Y 12D. X • Y + X’ • Z = (X + Z) • (X’ + Y)

Autumn 2006 CSE370 - II - Combinational Logic 15

Proving theorems (perfect induction)

„ Using perfect induction (complete truth table):


‰ e.g., de Morgan’s:

X Y X’ Y’ (X + Y)’ X’ • Y’
(X + Y)’ = X’ • Y’ 0 0 1 1
NOR is equivalent to AND 0 1 1 0
1 0 0 1
with inputs complemented 1 1 0 0

X Y X’ Y’ (X • Y)’ X’ + Y’
(X • Y)’ = X’ + Y’ 0 0 1 1
NAND is equivalent to OR 0 1 1 0
with inputs complemented 1 0 0 1
1 1 0 0

Autumn 2006 CSE370 - II - Combinational Logic 16


A simple example: 1-bit binary adder
Cout Cin

„ Inputs: A, B, Carry-in A A A A A
„ Outputs: Sum, Carry-out B B B B B
S S S S S

A
S
A B Cin Cout S B
0 0 0 Cout
Cin
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

Autumn 2006 CSE370 - II - Combinational Logic 17

A simple example: 1-bit binary adder


Cout Cin

„ Inputs: A, B, Carry-in A A A A A
„ Outputs: Sum, Carry-out B B B B B
S S S S S

A
S
A B Cin Cout S B
0 0 0 0 0 Cout
Cin
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
S = A’ B’ Cin + A’ B Cin’ + A B’ Cin’ + A B Cin
1 0 1 1 0 Cout = A’ B Cin + A B’ Cin + A B Cin’ + A B Cin
1 1 0 1 0
1 1 1 1 1

Autumn 2006 CSE370 - II - Combinational Logic 18


Apply the theorems to simplify expressions

„ The theorems of Boolean algebra can simplify Boolean


expressions
‰ e.g., full adder’s carry-out function (same rules apply to any function)

Cout = A’ B Cin + A B’ Cin + A B Cin’ + A B Cin

Autumn 2006 CSE370 - II - Combinational Logic 19

Apply the theorems to simplify expressions

„ The theorems of Boolean algebra can simplify Boolean


expressions
‰ e.g., full adder’s carry-out function (same rules apply to any function)

Cout = A’ B Cin + A B’ Cin + A B Cin’ + A B Cin


= A’ B Cin + A B’ Cin + A B Cin’ + A B Cin + A B Cin
= A’ B Cin + A B Cin + A B’ Cin + A B Cin’ + A B Cin
= (A’ + A) B Cin + A B’ Cin + A B Cin’ + A B Cin
= (1) B Cin + A B’ Cin + A B Cin’ + A B Cin

Autumn 2006 CSE370 - II - Combinational Logic 20


Apply the theorems to simplify expressions

„ The theorems of Boolean algebra can simplify Boolean


expressions
‰ e.g., full adder’s carry-out function (same rules apply to any function)

Cout = A’ B Cin + A B’ Cin + A B Cin’ + A B Cin


= A’ B Cin + A B’ Cin + A B Cin’ + A B Cin + A B Cin
= A’ B Cin + A B Cin + A B’ Cin + A B Cin’ + A B Cin
= (A’ + A) B Cin + A B’ Cin + A B Cin’ + A B Cin
= (1) B Cin + A B’ Cin + A B Cin’ + A B Cin
= B Cin + A B’ Cin + A B Cin’ + A B Cin + A B Cin
= B Cin + A B’ Cin + A B Cin + A B Cin’ + A B Cin
= B Cin + A (B’ + B) Cin + A B Cin’ + A B Cin
= B Cin + A (1) Cin + A B Cin’ + A B Cin
= B Cin + A Cin + A B (Cin’ + Cin)
= B Cin + A Cin + A B (1)
= B Cin + A Cin + A B adding extra terms
creates new factoring
opportunities
Autumn 2006 CSE370 - II - Combinational Logic 21

Activity

„ Truth-table for a circuit that tallies the number of inputs that are 1
X1 X2 X3 T2 T1
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0

„ Write down Boolean expressions for T2 and T1

Autumn 2006 CSE370 - II - Combinational Logic 22


Activity

X1 X2 X3 T2 T1
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1 T1 = X1’ X2’ X3 + X1’ X2 X3’
0 1 1 1 0 + X1 X2’ X3’ + X1 X2 X3
1 0 0 0 1
1 0 1 1 0 = (X1’ X2’ + X1 X2) X3
1 1 0 1 0
+ (X1’ X2 + X1 X2’) X3’
= (X1 xor X2)’ X3
1 1 1 1 1
+ (X1 xor X2) X3’
= X1 xor X2 xor X3

T2 = X1’ X2 X3 + X1 X2’ X3
+ X1 X2 X3’ + X1 X2 X3

= X1’ (X2 X3) + X1 (X2 + X3)

Autumn 2006 CSE370 - II - Combinational Logic 23

From Boolean expressions to logic gates

X Y
„ NOT X’ X ~X X Y 0 1
1 0

X Y Z
X 0 0 0
„ AND X • Y XY X∧Y Y
Z 0 1 0
1 0 0
1 1 1

X Y Z
„ OR X+Y X∨Y X
Z
0
0
0
1
0
1
Y
1 0 1
1 1 1

Autumn 2006 CSE370 - II - Combinational Logic 24


From Boolean expressions to logic gates (cont’d)

X Y Z
X 0 0 1
„ NAND Z 0 1 1
Y
1 0 1
1 1 0

X Y Z
„ NOR X 0 0 1
Z 0 1 0
Y 1 0 0
1 1 0

„ XOR X Y Z
X 0 0 0 X xor Y = X Y’ + X’ Y
X⊕Y Y
Z 0 1 1 X or Y but not both
1 0 1
("inequality", "difference")
1 1 0

„ XNOR X Y Z
X 0 0 1 X xnor Y = X Y + X’ Y’
X=Y Z 0 1 0 X and Y are the same
Y
1 0 0
1 1 1 ("equality", "coincidence")
Autumn 2006 CSE370 - II - Combinational Logic 25

From Boolean expressions to logic gates (cont’d)

„ More than one way to map expressions to gates

‰ e.g., Z = A’ • B’ • (C + D) = (A’ • (B’ • (C + D)))


T2
T1

use of 3-input gate

Autumn 2006 CSE370 - II - Combinational Logic 26


Waveform view of logic functions

„ Just a sideways truth table


‰ but note how edges don’t line up exactly
‰ it takes time for a gate to switch its output!
time

change in Y takes time to "propagate" through gates

Autumn 2006 CSE370 - II - Combinational Logic 27

Choosing different realizations of a function

A B C Z
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1 two-level realization
1 0 0 0 (we don’t count NOT gates)
1 0 1 1
1 1 0 1
1 1 1 0

multi-level realization
(gates with fewer inputs)

XOR gate (easier to draw


but costlier to build)

Autumn 2006 CSE370 - II - Combinational Logic 28


Which realization is best?

„ Reduce number of inputs


‰ literal: input variable (complemented or not)
„ can approximate cost of logic gate as 2 transistors per literal
„ why not count inverters?
‰ fewer literals means less transistors
„ smaller circuits
‰ fewer inputs implies faster gates
„ gates are smaller and thus also faster
‰ fan-ins (# of gate inputs) are limited in some technologies
„ Reduce number of gates
‰ fewer gates (and the packages they come in) means smaller circuits
„ directly influences manufacturing costs

Autumn 2006 CSE370 - II - Combinational Logic 29

Which realization is best? (cont’d)

„ Reduce number of levels of gates


‰ fewer level of gates implies reduced signal propagation delays
‰ minimum delay configuration typically requires more gates
„ wider, less deep circuits
„ How do we explore tradeoffs between increased circuit delay
and size?
‰ automated tools to generate different solutions
‰ logic minimization: reduce number of gates and complexity
‰ logic optimization: reduction while trading off against delay

Autumn 2006 CSE370 - II - Combinational Logic 30


Are all realizations equivalent?

„ Under the same input stimuli, the three alternative


implementations have
almost the same waveform behavior
‰ delays are different
‰ glitches (hazards) may arise – these could be bad, it depends
‰ variations due to differences in number of gate levels and structure
„ The three implementations are functionally equivalent

Autumn 2006 CSE370 - II - Combinational Logic 31

Implementing Boolean functions

„ Technology independent
‰ canonical forms
‰ two-level forms
‰ multi-level forms

„ Technology choices
‰ packages of a few gates
‰ regular logic
‰ two-level programmable logic
‰ multi-level programmable logic

Autumn 2006 CSE370 - II - Combinational Logic 32


Canonical forms

„ Truth table is the unique signature of a Boolean function


„ The same truth table can have many gate realizations
„ Canonical forms
‰ standard forms for a Boolean expression
‰ provides a unique algebraic signature

Autumn 2006 CSE370 - II - Combinational Logic 33

Sum-of-products canonical forms

„ Also known as disjunctive normal form


„ Also known as minterm expansion

F = 001 011 101 110 111


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

A B C F F’
0 0 0 0 1
0 0 1 1 0
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 0 F’ = A’B’C’ + A’BC’ + AB’C’

Autumn 2006 CSE370 - II - Combinational Logic 34


Sum-of-products canonical form (cont’d)

„ Product term (or minterm)


‰ ANDed product of literals – input combination for which output is true
‰ each variable appears exactly once, true or inverted (but not both)

A B C minterms
F in canonical form:
0 0 0 A’B’C’ m0
F(A, B, C) = Σm(1,3,5,6,7)
0 0 1 A’B’C m1
= m1 + m3 + m5 + m6 + m7
0 1 0 A’BC’ m2
= A’B’C + A’BC + AB’C + ABC’ + ABC
0 1 1 A’BC m3
1 0 0 AB’C’ m4
canonical form ≠ minimal form
1 0 1 AB’C m5
F(A, B, C) = A’B’C + A’BC + AB’C + ABC + ABC’
1 1 0 ABC’ m6
= (A’B’ + A’B + AB’ + AB)C + ABC’
1 1 1 ABC m7
= ((A’ + A)(B’ + B))C + ABC’
= C + ABC’
short-hand notation for = ABC’ + C
minterms of 3 variables = AB + C

Autumn 2006 CSE370 - II - Combinational Logic 35

Product-of-sums canonical form

„ Also known as conjunctive normal form


„ Also known as maxterm expansion

F= 000 010 100


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

A B C F F’
0 0 0 0 1
0 0 1 1 0
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 0

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

Autumn 2006 CSE370 - II - Combinational Logic 36


Product-of-sums canonical form (cont’d)

„ Sum term (or maxterm)


‰ ORed sum of literals – input combination for which output is false
‰ each variable appears exactly once, true or inverted (but not both)

A B C maxterms F in canonical form:


0 0 0 A+B+C M0 F(A, B, C) = ΠM(0,2,4)
0 0 1 A+B+C’ M1 = M0 • M2 • M4
0 1 0 A+B’+C M2 = (A + B + C) (A + B’ + C) (A’ + B + C)
0 1 1 A+B’+C’ M3
1 0 0 A’+B+C M4 canonical form ≠ minimal form
1 0 1 A’+B+C’ M5 F(A, B, C) = (A + B + C) (A + B’ + C) (A’ + B + C)
1 1 0 A’+B’+C M6 = (A + B + C) (A + B’ + C)
1 1 1 A’+B’+C’ M7 (A + B + C) (A’ + B + C)
= (A + C) (B + C)
short-hand notation for
maxterms of 3 variables

Autumn 2006 CSE370 - II - Combinational Logic 37

S-o-P, P-o-S, and de Morgan’s theorem

„ Sum-of-products of complement
‰ F’ = A’B’C’ + A’BC’ + AB’C’
„ Apply de Morgan’s and get the product-of-sums form
‰ (F’)’ = (A’B’C’ + A’BC’ + AB’C’)’
‰ F = (A + B + C) (A + B’ + C) (A’ + B + C)

„ Product-of-sums of complement
‰ F’ = (A + B + C’) (A + B’ + C’) (A’ + B + C’) (A’ + B’ + C) (A’ + B’ + C’)
„ Apply de Morgan’s and get the sum-of-product form
‰ (F’)’ = ( (A + B + C’)(A + B’ + C’)(A’ + B + C’)(A’ + B’ + C)(A’ + B’ + C’) )’
‰ F = A’B’C + A’BC + AB’C + ABC’ + ABC

Autumn 2006 CSE370 - II - Combinational Logic 38


Four alternative two-level implementations
of F = AB + C

canonical sum-of-products

minimized sum-of-products

canonical product-of-sums

minimized product-of-sums

Autumn 2006 CSE370 - II - Combinational Logic 39

Waveforms for the four alternatives

„ Waveforms are essentially identical


‰ except for timing hazards (glitches)
‰ delays almost identical (modeled as a delay per level, not type of
gate or number of inputs to gate)

Autumn 2006 CSE370 - II - Combinational Logic 40


Mapping between canonical forms

„ Minterm to maxterm conversion


‰ use maxterms whose indices do not appear in minterm expansion
‰ e.g., F(A,B,C) = Σm(1,3,5,6,7) = ΠM(0,2,4)
„ Maxterm to minterm conversion
‰ use minterms whose indices do not appear in maxterm expansion
‰ e.g., F(A,B,C) = ΠM(0,2,4) = Σm(1,3,5,6,7)
„ Minterm expansion of F to minterm expansion of F’
‰ use minterms whose indices do not appear
‰ e.g., F(A,B,C) = Σm(1,3,5,6,7) F’(A,B,C) = Σm(0,2,4)
„ Maxterm expansion of F to maxterm expansion of F’
‰ use maxterms whose indices do not appear
‰ e.g., F(A,B,C) = ΠM(0,2,4) F’(A,B,C) = ΠM(1,3,5,6,7)

Autumn 2006 CSE370 - II - Combinational Logic 41

Incompleteley specified functions

„ Example: binary coded decimal increment by 1


‰ BCD digits encode the decimal digits 0 – 9
in the bit patterns 0000 – 1001
A B C D W X Y Z
0 0 0 0 0 0 0 1
0 0 0 1 0 0 1 0 off-set of W
0 0 1 0 0 0 1 1
0 0 1 1 0 1 0 0 on-set of W
0 1 0 0 0 1 0 1
0 1 0 1 0 1 1 0
don’t care (DC) set of W
0 1 1 0 0 1 1 1
0 1 1 1 1 0 0 0
1 0 0 0 1 0 0 1
1 0 0 1 0 0 0 0
1 0 1 0 X X X X
1 0 1 1 X X X X these inputs patterns should
1 1 0 0 X X X X never be encountered in practice
1 1 0 1 X X X X – "don’t care" about output values
1 1 1 0 X X X X in these cases – might be useful
1 1 1 1 X X X X in minimization

Autumn 2006 CSE370 - II - Combinational Logic 42


Notation for incompletely specified functions

„ Don’t cares and canonical forms


‰ so far, only represented on-set
‰ also represent don’t-care-set
‰ need two of the three sets (on-set, off-set, dc-set)

„ Canonical representations of the BCD increment by 1 function:

‰ Z = m0 + m2 + m4 + m6 + m8 + d10 + d11 + d12 + d13 + d14 + d15


‰ Z = Σ [ m(0,2,4,6,8) + d(10,11,12,13,14,15) ]

‰ Z = M1 • M3 • M5 • M7 • M9 • D10 • D11 • D12 • D13 • D14 • D15


‰ Z = Π [ M(1,3,5,7,9) • D(10,11,12,13,14,15) ]

Autumn 2006 CSE370 - II - Combinational Logic 43

Simplification of two-level combinational logic

„ Finding a minimal sum of products or product of sums realization


‰ exploit don’t care information in the process
„ Algebraic simplification
‰ not an algorithmic/systematic procedure
‰ how do you know when the minimum realization has been found?
„ Computer-aided design tools
‰ precise solutions require very long computation times, especially for
functions with many inputs (> 10)
‰ heuristic methods employed – "educated guesses" to reduce amount of
computation and yield good if not best solutions
„ Hand methods still relevant
‰ to understand automatic tools and their strengths and weaknesses
‰ ability to check results (on small examples)

Autumn 2006 CSE370 - II - Combinational Logic 44


The uniting theorem

„ Key tool to simplification: A (B’ + B) = A


„ Essence of simplification of two-level logic
‰ find two element subsets of the ON-set where only one variable
changes its value – this single varying variable can be eliminated
and a single product term used to represent both elements

F = A’B’+AB’ = (A’+A)B’ = B’

A B F
B has the same value in both on-set rows
0 0 1
– B remains, actually B’ because B is 0 in both cases
0 1 0
1 0 1 A has a different value in the two rows
– A is eliminated
1 1 0

Autumn 2006 CSE370 - II - Combinational Logic 45

Boolean cubes

„ Visual technique for indentifying when the uniting theorem


can be applied
„ n input variables = n-dimensional "cube"

01 11
0 1
Y 2-cube
1-cube
X 10
00
X

111 1111
0111

3-cube Y 4-cube
Z 101
Y
Z
000 X W
1000
0000 X

Autumn 2006 CSE370 - II - Combinational Logic 46


Mapping truth tables onto Boolean cubes

„ Uniting theorem combines two "faces" of a cube


into a larger "face"
„ Example:
F two faces of size 0 (nodes)
A B F combine into a face of size 1(line)
01 11
0 0 1
0 1 0 B

1 0 1 00 10
A
1 1 0

A varies within face, B does not


this face represents the literal B'
ON-set = solid nodes
OFF-set = empty nodes
DC-set = ×'d nodes

Autumn 2006 CSE370 - II - Combinational Logic 47

Three variable example

„ Binary full-adder carry-out logic


(A'+A)BCin

A B Cin Cout AB(Cin'+Cin)


111
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1 B C 101
1 0 0 0
000 A(B+B')Cin
1 0 1 1 A
1 1 0 1
1 1 1 1 the on-set is completely covered by
the combination (OR) of the subcubes
of lower dimensionality - note that “111”
is covered three times

Cout = BCin+AB+ACin

Autumn 2006 CSE370 - II - Combinational Logic 48


Higher dimensional cubes

„ Sub-cubes of higher dimension than 2

F(A,B,C) = Σm(4,5,6,7)
on-set forms a square
011 111 i.e., a cube of dimension 2
110 represents an expression in one variable
010
i.e., 3 dimensions – 2 dimensions
B 001
C 101 A is asserted (true) and unchanged
B and C vary
000 A 100
This subcube represents the
literal A

Autumn 2006 CSE370 - II - Combinational Logic 49

m-dimensional cubes in a n-dimensional


Boolean space
„ In a 3-cube (three variables):
‰ a 0-cube, i.e., a single node, yields a term in 3 literals
‰ a 1-cube, i.e., a line of two nodes, yields a term in 2 literals
‰ a 2-cube, i.e., a plane of four nodes, yields a term in 1 literal
‰ a 3-cube, i.e., a cube of eight nodes, yields a constant term "1"
„ In general,
‰ an m-subcube within an n-cube (m < n) yields a term
with n – m literals

Autumn 2006 CSE370 - II - Combinational Logic 50


Karnaugh maps

„ Flat map of Boolean cube


‰ wrap–around at edges
‰ hard to draw and visualize for more than 4 dimensions
‰ virtually impossible for more than 6 dimensions
„ Alternative to truth-tables to help visualize adjacencies
‰ guide to applying the uniting theorem
‰ on-set elements with only one variable changing value are
adjacent unlike the situation in a linear truth-table
A B F
A
B 0 1 0 0 1
0 1 1 0 1 0
0 2

1 0 0 1 0 1
1 3
1 1 0

Autumn 2006 CSE370 - II - Combinational Logic 51

Karnaugh maps (cont’d)

„ Numbering scheme based on Gray–code


‰ e.g., 00, 01, 11, 10
‰ only a single bit changes in code for adjacent map cells

AB A
C 00 01 11 10
A
0
0 2 6 4
0 4 12 8
C 1
1 3 7 5

B
1 5 13 9 D

A 3 7 15 11

C
2 6 14 10
0 2 6 4
B
C 13 = 1101= ABC’D
1 3 7 5
B

Autumn 2006 CSE370 - II - Combinational Logic 52


Adjacencies in Karnaugh maps

„ Wrap from first to last column


„ Wrap top row to bottom row

011 111
A
110
000 010 110 100 010

B 001
C 001 011 111 101 C 101
B 100
000 A

Autumn 2006 CSE370 - II - Combinational Logic 53

Karnaugh map examples

„ F= A
1 1

„ Cout = B 0 0

„ f(A,B,C) = Σm(0,4,5,7)
A
0 0 1 0

Cin 0 1 1 1
B
A
1 0 0 1

C 0 0 1 1
B

Autumn 2006 CSE370 - II - Combinational Logic 54


More Karnaugh map examples

A
0 0 1 1
G(A,B,C) = A
C 0 0 1 1
B

A
1 0 0 1
F(A,B,C) = Σm(0,4,5,7) = AC + B’C’
C 0 0 1 1
B

A
0 1 1 0 F' simply replace 1's with 0's and vice versa
F'(A,B,C) = Σ m(1,2,3,6)= BC’ + A’C
C 1 1 0 0
B

Autumn 2006 CSE370 - II - Combinational Logic 55

Karnaugh map: 4-variable example

„ F(A,B,C,D) = Σm(0,2,3,5,6,7,8,10,11,14,15)

F = C + A’ B D + B’ D’

A 1111
0111
1 0 0 1

0 1 0 0
D
C
1 1 1 1 D
C A
1000
1 1 1 1 0000 B
B
find the smallest number of the largest possible
subcubes to cover the ON-set
(fewer terms with fewer inputs per term)

Autumn 2006 CSE370 - II - Combinational Logic 56


Karnaugh maps: don’t cares

„ f(A,B,C,D) = Σ m(1,3,5,7,9) + d(6,12,13)


‰ without don't cares
„ f = A’D + B’C’D

A
0 0 X 0

1 1 X 1
D
1 1 0 0
C
0 X 0 0
B

Autumn 2006 CSE370 - II - Combinational Logic 57

Karnaugh maps: don’t cares (cont’d)

„ f(A,B,C,D) = Σ m(1,3,5,7,9) + d(6,12,13)


‰ f = A'D + B'C'D without don't cares
‰ f = A'D + C'D with don't cares

A
by using don't care as a "1"
0 0 X 0
a 2-cube can be formed
1 1 X 1 rather than a 1-cube to cover
D this node
1 1 0 0
C don't cares can be treated as
0 X 0 0 1s or 0s
B depending on which is more
advantageous

Autumn 2006 CSE370 - II - Combinational Logic 58


Activity

„ Minimize the function F = Σ m(0, 2, 7, 8, 14, 15) + d(3, 6, 9, 12, 13)

A
1 0 X 1

0 0 X X
D
X 1 1 0
C
1 X 1 0
B

Autumn 2006 CSE370 - II - Combinational Logic 59

Activity

„ Minimize the function F = Σ m(0, 2, 7, 8, 14, 15) + d(3, 6, 9, 12, 13)


A
A 1 0 X 1
1 0 X 1 F = AC’ +
0 0 X X
A’C + D
0 0 X X BC +
D X 1 1 0
AB + C
X 1 1 0
C A’B’D’ + 1 X 1 0
1 X 1 0 B’C’D’ B
A
B
1 0 X 1

F = BC + A’B’D’ + B’C’D’ 0 0 X X
D
F = A’C + AB + B’C’D’ X 1 1 0
C
1 X 1 0
B
Autumn 2006 CSE370 - II - Combinational Logic 60
Combinational logic summary

„ Logic functions, truth tables, and switches


‰ NOT, AND, OR, NAND, NOR, XOR, . . ., minimal set
„ Axioms and theorems of Boolean algebra
‰ proofs by re-writing and perfect induction
„ Gate logic
‰ networks of Boolean functions and their time behavior
„ Canonical forms
‰ two-level and incompletely specified functions
„ Simplification
‰ a start at understanding two-level simplification
„ Later
‰ automation of simplification
‰ multi-level logic
‰ time behavior
‰ hardware description languages
‰ design case studies

Autumn 2006 CSE370 - II - Combinational Logic 61

You might also like