Test Slide SAT MCAT GRE. CSE 370 Spring 2006 Introduction to Digital Design Lecture 5: Canonical Forms Last Lecture Logic Gates Different Implementations.

Slides:



Advertisements
Similar presentations
Techniques for Combinational Logic Optimization
Advertisements

II - Combinational Logic © Copyright 2004, Gaetano Borriello and Randy H. Katz 1 Combinational logic Basic logic  Boolean algebra, proofs by re-writing,
ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
ECE 301 – Digital Electronics Karnaugh Maps (Lecture #7) The slides included herein were taken from the materials accompanying Fundamentals of Logic Design,
ECE 301 – Digital Electronics Minterm and Maxterm Expansions and Incompletely Specified Functions (Lecture #6) The slides included herein were taken from.
ECE 331 – Digital System Design
EECS Components and Design Techniques for Digital Systems Lec 05 – Boolean Logic 9/4-04 David Culler Electrical Engineering and Computer Sciences.
CK Cheng Tuesday 10/2/02 CS 140 Lecture 2. Part I. Combinational Logic I) Specification –a. Language –b. Truth Table –c. Boolean Algebra –d. Incompletely.
Gate Logic: Two Level Canonical Forms
Contemporary Logic Design Two-Level Logic © R.H. Katz Transparency No. 3-1 Chapter #2: Two-Level Combinational Logic Section 2.1, Logic Functions.
Contemporary Logic Design Two-Level Logic © R.H. Katz Transparency No. 4-1 Chapter #2: Two-Level Combinational Logic Section 2.3, Switches and Tools.
Canonical Forms and Logic Miniminization
ECE 331 – Digital System Design Karnaugh Maps and Determining a Minimal Cover (Lecture #7) The slides included herein were taken from the materials accompanying.
بهينه سازي با نقشة کارنو Karnaugh Map. 2  Method of graphically representing the truth table that helps visualize adjacencies 2-variable K-map 3-variable.
Week 3- slide 1 EE 231 Digital Electronics Fall 01 Gate Logic: Two-Level Simplification K-Map Method Examples F = A asserted, unchanged B varies G = B’,
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
Chapter 2: Boolean Algebra and Logic Functions
Lecture 3: Incompletely Specified Functions and K Maps CSE 140: Components and Design Techniques for Digital Systems Fall 2014 CK Cheng Dept. of Computer.
Lecture 4 Logic gates and truth tables Implementing logic functions
1 COMBINATIONAL LOGIC One or more digital signal inputs One or more digital signal outputs Outputs are only functions of current input values (ideal) plus.
BOOLEAN ALGEBRA Saras M. Srivastava PGT (Computer Science)
Switching functions The postulates and sets of Boolean logic are presented in generic terms without the elements of K being specified In EE we need to.
ECE 331 – Digital System Design
Chapter 3 Simplification of Switching Functions. Simplification Goals Goal -- minimize the cost of realizing a switching function Cost measures and other.
Department of Computer Engineering
9/16/04UCB EECS150 D. Culler Fa04 1 EECS Components and Design Techniques for Digital Systems Lec 06 – Minimizing Boolean Logic 9/16-04 David Culler.
Foundations of Computing I CSE 311 Fall bit Binary Adder Inputs: A, B, Carry-in Outputs: Sum, Carry-out A B Cin Cout S
Two-Level Simplification Approaches Algebraic Simplification: - algorithm/systematic procedure is not always possible - No method for knowing when the.
CSE 311 Foundations of Computing I Lecture 5, Boolean Logic and Predicates Autumn 2012 CSE 3111.
1 CSE370, Lecture 5 Lecture 5 u Logistics n HW1 due today n HW2 available today, due Wed 1/21 n Office Hours this week: íMe: Friday 10:00-11:00 CSE 668.
ECE 2110: Introduction to Digital Systems PoS minimization Don’t care conditions.
Chapter 2 Two- Level Combinational Logic. Chapter Overview Logic Functions and Switches Not, AND, OR, NAND, NOR, XOR, XNOR Gate Logic Laws and Theorems.
CHAPTER 3: PRINCIPLES OF COMBINATIONAL LOGIC
LOGIC GATES & BOOLEAN ALGEBRA
1 Chapter 2 Combinational logic. 2 Combinational logic Basic logic  Boolean algebra, proofs by re-writing, proofs by perfect induction  logic functions,
Logic Functions: XOR, XNOR
1 Minterm and Maxterm Expressions Definition: a minterm of n variables is a product of the variables in which each appears exactly once in true or complemented.
CHAPTER 1 INTRODUCTION TO DIGITAL LOGIC
CSE 140: Components and Design Techniques for Digital Systems Lecture 3: Incompletely Specified Functions and K Maps CK Cheng Dept. of Computer Science.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 4 Dr. Shi Dept. of Electrical and Computer Engineering.
ECE 301 – Digital Electronics Minimizing Boolean Expressions using K-maps, The Minimal Cover, and Incompletely Specified Boolean Functions (Lecture #6)
CHAPTER 1 INTRODUCTION TO DIGITAL LOGIC. De Morgan’s Theorem De Morgan’s Theorem.
Chapter 3 Simplification of Switching Functions. Simplification Goals Goal -- minimize the cost of realizing a switching function Cost measures and other.
Lecture 3: Incompletely Specified Functions and K Maps
Lecture 4 Logistics Last lecture --- Boolean algebra Today’s lecture
© Copyright 2004, Gaetano Borriello and Randy H. Katz
Chapter 2: Boolean Algebra and Logic Functions
EEL 3705 / 3705L Digital Logic Design
CSE 311 Foundations of Computing I
Lecture 3: Incompletely Specified Functions and K Maps
ECE 331 – Digital System Design
CSE 370 – Winter Combinational Logic - 1
Lecture 6 Logistics Last lecture Today’s lecture HW2 due on Wednesday
CSE 370 – Winter 2002 – Logic minimization - 1
ECE 331 – Digital System Design
Combinatorial Logic Circuit
Lecture 6 Logistics Last lecture Today’s lecture
Lecture 7 Logistics Last lecture Today HW2 due now Lab2 going on
EECS150 - Digital Design Lecture 7 - Boolean Algebra II
January 19 W’05 Yutao He 4532B Boelter Hall CSM51A/EEM16-Sec.1 W’05
Lecture 6 Karnaugh maps (K-maps) K-maps with “don’t cares”
Chapter 2 Introduction to Logic Circuits
Spring Combinational Logic - 1
Lecture 5 Logistics Last lecture Today’s lecture
Chapter #2: Two-Level Combinational Logic
Lecture 5 Converting to use NAND and NOR
Lecture 7 Logistics Last lecture Today HW2 due now Lab2 going on
Lecture 6 Logistics Last lecture Today’s lecture HW2 due on Wednesday
Lecture 3: Incompletely Specified Functions and K Maps
ECE 331 – Digital System Design
Presentation transcript:

Test Slide SAT MCAT GRE

CSE 370 Spring 2006 Introduction to Digital Design Lecture 5: Canonical Forms Last Lecture Logic Gates Different Implementations Bubbles Today Canonical Forms Sum of Products Product of Sums Boolean Cubes

Administrivia Homework 2 was modified Monday evening. See online for the modification. The two problems that were dropped will appear on the next homework.

Suppose a light has to be lit by switching on simultaneously n switches. We may push any one of the n buttons at any time but we don’t know if they are on or off. What is the smallest number of steps necessary to guarantee that we turn the light on starting from any initial configuration of the switches? Puzzle

Canonical Forms Unique forms for Boolean functions Unique algebraic signatures: Generically not the simplest Can be simplified Two canonical forms Sum of products Product of sums

Also called disjunctive normal form (DNF) Commonly called a minterm expansion ABCFF' F = A'B'C + A'BC + AB'C + ABC' + ABC F' = A'B'C' + A'BC' + AB'C' minterm Sum of Products Canonical Form

short-hand notation ABCminterms 000A'B'C' m0 001A'B'C m1 010A'BC' m2 011A'BC m3 100AB'C' m4 101AB'C m5 110ABC' m6 111ABC m7 F in canonical form: F(A,B,C)=  m(1,3,5,6,7) = m1 + m3 + m5 + m6 + m7 = A'B'C+A'BC+AB'C+ABC'+ABC canonical form  minimal form F(A,B,C)= A'B'C+A'BC+AB'C+ABC+ABC' = (A'B'+A'B+AB'+AB)C+ABC’ = ((A' + A)(B' + B))C + ABC' = ABC' + C = AB + C Variables appears exactly once in each minterm In true or inverted form (but not both) Minterms

Also called conjunctive normal form (CNF) Commonly called a maxterm expansion ABCFF' F = (A + B + C) (A + B' + C) (A' + B + C) F' = (A+B+C')(A+B'+C')(A'+B+C')(A'+B'+C)(A'+B'+C') maxterm Product of Sums Canonical Form

ABCmaxterms 000A+B+CM0 001A+B+C'M1 010A+B'+CM2 011A+B'+C'M3 100A'+B+CM4 101A'+B+C'M5 110A'+B'+CM6 111A'+B'+C'M7 short-hand notation F in canonical form: F(A,B,C)=  M(0,2,4) = M0 M2 M4 = (A+B+C)(A+B'+C)(A'+B+C) canonical form  minimal form F(A,B,C)= (A+B+C)(A+B'+C)(A'+B+C) = (A+B+C)(A+B'+C) (A+B+C)(A'+B+C) = (A + C)(B + C) Variables appears exactly once in each maxterm In true or inverted form (but not both) Maxterms

canonical sum-of-products canonical product-of-sums These are not reduced forms for F Canonical Decompositions of F=AB+C

Exercise ABCF ABCF Express the following binary function in canonical sum of products and product of sum form:

Sum-of-products F' = A'B'C' + A'BC' + AB'C' Apply de Morgan's to get POS (F')' = (A'B'C' + A'BC' + AB'C')' F = (A+B+C)(A+B'+C)(A'+B+C) Product-of-sums F' = (A+B+C')(A+B'+C')(A'+B+C')(A'+B'+C)(A'+B'+C') Apply de Morgan's to get SOP (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 POS, SOP, and DeMorgan

Minterm to maxterm Use maxterms that aren’t in minterm expansion F(A,B,C) =  m(1,3,5,6,7) =  M(0,2,4) Maxterm to minterm Use minterms that aren’t in maxterm expansion F(A,B,C) =  M(0,2,4) =  m(1,3,5,6,7) Minterm of F to minterm of F' Use minterms that don’t appear F(A,B,C) =  m(1,3,5,6,7) F'(A,B,C) =  m(0,2,4) Maxterm of F to maxterm of F' Use maxterms that don’t appear F(A,B,C) =  M(0,2,4) F'(A,B,C) =  M(1,3,5,6,7) Conversions Between Canonical Forms

canonical sum-of-products minimized sum-of-products canonical product-of-sums minimized product-of-sums F1 F2 F3 B A C F4 Alternative Implementations of F=AB+C

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) Waveforms of Four Alternatives

