Sei sulla pagina 1di 46

2-Funciones y representaciones

booleanas
2.1 Lgica y lgebra de Boole
2.2 Funciones booleanas
2.3 Representaciones de funciones
booleanas.
2.4 Funciones de varias variables.

2: Funciones booleanas

Lgica Booleana
Definiciones bsicas

Una variable booleana (e.g. x, y) es un smbolo


que puede ser substituido por un elemento del
conjunto B={0,1}
Una constante booleana es un valor perteneciente
al conjunto {0,1}
Una expresin (e.g. x+y, xy, x) esta compuesta
de variables, constantes y operadores (e.g. +, , )
Una funcin booleana de n variables f(x1, x2, ..., xn)
es un expresin o frmula que mapea f a un valor
del conjunto booleano B (0 1).
Un literal es una variable o su complemento.
2: Funciones booleanas

lgebra de Boole
Definicin: el lgebra de Boole es un

sistema
algebraico
cerrado
que
contiene un conjunto de dos elementos
{0, 1}, dos operadores binarios {+, },
un operador unitario { }.

2: Funciones booleanas

Lgica y lgebra de Boole


El lgebra de Boole es la fundacin

matemtica de los sistemas digitales.


Las operaciones del lgebra de Boole
deben regirse por propiedades y reglas
lgicas llamados leyes o postulados.
Estos postulados se pueden usar para
demostrar leyes mas generales sobre
expresiones booleanas.
Estos postulados tambin se usan para
simplificar y optimizar expresiones
booleanas y sistemas digitales.

Ejemplo: X AND (Y OR Y) = X

(porque?)
2: Funciones booleanas

lgebra de Boole
Una expresin algebraica de Boole consiste de

un conjunto de B
operaciones binarias { + , }
una operaciones unitaria { }

B tiene dos elementos : a, b y los siguientes postulados se

cumplen:
Clausura:

a + b esta en B,

a b esta en B

Commutatividad:

a + b = b + a, a b = b a

Asociatividad:

a + (b + c) = (a + b) + c
a (b c) = (a b) c

Identidad:

a+0=a

Distributividad:

a + (b c) = (a + b) (a + c)
a (b + c) = (a b) + (a c)

Complementariedad:

a + a = 1

a1=a

a a = 0
2: Funciones booleanas

lgebra de Boole: Resumen


Algebra de Boole

B = {0, 1}
variables
+ es el OR lgico, es el AND lgico
es el NOT lgico
Todos los postulados (axiomas) algebraicos se
cumplen.
La prioridad de los operadores es , seguido por
AND y despues OR.
El tiene la mayor prioridad.
Los ( ) pueden cambiar el orden de evaluacin.

2: Funciones booleanas

lgebra de Boole: Teoremas


Con la formulacin de los postulados del

lgebra de Boole se pueden demostrar


varias proposiciones o teoremas de
lgebra booleana.
Para las demostraciones de teoremas se

pueden usar tablas de verdad, postulados


y teoremas ya demostrados.

2: Funciones booleanas

lgebra de Boole: Teoremas

Definicin: El lgebra de boole es un sistema algebraico


cerrado que contiene un conjunto B de dos elementos {0,1}
y tres operadores {, +, }.

igualdad: Dos expresiones son iguales si una puede ser


substituida por otra.

identidad:
1. X + 0 = X

1D. X 1 = X

nulo (elementos nicos):


2. X + 1 = 1

2D. X 0 = 0

idempotencia:
3. X + X = X

3D. X X = X

involucin:
4. (X) = X

complementariedad:
5. X + X = 1

5D. X X = 0
2: Funciones booleanas

lgebra de Boole: Teoremas

conmutatividad:
6. X + Y = Y + X
6D.
asociatividad:
7. (X + Y) + Z = X + (Y + Z)
7D.
distributividad:
8. X (Y + Z) = (X Y) + (X Z) 8D.
fusin (unificacin):
9. X Y + X Y = X
9D.
absorcin:
10. X + X Y = X
10D.

11. (X + Y) Y = X Y
factorizar:
12. (X + Y) (X + Z) =
X Z + X Y
consenso:
13. (X Y) + (Y Z) + (X Z) =
X Y + X Z

XY=YX
(X Y) Z = X (Y Z)
X + (Y Z) = (X + Y) (X + Z)
(X + Y) (X + Y) = X
X (X + Y) = X

