Download UNEFA NUCLEO ZULIA CIRCUITOS LOGICOS ALGEBRA

Document related concepts

Formas canónicas (álgebra de Boole) wikipedia , lookup

Lógica binaria wikipedia , lookup

Conectiva lógica wikipedia , lookup

Tipo de dato lógico wikipedia , lookup

Valor de verdad wikipedia , lookup

Transcript
UNEFA NUCLEO ZULIA
CIRCUITOS LOGICOS
ALGEBRA BOOLEANA
ÁLGEBRA BOOLEANA
El álgebra booleana es un sistema matemático deductivo centrado en los valores cero y uno (falso y
verdadero). Un operador binario “º“definido en éste juego de valores acepta un par de entradas y produce un
solo valor booleano, por ejemplo, el operador booleano AND acepta dos entradas booleanas y produce una
sola salida booleana.
Para cualquier sistema algebraico existen una serie de postulados iniciales, de aquí se pueden deducir reglas
adicionales, teoremas y otras propiedades del sistema, el álgebra booleana a menudo emplea los siguientes
postulados:
• CERRADO. El sistema booleano se considera cerrado con respecto a un operador binario si para cada par de
valores booleanos se produce un solo resultado booleano.
• CONMUTATIVO. Se dice que un operador binario “º “es conmutativo si A º B = B º A para todos los posibles
valores de A y B.
• ASOCIATIVO. Se dice que un operador binario “º “es asociativo si (A º B) º C = A º (B º C) para todos los
valores booleanos A, B, y C.
• DISTRIBUTIVO. Dos operadores binarios “º “y “% “son distributivos si A º (B % C) = (A º B) % (A º C) para
todos los valores booleanos A, B, y C.
• IDENTIDAD. Un valor booleano I se dice que es un elemento de identidad con respecto a un operador
binario “º “si A º I = A.
• INVERSO. Un valor booleano I es un elemento inverso con respecto a un operador booleano “º “si A º I = B, y
B es diferente de A, es decir, B es el valor opuesto de A.
Para nuestros propósitos basaremos el álgebra booleana en el siguiente juego de operadores y valores:
- Los dos posibles valores en el sistema booleano son cero y uno, a menudo llamaremos a éstos valores
respectivamente como falso y verdadero.
- El símbolo • representa la operación lógica AND. Cuando se utilicen nombres de variables de una sola letra se
eliminará el símbolo •, por lo tanto AB representa la operación lógica AND entre las variables A y B, a esto
también le llamamos el producto entre A y B.
- El símbolo “+” representa la operación lógica OR, decimos que A+B es la operación lógica OR entre A y B,
también llamada la suma de A y B.
- El complemento lógico, negación ó NOT es un operador unitario, en éste texto utilizaremos el símbolo “ ‘ “
para denotar la negación lógica, por ejemplo, A’ denota la operación lógica NOT de A.
LUIS MANUEL SOTO GARCIA
SIM 6B
UNEFA NUCLEO ZULIA
CIRCUITOS LOGICOS
ALGEBRA BOOLEANA
- Si varios operadores diferentes aparecen en una sola expresión booleana, el resultado de la expresión
depende de la procedencia de los operadores, la cual es de mayor a menor, paréntesis, operador lógico NOT,
operador lógico AND y operador lógico OR. Tanto el operador lógico AND como el OR son asociativos por la
izquierda.
Si dos operadores con la misma procedencia están adyacentes, entonces se evalúan de izquierda a derecha. El
operador lógico NOT es asociativo por la derecha.
Utilizaremos además los siguientes postulados:
• P1 El álgebra booleana es cerrada bajo las operaciones AND, OR y NOT
• P2 El elemento de identidad con respecto a • es uno y con respecto a + es cero. No existe elemento de
identidad para el operador NOT
• P3 Los operadores • y + son conmutativos.
• P4 • y + son distributivos uno con respecto al otro, esto es, A• (B+C) = (A•B)+(A•C) y A+ (B•C) = (A+B) •(A+C).
• P5 Para cada valor A existe un valor A’ tal que A•A’ = 0 y A+A’ = 1. Éste valor es el complemento lógico de A.
• P6 • y + son ambos asociativos, esto es, (AB) C = A (BC) y (A+B)+C = A+ (B+C).
ES POSIBLE PROBAR TODOS LOS TEOREMAS DEL ÁLGEBRA BOOLEANA UTILIZANDO ÉSTOS POSTULADOS,
ADEMÁS ES BUENA IDEA FAMILIARIZARSE CON ALGUNOS DE LOS TEOREMAS MÁS IMPORTANTES DE LOS
CUALES PODEMOS MENCIONAR LOS SIGUIENTES:
• Teorema 1: A + A = A
• Teorema 9: A + A • B = A
• Teorema 2: A • A = A
• Teorema 10: A • (A + B) = A
• Teorema 3: A + 0 = A
• Teorema 11: A + A’B = A + B
• Teorema 4: A • 1 = A
• Teorema 12: A’ • (A + B’) = A’B’
• Teorema 5: A • 0 = 0
• Teorema 13: AB + AB’ = A
• Teorema 6: A + 1 = 1
• Teorema 14: (A’ + B’) • (A’ + B) = A’
• Teorema 7: (A + B)’ = A’ • B’
• Teorema 15: A + A’ = 1
• Teorema 8: (A • B)’ = A’ + B’
• Teorema 16: A • A’ = 0
Los teoremas siete y ocho son conocidos como Teoremas de De Morgan en honor al matemático que los
descubrió.
LUIS MANUEL SOTO GARCIA
SIM 6B
UNEFA NUCLEO ZULIA
CIRCUITOS LOGICOS
ALGEBRA BOOLEANA
CARACTERÍSTICAS:
Un álgebra de Boole es un conjunto en el que destacan las siguientes características:
1- Se han definido dos funciones binarias (que necesitan dos parámetros) que llamaremos aditiva (que
representaremos por x + y) y multiplicativa (que representaremos por xy) y una función monaria (de un solo
parámetro) que representaremos por x’.
2- Se han definido dos elementos (que designaremos por 0 y 1) Y 3- Tiene las siguientes propiedades:
Conmutativa respecto a la primera función: x + y = y + x
Conmutativa respecto a la segunda función: xy = yx
Asociativa respecto a la primera función: (x + y) + z = x + (y +z)
Asociativa respecto a la segunda función: (xy)z = x(yz)
Distributiva respecto a la primera función: (x +y)z = xz + yz
Distributiva respecto a la segunda función: (xy) + z = (x + z)( y + z)
Identidad respecto a la primera función: x + 0 = x
Identidad respecto a la segunda función: x1 = x
Complemento respecto a la primera función: x + x’ = 1
Complemento respecto a la segunda función: xx’ = 0
PROPIEDADES DEL ÁLGEBRA DE BOOLE
1. Indempotente respecto a la primera función: x + x = x
Idempotente respecto a la segunda función: xx = x
Maximalidad del 1: x + 1 = 1
Minimalidad del 0: x0 = 0
Involución: x’‘= x
Inmersión respecto a la primera función: x + (xy) = x
Inmersión respecto a la segunda función: x(x + y) = x
Ley de Morgan respecto a la primera función: (x + y)’ = x’y’
LUIS MANUEL SOTO GARCIA
SIM 6B
UNEFA NUCLEO ZULIA
CIRCUITOS LOGICOS
ALGEBRA BOOLEANA
Ley de Morgan respecto a la segunda función: (xy)’ = x’ + y’
FUNCIÓN BOOLEANA
Una función booleana es una aplicación de A x A x A x….A en A, siendo A un conjunto cuyos elementos son 0 y
1 y tiene estructura de álgebra de Boole.
Supongamos que cuatro amigos deciden ir al cine si lo quiere la mayoría. Cada uno puede votar si o no.
Representemos el voto de cada uno por xi. La función devolverá sí (1) cuando el numero de votos afirmativos
sea 3 y en caso contrario devolverá 0.
Si x1 vota 1, x2 vota 0, x3 vota 0 y x4 vota 1 la función booleana devolverá 0.
Producto mínimo (es el número posible de casos) es un producto en el que aparecen todas las variables o sus
negaciones.
El número posible de casos es 2n.
Siguiendo con el ejemplo anterior. Asignamos las letras A, B, C y D a los amigos. Los posibles casos son:
Votos
Resultado
ABCD
1111
1
1110
1
1101
1
1100
0
1011
1
1010
0
1001
0
1000
0
0111
1
0110
0
0101
0
0100
0
LUIS MANUEL SOTO GARCIA
SIM 6B
UNEFA NUCLEO ZULIA
CIRCUITOS LOGICOS
ALGEBRA BOOLEANA
0011
0
0010
0
0001
0
0000
0
Las funciones booleanas se pueden representar como la suma de productos mínimos (minterms) iguales a 1.
En nuestro ejemplo la función booleana será:
f(A,B,C,D) = ABCD + ABCD’ + ABC’D + AB’CD + A’BCD
Diagramas De Karnaugh
Los diagramas de Karnaugh se utilizan para simplificar las funciones booleanas.
Se construye una tabla con las variables y sus valores posibles y se agrupan los 1 adyacentes, siempre que el
número de 1 sea potencia de 2.
En esta página tienes un programa para minimización de funciones booleanas mediante mapas de Karnaugh
ÁLGEBRA BOOLEANA Y CIRCUITOS ELECTRÓNICOS
La relación que existe entre la lógica booleana y los sistemas de cómputo es fuerte, de hecho se da una
relación uno a uno entre las funciones booleanas y los circuitos electrónicos de compuertas digitales.
Para cada función booleana es posible diseñar un circuito electrónico y viceversa, como las funciones
booleanas solo requieren de los operadores AND, OR y NOT podemos construir nuestros circuitos utilizando
exclusivamente éstos operadores utilizando las compuertas lógicas homónimas
Un hecho interesante es que es posible implementar cualquier circuito electrónico utilizando una sola
compuerta, ésta es la compuerta NAND Para probar que podemos construir cualquier función booleana
utilizando sólo compuertas NAND, necesitamos demostrar cómo construir un inversor (NOT), una compuerta
AND y una compuerta OR a partir de una compuerta NAND, ya que como se dijo, es posible implementar
cualquier función booleana utilizando sólo los operadores booleanos AND, OR y NOT. Para construir un
inversor simplemente conectamos juntas las dos entradas de una compuerta NAND. Una vez que tenemos un
inversor, construir una compuerta AND es fácil, sólo invertimos la salida de una compuerta NAND, después de
todo, NOT ( NOT (A AND B)) es equivalente a A AND B. Por supuesto, se requieren dos compuertas NAND para
construir una sola compuerta AND, nadie ha dicho que los circuitos implementados sólo utilizando
compuertas NAND sean lo óptimo, solo se ha dicho que es posible hacerlo. La otra compuerta que
necesitamos sintetizar es la compuerta lógica OR, ésto es sencillo si utilizamos los teoremas de De Morgan,
que en síntesis se logra en tres pasos, primero se reemplazan todos los “•” por “+” después se invierte cada
literal y por último se niega la totalidad de la expresión:
LUIS MANUEL SOTO GARCIA
SIM 6B
UNEFA NUCLEO ZULIA
CIRCUITOS LOGICOS
ALGEBRA BOOLEANA
A OR B
A AND B…………………..Primer paso para aplicar el teorema de De Morgan
A’ AND B’…………………Segundo paso para aplicar el teorema de De Morgan
(A’ AND B’)’………………Tercer paso para aplicar el teorema de De Morgan
(A’ AND B’)’ = A’ NAND B’…..Definición de OR utilizando NAND
Si se tiene la necesidad de construir diferentes compuertas de la manera descrita, bien hay dos buenas
razones, la primera es que las compuertas NAND son las más económicas y en segundo lugar es preferible
construir circuitos complejos utilizando los mismos bloques básicos. Observe que es posible construir
cualquier circuito lógico utilizando sólo compuertas de tipo NOR (NOR = NOT(A OR B)). La correspondencia
entre la lógica NAND y la NOR es ortogonal entre la correspondencia de sus formas canónicas. Mientras que la
lógica NOR es útil en muchos circuitos, la mayoría de los diseñadores utilizan lógica NAND.
CIRCUITOS COMBINACIONALES
Un circuito combinacional es un sistema que contiene operaciones booleanas básicas (AND, OR, NOT), algunas
entradas y un juego de salidas, como cada salida corresponde a una función lógica individual, un circuito
combinacional a menudo implementa varias funciones booleanas diferentes, es muy importante recordar éste
echo, cada salida representa una función booleana diferente.
Un ejemplo común de un circuito combinacional es el decodificador de siete segmentos, se trata de un circuito
que acepta cuatro entradas y determina cuál de los siete segmentos se deben iluminar para representar la
respectiva entrada, de acuerdo con lo dicho en el párrafo anterior, se deben implementar siete funciones de
salida diferentes, una para cada segmento.
Las cuatro entradas para cada una de éstas funciones booleanas son los cuatro bits de un número binario en el
rango de 0 a 9. Sea D el bit de alto orden de éste número y A el bit de bajo orden, cada función lógica debe
producir un uno (para el segmento encendido) para una entrada dada si tal segmento en particular debe ser
iluminado, por ejemplo, el segmento e debe iluminarse para los valores 0000, 0010, 0110 y 1000.
En la siguiente tabla se puede ver qué segmentos deben iluminarse de acuerdo al valor de entrada, tenga en
cuenta que sólo se están representando valores en el rango de 0 a 9, los decodificadores para las pantallas de
siete segmentos comerciales tienen capacidad para desplegar valores adicionales que corresponden a las
letras A a la F para representaciones hexadecimales, sin embargo la mecánica para iluminar los respectivos
segmentos es similar a la aquí representada para los valores numéricos.
LUIS MANUEL SOTO GARCIA
SIM 6B
UNEFA NUCLEO ZULIA
CIRCUITOS LOGICOS
ALGEBRA BOOLEANA
0
a
1
b
c
b
c
2
a
b
3
a
b
c
b
c
4
5
a
6
d
e
d
e
f
g
d
g
f
g
f
g
c
d
c
d
e
f
g
d
e
f
g
f
g
7
a
b
c
8
a
b
c
9
a
b
c
Los circuitos combinacionales son la base de muchos componentes en un sistema de cómputo básico, se
puede construir circuitos para sumar, restar, comparar, multiplicar, dividir y muchas otras aplicaciones más.
CIRCUITOS SECUENCIALES
Un problema con la lógica secuencial es su falta de “memoria”. En teoría, todas las funciones de salida en un
circuito combinacional dependen del estado actual de los valores de entrada, cualquier cambio en los valores
de entrada se refleja (después de un intervalo de tiempo llamado retardo de propagación) en las salidas.
Desafortunadamente las computadoras requieren de la habilidad para “recordar” el resultado de cálculos
pasados. Éste es el dominio de la lógica secuencial. Una celda de memoria es un circuito electrónico que
recuerda un valor de entrada después que dicho valor ha desaparecido. La unidad de memoria más básica es
el flip-flop Set/Reset. Aunque recordar un bit sencillo es importante, la mayoría de los sistemas de cómputo
requieren recordar un grupo de bits, ésto se logra combinando varios flip-flop en paralelo, una conexión de
éste tipo recibe el nombre de registro. A partir de aquí es posible implementar diferentes circuitos como
registros de corrimiento y contadores, éstos últimos también los conocemos como circuitos de reloj. Con los
elementos mencionados es posible construir un microprocesador completo.
6. Relación entre la lógica combinacional y secuencial con la programación
En ésta lección hemos dado una repasada muy básica a los elementos que forman la base de los modernos
sistemas de cómputo, en la sección dedicada al diseño electrónico estudiaremos a profundidad los conceptos
aquí presentados, pero para aquellos que están más interesados en el aspecto programático podemos decir
que con los elementos vistos en ésta lección es posible implementar máquinas de estado, sin embargo la
LUIS MANUEL SOTO GARCIA
SIM 6B
UNEFA NUCLEO ZULIA
CIRCUITOS LOGICOS
ALGEBRA BOOLEANA
moraleja de ésta lección es muy importante: cualquier algoritmo que podamos implementar en software, lo
podemos a su vez implementar directamente en hardware. Ésto sugiere que la lógica booleana es la base
computacional en los modernos sistemas de cómputo actuales. Cualquier programa que Usted escriba,
independientemente del lenguaje que utilice, sea éste de alto ó bajo nivel, se puede especificar como una
secuencia de ecuaciones booleanas.
Un hecho igualmente interesante es el punto de vista opuesto, es posible implementar cualquier función de
hardware directamente en software, en la actualidad ésta es la función principal del lenguaje ensamblador y
otros con capacidad de trabajar directamente en hardware, como el C y el C++. Las consecuencias de éste
fenómeno apenas se están explotando, se infiere la existencia de un futuro muy prometedor para el
profesional de la programación, especialmente aquellos dedicados a los sistemas incrustados (embedded
systems), los micros controladores y los profesionales dedicados a la Programación Orientada a Objetos. Para
tener éxito en éstos campos de la investigación es fundamental comprender las funciones booleanas y la
manera de implementarlas en software. Aún y cuando Usted no desee trabajar en hardware, es importante
conocer las funciones booleanas ya que muchos lenguajes de alto nivel procesan expresiones booleanas,
como es el caso de los enunciados if-then ó los bucles while.
LOS TEOREMAS BÁSICOS DEL ALGEBRA BOOLEANA
LOS TEOREMAS BÁSICOS DEL ÁLGEBRA BOOLEANA SON:
TEOREMA 1
Ley Distributiva
A (B+C) = AB+AC
A
B
C
B+C
AB
AC
AB+AC A (B+C)
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
LUIS MANUEL SOTO GARCIA
SIM 6B
UNEFA NUCLEO ZULIA
CIRCUITOS LOGICOS
ALGEBRA BOOLEANA
TEOREMA 2
A+A = A
AA = A
A
A
A+A
0
0
0
1
1
1
A
A
AA
0
0
0
1
1
1
#]
TEOREMA 3
Redundancia
A+AB = A
[@
A
B
AB
X
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
1
A (A+B) = A
A
B
A+B
X
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
LUIS MANUEL SOTO GARCIA
SIM 6B
UNEFA NUCLEO ZULIA
CIRCUITOS LOGICOS
ALGEBRA BOOLEANA
TEOREMA 4
0+A = A
Equivalente a una compuerta OR con una de sus terminales conectada a tierra
A
B=0
X
0
0
0
1
0
1
1A = A
Equivalente a una compuerta AND con una de sus terminales conectada a 1
A
B=1
X
0
1
0
1
1
1
1+A = 1
A
B=1
X
0
1
1
1
1
1
A
B=0
X
0
0
0
1
0
0
0A = 0
LUIS MANUEL SOTO GARCIA
SIM 6B