+ All Categories
Home > Documents > Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at...

Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at...

Date post: 05-Jan-2016
Category:
Upload: cecilia-douglas
View: 214 times
Download: 0 times
Share this document with a friend
45
Basic Boolean Basic Boolean Functions Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) [email protected] [email protected] www.testgroup.polito.it Lecture 3.4
Transcript
Page 1: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

Basic Boolean Basic Boolean FunctionsFunctions

Basic Boolean Basic Boolean FunctionsFunctions

Paolo PRINETTOPolitecnico di Torino (Italy)

University of Illinois at Chicago, IL (USA)

[email protected] [email protected]

www.testgroup.polito.it

Lecture

3.4

Page 2: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

2 3.4

Goal

This lecture presents the basic Boolean Functions.

Page 3: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

3 3.4

Prerequisites

Lecture 3.3

Page 4: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

4 3.4

Homework

No particular homework is foreseen

Page 5: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

5 3.4

Further readings

No particular suggestion

Page 6: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

6 3.4

Remark

The lecture is organized in such a way to be self-explanatory; thus no further comment will be provided.

Page 7: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

7 3.4

Basic Boolean Functions Basic Boolean Functions

Several “basic” boolean functions have been defined, each identified by a unique name, become a world-wide de-facto standard.

They include: not and or nand nor exor exnor

Page 8: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

8 3.4

Why are they so significant?

Electronic devices are available to implement each of these basic boolean functions

Each device is usually given the same name of the corresponding boolean functions, e.g.:

AND function AND gate

Page 9: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

9 3.4

“Logic Complement” or “NOT” function

“Logic Complement” or “NOT” function

Informal definition

It’s a unary function, providing the ^complement of its input variable.

Representations

x’ x not (x)

Page 10: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

10 3.4

Axiomatic definition

0’ = 1 not (0) = 1

1’ = 0 not (1) = 0

Truth table

x not(x)

0 1

1 0

