Saltar la navegación

2.3. Algebra de Boole

Hay un tipo de álgebra, desarrollada en el siglo XIX por el reverendo George Boole, un religioso inglés, que es muy adecuada para representar la situación anteriormente descrita. Esta rama de las Matemáticas se denomina “Algebra de Boole”. Es un álgebra en la que las variables sólo pueden tomar dos valores, 0 ó 1, existiendo una serie de teoremas y reglas asociadas con el álgebra que permiten la manipulación de ecuaciones booleanas.

Un álgebra de Boole es un conjunto de elementos denominados variables booleanas, las cuales sólo pueden adoptar dos valores o estados perfectamente diferenciados. Estos dos estados, que pueden notarse simbólicamente por 0 y 1, están relacionados por dos operaciones binarias denominadas Suma Lógica (+) y Producto Lógico (·), de modo que se cumplen los siguientes postulados:

1. Ambas operaciones son conmutativas:
a + b = b + a
a · b = b · a

2. Existen dos elementos pertenecientes al álgebra, denominados elementos neutros para cada operación, tales que:
0 + a = a
1 · b = b

3. Cada operación es distributiva respecto de la otra:
a · (b + c) = ( a · b ) + (a · c)
a + (b · c) = (a + b) · (a + c)

4. Existencia del elemento neutro
a + ā = 1
a · ā = 0
Este postulado lleva implícita la existencia de una nueva operación llamada Inversión o Complementación
Nota: El elemento complementario o invertido es el estado contrario del dado.

Teoremas fundamentales de un Álgebra de Boole.
1. Teorema de idempotencia

  • a · a = a
  • a + a = a

2. Teorema de las constantes

  • a + 1 = 1
  • a · 0 = 0

3. Teorema de redundancia o de absorción.

  • a + a · b = a
  • a · (a + b) = a

4. Teorema de asociatividad

  • a + (b + c) = (a + b) + c
  • a · (b · c) = (a · b) · c

5. Teorema del doble complemento

6. Teorema de la falsa redundancia, de condiciones aleatorias o del consenso.

  • a + ā · b = a + b
  • a · (ā + b) = a · b

7. Teorema de De Morgan

2.3.1. Funciones de un Álgebra de Boole

Una función de un álgebra de Boole es una variable binaria cuyo valor es igual al resultado de una expresión algebraica en la que las variables binarias que intervienen se relacionan entre sí por medio de las operaciones básicas: Suma Lógica, Producto Lógico e Inversión o Complementación.

Formas de representar funciones booleanas:
Existen dos formas:
a) Tabla de Verdad. Es una representación tabulada en la que se indican todas las combinaciones posibles que pueden adoptar las variables, así como el valor lógico que toma la función para cada posibilidad.

Ejemplo: f = f (a, b, c)

     23 = 8 posibles combinaciones

b) Representación algebraica. La función expresa como una ecuación algebraica en la que intervienen las variables, bien en su forma directa o en su forma invertida, y relacionadas por las operaciones lógicas: Suma, Producto e Inversión o Complementación.

ç

2.3.2. Mintérminos y maxtérminos

Definiciones importantes:

  • Término canónico: Se entiende por término canónico de una función lógica a todo producto o suma lógica en la que intervienen todas las variables de la función bien en su forma directa o invertida.

Mintérmino (m): Cuando el término canónico es un producto.

Maxtérmino (M): Cuando el término canónico es una suma.

Función expresada en forma canónica: Cuando una función representada algebraicamente tiene todos sus términos canónicos y del mismo tipo (mintérminos o maxtérminos), decimos que la función está expresada en forma canónica

Si una función tiene “n” variables, el máximo número de términos canónicos que puede tener es “2n“, siendo “n” el número de variables de la función.
Existe un criterio generalizado de representación de las funciones canónicas:
- Si una variable está en su forma directa se pone un 1
- Si una variable está en su forma directa se pone un 0

