tema2 1 simplificacion de funciones fc gii.ppt [modo de...

41
2 Simplificación de funciones Simplificación de funciones 2. 2. Simplificación de funciones Simplificación de funciones booleanas: Método de booleanas: Método de Karnaugh Karnaugh Suma de productos Producto de sumas Fundamentos de los Computadores Grado en Ingeniería Informática

Upload: trinhxuyen

Post on 14-Jul-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

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

BibliografíaBibliografíaFundamentos de Sistemas Digitales (7ª edición)

Capítulo 4Thomas L. FloydPrentice Hall, 2000

Principios de Diseño DigitalPrincipios de Diseño DigitalCapítulo 3Daniel D. GajskiDaniel D. GajskiPrentice Hall, 1997

Análisis lógico de los circuitos digitales 41