Tema 2.
Funciones Lógicas
• Algebra de Conmutación.
• Representación de circuitos digitales.
• Minimización de funciones lógicas.
1
Álgebra de conmutación
• Algebra de Conmutación: Postulados y Teoremas.
• Representación de problemas lógicos. Definición de
funciones lógicas. Puertas lógicas y circuitos
lógicos. Simplificación de funciones lógicas y de
circuitos lógicos.
• Representación de problemas lógicos. Tabla de
verdad. Paso de una tabla de verdad a una función
lógica: formas canónicas. Funciones lógicas
incompletamente especificadas.
2
Álgebra de Commutación
• Álgebra de Boole. Definición y Postulados.
• Álgebra de conmutación. Operadores
lógicos.
• Teoremas del álgebra de Boole.
3
Álgebra de Boole
• Sistema algebraico formado por un conjunto B = {0, a, b, …, 1}
finito, y dos operaciones [+, •], que cumplen los siguientes
postulados para cualesquiera elementos X, Y, Z Є B,
P1. X + Y Є B; X • Y Є B
P2. Propiedades conmutativa => X + Y = Y + X; X • Y = Y • X
P3. Propiedades distributivas =>
X • ( Y + Z ) = (X • Y) + (X • Z)
X + ( Y • Z ) = (X + Y) • (X + Z)
P4. Elemento identidad => X + 0 = X; X • 1 = X
P5. Elemento complementado => Para X existe X Є B, tal que
X • X = 0 y X + X = 1.
4
Álgebra de Commutación
• Sistema algebraico formado por un conjunto B = {0, 1}, con las
siguientes operaciones [+, •]
X Y X+Y X Y X•Y
0 0 0 0 0 0 X X
0 1 1 0 1 0 0 1
1 0 1 1 0 0 1 0
1 1 1 1 1 1
• El álgebra de conmutación cumple los postulados del álgebra de
Boole:
P1: Los resultados de X + Y y X • Y son 0 ó 1
P2: 0 + 1 = 1 + 0 = 1; 0•1=1•0=0
P4: 0 + 0 = 0, 1 + 0 = 1; 0 • 1 = 0, 1 • 1 = 1
P5: 0 + 1 = 1, 0 • 1 = 0 => 0 = 1; 1 + 0 = 1, 1 • 0 = 0 => 1 = 0
5
X Y Z Y + Z X ( Y + Z) X Y X Z XY + XZ
La propiedad 0 0 0 0 0 0 0 0
distributiva se 0 0 1 1 0 0 0 0
comprueba por 0 1 0 1 0 0 0 0
perfecta inducción o 0 1 1 1 0 0 0 0
prueba de todas las 1 0 0 0 0 0 0 0
1 0 1 1 1 0 1 1
posibilidades en tres
1 1 0 1 1 1 0 1
variables booleanas 1 1 1 1 1 1 1 1
X, Y y Z.
X Y Z Y Z X + Y Z X + Y X + Z (X + Y) (X + Z)
0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0
0 1 0 0 0 1 0 0
0 1 1 1 1 1 1 1
1 0 0 0 1 1 1 1
1 0 1 0 1 1 1 1
1 1 0 0 1 1 1 1
1 1 1 1 1 1 1 1
6
• El álgebra de conmutación guarda correspondencia
con la lógica de proposiciones donde se estudian
razonamientos en función de los valores verdadero (V)
y falso (F) y las operaciones entre ellos AND (Y lógico),
OR (O lógico) y NOT (No lógico) mediante la siguiente
transformación:
0 F, 1 V, + OR, • AND, NOT
• También guarda relación con la teoría de conjuntos
usando la siguiente transformación:
0 {f}, 1 {U}, + , • , {A} {U} - {A}
• Por tanto, especificaciones lógicas ó basadas en
conjuntos pueden resolverse mediante el álgebra de
conmutación.
7
Funciones lógicas básicas
X Y X AND Y X Y X•Y
• Operación AND
F F F 0 0 0
X F V F 0 1 0
X•Y
V F F 1 0 0
Y V V V 1 1 1
• Operación OR X Y X OR Y X Y X+Y
F F F 0 0 0
X X+Y F V V 0 1 1
V F V 1 0 1
Y
V V V 1 1 1
• Operación NOT
X NOT X X X
X X
F V 0 1
V F 1 0
8
Teoremas del Álgebra de Boole
• Estos teoremas se demuestran a partir de los postulados
del álgebra de boole y se aplican a cualquier álgebra de
Boole, incluido el álgebra de conmutación.
La aplicación de estos teoremas permite la modificación
o la simplificación de expresiones lógicas por otras
equivalentes.
• Principio de dualidad: los postulados presentan dos
versiones intercambiando (1 0), y (+ •).
Esto implica que demostrado un teorema determinado,
haciendo los intercambios anteriores en la definición del
teorema queda determinado un nuevo teorema.
Por ejemplo: si demuestro que X + 1 = 1 X • 0 = 0
queda demostrado por dualidad.
9
• T1. Teorema de la doble complementación: X = X
• T2. Teorema de la idempotencia: X + X = X; X • X = X
• T3. Teorema de la identidad: X + 1 = 1; X • 0 = 0
• T4. Teorema de absorción:
X + X • Y = X; X • (X + Y) = X
• T5. Propiedad asociativa:
X + (Y + Z) = (X + Y) + Z; X • (Y • Z) = (X • Y) • Z
Este teorema indica que se pueden utilizar puertas
lógicas de 3, 4, … entradas.
10
• T6. Teorema de DeMorgan:
X + Y = X • Y; X•Y=X+Y
• T7. Teorema de adyacencia:
X • Y + X • Y = X; (X + Y) • (X + Y) = X
• T8. Teorema del consenso:
X•Y+X•Z+Y•Z=X•Y+X•Z
(X + Y) • (X + Z) • (Y + Z) = (X + Y) • (X + Z)
• T9. Teorema de simplificación:
X + X • Y = X + Y; X•(X+Y)=X•Y
11
Demostraciones de teoremas
• Teorema T3: X + 1 = 1
X + 1 = (X + 1) • 1; Postulado P4
ഥ);
(X + 1) • 1 = (X + 1) • (X + X Postulado P5
ഥ) = X + 1 • X
(X + 1) • (X + X ഥ; Postulado P3
X+1•X ഥ=X+X ഥ • 1; Postulado P2
X+X ഥ•1=X+X ഥ; Postulado P4
X+X ഥ = 1; Postulado P5
• Teorema T4; X + X • Y = X
X + X • Y = X • 1 + X • Y; Postulado P4
X • 1 + X • Y = X • (1 + Y); Postulado P3
X • (1 + Y) = X • (Y + 1); Postulado P2
X • (Y + 1) = X • 1; Teorema T3
X • 1 = X; Postulado P4
12
Representación de problemas lógicos
• Un problema lógico se corresponde con un enunciado
en el que se puede describir el problema mediante
relaciones entre variables que se pueden definir
mediante los valores verdadero y falso (variables
lógicas).
La alarma de un coche se enciende cuando se cierran
las puertas sin ajustar los cinturones de seguridad, ó
cuando se enciende el motor estando las puertas
abiertas.
Al (alarma encendida) => Encendida (V), Apagada (F)
Pu (puertas cerradas) => Cerrada (V), Abierta (F)
Ci (cinturón ajustado) => Ajustado (V), Suelto (F)
Mo (motor encendido) => Encendido (V), Apagado (F)
13
• Para la resolución del problema hay que plasmar el
enunciado de forma que se pueda expresar como
una serie de entradas y salidas de tipo lógico. Hay
dos representaciones de los problemas:
- Funciones Lógicas => Circuitos Lógicos
ഥ + Mo • Pu
Al = F (Pu, Ci, Mo) = Pu • 𝐶𝑖
- Tabla de verdad: Pu Ci Mo Al
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 0
14
Funciones lógicas
• Una función lógica es una expresión matemática que
evalúa cuando una variable lógica toma el valor lógico
Verdadero en función de los valores (Verdadero o Falso)
de otras variables lógicas operados mediante las
operaciones AND, OR y NOT. Normalmente, para
escribir las funciones lógicas se usan los valores (0, 1) y
los operadores típicos ( , •, +) del álgebra de
conmutación (de mayor a menor proridad, se pueden
alterar mediante paréntesis).
Z = F1(X, Y, Z) = X + Y • Z; K = F2(X, Y, Z) = X + Y • Z
T = F3(X, Y, Z) = (X + Y) • Z; R = F4(X, Y, Z) = X + Y • Z
Además, en circuitos digitales se usa X Y XY
también el operador (EXOR), con 0 0 0
esta tabla de operación y la misma 0 1 1
prioridad que el operador +. 1 0 1
1 1 0
F(X, Y, Z)= (X + Y Z ) X Z 15
Puertas Lógicas
• Para una representación circuital de las funciones
lógicas se utilizan puertas lógicas. Los circuitos
lógicos se generan como una conexión de puertas
lógicas.
ഥ + Mo • Pu
Al = F (Pu, Ci, Mo) = Pu • 𝐶𝑖
Pu L1
Ci ഥ
Ci Al
Pu
Mo
16
Puerta Buffer: 1 entrada Puerta NOT ó Inversor:
1 entrada
X Z X Z X Z X Z
0 0 0 1
1 1 1 0
Z = F(X) = X Z = F(X) = X
Puerta AND: 2 ó más entradas. Puerta NAND: 2 ó más entradas.
La salida es 0 si alguna entrada La salida es 1 si alguna entrada
es 0, si no es 1. es 0, si no es 0.
X Y Z X Y Z
X 0 0 0 X 0 0 1
Z Z
0 1 0 0 1 1
Y 1 0 0 Y 1 0 1
1 1 1 1 1 0
Z = F(X, Y) = X • Y Z = F(X, Y) = X • Y
17
Puerta OR: 2 ó más entradas. La Puerta NOR: 2 ó más entradas.
salida es 1 si alguna entrada es 1, La salida es 0 si alguna entrada
si no es 0. es 1, si no es 0.
X Y Z X Y Z
0 0 0 X 0 0 1
X Z
Z 0 1 1 0 1 0
Y 1 0 1 Y 1 0 0
1 1 1 1 1 0
Z = F(X, Y) = X + Y Z = F(X, Y) = X + Y
Puerta EXOR*: 2 ó más entradas. Puerta EXNOR*: 2 ó más entradas.
La salida es 1 si sólo una entrada La salida es 1 si las entradas son
es 1, si no es 0. (1) Op: ⊕ iguales, si no es 0. (1) Op: ⊙
El número de El número de
X Y Z X Y Z
entradas a 1 es entradas a 1 es
impar. (2) 0 0 0 0 ó par. (2) 0 0 1
X 0 1 1 X 0 1 0
Z 1 0 1 Z 1 0 0
Y 1 1 0 1 1 1
Y
Z = F(X, Y) = X Y = X Y + X Y Z = F(X, Y) = X Y = X Y + X Y
18
* Para más de 2 entradas las definiciones 1 y 2 son distintas, y ⊙ no es el complemento de ⊕
Operaciones básicas en puertas lógicas
X X X X
X 0 X 0
1
1 0 X X
X X X X X X
1 1
1
1 0 X X
X X X X
1 X X 1
0
1 0 X X
X 0 X X X X X
0 0
1 0 X X
19
Operaciones básicas en puertas lógicas
XY=XY+XY XY=XY+XY
X X X X
X X 0 1
1 0 X X
X X X X
X X 1 0
1 0 X X
X X X X
<=> <=> <=>
Y Y Y Y
X X X X
<=> <=> <=>
Y Y Y Y
20
Simplificación de Funciones Lógicas
• Una misma especificación lógica puede expresarse
por muchas funciones lógicas diferentes,
sustituyendo términos con ayuda de los teoremas y
postulados del álgebra de Boole.
• Funciones lógicas distintas dan lugar a circuitos
lógicos distintos. Normalmente nos interesa un
circuito lo más pequeño posible => una función
lógica con el menor número de términos y
operaciones.
• Las expresiones y los teoremas del álgebra de
conmutación muestran ejemplos de reducciones de
circuitos digitales.
21
22
23
Errores comunes en simplificaciones lógicas
Intentar realizar solo “multiplicaciones” para reducir al
final, sin utilizar todos los postulados y teoremas
disponibles. Simplificar rápidamente todo lo que se pueda.
Aplicar mal los teoremas de X+Y=Xഥ+Y
ഥ
Demorgan: ഥ Y
XY=X ഥ MAL
No utilizar paréntesis al eliminar complementos de
expresiones:
Hay que suponer que debajo del
XY Z=X ഥ+YഥZ MAL complemento siempre hay un
paréntesis.
ഥ+Y
ഥ Z XY
XY Z= X BIEN
24
Reglas para hacer simplificaciones lógicas
Los postulados del elemento neutro (P4) y complementado
(P5) y los teoremas de la doble complementación (T1),
idempotencia (T2), identidad (T3) y asociativa (T5) se
deben aplicar de forma casi inmediata.
Los teoremas de Demorgan (T6) y las propiedades
distributivas (P3) se utilizan para modificar expresiones y
simplificarlas mejor.
La simplificación se hace con los teoremas de absorción
(T4), adyacencia (T7), consenso (T8) y simplificación (T9).
Los teoremas de Demorgan (T6) pueden aplicarse así:
X+Y+Z =X ഥYഥ Zത XYZ =X ഥ+Y ഥ + Zത
ഥ+Yഥ Zത En expresiones con literales y operadores
X(Y+Z)=X +, •, los operadores y los complementos
ഥY
X ഥ + Zത = X + Y Z de los literales se intercambian, ajustando
los paréntesis. 25
Ejemplos de simplificaciones
(AB + C + D) ( C + D ) ( C + D + E ) = T. de absorción: X (X+Y) = X
X = C + D; Y = E
= (AB + C + D) ( C + D ) = P. Distributiva: (X+Y)(X+Z)= X+YZ
X = D; Y = AB+C; Z = C
= D + C ( C + AB) = T. De simplificación: X(X+Y) = XY
X = C; X = C = C; Y = AB
= D + ABC
26
Ejemplos de simplificaciones
L. de DeMorgan: X+Y = X Y
A+BC +AB(A+C )=
X = A + B C; Y = A B
L. de DeMorgan: XY = X + Y; X=X
=A+B C AB(A+C )=
X = A; Y = B
= (A + B C) (A + B) (A + C) = P. Distributiva: (X+K)(X+Y)(X+Z)= X+KYZ
X = A; K = BC; Y = B; Z = C
=A+B CB C= P. de complemento: X X = 0; X = C
T. de idempotencia: X X = X; X = B
T. de identidad: X 0 = 0; X = B
=A+0 B= A P. Elem. Neutro X + 0 = X; X = A
27
Tabla de verdad
• La tabla de verdad es una representación de un
problema lógico mediante una tabla en la que se
indica el valor lógico que toma la salida(s) en función
del valor lógico que toman las entradas.
• Existen problemas que no pueden pasarse de forma
directa a una función lógica:
Una sociedad está formada por 5 socios A, B, C, D y E que
tienen respectivamente el 25%, 25%, 25%, 15% y 10% de las
acciones. Los estatutos de la sociedad indican que una toma de
decisión es positiva si el tanto por ciento a favor es mayor del
65%, o si estando entre el 35% y el 65% (ambos inclusive) hay
mayoría de votos a favor entre los tres socios más antiguos C,
D y E (sin contar su porcentaje respectivo). En caso contrario, la
decisión es negativa.
28
• Este enunciado no puede convertirse fácilmente en una función
lógica. Una paso intermedio para llegar al circuito lógico es expresar
el problema en una tabla de verdad.
A BC DE % nº votos Z A BC DE % nº votos Z
0 0 0 0 0 0 0 0 1 0 0 0 0 25 0 0
0 0 0 0 1 10 1 0 1 0 0 0 1 30 1 0
0 0 0 1 0 15 1 0 1 0 0 1 0 40 1 0
0 0 0 1 1 25 2 0 1 0 0 1 1 50 2 1
0 0 1 0 0 25 1 0 1 0 1 0 0 50 1 0
0 0 1 0 1 35 2 1 1 0 1 0 1 60 2 1
0 0 1 1 0 40 2 1 1 0 1 1 0 65 2 1
0 0 1 1 1 50 3 1 1 0 1 1 1 75 3 1
0 1 0 0 0 25 0 0 1 1 0 0 0 50 0 0
0 1 0 0 1 35 1 0 1 1 0 0 1 60 1 0
0 1 0 1 0 40 1 0 1 1 0 1 0 65 1 0
0 1 0 1 1 50 2 1 1 1 0 1 1 75 2 1
0 1 1 0 0 50 1 0 1 1 1 0 0 75 1 1
0 1 1 0 1 60 2 1 1 1 1 0 1 85 2 1
0 1 1 1 0 65 2 1 1 1 1 1 0 90 2 1
0 1 1 1 1 75 3 1 1 1 1 1 1 100 3 1
29
• La tabla de verdad de un problema lógico es única. Sin
embargo un problema lógico puede expresarse por
muchas funciones lógicas diferentes (aunque
equivalentes).
• De una función lógica se puede obtener la tabla de
verdad operando.
ഥ + Mo • Pu
Al = F (Pu, Ci, Mo) = Pu • 𝐶𝑖
Pu Ci Mo Ci Pu Pu Ci Mo Pu Al
0 0 0 1 1 0 0 0
0 0 1 1 1 0 1 1
0 1 0 0 1 0 0 0
0 1 1 0 1 0 1 1
1 0 0 1 0 1 0 1
1 0 1 1 0 1 0 1
1 1 0 0 0 0 0 0
1 1 1 0 0 0 0 0
30
• De una tabla de verdad se puede obtener una función lógica
siguiendo este razonamiento:
La función es 1 si los valores de las entradas coinciden con los de
una ú otra (OR) de las filas de la tabla de verdad que producen 1.
Coincidir con una fila significa que todas las entradas (AND) tienen el
valor de la entrada en la fila, donde 1 es la entrada y 0 la entrada
complementada.
Forma canónica SOP (suma de minterms)
Pu Ci Mo Al F(Pu, Ci, Mo) = Pu Ci Mo + Pu Ci Mo +
0 0 0 0 Pu Ci Mo + Pu Ci Mo
0 0 1 1 Pu Ci Mo
0 1 0 0 Reduciendo la función por
0 1 1 1 Pu Ci Mo T. de Adyacencia
1 0 0 1 Pu Ci Mo Forma estándar SOP
1 0 1 1 Pu Ci Mo (suma de productos)
1 1 0 0
1 1 1 0 F (Pu, Ci, Mo) = Pu Mo + Pu Ci
minterms
31
• Otro razonamiento posible es:
La función es 1 si los valores de las entradas no coinciden con
ninguna (AND) de las filas de la tabla de verdad que producen 0.
No coincidir con una fila significa que el valor de una ú otra (OR) de
las entradas es distinto del valor en la fila, para lo que 1 es la entrada
complementada y 0 sin complementar.
Forma canónica POS (producto de Maxterms)
F(Pu, Ci, Mo) = (Pu + Ci + Mo) (Pu + Ci + Mo)
Pu Ci Mo Al (Pu + Ci + Mo) (Pu + Ci + Mo)
Maxterms
0 0 0 0 Pu + Ci + Mo
Reduciendo la función por
0 0 1 1
T. de Adyacencia
0 1 0 0 Pu + Ci + Mo
0 1 1 1 Forma estándar POS
1 0 0 1 (producto de sumas)
1 0 1 1 F (Pu, Ci, Mo) = (Pu + Mo) (Pu + Ci)
1 1 0 0 Pu + Ci + Mo
1 1 1 0 Pu + Ci + Mo 32
Notación decimal de una tabla de verdad
• Para indicar una función lógica mediante su tabla de
verdad se suele usar una notación decimal. Se supone
que las entradas forman un código binario con pesos de
derecha a izquierda 1, 2, 4, 8, …. Se indica la función
como un sumatorio de combinaciones que producen 1 ó
como un productorio de las combinaciones que
producen 0.
Pu Ci Mo Al
0 0 0 0 0 F(Pu, Ci, Mo) = (1, 3, 4, 5) = (0, 2, 6, 7)
1 0 0 1 1
2 0 1 0 0 F(Pu, Ci, Mo) = (0, 2, 6, 7) = (1, 3, 4, 5)
3 0 1 1 1
4 1 0 0 1
5 1 0 1 1
6 1 1 0 0
7 1 1 1 0 33
Funciones incompletamente especificadas
• Existen problemas en los que no están definidas todos
las combinaciones de las entradas.
Indicar si una palabra de un código NBCD es múltiplo de
3.
De las 16 combinaciones sólo tienen sentido de 0 (0000)
a 9 (1001). Las combinaciones 10-15 no tienen sentido,
para ellas la salida no está definida, puede ser 0 ó 1
según convenga. Se dice que la salida es “don’t care”
(no importa): .
Para el ejemplo:
F(a3, a2, a1, a0) = (0, 3, 6, 9) + (10, 11, 12, 13, 14, 15)
F(a3, a2, a1, a0) = (1, 2, 4, 5, 7, 8) (10, 11, 12, 13, 14, 15)
34