Possible logic functions of two variables

Similar documents
Combinational logic. Possible logic functions of two variables. Minimal set of functions. Cost of different logic functions.

Combinational Logic (mostly review!)

Ch 2. Combinational Logic. II - Combinational Logic Contemporary Logic Design 1

EECS Variable Logic Functions

for Digital Systems Simplification of logic functions Tajana Simunic Rosing Sources: TSR, Katz, Boriello & Vahid

Chapter 2 Combinational logic

Combinational logic. Possible logic functions of two variables. Minimal set of functions. Cost of different logic functions

Boolean cubes EECS150. Mapping truth tables onto cubes. Simplification. The Uniting Theorem. Three variable example

Lecture A: Logic Design and Gates

Combinational Logic. Review of Combinational Logic 1

L2: Combinational Logic Design (Construction and Boolean Algebra)

L2: Combinational Logic Design (Construction and Boolean Algebra)

Review. EECS Components and Design Techniques for Digital Systems. Lec 06 Minimizing Boolean Logic 9/ Review: Canonical Forms

2009 Spring CS211 Digital Systems & Lab CHAPTER 2: INTRODUCTION TO LOGIC CIRCUITS

L2: Combinational Logic Design (Construction and Boolean Algebra)

Switches: basic element of physical implementations

EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive

Chapter 2: Switching Algebra and Logic Circuits

Working with Combinational Logic. Design example: 2x2-bit multiplier

II. COMBINATIONAL LOGIC DESIGN. - algebra defined on a set of 2 elements, {0, 1}, with binary operators multiply (AND), add (OR), and invert (NOT):

Slide Set 3. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary

Week-I. Combinational Logic & Circuits

Learning Objectives. Boolean Algebra. In this chapter you will learn about:

ENG2410 Digital Design Combinational Logic Circuits

E&CE 223 Digital Circuits & Systems. Lecture Transparencies (Boolean Algebra & Logic Gates) M. Sachdev. Section 2: Boolean Algebra & Logic Gates

CS 121 Digital Logic Design. Chapter 2. Teacher Assistant. Hanin Abdulrahman

Combinational Logic Design Principles

Why digital? Overview. Number Systems. Binary to Decimal conversion

Goals for Lecture. Binary Logic and Gates (MK 2.1) Binary Variables. Notation Examples. Logical Operations

Prove that if not fat and not triangle necessarily means not green then green must be fat or triangle (or both).

Logic Design. Chapter 2: Introduction to Logic Circuits

Part 5: Digital Circuits

CS 226: Digital Logic Design

E&CE 223 Digital Circuits & Systems. Lecture Transparencies (Boolean Algebra & Logic Gates) M. Sachdev

Theorem/Law/Axioms Over (.) Over (+)

211: Computer Architecture Summer 2016

Logic Gates and Boolean Algebra

Ex: Boolean expression for majority function F = A'BC + AB'C + ABC ' + ABC.

Show that the dual of the exclusive-or is equal to its compliment. 7

Digital Circuit And Logic Design I. Lecture 3

Chapter 2: Princess Sumaya Univ. Computer Engineering Dept.

EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits)

Chapter 5. Digital systems. 5.1 Boolean algebra Negation, conjunction and disjunction

Combinatorial Logic Design Principles

Outline. EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) Combinational Logic (CL) Defined

Unit 2 Session - 6 Combinational Logic Circuits

Logic and Computer Design Fundamentals. Chapter 2 Combinational Logic Circuits. Part 2 Circuit Optimization

Working with combinational logic

Number System conversions

Lecture 2 Review on Digital Logic (Part 1)

Chapter 4 Optimized Implementation of Logic Functions

Digital Logic & Computer Design CS Professor Dan Moldovan Spring 2010

CHAPTER1: Digital Logic Circuits Combination Circuits

ﻮﻧﺭﺎﮐ ﺔﺸﻘﻧ ﺎﺑ ﻱﺯﺎﺳ ﻪﻨﻴﻬﺑ

ELCT201: DIGITAL LOGIC DESIGN

LOGIC GATES. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D.

Digital Logic & Computer Design CS Professor Dan Moldovan Spring Copyright 2007 Elsevier 2-<101>

Contents. Chapter 2 Digital Circuits Page 1 of 30