“not” (cont'd)

Page 11: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

11 3.4

Functional definition

if x = 1 then not(x) = 0

else not(x) = 1

Theorems

( x’ )’ = x not ( not ( x ) ) = x

“not” (cont'd)

Page 12: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

12 3.4

1

NOT gate, or inverter

[ANSI/IEEE standard STD 91-1984“Graphics symbols for logic functions”]

IEEE symboltraditional symbol

Page 13: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

13 3.4

“Logic product” or “AND” function

“Logic product” or “AND” function

Informal definition

The AND function on 2 (or more) input variables provides the value 1 iff all its input variables get the value 1.

Representations

x · y x y and ( x, y )

Page 14: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

14 3.4

Axiomatic definition

0 · 0 = 0 and(0,0) = 0

0 · 1 = 0 and(0,1) = 0

1 · 0 = 0 and(1,0) = 0

1 · 1 = 1 and(1,1) = 1

Truth table

x y and(x,y)

0 0 0

0 1 0

1 0 0

1 1 1

xy

and(x,y)

Karnaugh map

0 1

0 0 0

1 0 1

“and” (cont'd)

Page 15: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

15 3.4

Functional representation

if x = 1 then and(x,y) = y

else and(x,y) = 0

“and” (cont'd)

Page 16: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

16 3.4

Theorems

x · 0 = 0

x · 1 = x

x · x = x

x · x’ = 0

x · y = y · x

x · y · z = (x · y) · z = x · (y · z)

“and” (cont'd)

Page 17: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

17 3.4

&xy

xy

U U

AND gate

IEEE symboltraditional symbol

Page 18: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

18 3.4

“Logic sum” or “OR” function“Logic sum” or “OR” function

Informal definition

The OR function on 2 (or more) input variables provides the value 1 iff at least one of its input variables get the value 1.

Representations

x + y or ( x, y )

Page 19: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

19 3.4

Functional representation

if x = 1 then or(x,y) = 1

else or(x,y) = y

“or” (cont'd)

Page 20: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

20 3.4

Axiomatic definition

0 + 0 = 0 or(0,0) = 0

0 + 1 = 1 or(0,1) = 1

1 + 0 = 1 or(1,0) = 1

1 + 1 = 1 or(1,1) = 1

Truth table

x y or(x,y)

0 0 0

0 1 1

1 0 1

1 1 1

xy

or(x,y)

Karnaugh map

0 1

0 0 1

1 1 1

“or” (cont'd)

Page 21: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

21 3.4

Theorems

x + 0 = x

x + 1 = 1

x + x = x

x + x’ = 1

x + y = y + x

x + y + z = (x + y) + z = x + (y + z)

“or” (cont'd)

Page 22: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

22 3.4

1xy

xy

U U

IEEE symboltraditional symbol

OR gate

Page 23: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

23 3.4

“NAND” function“NAND” function

Informal definition

The NAND function on 2 (or more) input variables provides the value 1 iff at least one of its input variables get the value 0.

Representations

nand (x, y)

Page 24: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

24 3.4

Axiomatic definition

nand(0,0) = 1

nand(0,1) = 1

nand(1,0) = 1

nand(1,1) = 0

Truth table

x y nand(x,y)

0 0 1

0 1 1

1 0 1

1 1 0

xy

nand(x,y)

Karnaugh map

0 1

0 1 1

1 1 0

“nand” (cont'd)

Page 25: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

25 3.4

Functional representation

if x = 1 then nand(x,y) = not(y)

else nand(x,y) = 1

“nand” (cont'd)

Page 26: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

26 3.4

Theorems

nand (x, 0) = 1

nand (x, 1) = x’

nand (x, x) = x’

nand (x, x’) = 1

nand (x, y) = nand (y, x)

nand (x, y) = not ( and (x, y) )

nand (x, y, z) = nand (x, and (y, z)) =

= nand (and (x, y), z) = nand (x, and (y,z))

“nand” (cont'd)

Page 27: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

27 3.4

&xy

xy

NAND gate

IEEE symboltraditional symbol

U U

Page 28: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

28 3.4

“NOR” function“NOR” function

Informal definition

The NOR function on 2 (or more) input variables provides the value 1 iff none of its input variables get the value 1.

Representations

nor (x, y)

Page 29: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

29 3.4

Axiomatic definition

nor(0,0) = 1

nor(0,1) = 0

nor(1,0) = 0

nor(1,1) = 0

Truth table

x y nor(x,y)

0 0 1

0 1 0

1 0 0

1 1 0

xy

nor(x,y)

Karnaugh map

0 1

0 1 0

1 0 0

“nor” (cont'd)

Page 30: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

30 3.4

Functional representation

if x = 1 then nor(x,y) = 0

else nor(x,y) = not(y)

“nor” (cont'd)

Page 31: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

31 3.4

Theorems

nor (x, 0) = x’

nor (x, 1) = 0

nor (x, x) = x’

nor (x, x’) = 0

nor (x, y) = nor (y, x)

nor (x, y) = not ( or (x, y) )

nor (x, y, z) = nor (x, or (y, z)) =

= nor (or (x, y), z) = nor (x, or (y,z))

“nor” (cont'd)

Page 32: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

32 3.4

1xy

xy

IEEE symboltraditional symbol

NOR gate

U U

Page 33: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

33 3.4

“Exclusive OR”(or “EXOR” function)

“Exclusive OR”(or “EXOR” function)

Informal definition

The EXOR function on 2 (or more) input variables provides the value 1 iff an odd # of its input variables get the value 1.

Representations

x y exor (x, y) xor (x, y)

Page 34: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

34 3.4

Axiomatic definition

0 0 = 0

0 1 = 1

1 0 = 1

1 1 = 0

Truth table

x y x y

0 0 0

0 1 1

1 0 1

1 1 0

xy

exor(x,y)

Karnaugh map

0 1

0 0 1

1 1 0

“exor” (cont'd)

Page 35: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

35 3.4

1st functional representation

if x = 1 then exor(x,y) = not(y)

else exor(x,y) = y

“exor” (cont'd)

The exor function can be seen as a controlled inverter : x y exor(x,y)

0 0 00 1 11 0 11 1 0

Page 36: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

36 3.4

2nd functional representation

if x = y then exor(x,y) = 0

else exor(x,y) = 1

“exor” (cont'd)

The exor function can be seen as a comparator :

x y exor(x,y) 0 0 01 1 01 0 10 1 1

Page 37: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

37 3.4

3rd functional representation

if (x+y)mod 2 = 1 then exor(x,y) = 0

else exor(x,y) = 1

“exor” (cont'd)

The exor function can be seen as a modulo 2 adder

x y (x+y)mod 2 exor(x,y) 0 0 0 00 1 1 11 0 1 11 1 0 0

Page 38: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

38 3.4

Theorems

exor (x, 0) = x

exor (x, 1) = x’

exor (x, x) = 0

exor (x, x’ ) = 1

exor (x, y) = exor (y, x)

exor (x, y) = exor (x’ , y’)

exor (x, y’) = exor (x’, y) = not (exor(x,y))

exor (x, y) = x y’ + x’ y

exor (x, y, z) = exor (x, exor (y, z))

= exor (exor (x,y), z)

“exor” (cont'd)

Page 39: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

39 3.4

Karnaugh map for a 4-inputs exor

abcd

exor (a,b,c,d)

00 01 11 10

00 0 1 0 1

01 1 0 1 0

11 0 1 0 1

10 1 0 1 0

Page 40: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

40 3.4

EXOR gate

IEEE symboltraditional symbol

=1

Page 41: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

41 3.4

“EXNOR” function“EXNOR” function

Informal definition

The EXOR function on 2 (or more) input variables provides the value 1 iff an even # of its input variables get the value 1.

Representations

x · y exnor (x, y)

Page 42: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

42 3.4

Axiomatic definition

exnor(0,0) = 1

exnor(0,1) = 0

exnor(1,0) = 0

exnor(1,1) = 1

Truth table

x y exnor(x,y)

0 0 1

0 1 0

1 0 0

1 1 1

xy

exnor(x,y)

Karnaugh map

0 1

0 1 0

1 0 1

“exnor” (cont'd)

Page 43: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

43 3.4

Functional representations

if x = 1 then exor(x,y) = y

else exor(x,y) = not(y)

if x = y then exor(x,y) = 1

else exor(x,y) = 0

Theorems

exnor (x, y) = exor (x, y)’ = exor (x’, y) = exor (x, y’)

exnor (x, y) = x y + x’ y’

“exnor” (cont'd)

Page 44: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

44 3.4

EXNOR gate

IEEE symboltraditional symbol

=1U U

Page 45: Basic Boolean Functions Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it Prinetto@uic.edu.

Recommended