Está en la página 1de 8

Unidad II – Funciones Lógicas

Clase #8 – Funciones Lógicas – Parte 2

Lógica Digital
Prof. Ricardo Villegas
Contenido
 Expansión de términos:
• Expansión de términos producto
• Expansión de términos suma
 Condición “don’t care”
 Lectura e interpretación del mapa de
Karnaugh
 Costo de implementación de una función
Expansión de Términos
Algunas veces las funciones están expresadas en forma SOP o POS, pero no canónicas, y
puede ser necesario hallar su expresión canónica para identificar sus minterms o
Maxterms. Ej: F ( A, B, C , D) = ( A ⋅ B ) + ( A ⋅ B ⋅ C ⋅ D ) + ( B ⋅ C ⋅ D)
F ( w, x, y, z ) = ( w + x + y + z ) ⋅ ( w + z ) ⋅ ( x + y + z )
Para hallar la expresión canónica debemos multiplicar o sumar los términos incompletos
por una expresión que contenga a las variables faltantes pero que no altere el contenido
del término.

 Expansión de términos producto: Multiplicar el término incompleto por una expresión


equivalente a 1 que contenga la variable faltante → (var + var ) ≈ 1

Ejemplo: F ( x, y, z ) = ( x ⋅ y ) + ( x ⋅ y ⋅ z ) + z Tiene un término canónico y 2 incompletos


1 1
F ( x, y , z ) = ( x ⋅ y ) ⋅ ( z + z ) + ( x ⋅ y ⋅ z ) + z ⋅ ( x + x ) ¿Cuáles son los minterms?
¿dónde F vale 1?
= ( x ⋅ y ⋅ z ) + ( x ⋅ y ⋅ z) + ( x ⋅ y ⋅ z ) + ( x ⋅ z) + ( x ⋅ z)
1 1
= ( x ⋅ y ⋅ z ) + ( x ⋅ y ⋅ z ) + ( x ⋅ y ⋅ z ) + ( x ⋅ z ) ⋅ ( y + y) + ( x ⋅ z ) ⋅ ( y + y)
= ( x ⋅ y ⋅ z ) + ( x ⋅ y ⋅ z) + ( x ⋅ y ⋅ z ) + ( x ⋅ y ⋅ z) + ( x ⋅ y ⋅ z) + ( x ⋅ y ⋅ z) + ( x ⋅ y ⋅ z)
= ( x ⋅ y ⋅ z ) + ( x ⋅ y ⋅ z) + ( x ⋅ y ⋅ z ) + ( x ⋅ y ⋅ z) + ( x ⋅ y ⋅ z) + ( x ⋅ y ⋅ z)
010 011 110 001 101 111
Construir la tabla
 Expansión de términos suma: sumar al término incompleto una expresión equivalente
a 0 que contenga la variable faltante → (var ⋅ var ) ≈ 0
Ejemplo:
Tiene 2 términos canónicos y
F ( w, x, y ) = ( w + x + y ) ⋅ ( x + y ) ⋅ ( w + x + y ) ⋅ ( w + x)
2 incompletos
F ( w, x, y ) = ( w + x + y ) ⋅ ( x + y ) ⋅ ( w + x + y ) ⋅ ( w + x) ¿Cuáles son los Maxterms?
0 0 ¿dónde F vale 0?
= ( w + x + y ) ⋅ ( x + y + ( w ⋅ w)) ⋅ ( w + x + y ) ⋅ ( w + x + ( y ⋅ y ))
= (w + x + y ) ⋅ (w + x + y) ⋅ (w + x + y) ⋅ (w + x + y) ⋅ (w + x + y ) ⋅ (w + x + y)
011 110 010 000 101 100
Construir la tabla

La técnica general consiste entonces en completar los términos faltantes y aplicar los teoremas del
álgebra de Boole para desarrollar la expresión hasta obtener los términos canónicos que
representan minterms o Maxterms.
• También es posible realizar la expansión de un término por inspección visual, combinando
el término con todas las posibles variaciones de las variables no presentes.

Ejemplo para 3 variables (x,y,z):


x⋅y⋅z
x⋅ y⋅z x⋅ y⋅z
x⋅y z
x⋅ y⋅z x⋅ y⋅z
x⋅ y⋅z
Condición “No Importa”
 Algunas funciones no especifican en todos sus términos un valor explícito de 0 ó 1.
 En vez de esto, algunos términos podrían tener un valor indeterminado (podría ser
tanto 0 como 1), sin por ello afectar el comportamiento general de la función.
 Estos términos se denotan con la condición “no importa” (don’t care), con los
