Boolean Functions and Boolean Algebra Laxmikant Kale.

Slides:



Advertisements
Similar presentations
Lecture 5 EGRE 254 1/28/09. 2 Boolean algebra a.k.a. “switching algebra” –deals with Boolean values -- 0, 1 Positive-logic convention –analog voltages.
Advertisements

Logic Gate Level Part 2. Constructing Boolean expression from truth table First method: write nonparenthesized OR of ANDs Each AND is a 1 in the result.
Chapter 2 – Combinational Logic Circuits Part 1 – Gate Circuits and Boolean Equations Logic and Computer Design Fundamentals.
CS 151 Digital Systems Design Lecture 6 More Boolean Algebra A B.
1 Section 10.1 Boolean Functions. 2 Computers & Boolean Algebra Circuits in computers have inputs whose values are either 0 or 1 Mathematician George.
Standart Forms of Expression
Karnaugh Maps for Simplification
IKI a-Simplification of Boolean Functions Bobby Nazief Semester-I The materials on these slides are adopted from those in CS231’s Lecture.
Chapter 2: Boolean Algebra and Logic Functions
Binary Logic and Gates COE 202 Digital Logic Design Dr. Aiman El-Maleh
Gate Circuits and Boolean Equations BIL- 223 Logic Circuit Design Ege University Department of Computer Engineering.
CS231 Fundamentals1 Fundamentals What kind of data do computers work with? – Deep down inside, it’s all 1s and 0s What can you do with 1s and 0s? – Boolean.
Computer Organization By Dr. M. Khamis Mrs. Dua’a Al Sinari.
Digital Logic Circuits – Chapter 1 Section 1-3, 1-2.
Boolean Algebra – the ‘Lingua Franca’ of the Digital World The goal of developing an automata is based on the following (loosely described) ‘ideal’: if.
IKI a-Boolean Algebra Bobby Nazief Semester-I The materials on these slides are adopted from those in CS231’s Lecture Notes at UIUC,
Boolean Algebra and Digital Circuits
Lecture 7 Topics –Boolean Algebra 1. Logic and Bits Operation Computers represent information by bit A bit has two possible values, namely zero and one.
Combinational Logic 1.
Module 4.  Boolean Algebra is used to simplify the design of digital logic circuits.  The design simplification are based on: Postulates of Boolean.
CS231 Boolean Algebra1 K-map Summary K-maps are an alternative to algebra for simplifying expressions. – The result is a minimal sum of products, which.
LOGIC GATES & BOOLEAN ALGEBRA
February 2, 2004CS 2311 Karnaugh maps Last time we saw applications of Boolean logic to circuit design. – The basic Boolean operations are AND, OR and.
June 17, 2002Basic circuit analysis and design1 Example K-map simplification Let’s consider simplifying f(x,y,z) = xy + y’z + xz. First, you should convert.
KFUPM COE 202: Digital Logic Design Combinational Logic Part 1 Courtesy of Dr. Ahmad Almulhem.
June 11, 2002© Howard Huang1 Boolean algebra Last time we talked about Boolean functions, Boolean expressions, and truth tables. Today we’ll learn.
June 10, 2002© Howard Huang1 Number systems To get started, we’ll discuss one of the fundamental concepts underlying digital computer design:
ENGIN112 L6: More Boolean Algebra September 15, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 6 More Boolean Algebra A B.
CS231 Boolean Algebra1 Summary so far So far: – A bunch of Boolean algebra trickery for simplifying expressions and circuits – The algebra guarantees us.
A. Abhari CPS2131 Chapter 2: Boolean Algebra and Logic Gates Topics in this Chapter: Boolean Algebra Boolean Functions Boolean Function Simplification.
Lecture 4 Boolean Algebra. Logical Statements °A proposition that may or may not be true: Today is Monday Today is Sunday It is raining °Compound Statements.
© BYU 03 BA1 Page 1 ECEn 224 Boolean Algebra – Part 1.
June 12, 2002© Howard Huang1 Karnaugh maps Last time we saw applications of Boolean logic to circuit design. – The basic Boolean operations are.
Dale Roberts Department of Computer and Information Science, School of Science, IUPUI Dale Roberts, Lecturer Computer Science, IUPUI
CS231 Boolean Algebra1 The dual idea: products of sums Just to keep you on your toes... A product of sums (POS) expression contains: – Only AND (product)
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 4 Dr. Shi Dept. of Electrical and Computer Engineering.
ECE DIGITAL LOGIC LECTURE 8: BOOLEAN FUNCTIONS Assistant Prof. Fareena Saqib Florida Institute of Technology Spring 2016, 02/11/2016.
Lecture 5 More Boolean Algebra A B. Overview °Expressing Boolean functions °Relationships between algebraic equations, symbols, and truth tables °Simplification.
CS231 Boolean Algebra1 Circuit analysis summary After finding the circuit inputs and outputs, you can come up with either an expression or a truth table.
CHAPTER 2 Boolean algebra and Logic gates
CS231: Computer Architecture I Laxmikant Kale Fall 2002.
Chapter 3 Notes – Part II Review Questions
Lecture 4 Nand, Nor Gates, CS147 Circuit Minimization and
14:332:231 DIGITAL LOGIC DESIGN Boolean Algebra
Unit 2 Boolean Algebra.
ECE 20B, Winter 2003 Introduction to Electrical Engineering, II LECTURE NOTES #2 Instructor: Andrew B. Kahng (lecture)
CS 105 Digital Logic Design
Gate Circuits and Boolean Equations
CHAPTER 2 Boolean Algebra
CHAPTER 2 Boolean Algebra This chapter in the book includes:
Overview Part 1 – Gate Circuits and Boolean Equations
Boolean Algebra – Part 1 ECEn 224.
Circuit analysis summary
Boolean algebra Last time we talked about Boolean functions, Boolean expressions, and truth tables. Today we’ll learn how to how use Boolean algebra to.
Lecture 3 Gunjeet Kaur Dronacharya Group of Institutions
Speaker: Fuw-Yi Yang 楊伏夷 伏夷非征番, 道德經 察政章(Chapter 58) 伏者潛藏也
Dr. Clincy Professor of CS
Boolean Algebra.
COE 202: Digital Logic Design Combinational Logic Part 1
Functions Computers take inputs and produce outputs, just like functions in math! Mathematical functions can be expressed in two ways: We can represent.
EE121 John Wakerly Lecture #3
From now on: Combinatorial Circuits:
ECE 352 Digital System Fundamentals
Instructor: Alexander Stoytchev
Karnaugh maps Last time we saw applications of Boolean logic to circuit design. The basic Boolean operations are AND, OR and NOT. These operations can.
Introductory Concepts
Basic circuit analysis and design
Binary Logic and Gates COE 202 Digital Logic Design Dr. Aiman El-Maleh
Circuit Simplification and
Presentation transcript:

Boolean Functions and Boolean Algebra Laxmikant Kale

Question 1 What is your major? – A: Computer Science – B: Electrical (ECE) – C: Other Engineering Majors – D: Non-Engineering Majors 2Introduction to CS231

Number Systems and Boolean Functions3 Functions Computers take inputs and produce outputs, just like functions in math! Mathematical functions can be expressed in two ways: We can represent logical functions in two analogous ways too: – A finite, but non-unique Boolean expression. – A truth table, which will turn out to be unique and finite. f(x,y)= 2x + y = x + x + y = 2(x + y/2) =... An expression is finite but not unique A function table is unique but infinite

Number Systems and Boolean Functions4 Basic Boolean operations There are three basic operations for logical values. AND (product) of two inputs OR (sum) of two inputs NOT (complement) on one input xy, or x  yx + yx’ Operation: Expression: Truth table:

Number Systems and Boolean Functions5 Boolean expressions We can use these basic operations to form more complex expressions: f(x,y,z) = (x + y’)z + x’ Some terminology and notation: – f is the name of the function. – (x,y,z) are the input variables, each representing 1 or 0. Listing the inputs is optional, but sometimes helpful. – A literal is any occurrence of an input variable or its complement. The function above has four literals: x, y’, z, and x’. Precedences are important, but not too difficult. – NOT has the highest precedence, followed by AND, and then OR. – Fully parenthesized, the function above would be kind of messy: f(x,y,z) = (((x +(y’))z) + x’)

