Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Basic Boolean Functions and Logic Gates

Download as pdf or txt
Download as pdf or txt
You are on page 1of 44

Lecture

3.2

Basic Basic Boolean Boolean Functions Functions and and Logic Logic Gates Gates
Paolo PRINETTO
Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA) Paolo.Prinetto@polito.it prinetto@uic.edu www.testgroup.polito.it www.comitato-girotondo.org

Goal
This lecture presents the basic Boolean Functions and the corresponding Logic Gates.

Slide # 3-2.2

Prinetto - 2008

Prerequisites
Lecture 3.1

Slide # 3-2.3

Prinetto - 2008

Homework
No particular homework is foreseen

Slide # 3-2.4

Prinetto - 2008

Further readings
No particular suggestion

Slide # 3-2.5

Prinetto - 2008

Remarks
The lecture is organized in such a way to be self-explanatory; thus no further comment will be provided The concepts of Truth table and Karnaugh map will be formally defined in Lecture 3.5.

Slide # 3-2.6

Prinetto - 2008

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
Slide # 3-2.7
Prinetto - 2008

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

Slide # 3-2.8

Prinetto - 2008

Logic Complement or NOT function


Informal definition Its a unary function, providing complement of its input variable. Representations x x not (x) the logic

Slide # 3-2.9

Prinetto - 2008

not (cont'd)
Axiomatic definition 0 = 1 1 = 0 Truth table x 0 1 not(x) 1 0 not (0) = 1 not (1) = 0

Slide # 3-2.10

Prinetto - 2008

not (cont'd)
Functional definition if x = 1 then not(x) = 0 else not(x) = 1 Theorems ( x ) = x not ( not ( x ) ) = x

Slide # 3-2.11

Prinetto - 2008

NOT gate, or inverter

traditional symbol

IEEE symbol

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


Slide # 3-2.12
Prinetto - 2008

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 xy xy and ( x, y )

Slide # 3-2.13

Prinetto - 2008

and (cont'd)
Axiomatic definition 00=0 01=0 10=0 11=1 Truth table x 0 0 1 1
Slide # 3-2.14

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

Karnaugh map
and(x,y) 0 0 0 1 x y 0 1 0 0 1 0

y 0 1 0 1

0 1 and(x,y)
Prinetto - 2008

and (cont'd)
Functional representation if x = 1 then and(x,y) = y else and(x,y) = 0

Slide # 3-2.15

Prinetto - 2008

and (cont'd)
Theorems x0 = 0 x1 = x xx = x x x = 0 xy = yx x y z = (x y) z = x (y z)

Slide # 3-2.16

Prinetto - 2008

AND gate

x y

x y

&

traditional symbol

IEEE symbol

Slide # 3-2.17

Prinetto - 2008

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 )

Slide # 3-2.18

Prinetto - 2008

or (cont'd)
Functional representation if x = 1 then or(x,y) = 1 else or(x,y) = y

Slide # 3-2.19

Prinetto - 2008

or (cont'd)
Axiomatic definition 0+0=0 0+1=1 1+0=1 1+1=1 Truth table x 0 0 1 1
Slide # 3-2.20

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

Karnaugh map
or(x,y) 0 1 1 1 x y 0 1 0 0 1 1

y 0 1 0 1

1 1 or(x,y)
Prinetto - 2008

or (cont'd)
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)

Slide # 3-2.21

Prinetto - 2008

OR gate

x y

x y

traditional symbol

IEEE symbol

Slide # 3-2.22

Prinetto - 2008

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)

Slide # 3-2.23

Prinetto - 2008

nand (cont'd)
Axiomatic definition nand(0,0) = 1 nand(0,1) = 1 nand(1,0) = 1 nand(1,1) = 0 Truth table x 0 0 1 1
Slide # 3-2.24

Karnaugh map
nand(x,y) 1 1 1 0 x y 0 1 0 1 1 1

y 0 1 0 1

1 0 nand(x,y)
Prinetto - 2008

nand (cont'd)
Functional representation if x = 1 then nand(x,y) = not(y) else nand(x,y) = 1

Slide # 3-2.25

Prinetto - 2008

nand (cont'd)
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))
Slide # 3-2.26
Prinetto - 2008

NAND gate

x y

x y

&

traditional symbol

IEEE symbol

Slide # 3-2.27

Prinetto - 2008

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)

Slide # 3-2.28

Prinetto - 2008

nor (cont'd)
Axiomatic definition nor(0,0) = 1 nor(0,1) = 0 nor(1,0) = 0 nor(1,1) = 0 Truth table x 0 0 1 1
Slide # 3-2.29

Karnaugh map
nor(x,y) 1 0 0 0 x y 0 1 0 1 1 0

y 0 1 0 1

0 0 nor(x,y)
Prinetto - 2008

nor (cont'd)
Functional representation if x = 1 then nor(x,y) = 0 else nor(x,y) = not(y)

Slide # 3-2.30

Prinetto - 2008

nor (cont'd)
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))
Slide # 3-2.31
Prinetto - 2008

NOR gate

x y

x y

traditional symbol

IEEE symbol

Slide # 3-2.32

Prinetto - 2008

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 xy exor (x, y) xor (x, y)

Slide # 3-2.33

Prinetto - 2008

exor (cont'd)
Axiomatic definition 00=0 01=1 10=1 11=0 Truth table x 0 0 1 1
Slide # 3-2.34

y 0 1 0 1

xy 0 1 1 0

Karnaugh map
y x 0 0 1 0 1 1

1 0 exor(x,y)
Prinetto - 2008

exor (cont'd)
1st functional representation if x = 1 then exor(x,y) = not(y) else exor(x,y) = y

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


Slide # 3-2.35
Prinetto - 2008

exor (cont'd)
2nd functional representation if x = y then exor(x,y) = 0 else exor(x,y) = 1

The exor function can be seen as a comparator : x y exor(x,y) 0 0 0 1 1 0 1 0 1 0 1 1


Slide # 3-2.36
Prinetto - 2008

exor (cont'd)
3rd functional representation if (x+y)mod 2 = 0 then exor(x,y) = 0 else exor(x,y) = 1

The exor function can be seen as a modulo 2 adder x y (x+y)mod 2 exor(x,y) 0 0 0 0 0 1 1 1 1 0 1 1 1 1 0 0


Slide # 3-2.37
Prinetto - 2008

exor (cont'd)
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)
Slide # 3-2.38
Prinetto - 2008

Karnaugh map for a 4-inputs exor

ab cd 00 01 11 10 1 0 1 0 0 1 0 1 1 0 1 0 00 0 01 1 11 0 10 1

exor (a,b,c,d)

Slide # 3-2.39

Prinetto - 2008

EXOR gate

=1 traditional symbol IEEE symbol

Slide # 3-2.40

Prinetto - 2008

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)

Slide # 3-2.41

Prinetto - 2008

exnor (cont'd)
Axiomatic definition exnor(0,0) = 1 exnor(0,1) = 0 exnor(1,0) = 0 exnor(1,1) = 1 Truth table x 0 0 1 1
Slide # 3-2.42

Karnaugh map
exnor(x,y) 1 0 0 1 x y 0 1 0 1 1 0

y 0 1 0 1

0 1 exnor(x,y)
Prinetto - 2008

exnor (cont'd)
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
Slide # 3-2.43
Prinetto - 2008

Slide # 3-2.44

, ,

Prinetto - 2008

You might also like