Algebra de boole 2013 v2.

Download Report

Transcript Algebra de boole 2013 v2.

Algebra de Boole
Organización de Computadoras
UNLA
Algebra de Boole
• Un algebra de boole es toda clase o conjunto de
elementos que pueden tomar dos valores
perfectamente diferenciados, suele asignarse los
símbolos 0 y 1
Estos símbolos no representan números si no estados
diferentes de un dispositivo
encendido (1)
apagado (0)}
• Estos elementos están relacionados mediante dos
operaciones binarias.
Suma Lógica (+) {Conexión en paralelo}
Producto Lógico (*) {conexión en serie}
Postulados / Propiedades del álgebra de Boole
Mediante los circuitos de conmutación implementados con contactos.
a
b
b
a
a+b
a
=
b
a·b
b+a
b
=
a
b·a
0
a
a
0+a
1
=
a
1·a
a
a
=
a
Postulados del álgebra de Boole
Mediante los circuitos de conmutación implementados con contactos.
b
a
b
c
a
c
a
a · (b + c)
=
a
b
c
=
a+b·c
a·b+a·c
a
a
b
c
(a + b) · (a + c)
a
1
a
a+a
a
=
a
a·a
1
0
=
Nueva Operación
Inversión ó
Complemento
0
Teorema 1
Cada identidad deducida de los anteriores postulados del algebra de Boole permanece
valida si las operaciones <<+>> y <<*>> y los elementos 0 y 1 se intercambia entre sí.
PRINCIPIO de DUALIDAD.
Leyes de De Morgan
1º Ley:
El producto lógico negado de varias variables lógicas es igual a la suma lógica de cada
una de dichas variables negadas.
Si tomamos un ejemplo para 3 variables tendríamos.
~ (a.b.c) = ~a + ~b + ~c (también como: )
El primer miembro de esta ecuación equivale a una compuerta NAND de 3 entradas,
representada en el siguiente gráfico y con su respectiva tabla de verdad.
Leyes de De Morgan
2º Ley:
La suma lógica negada de varias variables lógicas es igual al producto de cada una de
dichas variables negadas..(complementario del anterior).
~ (a + b + c) = ~a . ~b . ~c
o
El primer miembro de esta ecuación equivale a una compuerta NOR de 3 entradas y la
representamos con su tabla de verdad...
Compuertas Lógicas
Compuertas Lógicas
COMPUERTAS.
Compuerta NOT
Invierte el dato de entrada, por ejemplo; si la entrada es 1 (nivel alto) se obtiene en la
salida un 0 (o nivel bajo), y viceversa.
Esta compuerta dispone de una sola entrada.
Su operación lógica es s igual a a invertida.
Compuertas Lógicas
Compuerta AND
Una compuerta AND tiene dos datos de entrada como mínimo y su operación lógica es
un producto entre ambas, no es un producto aritmético.
La salida (resultado) es siempre una (es decir un único valor 0 ó 1
*Observar que su salida será alta si (y sólo si) sus dos datos de entradas están a
nivel alto*
Compuertas Lógicas
Compuerta OR
Al igual que la anterior posee dos entradas como mínimo y la operación lógica, es la
suma entre ambas.
Se trata de una compuerta O Inclusiva
*Es decir, basta que uno de los datos de entrada sea 1 para que su salida sea también 1*
Compuertas Lógicas
Compuerta OR-EX o XOR
Es OR EXclusiva en este caso con dos entradas (puede tener múltiples entradas) esta
compuerta lo que hace con los datos de entrada es una suma lógica entre los
productos de a por b invertida y a invertida por b.
*Al ser O Exclusiva su salida será 1 si uno y solo uno (o un número impar) de sus datos
de entradas es igual a 1*
Compuertas Lógicas
Compuertas Lógicas Combinadas
Al agregar una compuerta NOT a cada una de las compuertas anteriores los
resultados de sus respectivas tablas de verdad se invierten, y dan origen a tres
nuevas compuertas llamadas NAND, NOR y NOR-EX...
Función de un Algebra de Boole
Una función es una variable binaria cuyo valor es igual al de una expresión algebraica
En la que se relacionan entre sí una o más variables binarias por medio de la operaciones
Básicas producto lógico, sumas lógicas e inversión.
F = f (a,b,c,……)
El valor lógico de f depende del de las variables a,b,c,…..
_
Sea f = (a, b, c) . El término a b c es un producto canónico
_
Sea f = (a, b, c) . El término a + b + c es una suma canónico
Para mayor facilidad de representación, cada término canónico, se expresa mediante un
número decimal equivalente al binario obtenido al sustituir las variables , ordenadas con
un criterio determinado, por 1 o un 0.
En nuestro caso a tiene peso 1, b tiene el peso 2, c el peso 3 y así sucesivamente.
_
_
d c b a = 0110 = 6
_
_
d + c + b + a = 1010 = 10
Función de un Algebra de Boole
_ _
_
_
F(a, b, c) = a b c + a b c + a b c
_ _ _
_
F(a, b, c) = (a + b + c) (a + b + c ) (a + b + c)
F(a, b, c) =∑ (2, 3, 5)
3
Suma Lógica
F(a, b, c) =∏ (1, 2, 7)
3
Producto Lógico
Teorema:
Para simplificar algebraicamente las funciones lógicas.
Toda algebra de boole se puede expresar de la siguiente forma
_
F (a ,b,c,….) = a F(1,b,c,….) + a F(0,b,c,…)
_
F (a ,b,c,….) = [a + F(0,b,c,….)] + a + F(1,b,c,…)]
_
Para demostrarlo es suficiente que la igualdad se cumpla para a = 0 y a = 1
F (a ,b,c,….) = a F(0,b,c) = 0 F(1,b,c) + 1 F(0,b,c) = F(0,b,c) (A)
F (a ,b,c,….) = a F(1,b,c) = 1 F(1,b,c) + 0 F(0,b,c) = F(1,b,c)
Función de un Algebra de Boole
_
Si multiplicamos F (a ,b,c,….) = a F(0,b,c) = 0 F(1,b,c) + 1 F(0,b,c) = F(0,b,c) por a y a.
( 1 ) a F(a,b,c) a F(1,b,c)
_
_
( 2 ) a F(a,b,c) = a F(0,b,c)
_
Si multiplicamos F (a ,b,c,….) = a F(1,b,c) = 1 F(1,b,c) + 0 F(0,b,c) = F(1,b,c) por a y a.
( 3 ) a + F(a,b,c) = a + F(0,b,c)
_
_
( 4 ) a + F(a,b,c) = a + F(1,b,c)
_
_ ___
Dada la función F = a b c + a ( b + a c + a b c ) efectuar la simplificación algebraica
Rta.
_
_ _
F = a b c + a(b + b c )
Del teorema demostrado se concluye que toda función lógica puede transformarse
en una función canónica bajo las dos formas anteriormente indicadas.
_
F (a ,b,c,….) = a F(1,b,c,….) + a F(0,b,c,…)
Y dado que:
_
F(1,b,c,…) = b F(1, 1, c,….) + b F(1, 0,c,…)
_
F(0,b,c,…) = b F(0, 1, c,….) + b F(0, 0,c,…)
Resulta:
_
_
__
F(a,b,c,…) = a b F(1,1,c,…..) + a b F(1,0,c,……)+ a b F(0,1,c,……) + a b F (0, 0, c,…).
Repitiendo el proceso se obtiene:
___
F(a,b,c,…) = (abc…..) F(1,1,1,…..) +…… + (a b c….) F(0,0,0,…..) [1]
Esta expresión indica que una función es igual a la suma de todos los productos
canónicos afectados de un coeficiente igual al valor que toma la función al sustituir
cada variable por 1 o = según en el producto canónico figure directa o inversa
respectivamente
Función de un Algebra de Boole
De igual forma se deduce que la expresión en forma de producto de sumas canónicas es:
___
F(a,b,c,…) = (a + b + c…..) f(0,0,0,…..) +…… + (a b c….) f(1,1,1,….. [2]
Utilizando la notación numérica para expresar los términos canónicos ambas ecuaciones
[1] y [2] se puede representar:
2ᴺ-1
2ᴺ-1
F(a,b,c,…) = ∑ F(i) i = ∏ [F (2ᴺ – 1 – i) + i]
i=0
i=0
Mapas de Karnaugh
Los mapas de Karnaugh se pueden definir como un método para
encontrar la forma más sencilla de representar una función lógica.
a) Minitérmino
Es cada una de las combinaciones posibles entre todas las variables disponibles, por
ejemplo;
• con 2 variables se obtiene 4 minitérminos;
• con 3 variables se obtiene 8;
• con 4, 16 etc.,
Como se puede observar se puede encontrar la cantidad de minitérminos haciendo 2n
donde n es el número de variables disponibles.
Se suele denominar también “mintérmino” o “minitérmino” a las funciones lógicas
obtenidas en primera instancia con compuertas “AND”, ya que la función lógica obtenida
posee menos términos (recordar que un término de una función es la combinación de
operaciones separadas por sumas o restas).
b) Numeración de un minitermino
Cada minitérmino es numerado en decimal de acuerdo a la combinación de las
variables y su equivalente en binario
Mapas de Karnaugh
c)- Valor lógico de un minitérmino
Estos deben tener un valor lógico, y es el que resulta de la operación
que se realiza entre las variables. lógicamente 0 ó 1.
Mapas de Karnaugh
Las dos primeras columnas (columnas adyacentes) difieren sólo en la variable d, y
c permanece sin cambio, en la segunda y la tercer columna (columnas
adyacentes) cambia c, y d permanece sin cambio, ocurre lo mismo en las filas.
Se concluye que...
Dos columnas o filas adyacentes sólo pueden diferir en el estado de una de sus
variables
Mapas de Karnaugh
1.- Dada una tabla de verdad
construir un mapa de karnaugh.
2.- agrupar los unos adyacentes
(horizontal o verticalmente) en
grupos de potencias de 2...
Mapas de Karnaugh
3.- Realizar la suma lógica entre los términos obtenidos resultando
la función...
f = (~a . ~b) + (a . ~c)
4.- Es posible plantear el problema como una función de variables,
en nuestro ejemplo quedaría de esta forma...
f(a, b, c) = S(0, 1, 4, 6)
5.- Convertir la función en su circuito eléctrico…
f = (~a . ~b) + (a . ~c)
o sea...
(NOT a AND NOT b) OR (a AND NOT c)
Mapas de Karnaugh