EECS Variable Logic Functions

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

Possible logic functions of two variables

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

Combinational Logic (mostly review!)

Lecture A: Logic Design and Gates

Combinational Logic. Review of Combinational Logic 1

Chapter 2 Combinational logic

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

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

Switches: basic element of physical implementations

Chapter 2: Switching Algebra and Logic Circuits

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

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

L2: Combinational Logic Design (Construction and Boolean Algebra)

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

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

L2: Combinational Logic Design (Construction and Boolean Algebra)

L2: Combinational Logic Design (Construction and Boolean Algebra)

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

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

Chapter 2 Combinational Logic Circuits

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

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

CS 226: Digital Logic Design

Combinational Logic Design Principles

Slides for Lecture 10

Logic Gates and Boolean Algebra

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

Administrative Notes. Chapter 2 <9>

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

Chapter 2: Boolean Algebra and Logic Gates

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

ENG2410 Digital Design Combinational Logic Circuits

Chapter 2: Princess Sumaya Univ. Computer Engineering Dept.

Lab 1 starts this week: go to your session

Digital Circuit And Logic Design I. Lecture 3

Combinational Logic Fundamentals

Every time has a value associated with it, not just some times. A variable can take on any value within a range

Unit 8A Computer Organization. Boolean Logic and Gates

CHAPTER III BOOLEAN ALGEBRA

Week-I. Combinational Logic & Circuits

Chapter 2 Boolean Algebra and Logic Gates

Chapter 3. Boolean Algebra. (continued)

Number System. Decimal to binary Binary to Decimal Binary to octal Binary to hexadecimal Hexadecimal to binary Octal to binary

211: Computer Architecture Summer 2016

MC9211 Computer Organization

4 Switching Algebra 4.1 Axioms; Signals and Switching Algebra

CHAPTER1: Digital Logic Circuits Combination Circuits

CHAPTER III BOOLEAN ALGEBRA

Digital Logic (2) Boolean Algebra

Computer Organization: Boolean Logic

Logic Design. Chapter 2: Introduction to Logic Circuits

Lecture 2 Review on Digital Logic (Part 1)

Boolean algebra. Examples of these individual laws of Boolean, rules and theorems for Boolean algebra are given in the following table.

Chap 2. Combinational Logic Circuits

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

XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL.

Logic Gate Level. Part 2

Chapter 2 Combinational Logic Circuits

Review: Additional Boolean operations

Number System conversions

Contents. Chapter 2 Digital Circuits Page 1 of 30

Boolean Algebra and Logic Gates Chapter 2. Topics. Boolean Algebra 9/21/10. EECE 256 Dr. Sidney Fels Steven Oldridge

Unit 2 Session - 6 Combinational Logic Circuits

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

Combinatorial Logic Design Principles

CPE100: Digital Logic Design I

CSE140: Components and Design Techniques for Digital Systems. Introduction. Instructor: Mohsen Imani

Chapter 2 Boolean Algebra and Logic Gates

Chapter 2 Boolean Algebra and Logic Gates

Chapter 2 (Lect 2) Canonical and Standard Forms. Standard Form. Other Logic Operators Logic Gates. Sum of Minterms Product of Maxterms

ELCT201: DIGITAL LOGIC DESIGN

XOR - XNOR Gates. The graphic symbol and truth table of XOR gate is shown in the figure.

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

Total Time = 90 Minutes, Total Marks = 50. Total /50 /10 /18

EEA051 - Digital Logic 數位邏輯 吳俊興高雄大學資訊工程學系. September 2004

CSE140: Components and Design Techniques for Digital Systems. Logic minimization algorithm summary. Instructor: Mohsen Imani UC San Diego

University of Technology

WEEK 2.1 BOOLEAN ALGEBRA

Binary Logic and Gates. Our objective is to learn how to design digital circuits.

CPE100: Digital Logic Design I

UNIT 4 MINTERM AND MAXTERM EXPANSIONS

2 Application of Boolean Algebra Theorems (15 Points - graded for completion only)

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

Chapter 2 Boolean Algebra and Logic Gates

L4: Karnaugh diagrams, two-, and multi-level minimization. Elena Dubrova KTH / ICT / ES

Chapter 2. Boolean Algebra and Logic Gates

UC Berkeley College of Engineering, EECS Department CS61C: Representations of Combinational Logic Circuits

Discrete Mathematics. CS204: Spring, Jong C. Park Computer Science Department KAIST

