Capítulo 1 Algebra de Boole. El matemático inglés George Boole nació el 2 de noviembre de 1815...

Post on 16-Feb-2015

6 views 2 download

Transcript of Capítulo 1 Algebra de Boole. El matemático inglés George Boole nació el 2 de noviembre de 1815...

Capítulo 1Capítulo 1

Algebra de BooleAlgebra de Boole

El matemático inglés George Boole nació el 2 de noviembre de 1815 en Lincoln y falleció el 8 de diciembre de 1864 en Ballintemple, Irlanda.

Boole recluyó la lógica a una álgebra simple. También trabajó en ecuaciones diferenciales, el cálculo de diferencias finitas y métodos generales en probabilidad.

IntroducciónIntroducciónGeorge BooleGeorge Boole

Variable LógicaVariable Lógica

► En general, el termino variable lógica o booleana, hace referencia a cualquier símbolo lineal A,B,....,Z empleado para representar dispositivos o magnitudes físicas que llenan solamente dos valores o estados, verdadero o falso, que son representados simbólicamente por 1 o 0 respectivamente.

DefiniciónDefinición

► Las dos posiciones o estados “abierto” - “cerrado” de un contacto eléctrico se designan mediante los símbolos 0 (no corre electricidad) y 1 (hay electricidad) respectivamente.

Variable LógicaVariable Lógica

► Debido a que el contacto esta “abierto”, no pasa corriente eléctrica por el cable.

► Z= 0 quiere decir que tiene un valor lógico de “cero”, no pasa electricidad porque el pulsador esta en reposo (ninguna fuerza esta venciendo el resorte de retención).

Pulsador Normalmente AbiertoPulsador Normalmente Abierto

Variable LógicaVariable Lógica

► Ahora accionamos el pulsador (ya no esta más en reposo).

► La corriente eléctrica recorre el cable, esto implica que Z = 1.

Pulsador Normalmente AbiertoPulsador Normalmente Abierto

Variable LógicaVariable Lógica

► Un contacto NC es el que se usa el las puertas de las heladeras o automóviles, que encienden una luz cuando deja de estar oprimido.

► El estado de reposo de un pulsador NC implica que Z=1.

Pulsador Normalmente CerradoPulsador Normalmente Cerrado

Variable LógicaVariable Lógica

► Al accionar el pulsador, deja de pasar corriente eléctrica por el cable.

► Entonces Z toma el valor lógio “cero”.

Pulsador Normalmente CerradoPulsador Normalmente Cerrado

Función LógicaFunción Lógica

► Una función lógica o booleana es una variable lógica cuyo valor es equivalente al de una expresión algebraica, constituida por otras variables lógicas relacionadas entre sí por medio de las operaciones suma lógica (+), y/ o producto lógico (·) y/o negador (-).

► Las tres operaciones mencionadas son las operaciones básicas del álgebra de Boole, que darán lugar a las funciones básicas “OR”, “AND” y “NEGACIÓN”.

DefiniciónDefinición

Función LógicaFunción Lógica

► El valor de la expresión algebraica depende de los valores lógicos asignados a las variables que la constituyen, y de la realización de las operaciones indicadas.

DefiniciónDefinición

Por ejemplo, una suma lógica sería Z=A+B, donde Z tomará el valor cero o uno según los valores de A y B.

Z tomará el valor cero sólamente cuando tanto A como B tengan el valor cero. Recordemos que:

0 + 0 = 00 + 0 = 01 + 0 = 11 + 0 = 10 + 1 = 10 + 1 = 11 + 1 = 11 + 1 = 1

Función LógicaFunción LógicaDefiniciónDefinición

Un producto lógico sería Z = A · B, donde Z tomará el valor uno sólamente cuando tanto A como B tengan el valor uno. Recordemos que:

0 · 0 = 00 · 0 = 01 · 0 = 01 · 0 = 00 · 1 = 00 · 1 = 01 · 1 = 11 · 1 = 1

Una negación invierte el valor de las variables. Se representa con la variable (en este caso “A”) negada.

Así:0 = 10 = 11 = 01 = 0

AZ

Tabla de VerdadTabla de Verdad

► La tabla de verdad es una representación del comportamiento de una función lógica, dependiendo del valor particular que puedan tomar cada una de sus variables.

► En ella deben figurar todas las combinaciones posibles entre las variables, y para cada una aparecera el valor de la función.

DefiniciónDefinición

Tabla de VerdadTabla de Verdad

11

00