Una función en forma canónica, si se expresa en forma de MINTÉRMINOS, la función toma valor lógico 1 para la combinación de variables que indica cada término canónico. Los mintérminos para los que la función toma valor lógico 0 no van a intervenir en la forma canónica de la función.

2.3.3. Simplificación de funciones lógicas

Uno de los objetivos del diseñador digital, cuando utiliza puertas discretas, es implementar una función booleana con el mínimo posible de puertas lógicas. Cuantas menos puertas se utilicen, menor será el coste del circuito. Se puede realizar la simplificación mediante un proceso puramente algebraico, pero esto puede resultar tedioso, y el diseñador nunca estará seguro de haber conseguido la solución más simple al final del proceso.

Un método de simplificación mucho más fácil es dibujar la función sobre una tabla de Karnaugh y con ayuda de una serie de reglas sencillas, reducir la función booleana a su forma mínima. Este método es muy directo hasta con seis variables: por encima de seis variables es mejor utilizar el método de Quine-McCluskey.

Método gráfico de Karnaugh

Es un método gráfico que se utiliza para minimizar o simplificar funciones lógicas.
Consiste en una especie de “mapa” en el que los cuadrados corresponden a todos los términos canónicos de la función. Habrá tantos cuadrados como términos canónicos de la función.
Ejemplo:
Una función de 4 variables (a, b, c, d) tendrá 24 = 16 cuadrados con el siguiente mapa:

La tabla o mapa siempre se construye así, de manera que cada elemento del mapa es adyacente con sus contiguos (en horizontal y vertical). Se va rellenando el mapa de la siguiente forma:
Se pone un 1 en las casillas que corresponden a los términos canónicos para los que la función vale 1, es decir, se pone un 1 en el mintérmino correspondiente

A continuación se realiza el siguiente proceso sistemático:
1. Se toman todos los unos no contiguos a ningún otro.
2. Se agrupan los grupos de 2 unos contiguos, siempre que no puedan formar parte de un grupo de 4 unos.
3. Se toman los grupos de 4 unos contiguos, siempre que no puedan formar parte de un grupo de 8 unos.
4. Etc.

Cuando se hayan hecho todas las agrupaciones posibles, se habrá acabado; obteniéndose de cada agrupación el conjunto de variables que permanecen sólo en una forma (que no cambian), bien directa o invertida.

2.3.4. Funciones lógicas básicas (puertas lógicas)

a) Suma Lógica (puerta OR). La puerta SUMA LÓGICA o puerta OR es aquella en la que la salida está a 0, sólo cuando todas las entradas están a cero.

b) Producto Lógico (puerta AND). La puerta PRODUCTO LÓGICO o puerta AND es aquella en la que la salida está a 1, sólo cuando todas las entradas están a 1.

c) Inversión o Complementación (puerta NOT). La puerta inversora o puerta NOT es aquella invierte la entrada, es decir, si introducimos un 1 lógico ( 5 v ) obtenemos a la salida un 0 lógico ( 0 v ) y viceversa.

d) Suma Lógica Invertida (NOR). La puerta SUMA LÓGICA INVERTIDA o puerta NOR es una puerta OR a la que se le ha colocado a la salida un inversor, por tanto, la salida está a 1 sólo cuando todas las entradas están a 0. Suma las entradas e invierte el resultado.

e) Producto Lógico Invertido (NAND). La puerta PRODUCTO LÓGICO INVERTIDO o puerta NAND es una puerta AND a la que se le ha colocado a la salida un inversor, por tanto, la salida está a 0 sólo cuando todas las entradas están a 1. Multiplica las entradas e invierte el resultado.

f) Suma lógica Exclusiva (puerta X-OR). La puerta SUMA LÓGICA EXCLUSIVA o puerta EXOR es una puerta en la que la salida está a 0 sólo cuando todas las entradas están a igual nivel lógico. La salida está a 1 siempre que una sola de las entradas está a 1.

2.3.5. Ejercicios