CPE100: Digital Logic Design I

Part 1: Digital Logic and Gates. Analog vs. Digital waveforms. The digital advantage. In real life...

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

Boolean Algebra, Gates and Circuits

This form sometimes used in logic circuit, example:

ECE 20B, Winter 2003 Introduction to Electrical Engineering, II LECTURE NOTES #2

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

BOOLEAN ALGEBRA TRUTH TABLE

Boolean Algebra & Logic Gates. By : Ali Mustafa

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

Transcription:

EECS150 Section 1 Introduction to Combinational Logic Fall 2001 2-Variable Logic Functions There are 16 possible functions of 2 input variables: in general, there are 2**(2**n) functions of n inputs X F X 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 X and X X xor X or X = X nor not (X or ) not not X 1 Xnand not (X and ) EECS150 - Fall 2001 1-2

Boolean algebra Boolean algebra B = {0, 1} + is logical OR, is logical ND ' is logical NOT ll algebraic axioms hold EECS150 - Fall 2001 1-3 n algebraic structure n algebraic structure consists of a set of elements B binary operations { +, } and a unary operation { ' } such that the following axioms hold: 1. set B contains at least two elements, a, b, such that 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 EECS150 - Fall 2001 1-4

xioms and Theorems 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 + = + X 6D. X = X ssociativity: 7. (X + ) + Z = X + ( + Z) 7D. (X ) Z = X ( Z) EECS150 - Fall 2001 1-5 xioms and theorems Distributivity: 8. X ( + Z) = (X ) + (X Z) 8D. X + ( Z) = (X + ) (X + Z) Uniting: 9. X + X ' = X 9D. (X + ) (X + ') = X bsorption: 10. X + X = X 10D. X (X + ) = X 11. (X + ') = X 11D. (X ') + = X + Factoring: 12. (X + ) (X' + Z) = 12D. X + X' Z = X Z + X' (X + Z) (X' + ) Concensus: 13. (X ) + ( Z) + (X' Z) = 13D. (X + ) ( + Z) (X' + Z) = X + X' Z (X + ) (X' + Z) EECS150 - Fall 2001 1-6

xioms and theorems de Morgan's: 14. (X + +...)' = X' '... 14D. (X...)' = X' + ' +... generalized de Morgan's: 15. f'(x1,x2,...,xn,0,1,+, ) = f(x1',x2',...,xn',1,0,,+) establishes relationship between and + B F B + B F + B 0 0 0 0 1 0 1 0 0 1 1 1 EECS150 - Fall 2001 1-7 Duality xioms and theorems Dual of a Boolean expression is derived by replacing by +, + by, 0 by 1, and 1 by 0, and leaving variables unchanged ny theorem that can be proven is thus also proven for its dual! Meta-theorem (a theorem about theorems) duality: 16. X + +... X... 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 EECS150 - Fall 2001 1-8

Proving theorems (rewriting) Using the axioms of Boolean algebra: e.g., prove the theorem: X + X ' = X distributivity (8) X + X ' = X ( + ') complementarity (5) X ( + ') = X (1) identity (1D) X (1) = X e.g., prove the theorem: X + X = X identity (1D) X + X = X 1 + X distributivity (8) X 1 + X = X (1 + ) identity (2) X (1 + ) = X (1) identity (1D) X (1) = X EECS150 - Fall 2001 1-9 Proving theorems (perfect induction) Using perfect induction (complete truth table): e.g., de Morgan's: (X + )' = X' ' NOR is equivalent to ND with inputs complemented X X' ' (X + )' X' ' 0 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 (X )' = X' + ' NND is equivalent to OR with inputs complemented X X' ' (X )' X' + ' 0 0 1 1 1 1 0 1 1 0 1 1 1 0 0 1 1 1 1 1 0 0 0 0 EECS150 - Fall 2001 1-10

Logic Functions ny logic function that can be expressed as a truth table can be written as an expression in Boolean algebra using the operators: ', +, and X X 0 0 0 0 1 0 1 0 0 1 1 1 X X' X' 0 0 1 0 0 1 1 1 1 0 0 0 1 1 0 0 X X' ' X X' ' ( X ) + ( X' ' ) 0 0 1 1 0 1 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 ( X ) + ( X' ' ) X = 1 1 0 0 1 0 1 X, are Boolean algebra variables Boolean expression that is true when the variables X and have the same value and false, otherwise EECS150 - Fall 2001 1-11 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, directly connect output to low/high X (F3) and (F5): require 0 switches, output is one of inputs X' (F12) and ' (F10): require 2 switches for "inverter" or NOTgate X nor (F4) and X nand (F14): require 4 switches X or (F7) and X and (F1): require 6 switches X = (F9) and X (F6): require 16 switches Because NOT, NOR, and NND are the cheapest they are the functions we implement the most in practice EECS150 - Fall 2001 1-12