Combinational Logic Fundamentals

COSC3330 Computer Architecture Lecture 2. Combinational Logic

Lecture 2. Notes. Notes. Notes. Boolean algebra and optimizing logic functions. BTF Electronics Fundamentals August 2014

Propositional Logic. Logical Expressions. Logic Minimization. CNF and DNF. Algebraic Laws for Logical Expressions CSC 173

CHAPTER III BOOLEAN ALGEBRA

Administrative Notes. Chapter 2 <9>

CMSC 313 Lecture 19 Combinational Logic Components Programmable Logic Arrays Karnaugh Maps

Chapter 3. Boolean Algebra. (continued)

4 Switching Algebra 4.1 Axioms; Signals and Switching Algebra

Slides for Lecture 10

This form sometimes used in logic circuit, example:

Lecture 1. Notes. Notes. Notes. Introduction. Introduction digital logic February Bern University of Applied Sciences

Chapter 2 Boolean Algebra and Logic Gates

Chapter 2 Boolean Algebra and Logic Gates

Minimization techniques

CS/COE0447: Computer Organization and Assembly Language

CHAPTER III BOOLEAN ALGEBRA

MC9211 Computer Organization

Karnaugh Maps (K-Maps)

Logic and Boolean algebra

CHAPTER 12 Boolean Algebra

Boolean Algebra and logic gates

control in out in out Figure 1. Binary switch: (a) opened or off; (b) closed or on.

Chapter 2: Boolean Algebra and Logic Gates

Chapter 2 Combinational Logic Circuits

CPE100: Digital Logic Design I

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 2 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

EC-121 Digital Logic Design

12/31/2010. Overview. 05-Boolean Algebra Part 3 Text: Unit 3, 7. DeMorgan s Law. Example. Example. DeMorgan s Law

Chapter 2 Combinational Logic Circuits

Boolean Algebra and Logic Simplification

Boolean Algebra & Logic Gates. By : Ali Mustafa

Logic Design Combinational Circuits. Digital Computer Design

COMP2611: Computer Organization. Introduction to Digital Logic

Chapter 2 Boolean Algebra and Logic Gates

1. Name the person who developed Boolean algebra

14:332:231 DIGITAL LOGIC DESIGN

Chap 2. Combinational Logic Circuits

University of Technology

Contents. Chapter 3 Combinational Circuits Page 1 of 36

Chapter 7 Logic Circuits

KP/Worksheets: Propositional Logic, Boolean Algebra and Computer Hardware Page 1 of 8

Transcription:

ombinational logic asic logic oolean algebra, proofs by re-writing, proofs by perfect induction logic functions, truth tables, and switches NOT, ND, OR, NND, NOR, OR,..., minimal set Logic realization two-level logic and canonical forms incompletely specified functions Simplification uniting theorem grouping of terms in oolean functions lternate representations of oolean functions cubes Karnaugh maps utumn 2003 SE370 - II - ombinational 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 Y F Y 16 possible functions (F0 F15) 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 and Y Y xor Y or Y = Y nor Y not ( or Y) not Y 1 not nand Y not ( and Y) utumn 2003 SE370 - II - ombinational Logic 2

ost 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, directly connect output to low/high (F3) and Y (F5): require 0 switches, output is one of inputs (F12) and Y (F10): require 2 switches for "inverter" or NOT-gate nor Y (F4) and nand Y (F14): require 4 switches or Y (F7) and and Y (F1): require 6 switches = Y (F9) and Y (F6): require 16 switches thus, because NOT, NOR, and NND are the cheapest they are the functions we implement the most in practice utumn 2003 SE370 - II - ombinational Logic 3 Minimal set of functions an we implement all logic functions from NOT, NOR, and NND? For example, implementing and Y is the same as implementing not ( nand Y) In fact, we can do it with only NOR or only NND NOT is just a NND or a NOR with both inputs tied together Y nor Y 1 0 Y nand Y 1 0 and NND and NOR are "duals", that is, its easy to implement one using the other nand Y not ( (not ) nor (not Y) ) nor Y not ( (not ) nand (not Y) ) ut lets not move too fast... lets look at the mathematical foundation of logic utumn 2003 SE370 - II - ombinational Logic 4