AA

► Se tienen n variables y las tablas de verdad se construyen respondiendo a la expresión: “El número de filas es igual a 2 elevado a la n”.

► 21(variable) = 2 filas 22(variables) = 4 filas

1 y 2 variables1 y 2 variables

1100

1111

00110000BBAA

Tabla de VerdadTabla de Verdad223 variables 3 variables = 8 filas= 8 filas

111111001111110011000011111100001100110000000000AABBCC

Compuertas LógicasCompuertas Lógicas

► Cuando se desea cambiar el estado de una variable determinada se podría accionar una llave (compuerta) que realice este proceso.

► “Compuerta” proviene de que este dispositivo puede usarse para permitir o no que el nivel que llega a un cable de entrada se repita en el cable de salida.

► “Lógica” se debe a que una compuerta realiza electrónicamente una operación lógica, de forma tal de que a partir de una combinación de valores lógicos en las entradas, se obtiene un valor lógico (1 ó 0) en su salida.

DefiniciónDefinición

Compuertas LógicasCompuertas LógicasCompuerta “AND”Compuerta “AND”

Una Compuerta AND de dos entradas es un dispositivo electrónico que posee dos entradas, a las que llegan los niveles de tensión de dos cables (A y B) y una salida (Z).

Responde a la expresión:

Z = A · B

Compuertas LógicasCompuertas LógicasCompuerta “AND”Compuerta “AND”

A · B = Z

0 ·0 = 0

00

0

111111

000011

001100

000000

ZZBBAA

01

0 ·1 = 0

1

1 · 0 = 0

0

1 · 1 = 1

11

Circuito LógicoCircuito LógicoCompuerta “AND”Compuerta “AND”

Z = A · B

También es posible representar la función lógica, su tabla de verdad y su compuerta con los pulsadores NC, formando un “circuito lógico”.

Circuito LógicoCircuito LógicoCompuerta “AND”Compuerta “AND”

Z = A · BLa luminaria se enciende cuando A y B son pulsados al mismo tiempo.

Esto coincide con la TV cuando A y B toman el valor 1, haciendo que Z valga 1.

111111000011001100000000ZZBBAA

Compuertas LógicasCompuertas LógicasCompuerta “OR”Compuerta “OR”

Una Compuerta OR de dos entradas es un dispositivo electrónico que posee dos entradas, a las que llegan los niveles de tensión de dos cables (A y B) y una salida (Z).

Responde a la expresión:

Z = A + B

Compuertas LógicasCompuertas LógicasCompuerta “OR”Compuerta “OR”

A + B = Z

0 + 0 = 0

0

111111

110011

111100

000000

ZZBBAA

0

10

110

0 + 1 = 1

1

1 + 0 = 11 + 1 = 1

Circuito LógicoCircuito LógicoCompuerta “OR”Compuerta “OR”

Z = A + BLa luminaria se enciende cuando A o B son pulsados.

Esto coincide con la TV cuando A o B toman el valor 1, haciendo que Z valga 1.

111111110011111100000000ZZBBAA

Compuertas LógicasCompuertas LógicasCompuerta “SEGUIDOR”Compuerta “SEGUIDOR”

Una Compuerta SEGUIDOR es un dispositivo electrónico que actúa como buffer: mantiene en la salida, el valor que se encuentra a la entrada.

Responde a la expresión:

Z = A

Compuertas LógicasCompuertas Lógicas

11110000ZZAA

Compuerta “SEGUIDOR”Compuerta “SEGUIDOR”

A = Z

01 0

1 = 10 = 0

1

Circuito LógicoCircuito LógicoCompuerta “SEGUIDOR”Compuerta “SEGUIDOR”

Z = A

La luminaria se enciende cuando A es pulsado.

Esto coincide con la TV cuando A toma el valor 1, haciendo que Z valga 1.

11110000ZZAA

Compuertas LógicasCompuertas Lógicas

AZ

Compuerta “INVERSOR”Compuerta “INVERSOR”

Una Compuerta INVERSOR es un dispositivo electrónico que enciende el cable que está en su salida, si el cable que está en su entrada se encuentra apagado, y viceversa. Puede decirse que uno es la negación del otro.

Responde a la expresión:

Compuertas LógicasCompuertas Lógicas

ZA

Compuerta “INVERSOR”Compuerta “INVERSOR”

00111100ZZAA

0 = 1

10

1 = 0

1 0

Circuito LógicoCircuito LógicoCompuerta “INVERSOR”Compuerta “INVERSOR”