1. Nombra los tipos de puertas lógicas y coloca el valor del bit que falta, bien en la entrada o bien en la salida, según corresponda.

2. Obtén la función lógica de salida de los siguientes circuitos. A partir de la función lógica obtén la tabla de verdad.

3. Obtén la función de salida del siguiente circuito digital:

4. Dibuja el circuito digital con puertas logicas básicas de las siguientes funciones:

5. Para cada una de las siguientes tablas de verdad, obtener la función lógica e implementar el circuito de puertas lógicas.

6. Obtener la salida “f” del siguiente circuito digital

7. Dada la siguiente función de tres variables en forma de mintérminos:

f (a,b, c)=Σ3 (0,2,3,7)

Se pide:
a) Simplificarla por Karnaugh
b) Implementación con puertas NAND de dos entradas e inversoras.
c) Implemetación con puertas NOR de dos entradas e inversoras.

8. Un jurado está formado por tres jueces A, B, y C. Cada juez emite su voto a favor oprimiendo un botón enfrente de él. Expresa en términos minterm la función que se ponga a 1 cuando se produzca una mayoría a favor y a 0 en cualquier otro caso.

9. Un zumbador debe accionarse para dar una señal de alarma “f” cuando cuatro relés (a,b,c,d) cumplan las siguientes condiciones:

  • “a” y “b” excitados, “c” y “d” en reposo.
  • “a” excitado, “b”, “c” y “d” en reposo.
  • “c” excitado, “a”, “b” y “d” en reposo.
  • “a” y “c” excitados, “b” y “d” en reposo.

Se pide:

a) Tabla de verdad y función simplificada.
b) Esquema con puertas lógicas.

10. Dada la función:

f (a,b, c, d)=Σ4 (2,3,5,7,10,11,15) se pide:

a) Simplificarla por Karnaugh
b) Implementar la función mediante puertas NAND de dos y tres entradas

11. Para poner en marcha un motor se requieren tres interruptores “c,b,a” de tal forma que el funcionamiento del mismo se produzca únicamente en las siguientes condiciones:

  • Cuando esté cerrado solamente “c”
  • Cuando estén cerrados simultáneamente “a” y “c” y no lo esté “b”.
  • Cuando estén cerrados simultáneamente “a” y “b” y no lo esté “c”.

Se pide:
a) Construir la tabla de verdad
b) Implementar el circuito con puertas NAND de dos entradas
c) Implementar el circuito con puertas NOR de dos entradas

12. Un circuito lógico recibe como entradas un número decimal (de 0 a 9) codificado en binario (4 entradas de un bit). La salida será 1 siempre que el número decimal sea menor o igual a 5. Se pide:

a) Función lógica y tabla de verdad.
b) Simplificación por Karnaugh y circuito con puertas lógicas de la función simplificada.

13. Un pequeño taller dispone de tres máquinas, M1, M2 y M3, que en marcha consumen, respectivamente, 3, 6 y 9 kW. Para indicar un consumo excesivo, una señal de alerta S actúa cuando se superan los 10 kW. Se pide:

a) Obtener la tabla de verdad y la función lógica simplificada.
b) Dibujar el circuito lógico correspondiente a la función lógica simplificada.

2.3.6. Realización de funciones de funciones mediante puertas NAND y NOR

Debido a la tecnología de fabricación de puertas lógicas, los circuitos integrados con puertas NAND, NOR y NOT, son las más comunes; y, consecuentemente, estas tres puertas son las más utilizadas en la implementación de funciones lógicas. También se ha de tener en cuenta que estas puertas se presentan en forma de circuito integrado, y el uso de dos o más tipos de puertas lógicas supone el uso de dos o más circuitos integrados. De ahí que cuando se esté implementando una función lógica se han de tener en cuenta las distintas posibilidades de obtención de esa función lógica. Veremos, a continuación, cómo se pueden obtener las funciones lógicas básicas (suma, producto y complementación) contando únicamente con puertas NAND o con puertas NOR.

