Basic Boolean Functions and Logic Gates
Basic Boolean Functions and Logic Gates
Basic Boolean Functions and Logic Gates
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
Slide # 3-2.8
Prinetto - 2008
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
traditional symbol
IEEE symbol
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
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
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
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
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
exor (cont'd)
2nd functional representation if x = y then exor(x,y) = 0 else exor(x,y) = 1
exor (cont'd)
3rd functional representation if (x+y)mod 2 = 0 then exor(x,y) = 0 else exor(x,y) = 1
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
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
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.
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