EJERCICIO DE APLICACIÓN DE COMPUERTAS LÒGICAS
Se pide diseñar un circuito que controle un sistema de protección contra incendios
que cumpla con las siguientes características:
Se tendrá un interruptor que encenderá la alarma
Se tendrán dos sensores, un detector de humo y un detector de temperatura.
La alarma se activará cuando ambos detectores se activen simultáneamente,
es decir, si solo se activa el detector de humo y no el de temperatura, la
alarma permanecerá apagada, si solo se activa el detector de temperatura y
no el de humo, la alarma permanecerá apagada.
Además, se pide optimizar el sistema todo lo posible.
Pasos para resolver el problema
1. establecer el número de entradas
Para este problema se tiene tres entradas, el interruptor, el detector de humo y el
detector de temperatura, entonces se tienen 3 entradas.
2. Asignar variables a las entradas
El interruptor corresponderá a una variable (A), el detector de humo será (B) y el
detector de temperatura será (C).
3. Establecer una tabla de verdad
En una tabla de verdad se muestran series de estados de las variables, y se buscan
las serien que produzcan una salida igual a 1. Se realiza de la siguiente manera:
Del lado derecho se colocan las salidas, esta vez las salidas corresponderán
a una variable (X):
Del lado izquierdo se colocan las variables que pertenecen a las entradas:
Debajo de las variables se colocaran ceros y unos de la siguiente forma:
A cada fila de ceros y unos se le asignará un nombre, ya que cada fila
representa una serie de estados específica:
4. Evaluar los estados según el problema
El problema exige las siguientes situaciones:
Independientemente de que los sensores estén activos o no, si se
presiona el interruptor se activa la alarma, es decir, siempre que
A = 1, se activa la alarma.
Cuando ambos sensores están activos, se activa la alarma, es decir,
si B = 1 y C = 1 están activos de forma simultánea, se activa la alarma.
Ahora se debe encontrar las series que cumplan las necesidades del
problema:
A B C X
M0 0 0 0
M1 0 0 1
M2 0 1 0
M3 0 1 1
M4 1 0 0
M5 1 0 1
M6 1 1 0
M7 1 1 1
M4, M5, M6 y M7 cumplen la primer situación (A = 1)
A B C X
M0 0 0 0
M1 0 0 1
M2 0 1 0
M3 0 1 1
M4 1 0 0
M5 1 0 1
M6 1 1 0
M7 1 1 1
M3 y M7 cumplen la segunda situación (B = 1 y C = 1
simultáneamente)
A cada serie de la tabla de verdad que cumpla con las necesidades del problema
se le asigna una salida igual a 1. A las demás se les asigna una salida cero:
A B C X
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
5. Establecer función booleana
Teniendo definida la tabla de verdad, se interpreta de la siguiente manera:
A B C X
̅𝐁
𝐀 ̅ 𝐂̅ 0 0 0 0
̅𝐁
𝐀 ̅𝐂 0 0 1 0
̅ 𝐁𝐂̅
𝐀 0 1 0 0
̅ 𝐁𝐂
𝐀 0 1 1 1
𝐀𝐁̅ 𝐂̅ 1 0 0 1
𝐀𝐁̅𝐂 1 0 1 1
𝐀𝐁𝐂̅ 1 1 0 1
𝐀𝐁𝐂 1 1 1 1
Se desprecian las circunstancias con X = 0
A B C X
̅𝐁
𝐀 ̅ 𝐂̅ 0 0 0 0
̅𝐁
𝐀 ̅𝐂 0 0 1 0
̅ 𝐁𝐂̅
𝐀 0 1 0 0
̅ 𝐁𝐂
𝐀 0 1 1 1
𝐀𝐁̅ 𝐂̅ 1 0 0 1
𝐀𝐁̅𝐂 1 0 1 1
𝐀𝐁𝐂̅ 1 1 0 1
𝐀𝐁𝐂 1 1 1 1
Entonces se tiene que
Cuando A = 0, B = 1 y C = 1, X = 1
Cuando A = 1, B = 0 y C = 0, X = 1
Cuando A = 1, B = 0 y C = 1, X = 1
Cuando A = 1, B = 1 y C = 0, X = 1
Cuando A = 1, B = 1 y C = 1, X = 1
La función booleana resultante es:
̅ 𝐂̅ + 𝐀𝐁
̅ 𝐁𝐂 + 𝐀𝐁
𝐀 ̅ 𝐂 + 𝐀𝐁𝐂̅ + 𝐀𝐁𝐂
Realizar diagrama de la función booleana
Se utilizaran para este diagrama compuertas de solo 2 entradas debido a que este
tipo de compuerta es la normalmente disponible de forma comercial. El diagrama
es el siguiente:
SIMPLIFICACIÓN DE UNA FUNCIÓN BOOLEANA
Teóricamente, la función resultante satisface las necesidades del problema, pero en
la práctica esta función es muy ineficiente, siendo que se necesitan al menos 15
compuertas para que funcione, generando un gasto excesivo, por lo que es
necesario simplificarla lo más posible. Este tipo de función se puede simplificar de
dos formas diferentes:
1. Utilizando algebra booleana
El álgebra booleana se basa en el uso de teoremas, que son operaciones
que afirman una situación en base a un sistema. Para el álgebra booleana
encontramos los siguientes teoremas:
𝟏. 𝐗 ∗ 𝟎 = 𝟎
𝟐. 𝐗 ∗ 𝟏 = 𝐗
𝟑. 𝐗 ∗ 𝐗 = 𝐗
̅= 𝟎
𝟒. 𝐀 ∗ 𝐀
𝟓. 𝐗 + 𝟎 = 𝐗
𝟔. 𝐗 + 𝟏 = 𝐗
𝟕. 𝐗 ∗ 𝐗 = 𝐗
̅= 𝟏
𝟖. 𝐀 + 𝐀
𝟗. 𝐗 + 𝐘 = 𝐘 + 𝐗
𝟏𝟎. 𝐗 ∗ 𝐘 = 𝐘 ∗ 𝐗
𝟏𝟏. 𝐗 + ( 𝐘 + 𝐙) = 𝐗 + 𝐘 + 𝐙
𝟏𝟐. 𝐗 ∗ (𝐘 ∗ 𝐙) = (𝐗 ∗ 𝐘 ∗ 𝐙 = 𝐗 ∗ 𝐘 ∗ 𝐙
𝟏𝟑. 𝐗 ∗ (𝐘 + 𝐙) = 𝐗 ∗ 𝐘 + 𝐗 ∗ 𝐙
𝟏𝟒. (𝐖 + 𝐱) ∗ (𝐘 + 𝐙) = 𝐖𝐘 + 𝐗𝐘 + 𝐖𝐙 + 𝐗𝐙
𝟏𝟓. 𝐗 + 𝐗 ∗ 𝐘 = 𝐗𝐨𝐗 ∗ (𝐗 + 𝐘) = 𝐗
𝟏𝟔. 𝐀 + 𝐀𝐘 = 𝐗 + 𝐘
Utilizaremos los teoremas que sean necesarios para simplificar esta función,
aplicando también algunos conceptos de matemática básica.
1. Propiedad asociativa
La propiedad asociativa dicta que el orden en que se asocien los factores no altera
el producto. Para esta función asociaremos de la siguiente manera:
̅ 𝐂̅ + 𝐀𝐁
̅ 𝐁𝐂 + (𝐀𝐁
𝐀 ̅ 𝐂) + (𝐀𝐁𝐂̅ + 𝐀𝐁𝐂)
2. Factorizar
En el primer conjunto encontramos dos productos que tienen un factor común, que
̅ , por lo que se puede factorizar. Lo mismo sucede en el segundo conjunto con
es 𝐀𝐁
𝐀𝐁:
̅ 𝐂̅ + 𝐀𝐁
̅ 𝐁𝐂 + (𝐀𝐁
𝐀 ̅ 𝐂) + (𝐀𝐁𝐂̅ + 𝐀𝐁𝐂)
̅ (𝐂̅ + 𝐂) + 𝐀𝐁(𝐂̅ + 𝐂)
̅𝐁𝐂 + 𝐀𝐁
𝐀
3. Teorema numero 8
̅ = 𝟏). Este es aplicable en
Este teorema expresa la siguiente igualdad (𝐀 + 𝐀
ambos conjuntos:
̅ (𝐂̅ + 𝐂) + 𝐀𝐁(𝐂̅ + 𝐂)
̅𝐁𝐂 + 𝐀𝐁
𝐀
̅ 𝐁𝐂 + 𝐀𝐁
𝐀 ̅ (𝟏) + 𝐀𝐁(𝟏)
̅ 𝐁𝐂 + 𝐀𝐁
𝐀 ̅ + 𝐀𝐁
1. Asociar, factorizar y teorema 8
Es posible asociar los dos últimos productos, factorizar 𝐀 y aplicar el teorema
numero 8:
̅𝐁𝐂 + (𝐀𝐁
𝐀 ̅ + 𝐀𝐁)
̅ 𝐁𝐂 + 𝐀(𝐁
𝐀 ̅ + 𝐁)
̅ 𝐁𝐂 + 𝐀(𝟏)
𝐀
̅ 𝐁𝐂 + 𝐀
𝐀
En este punto ya no es posible simplificar más la función, por lo que se tiene que:
̅ 𝐂̅ + 𝐀𝐁
̅𝐁𝐂 + 𝐀𝐁
𝐀 ̅ 𝐂 + 𝐀𝐁𝐂̅ + 𝐀𝐁𝐂 = 𝐀
̅ 𝐁𝐂 + 𝐀
Utilizando el mapa de Karnaugh
El mapa de Karnaugh es un recurso utilizado para simplificar funciones
booleanas que aprovecha la capacidad del cerebro humano para detectar
patrones. Para utilizar el mapa de Karnaugh se debe seguir el siguiente
procedimiento:
1. Establecer la magnitud del mapa
El mapa de Karnaugh se muestra como un cuadro con una cantidad x de casillas.
Para saber la cantidad de casillas se utiliza la expresión 2𝑛 , donde n es el número
de variables del problema. Para este caso se tienen tres variables (A, B y C), y
siendo que 23 = 8, nuestro mapa de Karnaugh será de 8 casillas esparcidas en
cuadro de 2 * 4 casillas vertical u horizontal:
2. Ordenar las variables en el mapa
Se debe asignar un lugar a las variables para luego darle valores específicos. Se
hará de la siguiente manera:
3. Asignar valores a las variables
A cada variable se le otorgaran “estados”, es decir, valores entre 0 y 1 que indican
una circunstancia especifica:
Para X:
Para Y:
Para Z:
Reemplazando (X, Y, Z) con las variables utilizadas en el problema:
BC
A 00 01 11 10
También es útil expresar las equivalencias de cada estado:
4. Rellenar el cuadro utilizando la tabla de verdad
Con los estados de la tabla de verdad donde X = 1 se llena el cuadro del mapa de
Karnaugh, ubicando los estados del mapa que coincidan con los estados de la tabla.
A B C X
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
La primera serie de estados con X = 1 tiene (A = 0) y (B, C = 11), ubicamos esta
casilla en el mapa de Karnaugh:
Se llena esta casilla con el valor de X de la serie, en este caso X = 1
BC
A 00 01 11 10
0 1
1
Se realiza el mismo procedimiento con todos los otros estados de la tabla de verdad,
resultando en lo siguiente:
BC
A 00 01 11 10
0 1
1 1 1 1 1
Los espacios en blanco se rellenan con ceros
BC
A 00 01 11 10
0 0 0 1 0
1 1 1 1 1
5. Encontrar grupos en el mapa de Karnaugh
En un mapa de Karnaugh se asocian dígitos para encontrar la función, siendo estos
dígitos el valor 1 (para Min-términos). Para encontrar grupos en este mapa de
Karnaugh, se debe tener en cuenta las siguientes reglas:
a) Para un mapa de tres variables, solo se pueden hacer grupos de 1, 2, 4
u 8 dígitos.
b) Solo se pueden hacer grupos de dígitos en líneas verticales u
horizontales.
Teniendo esto en cuenta, se encuentra lo siguiente:
6. Encontrar la función resultante
Con los grupos encontrados, se busca evaluar la continuidad de las variables, es
decir, si una variable cambia de estado (de 0 a 1 o viceversa). Para el primer grupo
de color rojo:
Las
variables que cambian se desprecian, y las que no cambian se conservan. Para el
grupo azul:
Entonces el grupo rojo tiene (A = 1) y el grupo azul tiene (B = 1 y C =1), siendo esto
igual a:
𝐠𝐫𝐮𝐩𝐨 𝐫𝐨𝐣𝐨 = 𝐀
𝐠𝐫𝐮𝐩𝐨 𝐚𝐳𝐮𝐥 = 𝐁𝐂
Entonces la función resultante es:
𝐀 + 𝐁𝐂
Con esto ya está simplificada la función a su mínima expresión:
̅ 𝐂̅ + 𝐀𝐁
̅ 𝐁𝐂 + 𝐀𝐁
𝐀 ̅ 𝐂 + 𝐀𝐁𝐂̅ + 𝐀𝐁𝐂 = 𝐀 + 𝐁𝐂
En la función inicial, fueron necesarias 15 compuertas lógicas de 2 entradas (8
compuertas AND, 4 compuertas OR y 3 compuertas NOT). Al simplificar con algebra
booleana se disminuyó de 15 compuertas a 4 compuertas entradas (2 compuertas
AND, 1 compuerta OR y 1 compuerta NOT), y con el mapa de Karnaugh se
disminuyó de 15 compuertas a 2 compuertas (una compuerta AND y una compuerta
OR).