1-bit binary adder inputs:, B, Carry-in outputs: Sum, Carry-out simple example B Cin S Cout B Cin S Cout 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 S = ' B' Cin + ' B Cin' + B' Cin' + B Cin Cout = ' B Cin + B' Cin + B Cin' + B Cin EECS150 - Fall 2001 1-13 pply theorems to simplify The theorems of Boolean algebra can simplify Boolean expressions e.g., full adder's carry-out function (same rules apply to any function) Cout = ' B Cin + B' Cin + B Cin' + B Cin = ' B Cin + B' Cin + B Cin' + B Cin + B Cin = ' B Cin + B Cin + B' Cin + B Cin' + B Cin = (' + ) B Cin + B' Cin + B Cin' + B Cin = (1) B Cin + B' Cin + B Cin' + B Cin = B Cin + B' Cin + B Cin' + B Cin + B Cin = B Cin + B' Cin + B Cin + B Cin' + B Cin = B Cin + (B' + B) Cin + B Cin' + B Cin = B Cin + (1) Cin + B Cin' + B Cin = B Cin + Cin + B (Cin' + Cin) = B Cin + Cin + B (1) = B Cin + Cin + B EECS150 - Fall 2001 1-14

From expressions to logic gates NOT X' X ~X X X 0 1 1 0 ND X X X X Z X Z 0 0 0 0 1 0 1 0 0 1 1 1 OR X + X X Z X Z 0 0 0 0 1 1 1 0 1 1 1 1 EECS150 - Fall 2001 1-15 From expressions to logic gates NND X Z X Z 0 0 1 0 1 1 1 0 1 1 1 0 NOR X Z X Z 0 0 1 0 1 0 1 0 0 1 1 0 XOR X XNOR X = X X Z Z X Z 0 0 0 0 1 1 1 0 1 1 1 0 X Z 0 0 1 0 1 0 1 0 0 1 1 1 Xxor = X ' + X' X or but not both ("inequality", "difference") Xxnor = X + X' ' X and are the same ("equality", "coincidence") EECS150 - Fall 2001 1-16

From expressions to logic gates More than one way to map expressions to gates e.g., Z = ' B' (C + D) = (' (B' (C + D))) T2 T1 use of 3-input gate Z B T1 B Z C D T2 C D EECS150 - Fall 2001 1-17 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 takes time to "propagate" through gates EECS150 - Fall 2001 1-18