ABCDWX YZ XXXX 1011XXXX 1100XXXX 1101XXXX 1110XXXX 1111XXXX off-set of W these inputs patterns should never be encountered in practice – "don’t care" about associated output values, can be exploited in minimization Example: binary coded decimal increment by 1 –BCD digits encode the decimal digits 0 – 9 in the bit patterns 0000 – 1001 don’t care (DC) set of W on-set of W 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) ] Incompletely Specified Functions: Notation

Find 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) Simplification of Two Level Logic

ABF ABF B has the same value in both on-set rows – B remains A has a different value in the two rows – A is eliminated F = A’B’+AB’ = (A’+A)B’ = B’ 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 Uniting Theorem

1-cube X 01 Visual technique for identifying when the uniting theorem can be applied n input variables = n-dimensional "cube" 2-cube X Y cube X Y Z cube W X Y Z Boolean Cubes

ABF ABF ON-set = solid nodes OFF-set = empty nodes DC-set =  'd nodes two faces of size 0 (nodes) combine into a face of size 1(line) A varies within face, B does not this face represents the literal B' Uniting theorem combines two "faces" of a cube into a larger "face" Example: A B F Truth Tables To Boolean Cubes

ABCinCout (A'+A)BCin AB(Cin'+Cin) A(B+B')Cin Cout = BCin+AB+ACin the on-set is completely covered by the combination (OR) of the subcubes of lower dimensionality - note that “111” is covered three times Binary full-adder carry-out logic A B C Three Variable Example

F(A,B,C) =  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 A is asserted (true) and unchanged B and C vary This subcube represents the literal A Sub-cubes of higher dimension than 2 A B C Three Variable Example

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

Gray Codes 2-cube X Y A listing of the vertices of the Boolean cube in which we only move along the edges. Example: 3-cube X Y Z

Gray Codes Binary reflected Gray codes Gray code on n bits => Gray code on n+1 bits Append 0 to Gray code of n bits, followed by appending 1 to the reverse-ordered Gray code of n bits

Gray Code Uses Use Gray codes to help visualize higher dimensional Boolean cubes. Avoid spurious intermediate states Example: measuring angles We want 001  110 We get 001  000  010  110 Gray codes help avoid synchronizing errors

Suppose a light has to be lit by switching on simultaneously n switches. We may push any one of the n buttons at any time but we don’t know if they are on or off. What is the smallest number of steps necessary to guarantee that we turn the light on starting from any initial configuration of the switches? Puzzle