A continuación obtendremos las tres puertas básicas con sólo puertas NAND y con sólo puertas NOR. A efectos de simplificación, utilizaremos puertas de dos entradas.

Obtención de funciones lógicas básicas con puertas NAND

Obtención de funciones lógicas básicas con puertas NOR


Ejercicio 1


Ejercicio 2

Obtención de puertas de tres entradas a partir de 2 entradas

2.3.7. Funciones incompletas y funciones múltiples

Hay circuitos lógicos con "n" entradas en los cuales sólo se dan unas cuantas combinaciones de las 2n posibles; y circuitos con salidas de más de un bit. Para representar el funcionamiento de este tipo de circuitos se utilizan un tipo de funciones que no obedecen a la expresión general vista. Son las funciones incompletas y las funciones múltiples.

Funciones incompletas
Las funciones incompletas son funciones cuyo valor puede ser indistintamente 1 o 0 para algunas de las combinaciones de entrada, bien porque dichas combinaciones no vayan a darse nunca durante el funcionamiento del circuito, bien porque el valor de la función para dichas combinaciones sea indiferente. Para representar en la tabla de verdad el valor de la función para estas combinaciones utilizaremos el símbolo "x" (aspa).

Por ejemplo: la tabla siguiente corresponde a un circuito lógico que detecta (indicándolo con un 1) si la cifra codificada en BCD es una cifra par (si no lo es lo indica con un 0); el 0 lo considera como una cifra par.

Al ser el valor de entrada una cifra codificada en BCD se necesitan 4 bits, lo que supone que, teóricamente, se presenten 16 combinaciones posibles. Como ya sabemos, en la práctica sólo se presentarán diez: las correspondientes a las diez cifras decimales. Por lo tanto, las seis combinaciones restantes no nos interesan: no nos importa qué valor se obtiene en la salida ya que son combinaciones que no se darán nunca.

La función incompleta se puede expresar como:
f(d,c,b,a) =∑4(8,6,4,2,0) +  ∑Φ(15,14,13,12,11,10)

donde el primer sumatorio indica los términos mintérminos y el segundo los términos correspondientes a un valor indistinto de la función.

Para simplificar funciones incompletas hemos de considerar dichos valores indeterminados como 0 o 1, según nos convenga para obtener la mayor simplificación posible. Simplificando por Karnaugh, se colocan aspas en las celdas correspondientes a las configuraciones de entrada indeterminadas; consideraremos dichas aspas como unos cuando sirvan para formar grupos mayores con un 1 o más, a fin de simplificar más. La función anterior se simplificaría así:

Hemos dejado sin agrupar tres aspas (combinaciones 11, 13 y 15) y formar así un único grupo de 8 unos (con lo que se simplificarán 3 variables). Este único grupo da origen a un único término: S = ā. En este caso, podríamos llegar a la misma función teniendo en cuenta que, para las combinaciones reales de entrada, el valor de la salida S es siempre lo negado de lo que indique la entrada a.


Funciones múltiples

Las funciones múltiples son grupos de dos o más funciones que dependen de las mismas variables de entrada. Las funciones múltiples representan el funcionamiento de aquellos circuitos lógicos que tienen más de una línea de salida. Lógicamente, las entradas de esos circuitos son las mismas para todas las salidas. 
Por ejemplo: la tabla siguiente corresponde a un circuito que realiza la suma aritmética de dos números de dos bits cada uno: A (b a) y B(d c). El resultado mayor que se puede dar es 3 + 3 = 6, con lo cual se ha de utilizar tres bits de salida.

En muchas ocasiones se dan combinaciones de entrada para las cuales el valor de las distintas salidas es el mismo; por ello, conviene efectuar la simplificación de dichas funciones de salida de forma conjunta, intentando encontrar agrupaciones de términos que sean comunes a todas o a algunas de las funciones. Estas agrupaciones darán lugar cada una a un término simplificado común, es decir, a una puerta lógica compartida por varias funciones.

Creado con eXeLearning (Ventana nueva)