n algebraic structure n algebraic structure consists of a set of elements binary operations { +, } and a unary operation { } such that the following axioms hold: 1. the set contains at least two elements: a, b 2. closure: a + b is in a b is in 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 utumn 2003 SE370 - II - ombinational Logic 5 oolean algebra oolean algebra = {0, 1} variables + is logical OR, is logical ND is logical NOT ll algebraic axioms hold utumn 2003 SE370 - II - ombinational Logic 6

Logic functions and oolean algebra ny logic function that can be expressed as a truth table can be written as an expression in oolean algebra using the operators:, +, and Y Y 0 0 1 0 1 1 Y Y 1 0 0 1 1 0 Y Y Y Y ( Y ) + ( Y ) 0 0 ( Y ) + ( Y ) = Y 1 1 0 1 0 1, Y are oolean algebra variables oolean expression that is true when the variables and Y have the same value and false, otherwise utumn 2003 SE370 - II - ombinational Logic 7 xioms and theorems of oolean algebra identity 1. + 0 = 1D. 1 = null 2. + 1 = 1 2D. 0 = 0 idempotency: 3. + = 3D. = involution: 4. ( ) = complementarity: 5. + = 1 5D. = 0 commutativity: 6. + Y = Y + 6D. Y = Y associativity: 7. ( + Y) + Z = + (Y + Z) 7D. ( Y) Z = (Y Z) utumn 2003 SE370 - II - ombinational Logic 8

xioms and theorems of oolean algebra (cont d) distributivity: 8. (Y + Z) = ( Y) + ( Z) 8D. + (Y Z) = ( + Y) ( + Z) uniting: 9. Y + Y = 9D. ( + Y) ( + Y ) = absorption: 10. + Y = 10D. ( + Y) = 11. ( + Y ) Y = Y 11D. ( Y ) + Y = + Y factoring: 12. ( + Y) ( + Z) = 12D. Y + Z = Z + Y ( + Z) ( + Y) concensus: 13. ( Y) + (Y Z) + ( Z) = 13D. ( + Y) (Y + Z) ( + Z) = Y + Z ( + Y) ( + Z) utumn 2003 SE370 - II - ombinational Logic 9 xioms and theorems of oolean algebra (cont d) de Morgan s: 14. ( + Y +...) = Y... 14D. ( Y...) = + Y +... generalized de Morgan s: 15. f ( 1, 2,..., n,0,1,+, ) = f( 1, 2,..., n,1,0,,+) establishes relationship between and + utumn 2003 SE370 - II - ombinational Logic 10

xioms and theorems of oolean algebra (cont d) Duality a dual of a oolean 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. + Y +... Y... generalized duality: 17. f ( 1, 2,..., n,0,1,+, ) f( 1, 2,..., n,1,0,,+) Different than demorgan s Law this is a statement about theorems this is not a way to manipulate (re-write) expressions utumn 2003 SE370 - II - ombinational Logic 11 Proving theorems (rewriting) Using the axioms of oolean algebra: e.g., prove the theorem: Y + Y = distributivity (8) Y + Y = (Y + Y ) complementarity (5) (Y + Y ) = (1) identity (1D) (1) = e.g., prove the theorem: + Y = identity (1D) + Y = 1 + Y distributivity (8) 1 + Y = (1 + Y) identity (2) (1 + Y) = (1) identity (1D) (1) = utumn 2003 SE370 - II - ombinational Logic 12

ctivity Prove the following using the laws of oolean algebra: ( Y) + (Y Z) + ( Z) = Y + Z ( Y) + (Y Z) + ( Z) identity ( Y) + (1) (Y Z) + ( Z) complementarity ( Y) + ( + ) (Y Z) + ( Z) distributivity ( Y) + ( Y Z) + ( Y Z) + ( Z) commutativity ( Y) + ( Y Z) + ( Y Z) + ( Z) factoring ( Y) (1 + Z) + ( Z) (1 + Y) null ( Y) (1) + ( Z) (1) identity ( Y) + ( Z) utumn 2003 SE370 - II - ombinational Logic 13 Proving theorems (perfect induction) Using perfect induction (complete truth table): e.g., de Morgan s: ( + Y) = Y NOR is equivalent to ND with inputs complemented ( Y) = + Y NND is equivalent to OR with inputs complemented Y Y ( + Y) Y 0 0 1 1 Y Y ( Y) + Y 0 0 1 1 utumn 2003 SE370 - II - ombinational Logic 14