Z se activará si A toma el valor 0.

Esto coincide con la TV cuando A toma el valor 0, haciendo que Z valga 1.

00111100ZZAA

AZ

Compuertas LógicasCompuertas LógicasCompuerta “EXOR”Compuerta “EXOR”

Una compuerta EXOR u OR excluyente de dos entradas es un dispositivo electrónico que presenta dos entradas, a las que llegan los estados de las dos variables (A B), y una salida, que genera en el cable (Z).

Responde a la expresión:

ABBAZ

Compuertas LógicasCompuertas LógicasCompuerta “EXOR”Compuerta “EXOR”

ABBAZ

001111

110011

111100

000000

ZZBBAA

0

Z0 0

1 · 0 + 1 · 0

00

0 1

1 · 1 + 0 · 0

0

11

1 11 0

01

10 · 0 + 1 · 1 0 · 1 + 0 · 1

1

10

Circuito LógicoCircuito LógicoCompuerta “EXOR”Compuerta “EXOR”

Z se activará si A o B se activan, pero no al mismo tiempo

Esto se refleja en la TV cuando A o B estan activados.

001111

110011

111100

000000

ZZBBAA

Pero cuando ambos se activan al mismo tiempo, Z vale 0.

ABBAZ

Leyes de Algegra de BooleLeyes de Algegra de Boole

Para la Suma Para el Producto

A + A = A A · A = A

A + 0 = A A · 0 = 0

A + 1 = 1 A · 1 = A

Algebra de circuitos lógicosAlgebra de circuitos lógicos

El álgebra de Boole es una parte de la matemática que utiliza expresiones basadas en la lógica dual.

Ley Conmutativa

A + B = B + A

Ley Asociativa

A + (B + C) = (A + B) + C

Ley Distributiva (del producto con respecto a la suma)

A · (B + C) = A · B + A · C

Ley Distributiva (de la suma respecto del producto)

C + B · A = (C + B) · (C + A)

Ley de AbsorciónLey de Doble Negación

Ley de Morgan

Sirve para transformar sumas lógicas en productos lógicos

Y productos lógicos en sumas lógicas

Relaciones de Morgan

0

1

Compuertas DerivadasCompuertas Derivadas

Z

Compuerta “NAND”Compuerta “NAND”

Una compuerta NAND resulta de invertir la salida de una compuerta AND.

Compuerta AND

Invertimos la salida (NAND) Z

Negamos de ambos lados Z

Por ley de doble neg. Z

Por ley de Morgan Z

ExpresiónExpresión BooleanaBooleana

Compuertas LógicasCompuertas LógicasCompuerta “NAND”Compuerta “NAND”

0

001111

110011

111100

110000

ZZBBAA

01

1110 1

0 1 1 1 0 1 1 1 0 1 0 0

0

Circuito LógicoCircuito LógicoCompuerta “NAND”Compuerta “NAND”

Z será igual a 0 sólo si A y B se presionan al mismo tiempo.

Esto coincide con la TV cuando A y B son iguales a 1, haciendo que Z sea igual a 0.

Z

Compuertas DerivadasCompuertas Derivadas

Z

Compuerta “NOR”Compuerta “NOR”

Una compuerta NOR resulta de invertir la salida de una compuerta OR.

Compuerta OR

Invertimos la salida (NOR) Z

Negamos de ambos lados Z

Por ley de doble neg. Z

Por ley de Morgan Z

ExpresiónExpresión BooleanaBooleana

Compuertas LógicasCompuertas LógicasCompuerta “NOR”Compuerta “NOR”

0

001111

000011

001100

110000

ZZBBAA

01 1110

0

0 1 1 0 0 1 0 1 0 1 0 0

0

Circuito LógicoCircuito LógicoCompuerta “NOR”Compuerta “NOR”

Z será igual a 1 si A o B no se presionan en ningún momento

Esto coincide con la TV cuando A y B son iguales a 0, haciendo que Z sea igual a 1.

Z

Compuertas DerivadasCompuertas Derivadas

ZCompuerta “EX-NOR”Compuerta “EX-NOR”

Una compuerta EX-NOR resulta de invertir la salida de una compuerta NOR.

Compuerta NOR

Invertimos la salida (EX-NOR)

Negamos de ambos lados

Por ley de Morgan

Nuevamente Morgan

ExpresiónExpresión BooleanaBooleana

ZZ

)()(

))()( Al distribuir nos queda: } }