11D. (X Y) + Y = X + Y
12D. X Y + X Z =
(X + Z) (X + Y)
13D. (X + Y) (Y + Z) (X + Z) =
(X + Y) (X + Z)

2: Funciones booleanas

lgebra de Boole: Teoremas


de Morgan:

14. (X + Y + ...) = X Y ... 14D. (X Y ...) = X


+ Y + ...
de Morgan generalizado:

15. f(X1,X2,...,Xn,0,1,+,) = f(X1,X2,...,Xn,1,0,,+)


establece relaciones entre y +

2: Funciones booleanas

10

lgebra de Boole: Teoremas


Ejemplo: de Morgan:
(X + Y) = X Y
NOR es equivalente a AND
con inputs complementados

(X Y) = X + Y
NAND es equivalente a OR
con inputs complementados

X
0
0
1
1

Y
0
1
0
1

X
1
1
0
0

Y
1
0
1
0

(X + Y) X Y
1
1
0
0
0
0
0
0

X
0
0
1
1

Y
0
1
0
1

X
1
1
0
0

Y
1
0
1
0

(X Y) X + Y
1
1
1
1
1
1
0
0

2: Funciones booleanas

11

lgebra de Boole: Teoremas


Dualidad
El dual de una expresin booleana se puede obtener
remplazando
por +, + por , 0 por 1, y 1 por 0, y dejando las variables
sin cambio
Cualquier teorema demostrado tambin esta demostrado
para su dual!
Un meta-teorema (teorema sobre teoremas)
Dualidad:
16. X + Y + ... X Y ...
Dualidad generalizado:
17. f (X1,X2,...,Xn,0,1,+,) f(X1,X2,...,Xn,1,0,,+)
Diferente que ley de De Morgans
No es una manera para manipular (cambiar) expresiones
Ej: El dual del teorema X + 0 = X o (X + 0 = X) D es X 1 =
X

2: Funciones booleanas

12

lgebra de Boole: Teoremas


Actividad:

Demuestre este teorema:

X Y + X Y

= X

igualdad
X Y + X Y = X Y + X Y
distributividad (8)
= X (Y + Y)
complementariedad (5)
= X (1)
identidad (1D)
= X

Demuestre este teorema :


igualdad
identidad (1D)
distributividad (8)
nulo (2)
identidad (1D)

X+XY
X + XY

=
=
=
=
=

= X
X + XY
X1 + XY
X (1 + Y)
X (1)
X

2: Funciones booleanas

13

Actividad: lgebra de Boole

Demuestre lo siguiente usando lgebra booleana:

(X Y) + (Y Z) + (X Z) = X Y + X Z
Igualdad
X Y + X Z = X Y + X Z
absorcin (10)
= (X Y + X Y Z) + (X Z + X Z Y)
conmutatividad (6)
= X Y + X Z + X Y Z + X Z Y
conmutatividad (6D)
= X Y + X Z + X Y Z + X Y Z
distributividad (8)
= X Y + X Z + (X + X) Y Z
complementariedad (5)
= X Y + X Z + (1) Y Z
identidad (1D)
= X Y + X Z + Y Z
conmutatividad (6)
= X Y + Y Z + X Z

2: Funciones booleanas

14

2-Funciones y representaciones
booleanas
2.1 Lgica y lgebra de Boole.
2.2 Funciones booleanas.
2.3 Representaciones de funciones
booleanas.
2.4 Funciones de varias variables.

2: Funciones booleanas

15

Funciones booleanas
Espacios y funciones booleanas

Si se define un espacio booleano como B={0,1}


Usando el producto cartesiano se puede definir B2
= {0,1} x {0,1} = {(00), (01), (10), (11)}
Para X = (X1, X2) podemos definir una funcin
booleana f de dos variables segn:
f(X): B2 B, cada punto de B2 se mapea a B
Para n variables booleanas con X = (X1, X2, ... Xn)
se puede definir una funcin booleana f de n
variables segn:
f(X): Bn B, cada punto de Bn se mapea a B
La funcin booleana puede tomar valores de 1 o 0
dependiendo de los valores de sus variables.

2: Funciones booleanas

16

Funciones booleanas
Espacios y funciones booleanas

El conjunto uno (on set) de f, puede definirse