simple example: 1-bit binary adder out in Inputs:,, arry-in Outputs: Sum, arry-out S S S S S in out S 0 1 0 1 0 1 1 0 1 0 1 0 1 1 0 0 0 1 0 1 S out in S = in + in + in + in out = in + in + in + in utumn 2003 SE370 - II - ombinational Logic 15 pply the theorems to simplify expressions The theorems of oolean algebra can simplify oolean expressions e.g., full adder s carry-out function (same rules apply to any function) out = in + in + in + in = in + in + in + in + in = in + in + in + in + in = ( + ) in + in + in + in = (1) in + in + in + in = in + in + in + in + in = in + in + in + in + in = in + ( + ) in + in + in = in + (1) in + in + in = in + in + (in + in) = in + in + (1) = in + in + adding extra terms creates new factoring opportunities utumn 2003 SE370 - II - ombinational Logic 16

ctivity Fill in the truth-table for a circuit that checks that a 4-bit number is divisible by 2, 3, or 5 8 4 2 1 y2 y3 y5 1 0 1 0 1 0 1 0 1 0 Write down oolean expressions for y2, y3, and y5 utumn 2003 SE370 - II - ombinational Logic 17 ctivity 8 4 2 1 y2 y3 y5 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 0 1 0 1 0 1 0 y2 = 8 4 2 1 + 8 4 21 + 8 42 1 + 8 421 + 84 2 1 + 84 21 + 842 1 + 8421 = 1 y3 = 8 4 2 1 + 8 4 21 + 8 421 + 84 2 1 + 842 1 + 8421 y5 = 8 4 2 1 + 8 42 1 + 84 21 + 8421 utumn 2003 SE370 - II - ombinational Logic 18

From oolean expressions to logic gates NOT ~ Y Y 0 1 1 0 ND Y Y Y Y Z Y Z 0 0 1 0 1 1 OR + Y Y Y Z Y Z 0 0 1 0 1 1 utumn 2003 SE370 - II - ombinational Logic 19 From oolean expressions to logic gates (cont d) NND Y Z Y Z 1 0 1 0 1 0 NOR Y Z Y Z 1 0 1 0 1 0 OR Y Y Z Y Z 0 0 1 0 1 0 xor Y = Y + Y or Y but not both ("inequality", "difference") NOR = Y Y Z Y Z 1 0 1 0 1 1 xnor Y = Y + Y and Y are the same ("equality", "coincidence") utumn 2003 SE370 - II - ombinational Logic 20

From oolean expressions to logic gates (cont d) More than one way to map expressions to gates e.g., Z = ( + D) = ( ( ( + D))) T2 T1 use of 3-input gate Z T1 Z D T2 D utumn 2003 SE370 - II - ombinational Logic 21 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 utumn 2003 SE370 - II - ombinational Logic 22

hoosing different realizations of a function Z 0 1 0 1 1 0 1 0 0 1 1 0 two-level realization (we don t count NOT gates) multi-level realization (gates with fewer inputs) OR gate (easier to draw but costlier to build) utumn 2003 SE370 - II - ombinational Logic 23 Which realization is best? Reduce number of inputs literal: input variable (complemented or not) can approximate cost of logic gate as 2 transitors 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 utumn 2003 SE370 - II - ombinational Logic 24