Number Systems and Boolean Functions6 Truth tables A truth table shows all possible inputs and outputs of a function. Remember that each input variable represents either 1 or 0. – Because there are only a finite number of values (1 and 0), truth tables themselves are finite. – A function with n variables has 2 n possible combinations of inputs. Inputs are listed in binary order—in this example, from 000 to 111. f(0,0,0)= (0 + 1)0 + 1= 1 f(0,0,1)= (0 + 1)1 + 1= 1 f(0,1,0)= (0 + 0)0 + 1= 1 f(0,1,1)= (0 + 0)1 + 1= 1 f(1,0,0)= (1 + 1)0 + 0= 0 f(1,0,1)= (1 + 1)1 + 0= 1 f(1,1,0)= (1 + 0)0 + 0= 0 f(1,1,1)= (1 + 0)1 + 0= 1 f(x,y,z) = (x + y’)z + x’

Number Systems and Boolean Functions7 Primitive logic gates Each of our basic operations can be implemented in hardware using a primitive logic gate. – Symbols for each of the logic gates are shown below. – These gates output the product, sum or complement of their inputs. Logic gate: AND (product) of two inputs OR (sum) of two inputs NOT (complement) on one input xy, or x  yx + yx’ Operation: Expression:

Number Systems and Boolean Functions8 Expressions and circuits Any Boolean expression can be converted into a circuit by combining basic gates in a relatively straightforward way. The diagram below shows the inputs and outputs of each gate. The precedences are explicit in a circuit. Clearly, we have to make sure that the hardware does operations in the right order! (x + y’)z + x’

Number Systems and Boolean Functions9 Boolean functions summary We can interpret high or low voltage as representing true or false. A variable whose value can be either 1 or 0 is called a Boolean variable. AND, OR, and NOT are the basic Boolean operations. We can express Boolean functions with either an expression or a truth table. Every Boolean expression can be converted to a circuit. Next time, we’ll look at how Boolean algebra can help simplify expressions, which in turn will lead to simpler circuits.

CS231 Boolean Algebra10 Circuit analysis summary After finding the circuit inputs and outputs, you can come up with either an expression or a truth table to describe what the circuit does. You can easily convert between expressions and truth tables. Find the circuit’s inputs and outputs Find a Boolean expression for the circuit Find a truth table for the circuit

CS231 Boolean Algebra11 Boolean Functions summary We can interpret high or low voltage as representing true or false. A variable whose value can be either 1 or 0 is called a Boolean variable. AND, OR, and NOT are the basic Boolean operations. We can express Boolean functions with either an expression or a truth table. Every Boolean expression can be converted to a circuit. Now, we’ll look at how Boolean algebra can help simplify expressions, which in turn will lead to simpler circuits.

June 11, 2002© Howard Huang12 Boolean Algebra Last time we talked about Boolean functions, Boolean expressions, and truth tables. Today we’ll learn how to how use Boolean algebra to simplify Booleans expressions. Last time, we saw this expression and converted it to a circuit: (x + y’)z + x’ Can we make this circuit “better”? Cheaper: fewer gates Faster: fewer delays from inputs to outputs

CS231 Boolean Algebra13 Expression simplification Normal mathematical expressions can be simplified using the laws of algebra For binary systems, we can use Boolean algebra, which is superficially similar to regular algebra There are many differences, due to – having only two values (0 and 1) to work with – having a complement operation – the OR operation is not the same as addition