Different realizations of a function B C Z 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 two-level realization (we don't count NOT gates) multi-level realization (gates with fewer inputs) XOR gate (easier to draw but costlier to build) EECS150 - Fall 2001 1-19 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 EECS150 - Fall 2001 1-20

Which is the best realization? 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? utomated tools to generate different solutions Logic minimization: reduce number of gates and complexity Logic optimization: reduction while trading off against delay EECS150 - Fall 2001 1-21 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 variations due to differences in depth, structure EECS150 - Fall 2001 1-22

Timing Two key concepts: what {0,1} and when (timing) How fast can I move or process information? Fundamental limitations: speed of light 3 108 m/sec vacuum ~ 2 108 m/sec conduction switching time: capacitance & inductance Zero th order model +5 R V 1 transistor(s) R G 0 EECS150 - Fall 2001 1-23 Voltage model (more physical) (as seen with oscilloscope) 0 1 t p t t 4.3 Delay model t p or t ideal EECS150 - Fall 2001 1-24

Why big deal? Timing Dynamic output static output ( glitches ) Example: XOR function implemented from ND, OR, INV idealization: unit delay in each symbol = B + B B B 1 1 B 1 2 EECS150 - Fall 2001 1-25 given B Timing Diagram 0 0 B given 1 B 1 1 = B 1 2 = 1 B = 1 + 2 Static behavior fine 1 1 = 0, 0 0 = 0 Dynamic behavior glitch fundamental feature of switching EECS150 - Fall 2001 1-26

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 EECS150 - Fall 2001 1-27 Canonical forms Truth table is the unique signature of a Boolean function Many alternative gate realizations may have the same truth table Canonical forms Standard forms for a Boolean expression Provides a unique algebraic signature EECS150 - Fall 2001 1-28

Sum-of-products canonical forms lso known as disjunctive normal form lso known as minterm expansion F = 001 011 101 110 111 F = 'B'C+ 'BC+ B'C + BC' + BC 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' = 'B'C' + 'BC' + B'C' EECS150 - Fall 2001 1-29 Sum-of-products canonical form Product term (or minterm) NDed product of literals input combination for which output is true Each variable appears exactly once, in true or inverted form (but not both) B C minterms 0 0 0 'B'C'm0 0 0 1 'B'C m1 0 1 0 'BC' m2 0 1 1 'BC m3 1 0 0 B'C' m4 1 0 1 B'C m5 1 1 0 BC' m6 1 1 1 BC m7 short-hand notation for minterms of 3 variables F in canonical form: F(, B, C) = Σm(1,3,5,6,7) = m1 + m3 + m5 + m6 + m7 = 'B'C + 'BC + B'C + BC' + BC canonical form minimal form F(, B, C) = 'B'C + 'BC + B'C + BC + BC' = ('B' + 'B + B' + B)C + BC' = ((' + )(B' + B))C + BC' = C + BC' = BC' + C = B + C EECS150 - Fall 2001 1-30

Product-of-sums canonical form lso known as conjunctive normal form lso known as maxterm expansion 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 = 000 010 100 F = ( + B + C) ( + B' + C) (' + B + C) F' = ( + B + C') ( + B' + C') (' + B + C') (' + B' + C) (' + B' + C') EECS150 - Fall 2001 1-31 Product-of-sums canonical form Sum term (or maxterm) ORed sum of literals input combination for which output is false each variable appears exactly once, in true or inverted form (but not both) B C maxterms 0 0 0 +B+C M0 0 0 1 +B+C' M1 0 1 0 +B'+C M2 0 1 1 +B'+C' M3 1 0 0 '+B+C M4 1 0 1 '+B+C' M5 1 1 0 '+B'+C M6 1 1 1 '+B'+C' M7 F in canonical form: F(, B, C) = ΠM(0,2,4) = M0 M2 M4 = ( + B + C) ( + B' + C) (' + B + C) canonical form minimal form F(, B, C) = ( + B + C) ( + B' + C) (' + B + C) = ( + B + C) ( + B' + C) ( + B + C) (' + B + C) = ( + C) (B + C) short-hand notation for maxterms of 3 variables EECS150 - Fall 2001 1-32

Sum-of-products Relating S-o-P & P-o-S F' = 'B'C' + 'BC' + B'C' pply de Morgan's (F')' = ('B'C' + 'BC' + B'C')' F = ( + B + C) ( + B' + C) (' + B + C) Product-of-sums F' = ( + B + C') ( + B' + C') (' + B + C') (' + B' + C) (' + B' + C') pply de Morgan's (F')' = ( ( + B + C')( + B' + C')(' + B + C')(' + B' + C)(' + B' + C') )' F = 'B'C + 'BC + B'C + BC' + BC EECS150 - Fall 2001 1-33 Example: F = B + C canonical sum-of-products B C F1 minimized sum-of-products F2 canonical product-of-sums F3 minimized product-of-sums F4 EECS150 - Fall 2001 1-34

Waveforms 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) EECS150 - Fall 2001 1-35 Minterm to maxterm conversion Mapping Use maxterms whose indices do not appear in minterm expansion e.g., F(,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(,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(,B,C) = Σm(1,3,5,6,7) F'(,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(,B,C) = ΠM(0,2,4) F'(,B,C) = ΠM(1,3,5,6,7) EECS150 - Fall 2001 1-36

Incompletely specified functions Example: binary coded decimal increment by 1 BCD digits encode decimal digits 0 9 in bit patterns 0000 1001 B C D W X Z 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 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 1 1 0 0 X X X X 1 1 0 1 X X X X 1 1 1 0 X X X X 1 1 1 1 X X X X off-set of W on-set of W don't care (DC) set of W these inputs patterns should never be encountered in practice "don't care" about associated output values, can be exploited in minimization EECS150 - Fall 2001 1-37 Notation Don't cares and canonical forms So far, only represented on-set lso 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) ] EECS150 - Fall 2001 1-38