Which is the best realization? (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 utumn 2003 SE370 - II - ombinational Logic 25 re 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 utumn 2003 SE370 - II - ombinational Logic 26

Implementing oolean 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 utumn 2003 SE370 - II - ombinational Logic 27 anonical forms Truth table is the unique signature of a oolean function The same truth table can have many gate realizations anonical forms standard forms for a oolean expression provides a unique algebraic signature utumn 2003 SE370 - II - ombinational Logic 28

Sum-of-products canonical forms lso known as disjunctive normal form lso known as minterm expansion F = 001 01010 111 F = + + + + F F 1 0 0 1 1 0 1 0 1 0 1 1 0 0 0 1 0 0 F = + + utumn 2003 SE370 - II - ombinational Logic 29 Sum-of-products canonical form (cont d) Product term (or minterm) NDed product of literals input combination for which output is true each variable appears exactly once, true or inverted (but not both) minterms 0 m0 1 m1 0 1 0 m2 0 m3 1 m4 1 0 1 m5 0 m6 1 m7 short-hand notation for minterms of 3 variables F in canonical form: F(,, ) = Σm(1,3,5,6,7) = m1 + m3 + m5 + m6 + m7 = + + + + canonical form minimal form F(,, ) = + + + + = ( + + + ) + = (( + )( + )) + = + = + = + utumn 2003 SE370 - II - ombinational Logic 30

Product-of-sums canonical form lso known as conjunctive normal form lso known as maxterm expansion F F 1 0 0 1 1 0 1 0 1 0 1 1 0 0 0 1 0 0 F = 0010 100 F = ( + + ) ( + + ) ( + + ) F = ( + + ) ( + + ) ( + + ) ( + + ) ( + + ) utumn 2003 SE370 - II - ombinational Logic 31 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) maxterms 0 ++ M0 1 ++ M1 0 1 0 + + M2 0 + + M3 1 ++ M4 1 0 1 ++ M5 0 + + M6 1 + + M7 short-hand notation for maxterms of 3 variables F in canonical form: F(,, ) = ΠM(0,2,4) = M0 M2 M4 = ( + + ) ( + + ) ( + + ) canonical form minimal form F(,, ) = ( + + ) ( + + ) ( + + ) = ( + + ) ( + + ) ( + + ) ( + + ) = ( + ) ( + ) utumn 2003 SE370 - II - ombinational Logic 32

S-o-P, P-o-S, and de Morgan s theorem Sum-of-products F = + + pply de Morgan s (F ) = ( + + ) F = ( + + ) ( + + ) ( + + ) Product-of-sums F = ( + + ) ( + + ) ( + + ) ( + + ) ( + + ) pply de Morgan s (F ) = ( ( + + )( + + )( + + )( + + )( + + ) ) F = + + + + utumn 2003 SE370 - II - ombinational Logic 33 Four alternative two-level implementations of F = + F1 canonical sum-of-products minimized sum-of-products F2 F3 canonical product-of-sums F4 minimized product-of-sums utumn 2003 SE370 - II - ombinational Logic 34

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) utumn 2003 SE370 - II - ombinational Logic 35 Mapping between canonical forms Minterm to maxterm conversion use maxterms whose indices do not appear in minterm expansion e.g., F(,,) = Σ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(,,) = Π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(,,) = Σm(1,3,5,6,7) F (,,) = Σm(0,2,4) Maxterm expansion of F to maxterm expansion of F use maxterms whose indices do not appear e.g., F(,,) = ΠM(0,2,4) F (,,) = ΠM(1,3,5,6,7) utumn 2003 SE370 - II - ombinational Logic 36

Incompleteley specified functions Example: binary coded decimal increment by 1 D digits encode the decimal digits 0 9 in the bit patterns 0000 1001 D W Y Z 0 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 0 0 1 0 1 1 1 1 1 0 1 0 1 0 0 1 1 0 off-set of W on-set of W don t care (D) set of W these inputs patterns should never be encountered in practice "don t care" about associated output values, can be exploited in minimization utumn 2003 SE370 - II - ombinational Logic 37 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) anonical representations of the D 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) ] utumn 2003 SE370 - II - ombinational Logic 38

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 lgebraic simplification not an algorithmic/systematic procedure how do you know when the minimum realization has been found? omputer-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) utumn 2003 SE370 - II - ombinational Logic 39 The uniting theorem Key tool to simplification: ( + ) = 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 = + = ( +) = F 1 0 1 0 1 0 1 0 has the same value in both on-set rows remains has a different value in the two rows is eliminated utumn 2003 SE370 - II - ombinational Logic 40

oolean cubes Visual technique for indentifying when the uniting theorem can be applied n input variables = n-dimensional "cube" 1-cube 0 1 01 00 Y 11 10 2-cube 111 0111 1111 3-cube Y 000 Z 101 Y 0000 Z W 1000 4-cube utumn 2003 SE370 - II - ombinational Logic 41 Mapping truth tables onto oolean cubes Uniting theorem combines two "faces" of a cube into a larger "face" Example: F 1 0 1 0 1 0 1 0 01 00 F 11 10 two faces of size 0 (nodes) combine into a face of size 1(line) ON-set = solid nodes OFF-set = empty nodes D-set = 'd nodes varies within face, does not this face represents the literal ' utumn 2003 SE370 - II - ombinational Logic 42