como los puntos X de Bn que se mapean a 1.

f1 : {X | f(X) = 1}

El conjunto zero (off set) de f puede definirse


como los puntos X de Bn que se mapean a 0.

f0 : {X | f(X) = 0}

Si f1 = Bn = se dice que f es una tautologa.


Si f0 = Bn = se dice que f0 es vaco y no es
satisfacible.

2: Funciones booleanas

17

Funciones booleanas: tautologa

En lgica, la tautologa es un enunciado que es cierto por su


propia definicin, y es por lo tanto fundamentalmente no
informativo. Las tautologas lgicas utilizan el razonamiento
circular dentro de un argumento o enunciado. Por ejemplo: "El
100% de nuestros clientes compran nuestros productos".

En lingstica, una tautologa es una redundancia debida a una


calificacin superflua (e.g. "innovacin novedosa", "mundo
mundial"). Suele entenderse como una falta de estilo, aunque a
veces se utiliza intencionadamente para dar nfasis, por ejemplo
"Le voy a entregar un obsequio gratis". En este sentido, tambin
puede llamrselas 'pleonasmos'.

Las matemticas pueden ser consideradas como la ciencia de


hacer tautologas particularmente elaboradas de una forma
rigurosa. Un teorema es un ejemplo de tautologa til.

2: Funciones booleanas

18

Funciones booleanas
Espacios y funciones booleanas

Una funcin f es satisfacible cuando existe un


elemento en el conjunto de f que es uno.
Dos funciones son equivalentes si para todo X
Bn se tiene que:

f(X) = g(X)

2: Funciones booleanas

19

2-Funciones y representaciones
booleanas
2.1 Lgica y lgebra de Boole
2.2 Funciones booleanas
2.3 Representaciones de funciones
booleanas
2.4 Funciones de varias variables

2: Funciones booleanas

20

Representaciones
Las funciones booleanas se pueden

describir de variadas formas incluyendo:

2: Funciones booleanas

Por verse!

lgebra booleana
tablas de verdad,
diagramas de compuertas,
diagramas temporales,
diagramas de Venn,
mapas de Karnaugh,
N-cubos,
lenguajes de descripcin de hardware (HDL:
Hardware description languages) como Verilog
o VHDL

21

Representaciones: lgebra
booleana

Las funciones booleanas se pueden describir con

una expresin de lgebra booleana.


Ejemplo: f(X, Y, Z) = XY + XZ + XZ
La funcin puede evaluarse para las diferentes
combinaciones de valores que tomen las
variables.
Existen infinitas representaciones equivalentes
de una funcin a travs de expresiones.
El problema de sntesis lgica consiste en
encontrar la mejor expresin para representar
una funcin.

2: Funciones booleanas

22

Representaciones: tabla de
verdad
Las

funciones booleanas tambin se


pueden representar como una tabla de
verdad.

La tabla de verdad despliega todas las

combinaciones de valores de las variables


y el valor asociado de la funcin.

2: Funciones booleanas

23

Representaciones
Ejemplos: tablas de verdad

X
0
0
1
1

X
0
0
1
1

Y
0
1
0
1

X Y
0
0
0
1

Y
0
1
0
1

X
1
1
0
0

Y
1
0
1
0

X
0
0
1
1

X Y X Y
0
1
1
0
0
0
0
0
0
1
0
1

Y
0
1
0
1

X
1
1
0
0

X Y
0
1
0
0

( X Y ) + ( X Y )
( X Y ) + ( X Y )

X =Y

Expresin booleana que es


verdadera cuando X
e Y son iguales y falso de otra
forma
2: Funciones booleanas
24

Representaciones
Las funciones booleanas tambin se pueden
representar por diagramas compuestos de
smbolos de compuertas.
Existen mltiples diagramas que pueden
representar la misma funcin.
La ventaja de esta representacin es que
esta asociada a la implementacin en un
medio visual.
Los circuitos combinacionales contienen solo
compuertas.
Los circuitos secuenciales contienen flip-flops
y compuertas.
2: Funciones booleanas

25

Diagramas de compuertas
NOT : X, X, ~X

AND: XY, XY, XY

X
Y

OR: X+Y, XY

X
Y

X
0
1

Y
1
0

X
0
0
1
1

Y
0
1
0
1

Z
0
0
0
1

X
0
0
1
1

Y
0
1
0
1

Z
0
1
1
1

2: Funciones booleanas

26

Diagramas de compuertas
NAND

NOR

XOR

X Y

XNOR

X=Y

X
Y

X
Y

X
Y

X
Y

X
0
0
1
1

Y
0
1
0
1

Z
1
1
1
0

X
0
0
1
1

Y
0
1
0
1

Z
1
0
0
0

X
0
0
1
1

Y
0
1
0
1

Z
0
1
1
0

X
0
0
1
1

Y
0
1
0
1

Z
1
0
0
1

2: Funciones booleanas

27

Diagramas de compuertas
Existe mas de una forma de mapear

expresiones a compuertas

e.g., Z = A B (C + D) = (A (B (C + D)))
T2
T1

Cmo sera usando compuertas?

B
C
D

T1
T2

A
B

C
D

2: Funciones booleanas

28

Representaciones: diagrama
temporal

Un diagrama temporal es una representacin de las

formas de las ondas de entradas y salidas de los


circuitos.
Los bordes no se alinean exactamente (toma tiempo
para que una compuerta cambie de output).

2: Funciones booleanas

29

Representaciones: diagrama
temporal

Las seales de ondas se pueden apreciar usando

varias herramientas como: un simulador, usando


un analizador lgico o un osciloscopio.
Retardos de propagacin en compuertas pueden

causar que las seales de entrada de otras


compuertas en cascada tengan carreras.

Estas

carreras pueden
perturbaciones (glitches).

causar

errores

Los tiempos de propagacin son acumulativos

para compuertas en cascada.


2: Funciones booleanas

30

Representaciones: diagrama
temporal
Existe un retardo entre la salida y la

entrada de una compuerta, que


denomina retardo de propagacin.

se

Los
retardos
de
propagacin han sido
definidos como cotas
superiores
de
retardos
entre
entradas vlidas y
salidas vlidas.

2: Funciones booleanas

31

Representaciones: diagrama
temporal
Tambin pueden definirse los mnimos

retardos de propagacin o tiempos de


contaminacin como las cotas mnimas
entre entradas invlidas y salidas
invlidas.

2: Funciones booleanas

32

Representaciones: diagrama
temporal

Ejemplo: y = x + x

Carrera enXseales de entrada


X
Y

Cmo sera la perturbacin?


t

X
X
Y

perturbacin
2: Funciones booleanas

33

Representaciones: diagramas de
Venn
Los diagramas de Venn provienen de la rama de las

matemticas conocida como teora de conjuntos.


Estos diagramas son usados para mostrar. grficamente
la relacin entre diferentes conjuntos
Son equivalentes a las tablas de verdad al mostrar todas
las relaciones lgicas entre los conjuntos de inters.
Ejemplos:
A

(A + B)

B
AB

A+B

(A + B)
2: Funciones booleanas

34

2-Funciones y representaciones
booleanas
2.1 Lgica y lgebra de Boole
2.2 Funciones booleanas
2.3 Representaciones de funciones
booleanas
2.4 Funciones de varias variables

2: Funciones booleanas

35

Funciones de n variables
Si hay n variables la tabla de verdad tendr 2n

filas. Cada fila tiene como resultado un 0 o un 1.


El nmero de posibles funciones (que resultan en
0 o 1) crece rpidamente, en termino de n es: 22
n = 0 indica una funcin con 0 variables.
X1
X2

Xn

2: Funciones booleanas

36

Funciones de n variables
Ejemplo: para n=2 se tienen 22 = 16 funciones

X
Y
X
0
0
1
1

Y
0
1
0
1

f0
0
0
0
0
XY

f1
0
0
0
1

f2
0
0
1
0
X

f3
0
0
1
1

f4
0
1
0
0
Y

F
f5
0
1
0
1

f6
0
1
1
0

X xor Y

f7
0
1
1
1

f8
1
0
0
0

f9
1
0
0
1

f10
1
0
1
0

X=Y
X + Y X nor Y=(X + Y)

f11
1
0
1
1
Y

f12
1
1
0
0

f13
1
1
0
1

f14
1
1
1
0

f15
1
1
1
1

1
X
X nand Y=(XY)

Cmo son las funciones equivalentes a la tabla?


f0=0, f1=XY, f2=XY, f3=X, f4=XY, ..., f14=XY + XY +
XY= A + B = (AB), f15=1

2: Funciones booleanas

37

Conjuntos funcionalmente
Completos

Cualquier expresin booleana puede ser

escrita mediante los operadores AND, OR


y NOT.
Estos conjuntos constituyen un conjunto
funcionalmente completo.

2: Funciones booleanas

38

Conjuntos funcionalmente
Completos
La funcin NAND tambin es

funcionalmente completa ya que puede


implementar AND, OR y NOT:

NAND(A,B) = AB
NAND(A,A) = A
NAND(A, B) = A+B

2: Funciones booleanas

39

Conjuntos funcionalmente
Completos
La funcin NOR tambin es

funcionalmente completa ya que puede


implementar AND, OR y NOT:

NOR(A, B) = A + B
NOR(A,A) = A
NOR(A, B) = AB

Todas estas funciones se pueden

generalizar a funciones de n variables.

2: Funciones booleanas

40

Actividad:
Determine la funcin de lgebra booleana

para un sumador de un bit.


Inputs: A, B, Carry-in
Outputs: Sum, Carry-out

Cout Cin

A A A A A
B B B B B

A
B
Cin

S
Cout

2: Funciones booleanas

41

Actividad:

A
B
Cin

S
Cout

Determine la tabla de verdad y la funcin de

lgebra booleana para un sumador de un bit


Cout Cin
Inputs: A, B, Carry-in
A A A A
Outputs: Sum, Carry-out
A
0
0
0
0
1
1
1
1

B
0
0
1
1
0
0
1
1

Cin Cout S
0 0
0
0 1
1
0 1
0
1 0
1
0 1
0
1 0
1
1 0
0
1 1
1

A
B

S = A B Cin + A B Cin + A B Cin + A B Cin


Cout = A B Cin + A B Cin + A B Cin + A B Cin

Cmo minimizar usando lgebra booleana?


2: Funciones booleanas

42

Minimizar

Usando teoremas para minimizar el sumador

Cout

=
=
=
=
=
=
=
=
=
=
=
=

A B Cin + A B Cin + A B Cin + A B Cin


A B Cin + A B Cin + A B Cin + A B Cin + A B Cin
A B Cin + A B Cin + A B Cin + A B Cin + A B Cin
(A + A) B Cin + A B Cin + A B Cin + A B Cin
(1) B Cin + A B Cin + A B Cin + A B Cin
B Cin + A B Cin + A B Cin + A B Cin + A B Cin
B Cin + A B Cin + A B Cin + A B Cin + A B Cin
B Cin + A (B + B) Cin + A B Cin + A B Cin
B Cin + A (1) Cin + A B Cin + A B Cin
B Cin + A Cin + A B (Cin + Cin)
B Cin + A Cin + A B (1)
sumar terminos
B Cin + A Cin + A B
para factorizar

Cuales son los criterios de inters al minimizar?


2: Funciones booleanas

43

Minimizar

Algunos criterios de inters al minimizar son:


Criterios de reduccin
Minimizar compuertas
Minimizar nmero de entradas a las compuertas.
Esto
corresponde a minimizar el numero de literales y reduce el
nmero de transistores en cada compuerta (reduce el costo).
Disminuir el nmero de niveles, esto aumenta la velocidad de
respuesta del circuito implementando la funcin.

Siempre van a existir compromisos entre velocidad y tamao.


suele denominar compromiso tiempo-espacio.

Diferentes implementaciones de la misma funcin tienen diferentes


comportamientos:
Retardos son diferentes.
Perturbaciones (glitches) pueden ocurrir.
Otras variaciones por diferencias en el nmero de compuertas y
estructura.
2: Funciones booleanas

Se

44

Hay que elegir entre


diferentes realizaciones de
una funcin
A
0
0
0
0
1
1
1
1

B
0
0
1
1
0
0
1
1

C
0
1
0
1
0
1
0
1

Z
0
1
0
1
0
1
1
0

realizacin de dos niveles

implementacin multinivel
compuertas con menos inputs

compuerta XOR (fcil de


dibujar pero mas costosa)
2: Funciones booleanas

45

Hay que elegir entre


diferentes realizaciones de
una funcin
Las tres implementaciones anteriores son

funcionalmente equivalentes pero tienen diferencias


en su comportamiento

2: Funciones booleanas

46

Potrebbero piacerti anche