símbolos φ, δ o X.
 Los “don’t care” sirven como comodines durante la simplificación de funciones.
Ejemplo:
A B C F Los “don’t care” se expresan en
0 0 0 1 notación compacta como φ(i)

FSOP ( A, B, C ) = ∑ (0,2,6) + φ (3,5,7)


0 0 1 0
0 1 0 1
0 1 1 φ FPOS ( A, B, C ) = ∏ (1,4) + φ (3,5,7)
1 0 0 0
1 0 1 φ ¿Qué valor tiene la función en las combinaciones con φ?
• No se conoce para el momento de la definición de la función.
1 1 0 1
• Se determina cuando se implementa la función:
1 1 1 φ - Terminan valiendo 0 o 1.
Lectura e interpretación del Mapa de Karnaugh
Existe una correspondencia directa entre las filas de la tabla de la verdad (combinaciones de los
valores de las variables de entrada) y las casillas del mapa de Karnaugh asociado con la función.
Ejemplo:
w x y z F F ( w, x, y, z ) = ∑ (0,1,2,3,4,5,6,10,13,14,15)
0 0 0 0 1 ≡ ∏ (7,8,9,11,12)
0 0 0 1 1
0 0 1 0 1
F: yz
0 0 1 1 1
wx 00 01 11 10  Pueden observarse grupos de 1s y
0 1 0 0 1
00 0s adyacentes:
1 1 1 1
0 1 0 1 1 • Solo horizontal o vertical
0 1 1 0 1 01 1 1 0 1  También aparecen elementos
0 1 1 1 0
aislados (sin otro elemento similar
11 0 1 1 1 adyacente)
1 0 0 0 0
10  Las regiones de 1s definen la SOP
0 0 0 1
1 0 0 1 0
 Las regiones de 0s definen la POS
1 0 1 0 1
1 0 1 1 0 Observemos que ocurre si agrupamos dos casillas de 1s (o 0s) adyacentes:
1 1 0 0 0
Por ejemplo 0000 ∪ 0001 → w⋅x⋅ y⋅z +w⋅x⋅ y⋅z
1 1 0 1 1 1
= w ⋅ x ⋅ y ⋅ ( z + z)
1 1 1 0 1
1 1 1 1 1 = w⋅x⋅ y La variable z se simplifica
Ejemplo: F ( A, B, C ) = ∏ (0,2,3) + φ (6,7)
F:
BC
A 00 01 11 10
¿Cuál es el valor de la función para las combinaciones 101 y 111?
0 0 1 0 0 No está determinada; podría ser 0 o 1.
Si consideramos un φ como 1 o 0, podría generar adyacencia con
1 1 1 φ φ otras casillas que si contengan 1s o 0s.

Ejemplo:
F: B
A 0 1
A B F
No hay adyacencia de 1s o 0s!
0 0 1
0 0 0
0 1 1 1 1 0 FSOP ( A, B ) = ∑ (1,2) = A ⋅ B + A ⋅ B
1 0 1
1 1 0 Tabla de la verdad del XOR F ( A, B) = A ⋅ B + A ⋅ B ≡ A ⊕ B

Algo similar ocurre con el XNOR F ( A, B) = A ⋅ B + A ⋅ B ≡ A ⊕ B


Costo de Implementación de una Función Lógica
 El objetivo final del proceso de diseño es implementar funciones lógicas con un
conjunto de compuertas lógicas.
 El costo de implementar una función lógica se puede estimar mediante la cantidad de
compuertas o conexiones requeridas entre ellas.
 Obviamente, mientras menor cantidad de compuertas o conexiones sean necesarias,
más económica será una implementación.
 Las expresiones canónicas son las más costosas pues involucran todas las variables de
la función y por lo tanto mayor número de operadores lógicos entre ellas.
• Es preferible implementar una función equivalente de costo “mínimo”.

Ejemplo: F ( A, B ) = A ⋅ B + A ⋅ B ≡ A ⊕ B

Requiere:
2 NOT, 2 AND, 1 OR vs. 1 XOR

Ejemplo: F ( A, B, C ) = A ⋅ B ⋅ C + A ⋅ B ⋅ C + A ⋅ B ⋅ C + A ⋅ B ⋅ C

Implementar esta función usando compuertas de 2 entradas requeriría: 3 NOT, 8 AND y 3 OR

Es posible hallar una expresión equivalente cuya implementación requeriría: 2 NOT, 1 AND y 1 OR (!!!)

También podría gustarte