Three variable example inary full-adder carry-out logic ('+)in in out 1 0 0 1 0 1 1 0 1 0 0 1 000 111 101 (in'+in) (+')in the on-set is completely covered by the combination (OR) of the subcubes of lower dimensionality - note that 111 is covered three times out = in++in utumn 2003 SE370 - II - ombinational Logic 43 Higher dimensional cubes Sub-cubes of higher dimension than 2 011 010 000 111 110 001 101 100 F(,,) = Σm(4,5,6,7) on-set forms a square i.e., a cube of dimension 2 represents an expression in one variable i.e., 3 dimensions 2 dimensions is asserted (true) and unchanged and vary This subcube represents the literal utumn 2003 SE370 - II - ombinational Logic 44

m-dimensional cubes in a n-dimensional oolean 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 utumn 2003 SE370 - II - ombinational Logic 45 Karnaugh maps Flat map of oolean cube wrap around at edges hard to draw and visualize for more than 4 dimensions virtually impossible for more than 6 dimensions lternative 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 0 1 0 0 2 1 1 3 F 1 0 1 0 1 0 1 0 utumn 2003 SE370 - II - ombinational Logic 46

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 01 0 0 2 1 1 3 10 6 4 7 5 0 4 1 5 12 8 13 9 D 0 2 1 3 6 4 7 5 3 7 2 6 15 11 14 10 13 = 1101= D utumn 2003 SE370 - II - ombinational Logic 47 djacencies in Karnaugh maps Wrap from first to last column Wrap top row to bottom row 0010 110 100 011 010 110 111 001 01101 000 001 101 100 utumn 2003 SE370 - II - ombinational Logic 48

Karnaugh map examples F = out = f(,,) = Σm(0,4,6,7) 1 0 + in + in in 0 1 1 0 0 1 + + obtain the complement of the function by covering 0s with subcubes utumn 2003 SE370 - II - ombinational Logic 49 More Karnaugh map examples G(,,) = 1 0 0 1 F(,,) = Σm(0,4,5,7) = + 0 1 1 0 F' simply replace 1's with 0's and vice versa = + F'(,,) = Σ m(1,2,3,6) utumn 2003 SE370 - II - ombinational Logic 50

Karnaugh map: 4-variable example F(,,,D) = Σm(0,2,3,5,6,7,8,10,11,14,15) F = + D + D 1 0 0 1 0111 1111 0 1 D 0000 D 1000 find the smallest number of the largest possible subcubes to cover the ON-set (fewer terms with fewer inputs per term) utumn 2003 SE370 - II - ombinational Logic 51 Karnaugh maps: don t cares f(,,,d) = Σ m(1,3,5,7,9) + d(6,12,13) without don't cares f = D + D 0 1 D 0 utumn 2003 SE370 - II - ombinational Logic 52

Karnaugh maps: don t cares (cont d) f(,,,d) = Σ m(1,3,5,7,9) + d(6,12,13) f = 'D + ''D without don't cares f = 'D + 'D with don't cares 0 0 1 D by using don't care as a "1" a 2-cube can be formed rather than a 1-cube to cover this node don't cares can be treated as 1s or 0s depending on which is more advantageous utumn 2003 SE370 - II - ombinational Logic 53 ctivity Minimize the function F = Σ m(0, 2, 7, 8, 14, 15) + d(3, 6, 9, 12, 13) 1 0 1 1 1 1 0 1 0 D F = + + + + D + D F = + D + D 1 0 1 1 1 D F = + + D 0 1 1 0 utumn 2003 SE370 - II - ombinational Logic 54 1 0 1 0 1 0 1 D

ombinational logic summary Logic functions, truth tables, and switches NOT, ND, OR, NND, NOR, OR,..., minimal set xioms and theorems of oolean algebra proofs by re-writing and perfect induction Gate logic networks of oolean functions and their time behavior anonical 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 utumn 2003 SE370 - II - ombinational Logic 55