22 Simplificación de funcionesSimplificación de funciones2. 2. Simplificación de funcionesSimplificación de funcionesbooleanas: Método de booleanas: Método de KarnaughKarnaughboo ea as étodo deboo ea as étodo de a auga aug
Suma de productosProducto de sumas
Fundamentos de los ComputadoresGrado en Ingeniería Informáticag
IntroducciónIntroducción
Los circuitos digitales están compuestos por un conjunto de puertas lógicas que implementan co ju to de pue tas óg cas que p e e taoperaciones de lógica binaria
El álgebra de Boole permite describir estas operaciones g p plógicas, por lo que el funcionamiento de un circuito puede representarse utilizando una expresión booleana
Los objetivos de este tema son: Explicar cómo obtener una expresión algebráica que describa
el funcionamiento de un circuito digitali i i l d f d ili Distinguir entre las dos formas estándar que se utilizan para
representar este tipo de expresiones: suma de productos y producto de sumas
Análisis lógico de los circuitos digitales 2
producto de sumas
Estructura del temaEstructura del tema
Introducción
Análisis booleano de los circuitos lógicos
Expresiones en forma de suma de productos
Expresiones en forma de producto de sumasp p
Relación entre ambas formas Relación entre ambas formas
Resumen y bibliografía
Análisis lógico de los circuitos digitales 3
Resumen y bibliografía
Análisis de circuitos lógicosAnálisis de circuitos lógicos
El álgebra de Boole permite expresar el funcionamiento de un circuito lógico de tal forma que la salida se puedade un circuito lógico de tal forma que la salida se pueda determinar a partir de los valores de entrada
P bt l ió b l d i it Para obtener la expresión booleana de un circuito lógico se debe comenzar por las entradas situadas más a la i q ierda e ir a an ando hacia las salidasa la izquierda e ir avanzando hacia las salidas
DC
B
CD
B CDB
A
B+CD
A(B+CD)
Análisis lógico de los circuitos digitales 4
A
Elaboración de la tabla de verdadElaboración de la tabla de verdad
Una vez obtenida la expresión booleana del circuito, se puede elaborar una tabla de verdad para representar supuede elaborar una tabla de verdad para representar su funcionamiento
0 0 0 0
A B C D CD B+CD A(B+CD)
0 0 00 0 0 00 0 0 10 0 1 00 0 1 1
0001
0001
0000
0 1 0 00 1 0 10 1 1 00 1 1 1
0001
1111
00000 1 1 1
1 0 0 01 0 0 11 0 1 0
1000
1000
0000
1 0 1 11 1 0 01 1 0 11 1 1 0
1000
1111
1111
Análisis lógico de los circuitos digitales 5
1 1 1 01 1 1 1
01
11
11
Formas estándarFormas estándar
Una metodología sistemática es vital para poder analizar y diseñar circuitos digitales de forma eficientey diseñar circuitos digitales de forma eficiente
Todas las expresiones booleanas independientemente de Todas las expresiones booleanas, independientemente de su forma, pueden convertirse en cualquiera de dos formas estándarformas estándar Suma de productos Producto de sumas Producto de sumas
Las formas estándar permiten realizar de forma Las formas estándar permiten realizar de forma sistemática la simplificación y evaluación de expresiones booleanas
Análisis lógico de los circuitos digitales 6
expresiones booleanas
Estructura del temaEstructura del tema
Introducción
Análisis booleano de los circuitos lógicos
Expresiones en forma de suma de productos
Expresiones en forma de producto de sumasp p
Relación entre ambas formas Relación entre ambas formas
Resumen y bibliografía
Análisis lógico de los circuitos digitales 7
Resumen y bibliografía
Suma de productosSuma de productos
Un término producto (minterm) es una función booleana producto de literales que vale 1 en una sola fila de suproducto de literales, que vale 1 en una sola fila de su tabla de verdad y en el resto vale 0.
Cuando dos o más términos productos se suman, la expresión resultante se denomina suma de productos
Cada término de una suma de productos puede ser é i d Un término producto
Una variable individual
La barra de negación en una suma de productos no debe extenderse nunca más allá de una variable
Análisis lógico de los circuitos digitales 8
extenderse nunca más allá de una variable
Suma de productosSuma de productos
Llamamos dominio de una expresión booleana al conjunto de variables que la componenconjunto de variables que la componen
Los valores del dominio Para esta expresión no existe
A = 0
os a o es de do oque hacen que esta expresión valga 0 son:
a a esta e p es ó o e steninguna combinación de valores del dominio que la hagan valer 0
A + AB + BCA 0B = 0C = 1
A + B + ABC 1
Una suma de productos será igual a 1 si y sólo si uno o p g ymás de los términos producto que forman la expresión es igual a 1
Análisis lógico de los circuitos digitales 9
g
Suma de productosSuma de productos
La implementación de una suma de productos requiere aplicar la operación OR a las salidas derequiere aplicar la operación OR a las salidas de dos o más puertas AND
Análisis lógico de los circuitos digitales 10
Forma canónica de la suma de productosForma canónica de la suma de productos
En los ejemplos de expresiones que hemos visto, algunos términos no contenían todas las variablesalgunos términos no contenían todas las variables pertenecientes al dominio
A + AB La forma canónica de una suma de productos es
aquella en la que todas las variables del dominio aparecen en todos y cada uno de los términos de la expresión
AB + AB + AB
Análisis lógico de los circuitos digitales 11
Forma canónica de la suma de productosForma canónica de la suma de productos
La forma canónica de la suma de productos es muy importante para el diseño de circuitos digitalesimportante para el diseño de circuitos digitales
Cualquier suma de productos puede convertirse a su forma canónica aplicando una de las reglas básicas del l b d lálgebra de Boole:
A + A = 1 Simplemente se debe multiplicar cada término producto
no canónico por la suma de la variable que falta y su complemento, ya que es lo mismo que multiplicar por 1
Análisis lógico de los circuitos digitales 12
Forma canónica de la suma de productosForma canónica de la suma de productos
Siguiendo este método es sencillo transformar una suma de productos en su forma canónicasuma de productos en su forma canónica
Ejemplo: ABC + AB + ABCD
ABC = ABC · 1 = ABC · (D + D)ABC = ABCD + ABCD
AB = AB · (C + C) · (D + D)AB = ABCD + ABCD + ABCD + ABCD
= AB · 1 · 1AB = ABCD + ABCD + ABCD + ABCD
ABCD ABCD ABCD ABCD ABCD ABCD ABCDForma canónica:
Análisis lógico de los circuitos digitales 13
ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCDcanónica:
Tabla de verdad de la suma de productosTabla de verdad de la suma de productos
Una tabla de verdad es una lista de las posibles combinaciones de los valores de las entradas y elcombinaciones de los valores de las entradas y el correspondiente valor de la salida
El primer paso para convertir una suma de productos bl d d d i l ia una tabla de verdad es convertir la expresión a su
forma canónica
Para determinar el número de posibles combinaciones pde entrada hay que tener en cuenta que el número de entradas es igual al número de variables del dominio
Análisis lógico de los circuitos digitales 14
g
Tabla de verdad de la suma de productosTabla de verdad de la suma de productos
Una vez establecidos los posibles valores de las entradas hay que determinar los correspondientesentradas hay que determinar los correspondientes valores de salida
Para esto, hay que tener en cuenta que para que una d d b d lsuma de productos sea 1 basta con que uno de los
productos sea 1
Por lo tanto, hay que asignarle salida 1 a cada una de , y q glas combinaciones de entrada que haga valer 1 a alguno de los términos de la suma de productos
Análisis lógico de los circuitos digitales 15
p
Tabla de verdad de la suma de productosTabla de verdad de la suma de productos
Siguiendo los pasos anteriores no resulta complicado calcular la tabla de verdad de la siguiente expresión:calcular la tabla de verdad de la siguiente expresión:
0 0 0ABC + ABC + ABC 0A B C
0 0 00 0 10 1 0
ABC ABC ABC
dominio de 3 variables
0
01ABC
0 1 00 1 1
3 variables 00
1 0 01 0 1
23 combinaciones de entrada 0
1ABC 1 0 11 1 01 1 1
001ABC
Análisis lógico de los circuitos digitales 16
1 1 1 1ABC
Tabla de verdad de la suma de productosTabla de verdad de la suma de productos
Dado que es habitual representar un circuito por medio de su tabla de verdad será frecuente la necesidad dede su tabla de verdad, será frecuente la necesidad de calcular una expresión a partir de una tabla de verdadA B C0 0 00 0 1
00
A B C
0 0 10 1 00 1 1
0000 1 1
1 0 01 0 1 ABC + ABC + ABC
011 ABC ABC1 0 1
1 1 0ABC + ABC + ABC1
1 ABC ABC
Análisis lógico de los circuitos digitales 17
1 1 1 0
Formas normalizadas de la suma de productosFormas normalizadas de la suma de productos
La forma canónica de una expresión booleana es la que obtendremos a partir de su tabla de verdad peroque obtendremos a partir de su tabla de verdad, pero raramente tiene el menor número posible de operaciones
Se puede reducir la forma canónica a una forma que d l i bl d ino tenga todas las variables en cada término, pero que
necesite menos operaciones
No hay un método fijo, por lo que dada una función, y j , p q ,puede resultar posible obtener varias de estas formas distintas, que son llamadas formas normalizadas
Análisis lógico de los circuitos digitales 18
, q
Formas normalizadas de la suma de productosFormas normalizadas de la suma de productos
Las formas normalizadas pueden obtenerse a partir de la forma canónica aplicando leyes y reglas booleanasla forma canónica aplicando leyes y reglas booleanas
Ejemplo: ABC + ABC + ABC + ABCEjemplo: ABC ABC ABC ABCABC + ABC + ABC + ABC + ABC + ABCpodemos replicar el término ABC porque ABC + ABC = ABC (regla 5)
AB(C + C) + AC(B + B) + BC(A + A)( ) ( ) ( )aplicamos la ley distributiva para sacar factor común
AB · 1 + AC · 1 + BC · 1A + A = 1 (regla 6)
Forma AB AC BC
Análisis lógico de los circuitos digitales 19
normalizada: AB + AC + BC
Formas normalizadas de la suma de productosFormas normalizadas de la suma de productos
Aunque a partir de las formas normalizada no es trivial obtener una tabla de verdad resultan útiles para reducirobtener una tabla de verdad, resultan útiles para reducir la cantidad de puertas de un circuito digital
Es posible reducir más una forma normalizada, dando l f li d dlugar a una forma no normalizada que tendrá menos operaciones, pero ya no podría expresarse como una
d dsuma de productos
AB AC AD A(B + C + D)AB + AC + AD A(B + C + D)forma normalizada 5 operaciones
forma no normalizada 3 operaciones
factor común
Análisis lógico de los circuitos digitales 20
p p
Estructura del temaEstructura del tema
Introducción
Análisis booleano de los circuitos lógicos
Expresiones en forma de suma de productos
Expresiones en forma de producto de sumasp p
Relación entre ambas formas Relación entre ambas formas
Resumen y bibliografía
Análisis lógico de los circuitos digitales 21
Resumen y bibliografía
Producto de sumasProducto de sumas
Un término suma (maxterm) es una función booleana suma de literales que vale 0 en una sola fila de su tablasuma de literales, que vale 0 en una sola fila de su tabla de verdad y en el resto vale 1.
Cuando dos o más términos suma se multiplican, la expresión resultante se denomina producto de sumas
Cada término de un producto de sumas puede ser é i Un término suma
Una variable individual
La barra de negación en un producto de sumas no debe extenderse nunca más allá de una variable
Análisis lógico de los circuitos digitales 22
extenderse nunca más allá de una variable
Producto de sumasProducto de sumas
El dominio de una expresión booleana es el conjunto de variables que la componenvariables que la componen
Los valores del dominio Para esta expresión no existe
A = 1
os a o es de do oque hacen que esta expresión valga 1 son:
a a esta e p es ó o e steninguna combinación de valores del dominio que la hagan valer 1
A · (A+B) · (B+C)A 1B = 1C = 0
A · B · (A+B)C 0
Un producto de sumas será igual a 0 si y sólo si uno o p g ymás de los términos suma que forman la expresión es igual a 0
Análisis lógico de los circuitos digitales 23
g
Producto de sumasProducto de sumas
La implementación de un producto de sumas requiere aplicar la operación AND a las salidas de dos o másaplicar la operación AND a las salidas de dos o más puertas OR
Análisis lógico de los circuitos digitales 24
Forma canónica del producto de sumasForma canónica del producto de sumas
En los ejemplos de expresiones que hemos visto, algunos términos no contenían todas las variablesalgunos términos no contenían todas las variables pertenecientes al dominio
A · (A+B) La forma canónica de un producto de sumas es aquella
en la que todas las variables del dominio aparecen en todos y cada uno de los términos de la expresión
(A+B) · (A+B) · (A+B)
Análisis lógico de los circuitos digitales 25
Forma canónica del producto de sumasForma canónica del producto de sumas
La forma canónica del producto de sumas también es muy importante para el diseño de circuitos digitalesmuy importante para el diseño de circuitos digitales
Cualquier producto de sumas puede convertirse a su forma canónica aplicando una de las reglas básicas del l b d lálgebra de Boole:
AA = 0 Simplemente se debe sumar cada término producto no
canónico con el producto de la variable que falta y su complemento, ya que es lo mismo que sumar 0
Análisis lógico de los circuitos digitales 26
Forma canónica del producto de sumasForma canónica del producto de sumas
Siguiendo este método es sencillo transformar un producto de sumas en su forma canónicaproducto de sumas en su forma canónica
Ejemplo: (A+B+C)(B+C+D)(A+B+C+D)( )( )( )
A+B+C = A+B+C + 0 = A+B+C + (D · D)A+B+C = (A+B+C+D)(A+B+C+D) regla 12
A+BC = (A+B)(A+C)
B+C+D = B+C+D + 0 = B+C+D + (A · A)B+C+D = (A+B+C+D)(A+B+C+D) regla 12
A+BC = (A+B)(A+C)
(A+B+C+D) (A+B+C+D) (A+B+C+D) (A+B+C+D)(A+B+C+D)Forma ó i
B+C+D (A+B+C+D)(A+B+C+D) A+BC = (A+B)(A+C)
regla 7
Análisis lógico de los circuitos digitales 27
canónica: (A+B+C+D) (A+B+C+D) (A+B+C+D)(A+B+C+D) regla 7A·A = A
Tabla de verdad del producto de sumasTabla de verdad del producto de sumas
El primer paso para convertir un producto de sumas a una tabla de verdad es convertir la expresión a su formauna tabla de verdad es convertir la expresión a su forma canónica
Para obtener los valores de salida en la tabla de verdad hay que recordar que basta con que uno de los términoshay que recordar que basta con que uno de los términos suma sea 0 para que un producto de sumas sea 0
Por lo tanto, hay que asignarle salida 0 a cada una de las combinaciones de entrada que haga valer 0 a alguno decombinaciones de entrada que haga valer 0 a alguno de los términos del producto de sumas
Análisis lógico de los circuitos digitales 28
Tabla de verdad del producto de sumasTabla de verdad del producto de sumas
Siguiendo los pasos anteriores no resulta complicado calcular la tabla de verdad de la siguiente expresión:calcular la tabla de verdad de la siguiente expresión:
0 0 0(A+B+C)(A+B+C)(A+B+C) 1A B C
0 0 00 0 10 1 0
(A B C)(A B C)(A B C)
dominio de 3 variables
1110 1 0
0 1 1
3 variables 10A+B+C
1 0 01 0 1
23 combinaciones de entrada
10A+B+C 1 0 1
1 1 01 1 1
10
0
A+B+C
A B CAnálisis lógico de los circuitos digitales 29
1 1 1 0A+B+C
Tabla de verdad de la suma de productosTabla de verdad de la suma de productos
Dado que es habitual representar un circuito por medio de su tabla de verdad será frecuente la necesidad dede su tabla de verdad, será frecuente la necesidad de calcular una expresión a partir de una tabla de verdad
A B C0 0 00 0 1
11
A B C
0 0 10 1 00 1 1
1110 1 1
1 0 01 0 1 (A+B+C)(A+B+C)(A+B+C)
100 A+B+C A+B+C1 0 1
1 1 0(A+B+C)(A+B+C)(A+B+C)0
0 A+B+C A+B+C
Análisis lógico de los circuitos digitales 30
1 1 1 1
Formas normalizadas del producto de sumasFormas normalizadas del producto de sumas
A partir de la tabla de verdad obtenemos la forma canónica de una expresión booleana aunque raramentecanónica de una expresión booleana, aunque raramente tiene el menor número posible de operaciones
Al igual que con la suma de productos, se puede obtener formas normalizadas a partir de la forma canónica con elformas normalizadas a partir de la forma canónica con el objetivo de reducir el número de operaciones necesarias
También se puede reducir más una forma normalizada, dando lugar a una forma no normalizada que tendrá g qtodavía menos operaciones, pero que ya no estará expresada como un producto de sumas
Análisis lógico de los circuitos digitales 31
p p
Estructura del temaEstructura del tema
Introducción
Análisis booleano de los circuitos lógicos
Expresiones en forma de suma de productos
Expresiones en forma de producto de sumasp p
Relación entre ambas formas Relación entre ambas formas
Resumen y bibliografía
Análisis lógico de los circuitos digitales 32
Resumen y bibliografía
Función booleanaFunción booleana
En general, se define una función booleana como una expresión algebraica formada por variables operadoresexpresión algebraica formada por variables, operadores, paréntesis y el signo igual
Para calcular el valor de una función booleana i l d des preciso tener en cuenta el orden correcto de
precedencia de operadores: Paréntesis NOT AND OR
Análisis lógico de los circuitos digitales 33
Expresión de una suma de productosExpresión de una suma de productos
Cualquier función booleana puede expresarse tanto con una suma de productos como con un producto de sumasuna suma de productos como con un producto de sumas
A B C
0 0 00 0 1
01 ABC
0 1 00 1 1
01 ABC
ABC
1 0 01 0 1
F(A,B,C) = ABC + ABC + ABC + ABC01
ABC
ABC1 1 01 1 1
01
ABC
ABC
Análisis lógico de los circuitos digitales 34
ABC
Expresión de un producto de sumasExpresión de un producto de sumas
Cualquier función booleana puede expresarse tanto con una suma de productos como con un producto de sumasuna suma de productos como con un producto de sumas
A B C
0 0 00 0 1
01 A+B+C
0 1 00 1 1 F(A,B,C) = (A+B+C) (A+B+C) (A+B+C) (A+B+C)
01 A+B+C
1 0 01 0 1
01 A+B+C
1 1 01 1 1
01 A+B+C
Análisis lógico de los circuitos digitales 35
Expresión de una suma de productosExpresión de una suma de productos
Si numeramos cada una de las posibles combinaciones de entrada podemos expresar una suma de productosde entrada, podemos expresar una suma de productos como la suma de las combinaciones correspondientes a los términos producto que la componenlos términos producto que la componen
A B C0) 0 0 01) 0 0 12) 0 1 0
0102) 0 1 0
3) 0 1 14) 1 0 0
010 F(A,B,C) = ∑(1,3,5,7))
5) 1 0 16) 1 1 07) 1 1 1
101
Análisis lógico de los circuitos digitales 36
7) 1 1 1 1
Expresión de un producto de sumasExpresión de un producto de sumas
Si numeramos cada una de las posibles combinaciones de entrada podemos expresar un producto de sumasde entrada, podemos expresar un producto de sumas como el producto de las combinaciones correspondientes a los términos suma que la componena los términos suma que la componen
A B C0) 0 0 01) 0 0 12) 0 1 0
0102) 0 1 0
3) 0 1 14) 1 0 0
010 F(A,B,C) = ∏(0,2,4,6))
5) 1 0 16) 1 1 07) 1 1 1
101
Análisis lógico de los circuitos digitales 37
7) 1 1 1 1
Expresión de un producto de sumasExpresión de un producto de sumas
Dada una tabla de verdad Las combinaciones con salida 1 forman un suma de productos Las combinaciones con salida 1 forman un suma de productos Las combinaciones con salida 0 forman un producto de sumas
E fá il d f l t i l t h Es fácil pasar de una forma a la otra: simplemente hay que elegir los números que no aparecen en la expresión
0) 0 0 01) 0 0 1
01
A B C
1) 0 0 12) 0 1 03) 0 1 14) 1 0 0
1010
F(A,B,C) = ∑(1,3,5,7)4) 1 0 05) 1 0 16) 1 1 07) 1 1 1
0101
F(A,B,C) = ∏(0,2,4,6)
Análisis lógico de los circuitos digitales 38
7) 1 1 1 1
Estructura del temaEstructura del tema
Introducción
Análisis booleano de los circuitos lógicos
Expresiones en forma de suma de productos
Expresiones en forma de producto de sumasp p
Relación entre ambas formas Relación entre ambas formas
Resumen y bibliografía
Análisis lógico de los circuitos digitales 39
Resumen y bibliografía
ResumenResumen
El funcionamiento de un circuito digital suele representarse con una tabla de verdad que muestra elrepresentarse con una tabla de verdad que muestra el valor de la salida para cualquier valor de entrada
La aplicación del álgebra de Boole permite obtener, a partir de esta tabla, una expresión algebráica quepartir de esta tabla, una expresión algebráica que describa el funcionamiento del circuito
La simplificación de esta expresión permite reducir el número de operadores, los cuales pueden representarse p , p pgráficamente usando los símbolos distintivos para obtener un diagrama descriptivo del circuito
Análisis lógico de los circuitos digitales 40
g p