0 0

Compuertas LógicasCompuertas LógicasCompuerta “EX-NOR”Compuerta “EX-NOR”

0

111111

000011

001100

110000

ZZBBAA

01 1110

0

1 1 111 0 0 101 0 1 010 1 0 000

1

Circuito LógicoCircuito LógicoCompuerta “EX-NOR”Compuerta “EX-NOR”

Como siempre, la TV se corresponde con el circuito, la compueta y la expresión booleana.

Z

A B Z

0 0 1

0 1 0

1 0 0

1 1 1

Principio de DualidadPrincipio de Dualidad

► Cualquier propiedad en el álgebra de Boole sigue siendo valida si se intercambian las operaciones (+) y (·) y además se intercambian los valores 0 y 1.

DefiniciónDefinición► Equivalencia entre funciones: dos expresiones booleanas son

equivalentes si tienen igual tabla de verdad. Una expresión lógica le corresponde una sola tabla de verdad, mientras que una tabla de verdad puede formarse algebraicamente mediante diversas funciones equivalentes.

► Asimismo, circuitos lógicos que corresponden a expresiones algebraicas equivalentes tendrán la misma tabla de funcionamiento por lo que podrán reemplazarse unos por otros.

► La equivalencia se obtiene aplicando el principio de dualidad.

Ejemplo:

A + 0 = A

A · 1 = A

Circuitos Equivalentes Circuitos Equivalentes

► Convertimos una suma de productos, en un producto negado de productos negados...

Equivalencias And-Or Y Nand-NandEquivalencias And-Or Y Nand-Nand

Z1 = A + B·C + D·E = EDCBA

A partir de un circuito determinado, su función equivalente puede ser obtenida de dos formas:

Primer método

Negamos ambos extremos del cable, que por la propiedad de la doble negación no afecta la función original.

Aplicamos el concepto de funciones equivalentes en la última compuerta, obteniendo así todas NAND.

Segundo método

Aplicamos la equivalencia de funciones en la última compuerta: reemplazamos la compueta OR por su dual AND y negamos sus entradas y salidas que no están negadas en el circuito original.

Como último paso, se desplazan las negaciones hacia el otro extremo del cable. De esta forma obtenemos un circuito compuesto por todas compuertas NAND.

Circuitos Equivalentes Circuitos Equivalentes Equivalencias Or-And y Nor-NorEquivalencias Or-And y Nor-Nor

Z = (P + Q) · (R + S) · T =

T + )S + R( + )Q + P(

A partir de un circuito determinado, su función equivalente puede ser obtenida de dos formas:

Primer método

Negamos ambos extremos del cable, que por la propiedad de la doble negación no afecta la función original.

Aplicamos el concepto de funciones equivalentes en la última compuerta, obteniendo así todas NOR.

Segundo método

Aplicamos la equivalencia de funciones en la última compuerta: reemplazamos la compueta AND por su dual OR y negamos sus entradas y salidas que no están negadas en el circuito original.

Como último paso, se desplazan las negaciones hacia el otro extremo del cable. De esta forma obtenemos un circuito compuesto por todas compuertas NOR.

De un producto de sumas se pasa a una suma De un producto de sumas se pasa a una suma negada, de sumas negadas.negada, de sumas negadas.

Funciones Equivalentes Funciones Equivalentes UtilidadUtilidad

A una función lógica le corresponde una única tabla deverdad, mientras que a una misma tabla de verdad se lepuede asociar diferentes expresiones equivalentes.

Esto permite reemplazar un circuito por otro, según las necesidades técnicas y/o económicas que se posean.

Más especificamente, la utilidad del concepto de funciones equivalente es la posibilidad de utilizarmenor cantidad de chips para la implementaciónde un circuito.

Si queremos implementar la función Z=(P+Q)·(R+S),

deberíamos hacerlo:

Entonces, una vez aplicado el concepto de funciones equivalentes y obtenida la expresión, la implementación de chips sería:

)()( SRQPZ

La nueva expresión sería:

De esta forma podemos ver que, a diferencia del primer caso, estamos utilizando sólo UN chip.

Compuertas Lógicas Compuertas Lógicas ComportamientoComportamiento

a) Las entradas están puenteadas.

Compuertas Lógicas Compuertas Lógicas ComportamientoComportamiento

b) Una de las entradas trabaja como señal de control.

Compuertas Lógicas Compuertas Lógicas ComportamientoComportamiento

c) La señal de salida realimenta a la de entrada.