CS231 Boolean Algebra14 Formal definition of Boolean algebra A Boolean algebra requires – A set of elements B, which needs at least two elements (0 and 1) – Two binary (two-argument) operations OR and AND – A unary (one-argument) operation NOT – The axioms below must always be true (textbook, p. 42) The magenta axioms deal with the complement operation Blue axioms (especially 15) are different from regular algebra

CS231 Boolean Algebra15 Comments on the axioms The associative laws show that there is no ambiguity about a term such as x + y + z or xyz, so we can introduce multiple-input primitive gates: The left and right columns of axioms are duals – exchange all ANDs with ORs, and 0s with 1s The dual of any equation is always true

CS231 Boolean Algebra16 Are these axioms for real? We can show that these axioms are valid, given the definitions of AND, OR and NOT The first 11 axioms are easy to see from these truth tables alone. For example, x + x’ = 1 because of the middle two lines below (where y = x’)

CS231 Boolean Algebra17 Proving the rest of the axioms We can make up truth tables to prove (both parts of) DeMorgan’s law For (x + y)’ = x’y’, we can make truth tables for (x + y)’ and for x’y’ In each table, the columns on the left (x and y) are the inputs. The columns on the right are outputs. In this case, we only care about the columns in blue. The other “outputs” are just to help us find the blue columns. Since both of the columns in blue are the same, this shows that (x + y)’ and x’y’ are equivalent

CS231 Boolean Algebra18 Simplification with axioms We can now start doing some simplifications x’y’ + xyz + x’y = x’(y’ + y) + xyz[ Distributive; x’y’ + x’y = x’(y’ + y) ] = x’  1 + xyz[ Axiom 7; y’ + y = 1 ] = x’ + xyz[ Axiom 2; x’  1 = x’ ] = (x’ + x)(x’ + yz)[ Distributive ] = 1  (x’ + yz)[ Axiom 7; x’ + x = 1 ] = x’ + yz[ Axiom 2 ]

CS231 Boolean Algebra19 Let’s compare the resulting circuits Here are two different but equivalent circuits. In general the one with fewer gates is “better”: – It costs less to build – It requires less power – But we had to do some work to find the second form

CS231 Boolean Algebra20 Some more laws Here are some more useful laws. Notice the duals again! We can prove these laws by either – Making truth tables: – Using the axioms: x + x’y= (x + x’)(x + y)[ Distributive ] = 1  (x + y)[ x + x’ = 1 ] = x + y[ Axiom 2 ]

CS231 Boolean Algebra21 The complement of a function The complement of a function always outputs 0 where the original function outputted 1, and 1 where the original produced 0. In a truth table, we can just exchange 0s and 1s in the output column(s) f(x,y,z)= x(y’z’ + yz)

CS231 Boolean Algebra22 Complementing a function algebraically You can use DeMorgan’s law to keep “pushing” the complements inwards You can also take the dual of the function, and then complement each literal – If f(x,y,z) = x(y’z’ + yz)… – …the dual of f is x + (y’ + z’)(y + z)… – …then complementing each literal gives x’ + (y + z)(y’ + z’)… – …so f’(x,y,z) = x’ + (y + z)(y’ + z’) f(x,y,z)= x(y’z’ + yz) f’(x,y,z)= ( x(y’z’ + yz) )’[ complement both sides ] = x’ + (y’z’ + yz)’[ because (xy)’ = x’ + y’ ] = x’ + (y’z’)’ (yz)’[ because (x + y)’ = x’ y’ ] = x’ + (y + z)(y’ + z’)[ because (xy)’ = x’ + y’, twice]

CS231 Boolean Algebra23 Summary so far So far: – A bunch of Boolean algebra trickery for simplifying expressions and circuits – The algebra guarantees us that the simplified circuit is equivalent to the original one Next: – Introducing some standard forms and terminology – An alternative simplification method – We’ll start using all this stuff to build and analyze bigger, more useful, circuits

Simplify the expression (x+y’)(x+y) + x’yz – A: x + xy +y’x + x’yz – B: 0 – C: x + yz – D: x + x’yz 24