El documento describe la relación entre el álgebra de Boole, la lógica proposicional y los circuitos lógicos. Explica que el álgebra de Boole define operaciones matemáticas como AND, OR y NOT que se corresponden con las compuertas lógicas utilizadas en los circuitos digitales. También presenta diagramas de Karnaugh, que son útiles para simplificar funciones booleanas y diseñar circuitos lógicos de manera eficiente.
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Álgebra de Boole circuitos lógicos
1. INSTITUTO UNIVERSITARIO DE TECNOLOGÍA
“ANTONIO JOSÉ DE SUCRE”
EXTENSIÓN - BARQUISIMETO
APLICACIÓN E IMPORTANCIA DE LOS CIRCUITOS, DEL
ÁLGEBRA DE BOOLE Y COMPUERTAS LÓGICAS
INTEGRANTE:
GERMAN AGÜERO
C.I. V- 20.668.605
ÁLGEBRA
2. APLICACIÓN E IMPORTANCIA DE LOS CIRCUITOS, DEL
ÁLGEBRA DE BOOLE Y COMPUERTAS LÓGICAS
Se realizan estas presentaciones con el fin de demostrar la afinidad
existente entre el álgebra de boole y la lógica proposicional, y con el objeto de
cimentar el procedimiento de simplificación presentado en la lógica de
proposiciones. Las álgebras booleanas, estudiadas por primera vez en detalle por
George Boole , constituyen un área de las matemáticas que ha pasado a ocupar
un lugar prominente con el advenimiento de la computadora digital. Son usadas
ampliamente en el diseño de circuitos de distribución y computadoras, y sus
aplicaciones van en aumento en muchas otras áreas. En el nivel de lógica digital
de una computadora, lo que comúnmente se llama hardware, y que está formado
por los componentes electrónicos de la máquina, se trabaja con diferencias de
tensión, las cuales generan funciones que son calculadas por los circuitos que
forman el nivel. Éstas funciones, en la etapa de diseña del hardware, son
interpretadas como funciones de boole. En el presente trabajo se intenta dar una
definición de lo que es un álgebra de boole; se tratan las funciones booleanas,
haciendo una correlación con las fórmulas proposicionales. Asimismo, se plantean
dos formas canónicas de las funciones booleanas, que son útiles para varios
propósitos, tales como el de determinar si dos expresiones representan o no la
misma función. Pero para otros propósitos son a menudo engorrosas, por tener
más operaciones que las necesarias. Particularmente, cuando estamos
construyendo los circuitos electrónicos con que implementar funciones booleanas,
el problema de determinar una expresión mínima para una función es a menudo
crucial. No resultan de la misma eficiencia en dinero y tiempo, principalmente, dos
funciones las cuales calculan lo mismo pero donde una tiene menos variables y lo
hace en menor tiempo. Como solución a este problema, se plantea un método de
simplificación, que hace uso de unos diagramas especiales llamados mapas o
diagramas de Karnaugh, y el cual tiene la limitación de poder trabajar
adecuadamente sólo con pocas variables. Se realizan estas presentaciones con
el fin de demostrar la afinidad existente entre el álgebra de boole y la lógica
proposicional, y con el objeto de cimentar el procedimiento de simplificación
presentado en la lógica de proposiciones. Las álgebras booleanas, estudiadas por
3. primera vez en detalle por George Boole , constituyen un área de las matemáticas
que ha pasado a ocupar un lugar prominente con el advenimiento de la
computadora digital. Son usadas ampliamente en el diseño de circuitos de
distribución y computadoras, y sus aplicaciones van en aumento en muchas otras
áreas. En el nivel de lógica digital de una computadora, lo que comúnmente se
llama hardware, y que está formado por los componentes electrónicos de la
máquina, se trabaja con diferencias de tensión, las cuales generan funciones que
son calculadas por los circuitos que forman el nivel. Éstas funciones, en la etapa
de diseña del hardware, son interpretadas como funciones de boole. Se intenta
dar una definición de lo que es un álgebra de boole; se tratan las funciones
booleanas, haciendo una correlación con las fórmulas proposicionales. Asimismo,
se plantean dos formas canónicas de las funciones booleanas, que son útiles para
varios propósitos, tales como el de determinar si dos expresiones representan o
no la misma función. Pero para otros propósitos son a menudo engorrosas, por
tener más operaciones que las necesarias. Particularmente, cuando estamos
construyendo los circuitos electrónicos con que implementar funciones booleanas,
el problema de determinar una expresión mínima para una función es a menudo
crucial. No resultan de la misma eficiencia en dinero y tiempo, principalmente, dos
funciones las cuales calculan lo mismo pero donde una tiene menos variables y lo
hace en menor tiempo. Como solución a este problema, se plantea un método de
simplificación, que hace uso de unos diagramas especiales llamados mapas o
diagramas de Karnaugh, y el cual tiene la limitación de poder trabajar
adecuadamente sólo con pocas variables. Se realizan estas presentaciones con
el fin de demostrar la afinidad existente entre el álgebra de boole y la lógica
proposicional, y con el objeto de cimentar el procedimiento de simplificación
presentado en la lógica de proposiciones.
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
4. 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. - 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.
5. 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, ésto 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 2: A · A = A Teorema 3: A + 0 = A Teorema 4: A ·
1 = A Teorema 5: A · 0 = 0 Teorema 6: A + 1 = 1 Teorema 7: (A + B)‟ = A‟ · B‟
Teorema 8: (A · B)‟ = A‟ + B‟ Teorema 9: A + A · B = A Teorema 10: A · (A + B) =
A Teorema 11: A + A‟B = A + B Teorema 12: A‟ · (A + B‟) = A‟B‟ Teorema 13: AB +
AB‟ = A Teorema 14: (A‟ + B‟) · (A‟ + B) = A‟ Teorema 15: A + A‟ = 1 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ó.
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
6. primera función: x + x‟ = 1 Complemento respecto a la segunda función: xx‟ = 0
Propiedades Del Álgebra De Boole
Idempotente 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‟ 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 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
7. Á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:
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
8. 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.
11. 9
a
b
c
f
g
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.
Relación entre la lógica combinacional y secuencial con la programación
Es posible implementar máquinas de estado, sin embargo la 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
12. 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 microcontroladores 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
15. 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
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
16. 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
0A = 0
A
B=0
X
0
0
0
1
0
0