4-DISENO_COMBINATORIO

April 24, 2018 | Author: jaxlrose | Category: Synapse, Neuron, Logic Gate, Function (Mathematics), Binary Coded Decimal
Share Embed Donate


Short Description

Download 4-DISENO_COMBINATORIO...

Description

NOTAS DE CLASE

CIRCUITOS DIGITALES

4 – PRINCIPIOS DE DISENO LOGICO COMBINATORIO

PROFESOR: GERMAN MORALES Z.

ENERO DE 2008

4. Simplificación de circuitos lógicos La simplificación de los circuitos lógicos es la aplicación más importante del algebra booleana .. Básicamente la simplificación tiene por objeto disminuir el costo, el espacio, el consumo de energía y aumentar la velocidad, si es posible, de un circuito lógico mediante la eliminación de bloques lógicos innecesarios, o mediante la sustitución de un bloque por otro que tenga menos entradas. Para lograrlo obtenemos primeramente la descripción algebraica de un circuito, la simplificamos mediante los teoremas booleanos y luego obtenemos el nuevo circuito simplificado.

4.1 Algebra de Boole. El algebr algebra a de Boole Boole son son las matemá matemátic ticas as que se utiliz utilizan an para para los sistemas sistemas digitales. Como hemos visto las expresiones y operaciones básicas booleanas son la función AND, OR y NOT de las cuales podemos obtener las NAND, NOR. Las leyes básicas del algebra de Boole ( la ley conmutativa, la ley asociativa y la ley distributiva) son las mismas que las del algebra ordinaria..Existen reglas y teoremas que deben ser aplicados correctamente.

4.1.1 Teoremas de una sola variable La primera serie de teoremas se relaciona con la operación AND que sólo comprende una variable que llamaremos x, pero que puede ser cualquier  variable.

(1) (2) (3) (4)

 X  ⋅ 0

=

0

 X  ⋅ 1 =  X   X  ⋅  X 

=

 X 

 X   ⋅  X  

=

0

es muy sencillo comprobar cualquiera de esos teoremas si los probamos con x = 0 y también con x = 1. si el teoremas es aplicable en ambos casos debe ser  correcto, porque x es una variable booleana que por definición solo puede tener  dos valores. El teorema (1) expresa que si una variable se interfecta con 0, el resultado debe ser 0 y esto puede comprobarse si sustituimos x tanto con 0 (0*0 = 0) como con 1 (1*0 = 0), ya que ambos casos satisfacen la definición de la operación y dada en la tabla 4.1. el teorema (2) expresa que una variable que se interfecta con 1 no cambia, (0*1 = 0,1*1 = 1) y el teorema (3) expresa que una variable intersectada a si misma tampoco cambia, (0*0 = 0, 1*1 = 1). El teorema (4) expresa que el resultado de una variable que intersecta a su inversa siempre es 0, porque ya sea la variable o su inversa es siempre 0, (0*1 = 0, 1*0 = 0). La segunda serie de teoremas se refiere a la operación OR y a una sola variable x.

4. Simplificación de circuitos lógicos La simplificación de los circuitos lógicos es la aplicación más importante del algebra booleana .. Básicamente la simplificación tiene por objeto disminuir el costo, el espacio, el consumo de energía y aumentar la velocidad, si es posible, de un circuito lógico mediante la eliminación de bloques lógicos innecesarios, o mediante la sustitución de un bloque por otro que tenga menos entradas. Para lograrlo obtenemos primeramente la descripción algebraica de un circuito, la simplificamos mediante los teoremas booleanos y luego obtenemos el nuevo circuito simplificado.

4.1 Algebra de Boole. El algebr algebra a de Boole Boole son son las matemá matemátic ticas as que se utiliz utilizan an para para los sistemas sistemas digitales. Como hemos visto las expresiones y operaciones básicas booleanas son la función AND, OR y NOT de las cuales podemos obtener las NAND, NOR. Las leyes básicas del algebra de Boole ( la ley conmutativa, la ley asociativa y la ley distributiva) son las mismas que las del algebra ordinaria..Existen reglas y teoremas que deben ser aplicados correctamente.

4.1.1 Teoremas de una sola variable La primera serie de teoremas se relaciona con la operación AND que sólo comprende una variable que llamaremos x, pero que puede ser cualquier  variable.

(1) (2) (3) (4)

 X  ⋅ 0

=

0

 X  ⋅ 1 =  X   X  ⋅  X 

=

 X 

 X   ⋅  X  

=

0

es muy sencillo comprobar cualquiera de esos teoremas si los probamos con x = 0 y también con x = 1. si el teoremas es aplicable en ambos casos debe ser  correcto, porque x es una variable booleana que por definición solo puede tener  dos valores. El teorema (1) expresa que si una variable se interfecta con 0, el resultado debe ser 0 y esto puede comprobarse si sustituimos x tanto con 0 (0*0 = 0) como con 1 (1*0 = 0), ya que ambos casos satisfacen la definición de la operación y dada en la tabla 4.1. el teorema (2) expresa que una variable que se interfecta con 1 no cambia, (0*1 = 0,1*1 = 1) y el teorema (3) expresa que una variable intersectada a si misma tampoco cambia, (0*0 = 0, 1*1 = 1). El teorema (4) expresa que el resultado de una variable que intersecta a su inversa siempre es 0, porque ya sea la variable o su inversa es siempre 0, (0*1 = 0, 1*0 = 0). La segunda serie de teoremas se refiere a la operación OR y a una sola variable x.

(5) (6) (7) (8)

 X 

+

0 =  X 

 X 

+

1 =1

 X  +  X 

=

 X 

 X   +  X   = 1

Los teoremas (5) y (7) expresan que si una variable se une con 0 o consigo misma no sufre cambio. El teorema (6) expresa que un 1 unido a cualquier  cosa da por resultado 1 y el teorema (8) expresa que una variable unida con su inversa siempre da por resultado 1, porque ya sea la variable o su inversa debe ser 1. como como los cuatro cuatro primer primeros os teorem teoremas, as, éstos éstos pueden pueden compro comprobar barse se si sustituimos x por el valor 0 y luego por el valor de 1. El teorema (9) confirma la doble inversión de una variable:

(9)

 X  

=  X  

Un punto importante que hay que recordar cuando se aplican estos teoremas es que la variable x puede representar no sólo una variable aislada sino también una expresión algebraica completa. Por ejemplo, podemos simplificar   A ⋅  B ⋅ C  ⋅ 0 si hacemos x igual a la expresión  A ⋅  B ⋅ C  sustituyendo x por   A ⋅  B ⋅ C  en el teor teorem ema a (1), (1),  X  ⋅ 0 = 0 , tenemo tenemoss ( A ⋅  B ⋅ C ) ⋅ 0 = 0 . como como otro otro ejem ejempl plo o  A ⋅  B ⋅  A ⋅  B puede simplificarse si se sustituye x por   A ⋅  B en el teorema (3),  X  ⋅  X  =  X  , lo que da por resultado ( A ⋅  B ) ⋅ ( A ⋅  B ) =  A ⋅  B . En el tercer ejemplo  A ⋅  B ⋅  B puede simplificarse si  B  B se sustituye por 0 de acuerdo con el teorema (4),  X   ⋅  X   = 0 , lo que nos da  A ⋅ 0 = 0 de acuerdo con el teorema (1),  X  ⋅ 0 = 0 . Para demostrar cómo pueden usarse estos teoremas para simplificar circuitos lógicos, trataremos de simplificar el circuito de la figura 4.10. ⋅

 A ⋅  A +  B

+  B ⋅ B + C  =

0 +  B +  B ⋅ B + C  =  B + B ⋅ B + C 

= B + B +C 

= B +C 

teo.(4);  X   ⋅  X   = 0 teo.(5);  X  + 0 =  X  teo.(3);  X  ⋅  X  =  X  teo.(7);  X  +  X  =  X 

Por consiguiente el circuito de la figura 4.10. puede reemplazarse con un solo bloque OR con entradas B y C, porque por cada serie de valores de entrada los niveles de salida tanto del circuito original como del simplificado siempre serán iguales.

Fig. 4.10. Circuito que puede simplificarse utilizando teoremas de una sola variable.

4.1.2. Descomposición en factores y expansión

Podemos emplear el teorema (14) para demostrar tanto la descomposición en factores como la expansión:

(14) X*Y + X*Z= X*(Y+Z) Ese teorema expresa que si una variable aparece 814) en cada termino considerado como (un grupo de variables intersectadas) de una expresión, la variable puede sacarse como factor e intersectar al resto de la expresión. La fig. 4.12 muestra dos circuitos que son equivalentes según el teorema (14). Como ejemplo de descomposición en factores, el teorema se aplica a la expresión A*B*C + A*C*D*E= A*C*(B+D*E)

Fig. 4.12. Dos circuitos equivalentes que demuestra el Teorema (14). Empleando el mismo teorema (14) se puede demostrar la expansión. Si una variable x interfecta una expresión y+z, podemos intersectarla separadamente con cada parte de la expresión. Como ejemplo, aplicamos el teorema a la expresión siguiente: A*C*D*(B+E*F)= A*B*C*D + A*C*D*E*F Como otro ejemplo podemos expandir (A+B) * (C+D) si tratamos primeramente (A+B) como si fuera una sola variable. (A+B) * (C+D) = (A+B) * C + (A+B)*D = A*C+B*C +A*D+B*D Si invertimos esa secuela para volver a la expresión original, será una descomposición en factores.

4.1.3. Propiedades de las operaciones AND y OR Algunas propiedades generales de las operaciones AND y OR pueden expresarse mediante los siguientes teoremas de variables múltiples:

(9)  X  ⋅ Y  = Y  ⋅  X  (10)  X  + Y  = Y  +  X  (11)  X  ⋅ (Y  ⋅  Z ) =  X  ⋅ Y  ⋅ Z 

(12) X + (Y + Z) = X + Y + Z Los teoremas (10) y (11) expresan que el orden de las variables no afecta las operaciones AND u OR y además expresan siempre que las entradas de los bloques AND y OR son idéntica e intercambiables. Los teoremas (12) y (13) expresan que el orden en que se ejecutan las operaciones AND y OR no afecta el resultado final. Para encontrar x+y+z, podemos reunir cualquier par de ellas y reunir el resultado de las mismas con la tercera. Aplicando esto a los circuitos lógicos como se ve en la figura 4.11, podemos reunir dos entradas a un tiempo o las tres a un tiempo y los resultados serán equivalentes.

Fig. 4.11. dos circuitos equivalentes para obtener x+y+z.

4.1.4. Descomposición en factores y expansión Podemos emplear el teorema (14) para demostrar tanto la descomposición en factores como la expansión:

(14)

 X  ⋅ Y 

+  X  ⋅ Z  =

 X  ⋅ (Y 

+

Z )

Ese teorema expresa que si una variable aparece 814) en cada termino considerado como (un grupo de variables intersectadas) de una expresión, la variable puede sacarse como factor e intersectar al resto de la expresión. La fig. 4.12 muestra dos circuitos que son equivalentes según el teorema (14). Como ejemplo de descomposición en factores, el teorema se aplica a la expresión  A ⋅  B ⋅ C  +  A ⋅ C  ⋅  D ⋅  E  =  A ⋅ C  ⋅ ( B

+  D ⋅

E )

Fig. 4.12. Dos circuitos equivalentes que demuestra el Teorema (14). Empleando el mismo teorema (14) se puede demostrar la expansión. Si una variable x interfecta una expresión y+z, podemos intersectarla separadamente con cada parte de la expresión. Como ejemplo, aplicamos el teorema a la expresión siguiente:

 A ⋅ C  ⋅  D ⋅ ( B

) =  A ⋅  B ⋅ C  ⋅  D +  A ⋅ C  ⋅  D ⋅  E  ⋅  F 

+  E  ⋅  F 

Como otro ejemplo podemos expandir (A+B) * (C+D) si tratamos primeramente (A+B) como si fuera una sola variable. ( A + B ) ⋅ ( A + C )

=

( A + B ) ⋅ C  + ( A + B ) ⋅ D

=  A ⋅ C  + B ⋅ C  +  A ⋅ D + B ⋅ D

Si invertimos esa secuela para volver a la expresión original, será una descomposición en factores.

4.1.5. Teorema de simplificación Los siguientes teoremas son muy útiles para simplificar circuitos lógicos.  X   ⋅ Y 

 X 

+  X   ⋅ Y  =  X  

+  X  ⋅ Y  =

 X   +  X   ⋅ Y 

 X  ⋅ Y 

 X 

=  X   + Y 

+  X  ⋅ Z  + Y  ⋅  Z  =

 X  ⋅ Y  +  X . Z 

(15) (16) (17) (18)

Véase el teorema (15). Como y e y deben ser ya sea 0 y 1 o 1 y 0, por lo tanto, sin que importe cual sea el valor de y una x se interfecta con 0 mientras que la otra x se interfecta con 1. Por lo tanto, x*0 + x*1 = x. este teorema puede comprobarse como  X   ⋅Y   + X   ⋅Y  

=  X   ⋅

=

(Y   +Y  )

X  ⋅ 1

=  X  

Teo. (14) Teo. (8) Teo. (2)

Cuando se aplica ese teorema a un circuito a un circuito lógico puede eliminar  dos bloques and y or. El teorema (16) muestra que x*y pueden eliminarse (hacerse iguales a 0) si se une con x, porque cuando x=0, x*y=0 * y=0. Cuando x=1, no importa a que sean iguales x*y, ya que 1 unido con cualquier  cosa es igual a 1 (teorema 6). El teorema puede comprobarse como sigue:  X  +  X  ⋅ Y  =  X  ⋅ 1 +  X  ⋅ Y  =  X   ⋅

=

(1 + Y  )

X  ⋅ 1

=  X  

Teo. (2) Teo. (14) Teo. (6) Teo. (2)

La aplicación de este teorema puede eliminar un bloque and u or. El teorema (17) muestra que cuando x*y se reúne con x, podemos cambiar la x a 1, porque cuando x no es 1, x=0 y x=1. En este caso no importa el valor x*y, ya que 1 unido con cualquier cosa es igual a 1. El teorema (17) puede comprobarse del modo siguiente:  X 

+  X  ⋅ Y  =

 X  ⋅ 1 +  X  ⋅ Y 

=  X   ⋅

(Y   +Y  ) + X   ⋅Y  

=  X   ⋅

(Y   +Y   +Y  )

+ X   ⋅Y  

Teo. (2) Teo. (8) Teo. (7)

=  X   ⋅ Y  +  X   ⋅ Y  +  X   ⋅ Y  +  X   ⋅ Y  =  X   ⋅

(Y   +Y  ) +Y   ⋅ ( X   + X  )

=

 X  ⋅ 1 + Y  ⋅ 1

=

 X 

+ Y 

Teo. (14) Teo. (14) Teo. (8) Teo. (2)

La aplicación de este teorema puede eliminar un bloque and. El teorema (18) muestra que si x se interfecta con la variable y y x se interfecta con la variable z, entonces puede eliminarse la intersección de y y z. la única forma de que y*z pueda afectar el valor de la expresión es que y*z= 1, lo que solo puede ocurrir cuando, tanto y como z son 1. Sin embargo, si ambas son 1 entonces ya sea x*y o x*z deben ser también 1. Porque ya sea x o x siempre deben ser 1. Como ya sea x*y o x*z será 1 cuando y *z es 1, entonces y*z debe eliminarse, porque 1+1=1. Este teorema puede comprobarse como sigue:  X   ⋅ Y  +  X   ⋅ Z  + Y  ⋅ Z  =  X   ⋅Y   ⋅

Teo. (2) Teo. (8)

1 +  X   ⋅ Z  ⋅1 + Y  ⋅ Z  ⋅1

=  X   ⋅ Y  ⋅

( Z  + Z ) + X   ⋅ Z  ⋅ (Y   +Y  ) +Y   ⋅ Z  ⋅ ( X   + X  )

=  X  ⋅ Y  ⋅  Z  +  X  ⋅ Y  ⋅ Z  +  X  ⋅ Y  ⋅ Z  +  X  ⋅ Y  ⋅ Z  +  X  ⋅ Y  ⋅  Z  +  X  ⋅ Y  ⋅  Z 

Teo. (14)

=

Teo. (7) Teo. (14) Teo. (8) Teo. (2)

 X  ⋅ Y  ⋅ Z  +  X  ⋅ Y  ⋅ Z  +  X  ⋅ Y  ⋅ Z  +  X  ⋅ Y  ⋅ Z 

=  X   ⋅ Y   ⋅

( Z  + Z ) + X   ⋅ Z  ⋅ (Y   +Y  )

1 +  X   ⋅ Z  ⋅1

=  X   ⋅ Y  ⋅

=  X   ⋅ Y  +  X   ⋅ Z 

La aplicación de este teorema puede eliminar un bloque and.

4.1.6. Teoremas de inversión Los teoremas (19) y (20) describen la inversión de las expresiones que contienen variables que interceptan o unen.  X   ⋅ Y 

=  X   + Y 

 X   + Y 

=  X   ⋅ Y 

(19) (20)

Cuando se invierten esas expresiones se invierte cada variable, y la operación se cambia de AND a OR, o de OR a AND. La mejor forma de comprobar esos teoremas consiste en emplear una tabla de combinaciones que permita la comparación de los valores de ambos de una ecuación para cada posible combinación de valores de variables x e y. Tabla 4.4. Tabla de combinaciones que se emplea para comprobar el teorema (19) (1) (2) (3) x y x*y 0 0 0 0 1 0 1 0 0 1 1 1

(4) (5) (6) x*y x y 1 1 1 1 1 0 1 0 1 0 0 0

(7) x+y 1 1 1 0

Las columnas 1 y 2 de la Tabla 4.4 muestran las cuatro posibles combinaciones de valores para x e y. La columna 3 muestra los valores de la expresión x * y obtenidos cuando se intersectan los valores de las columnas 1 y 2. La columna 4 muestra los valores de x*y o sea la inversión de x * y que se obtienen invirtiendo los valores de la columna 3. Para comprobar que x* y = x + y, debemos ahora registrar los valores de x+y comprarlos con los de x * y. Para hacerlo podemos obtener primeramente de x e y en las columnas 5 y 6 invirtiendo las columnas 1 y 2 respectivamente. Obtenemos los valores de x + y en la columna 7 si se unen las columnas 5 y 6. Tabla 4.5. Tabla de combinaciones empleadas para comprobar el teorema (20) x 0 0 1 1

y x+y 0 0 1 1 0 1 1 1

x+y 1 0 0 0

x 1 1 0 0

y 1 0 1 0

x* y 1 0 0 0

Comparando las columnas 4 y 7 vemos que las dos son iguales para cada posible combinación de valores de x e y. El teorema (20) puede comprobarse del mismo modo empleando la Tabla 4.5.

4.2. Aplicación de los teoremas La aplicación de estos teoremas no siempre puede ser evidente, como se verá en los ejemplos siguientes. El problema principal consiste en decidir cuáles teoremas hay que aplicar y en que orden, porque a menudo hay varios caminos que pueden seguirse. En general si esos caminos se siguen en la forma adecuada llevarán al circuito más sencillo, excepto como ocurre a menudo, cuando los circuitos pueden simplificarse en otros dos o más circuitos distintos aunque igualmente sencillos.

Fig.4.13. Circuito que se simplifica en el ejemplo 1.

Ejemplo 1. Simplifíquese el circuito de la Fig. 4.13.

Solución:  A ⋅  B ⋅ C  +  A ⋅  B ⋅ (C  + D ) =  A ⋅  B ⋅ C  +  A ⋅ B ⋅ C  +  A ⋅ B ⋅  D

=

 A ⋅  B +  A ⋅  B ⋅  D

=

 A ⋅  B

Teo.(14) Teo(15) Teo(16)

Se obtiene el mismo resultado cuando se sigue el método:  A ⋅ B

⋅ C  + A ⋅ B ⋅

(C  + D)

[C  +(C  + D)]

=  A ⋅ B ⋅

=  A ⋅ B ⋅

(C  +C  + D )

=  A ⋅  B ⋅

(1 + D)

=

 A ⋅ B ⋅ 1

=

 A ⋅  B

Teo(14) Teo(13) Teo(8) Teo(6)

La Fig. 4.14 muestra el circuito simplificado.

Ejemplo 2. Simplifíquese el circuito de la Fig. 4.15.

Fig.4.15. Circuito que se simplifica en el ejemplo 2.

Solucion:  A ⋅ B ⋅ C  + A ⋅ B

+

( A + B

) + A ⋅ B ⋅ C  + B ⋅ C  + A ⋅ B ⋅ C 

+C 

TEO(20) TEO(15)

=  A ⋅ B ⋅ C  +  A ⋅ B +  A ⋅  B ⋅ C  +  A ⋅ B ⋅ C  + B ⋅ C  +  A ⋅  B ⋅ C  =  A ⋅ C  +  A ⋅ B +  A ⋅ C  +  B ⋅ C 

En este puntó el teorema (18) puede aplicarse en dos formas distintas, que darán por resultado dos circuitos diferentes aunque iguales. =  A ⋅ C  +  A ⋅ C  + B ⋅ C 

=  A ⋅ C  +  A ⋅ B +  A ⋅ C 

En vez de aplicar el teorema (15) aplicaremos el (16), pero de todos modos obtendremos los mismos resultados.  A ⋅ B ⋅ C  + A ⋅ B

+

( A + B

) + A ⋅ B ⋅ C  + B ⋅ C  + A ⋅ B ⋅ C 

+C 

=  A ⋅ B ⋅ C  +  A ⋅ B +  A ⋅  B ⋅ C  +  A ⋅ B ⋅ C  + B ⋅ C  +  A ⋅  B ⋅ C 

=  A ⋅  B +  A ⋅  B ⋅ C  +  A ⋅  B ⋅ C  +  B ⋅ C 

=  A ⋅

( B

+ B ⋅ C 

) +C  ⋅ ( B

=  A ⋅

( B

+C 

) +C  ⋅ ( B

+ A ⋅ B

)

)

+A

=  A ⋅ B +  A ⋅ C  + B ⋅ C  +  A ⋅ C 

=  A ⋅ C  +  B ⋅ C  +  A ⋅ C  =  A ⋅  B +  A ⋅ C  +  A ⋅ C 

Fig. 4.16. solucion del ejemplo 2.

Fig. 4.17. Solución alternativa del ejemplo 2.

TEO(20) TEO(16) TEO(14) TEO(17) TEO(14) TEO(18)

Ejemplo 3. Simplifíquese el circuito de la fig. 4.18. Solucion:  A ⋅ B ⋅ C  + A ⋅ C  ⋅ ( B ⋅ D)

+

 A ⋅ B ⋅ C  +  A ⋅ B ⋅ C  ⋅  D

( A ⋅  B ⋅ C ) +  A ⋅ C  ⋅ ( A + B

+

( A + B

) + A ⋅ C  ⋅ ( A ⋅ B ⋅ C  ⋅ D) + A ⋅ B ⋅ C  ⋅ D

+C 

+ C  + D

) +  A ⋅ B ⋅ C  ⋅ D

TEO(12), TEO(20), TEO(19)  A ⋅ B ⋅ C  +  A ⋅ B ⋅ C  ⋅ D

+  A ⋅  B ⋅ C  +  A ⋅  A ⋅ C  +  A ⋅  B ⋅ C  +  A ⋅ C  ⋅ C  +  A ⋅ C  ⋅ C  +  A ⋅ C  ⋅  D +  A ⋅  B ⋅ C  ⋅  D

TEO(14)

Fig. 4.18. Circuito que se simplifica en el ejemplo 3. =  A ⋅  B ⋅ C  +  A ⋅  B ⋅ C  ⋅ D +  A ⋅  B ⋅ C  +  A ⋅  A ⋅ C  +  A ⋅  B ⋅ C  +  A ⋅  B ⋅ C  +  A ⋅ C  ⋅  D +  A ⋅ B ⋅ C  ⋅  D

TEO.

(4) =  A ⋅  D ⋅ (C  + B + C ) +  A ⋅  B ⋅ C  ⋅  D +  A ⋅  B ⋅ C  +  A ⋅ B ⋅ C  ⋅  D =  A ⋅  D ⋅ (1 + B ) +  A ⋅  B ⋅ C  ⋅  D +  A ⋅  B ⋅ C  +  A ⋅  B ⋅ C  ⋅  D =  A ⋅ D +  A ⋅  B ⋅ C  ⋅  D +  A ⋅  B ⋅ C  +  A ⋅  B ⋅ C  ⋅ D =  D ⋅

( A + A ⋅ B ⋅ C ) + B ⋅ C  ⋅ ( A + A ⋅ D)

= D ⋅

( A + B ⋅ C ) + B ⋅ C  ⋅ ( A + D )

=  A ⋅ D + B ⋅ C  ⋅ D +  A ⋅ B ⋅ C  + B ⋅ C  ⋅ D =  A ⋅ D + B ⋅ C  ⋅  D +  B ⋅ C  ⋅  D

Teo. (14) Teo. (8) Teo. (6) Teo. (14) Teo. (17) Teo. (14) Teo. (18)

Tabla de los teoremas •

Teoremas de una sola variable



(1)  X  ⋅ 0 = 0 (2)  X  ⋅ 1 =  X  (3)  X  ⋅  X  =  X  (4)  X    X   0 (5)  X  + 0 =  X  (6)  X  + 1 = 1 (7)  X  +  X  =  X  (8)  X   +  X   =1 (9)  X    X   Propiedades de las operaciones AND y OR: ⋅

=

=

(10) (11) (12) (13) •

 X  ⋅ Y 

=

Y  ⋅  X 

(Y  ⋅  Z )

 X 



 X 

+ Y  =

=

 X  ⋅ Y  ⋅ Z 

Y  +  X 

 X   + (Y  + Z )

=  X   + Y  + Z 

descomposición en factores y expansion: (14)



 X  ⋅ Y  +  X  ⋅ Z 

Teoremas de simplificación: (15)  X   Y   X   Y   X   (16)  X  +  X  ⋅ Y  =  X  (17)  X    X   Y   X   Y  (18)  X  ⋅ Y  +  X  ⋅ Z  + Y  ⋅ Z  =  X  ⋅ Y  +  X  ⋅ Z  (19)  X   ⋅ Y  =  X   +Y  (20)  X   + Y  =  X   ⋅ Y  ⋅

+

+





=

=

+

=

 X  ⋅ (Y  + Z )

4.3. Formas canónicas de una función. Una función booleana puede ser expresada algebraicamente de diferentes formas. Las formas canónicas facilitan los procedimientos de simplificación para las expresiones booleanas generando circuitos lógicos mas deseables. Estas formas canónicas tienen términos suma (maxiterminos) esto es una suma lógica formada por una operación OR entre los literales Ej: X+Y+Z o términos sumas (miniterminos) esto es por un producto lógico formado una operación AND entre literales Ej: XYZ. Una variable binaria puede aparecer en su forma normal (x) o en la forma e complemento (x'). Considérese ahora dos variables binarias x y y combinadas con la operación AND; como cada variable puede aparecer de cualquier forma, habrá cuatro combinaciones posibles: x'y', x'y, xy' y xy. Cada no de estos cuatro términos AND se llaman términos mínimos (miniterminos) de un producto normalizado. De igual manera, se pueden cambiar n variables para formar 2n términos mínimos. Los 2n diferentes términos mínimos pueden determinarse por un método similar al mostrado en Tabla 4-1 para tres variables. Los números binarios de 0 a 2 n -1 se listan bajo las n variables. Cada término mínimo se obtiene de un término AND de n variables con cada variable tildada, si el bit correspondiente al número binario es 0 y si no está tildada a 1. Un símbolo para cada término mínimo se ilustra en la tabla en la forma de m j, donde j denota, el equivalente decimal del número binario del término mínimo correspondiente. Tabla 4-1 Términos mínimos y máximos para tres variables binarias Términos mínimos Términos máximos x y z Término Designación Término Designación 0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

x'y'z' x'y'z x'yz' x'yz xy'z' xy'z xyz' xyz

m0 m1 m2 m3 . m4 m5 m6 m7

x+y+z x + y + z' x + y'+ z x + y' + z' x' + y + z x' + y + z' x' + y' + z x' + y' + z'

M0 M1 M2 M3 M4 M5 M6 M7

De manera similar, las n variables formando un término OR, con cada variable tildada o no tildada, darán 2n combinaciones posibles llamadas términos

máximos (maxiterminos) de las sumas normalizadas. Los ocho términos máximos de las tres variables, conjuntamente con la simbología asignada, se listan en la Tabla 4-1. Cualesquier 2 n términos para n .variables pueden determinarse de manera similar. Cada término máximo se obtiene de un término OR de n variables con cada variable no tildada el correspondiente bit es 0 y tildada si es 1.* Nótese que cada término máximo es el complemento de su correspondiente término mínimo y viceversa. Una función de Boole puede ser expresada algebraicamente a partir una tabla de verdad dada, conformando un término mínimo por cada combinación de las variables que producen un 1 en la función para luego, tener la OR de todos los combinaciones 001, 100, 111 como x'y'z, xy’z' y x y z respectivamente. Como cada uno de estos términos mínimos resulta en f 1 = 1, se tiene: Tabla 2-4 Funciones de tres variables x 0 0 0 0 1 1 1 1

y 0 0 1 1 0 0 1 1

z 0 l 0 1 0 1 0 1

Función f 1) Función f 2 0 0 1 0 0 0 0 1 1 0 0 1 0 1 1 1

f 1 = x'y'z + xy'z' + .xyz = m1 + m4 + m7 De manera similar, se puede fácilmente verificar que: f 2 = x’yz + xy’z + xyz’+ xyz = m 3 +m5 +m6 +m7 Considérese ahora el complemento de una función de Boole. Este puede leerse de una tabla de verdad formando un término mínimo por cada combinación que produce un cero y luego haciendo la función OR de esos términos. El complemento de f 1 se lee así:

f 1 = x 'y' z' + x'yz' + x'yz + xy’z + xyz’ Si se obtiene el complemento de f’1 se obtiene la función f 1 :

f 1 = (x + y + z)(x + y' + z)(x + y' + z')(x' + y + z')(x' + y' + z) = M0 •M2 •M3 • M5 •M6 De igual manera, es posible leer la expresión f 2 de la tabla:

f 2 = (x + y + z)(x + y + z')(x + y' + z)(x' + y + z) = M0 •M1 •M2 • M4 4.3.1. Suma de términos mínimos Se había dicho antes que para n variables binarias, se pueden obtener 2 n términos mínimos diferentes y que cualquier función de Boole puede

expresarse como una suma de términos mínimos. Los términos mínimos cuya suma define la función de Boole son aquellos que dan el 1 de la función en una tabla de verdad. Como la función puede ser 1 ó 0 para cada término mínimo y ya que hay 2 n términos mínimos, se pueden calcular las funciones posibles que pueden formarse con n variables como 2 2n. Algunas veces es conveniente expresar la función de Boole en la forma de suma de términos mínimos. Si no está en esta forma, se puede llegar a ella expandiendo primero la expresión a una suma de términos AND. Luego se inspecciona cada término para ver si contiene todas las variables (dominio de la función). Si le hace falta una o más variables, se aplica la función AND con una expresión tal como x + x', donde x sea una de las variables faltantes. El siguiente ejemplo aclara este procedimiento. EJEMPLO: Expresar la función de Boole F = A + B'C como suma de términos mínimos. La función tiene tres variables: A, B y C. Como el primer término A no tiene las otras dos variables por tanto: A = A(B + B') = AB + AB' Como la expresión carece de una variable: A = AB(C + C') + AB'(C + C') = ABC + ABC' + AB'C + AB'C' El segundo término B'C carece también de una variable: B'C = B'C(A + A') = AB'C + A'B'C Combinando todos los términos se obtendrá: F= A+B'C = ABC + ABC' + AB'C + AB'C' + AB'C + A'B'C Pero como AB'C aparece dos veces, y de acuerdo al teorema (x + x = x), es posible quitar uno de ellos. Rearreglando los términos en orden ascendente se obtendrán finalmente: F = A'B'C + AB'C' + AB'C + ABC' + ABC = m1 + m4 + m5 + m6 + m7 Es conveniente algunas veces, expresar la función de Boole cuando está compuesta de una suma de términos mínimos por medio de la siguiente forma simplificada: F(A, B, C) = ∑(1,4, 5, 6, 7) El símbolo de sumatoria implica los términos a los cuales se les aplica la función OR o Los términos entre paréntesis son los términos mínimos de la función. Las letras entre paréntesis a continuación de la F forman la lista de las

variables en el orden tomado cuando el término mínimo se convierte en un término AND.

4.3.2. Producto de términos máximos Cada una de las 2 2n funciones de n variables binarias pueden expresarse como un producto de términos máximos. Para expresar las funciones de Boole como un producto de términos máximos se debe primero llevar a una forma de términos OR Esto puede lograrse usando la ley distributiva x + yz= (x+y)(x+z) y si hay una variable x faltante en cada término OR se le aplicará la función OR conjuntamente con xx'. Este procedimiento se clarifica por medio del siguiente ejemplo: EJEMPLO: Expresar la función de Boole F = xy + x'z como un producto en la forma de términos máximos. Primero conviértase la función a términos OR usando la ley distributiva: F= xy + x'z = (xy + x')(xy + z) = (x + x')(y + x')(x + z)(y + z) = (x' + y)(x + z)(y + z) La función tiene tres variables: x, y y z. A cada término OR le hace falta una variable, por tanto: x' + y = x' + y + zz’ = (x' + y + z)(x' + y + z') x + z = x + z + yy' = (x +y + z)(x +y' + z) y + z = y + z + xx' = (x + y + z)(x' + y + z) Combinando todos los términos y quitando aquellos que aparezcan más de una vez se obtendrá finalmente: F = (x + y + z)(x + y' + z)(x' + y + z)(x' + y + Z') = M0 M2 M4 M5 Una forma conveniente de expresar esta función es de la siguiente manera: F(x,y, z) = π(0, 2, 4, 5) El símbolo de producto π denota la aplicación de la función AND a los términos máximos. Los números representan los términos máximos de la función.

4.4. Método del Mapa de Karnaugh Los mapas de Karnaugh constituyen un método sencillo y apropiado para la minimización de funciones lógicas El tamaño del mapa depende del número de variables, y el método de minimización es efectivo para expresiones de hasta 6 variables. Representación de funciones con mapas de Karnaugh.

Un mapa de Karnaugh es una representación gráfica de una tabla de verdad, y por lo tanto existe una asociación univoca entre ambas la tabla de verdad tiene una fila por cada rminitermino. Mientras que el mapa de Karnaugh tiene una celda por cada rminitermino De manera análoga, también existe una correspondencia unívoca entre las filas de la tabla de verdad y las celdas del mapa de Karnaugh si se utilizan maxiterminos

Mapas de Karnaugh de 2 variables Consideremos ahora dos variables A y B que deben tener una representación en K Cuatro son las formas posibles de combinar A y B A=0 y B=0, A=0 y B=1, A=1 y B=0. A=1 y B=1 Sea f una función de 2 variables f (A,B) Para elaborar el mapa de Karnaugh tendremos 2 2  = 4 combinaciones. En la figura se muestra la tabla de verdad con la lista de los miniterminos y el lugar  que ocupa cada uno de ellos en un mapa

Mapas de Karnaugh de 3 variables Sea f una función de 3 variables f (A.B.C) Para elaborar el mapa de Karnaugh tendremos 2 3 = 8 combinaciones.

Antes de seguir con 4. 5 y 6 variables veamos como se representa una función en un mapa de Karnaugh

1. Desde la tabla de verdad Supongamos que tenemos la siguiente tabla de verdad para una función de 3 variables f(ABC): 2.

Directamente desde una función.

Para este caso la función puede ser o no canónica. Si es canónica. Por ejemplo la función A’B’C + A’BC’ + ABC’ + ABC Si no es canónica. Pruebe a representar la función f( A,B,C)= AB +AB’C + A’B’C

Problema Probar con Mapas de Karnaugh que ABC + ABC + ABC + A BC = AC + BC

Mapas de Karnaugh de 4 variables Sea f una función de 4 variables: f(A.B.C.D) Para elaborar el mapa de Karnaugh tendremos 2 4 = 16 combinaciones

Mapas de Karnaugh de 5 variables Sea f una función de 5 variables: f (A.B,C,D,E) Para elaborar el mapa tendremos 2 5 = 32 combinaciones

Mapas de Karnaugh de 6 variables Sea f una función de 6 variables: f (A.B.C.D.E.F)

Para elaborar el mapa tendremos 2 a = 64 combinaciones

Simplificación de funciones con mapas de Karnaugh Obtener la función de un Mapa de Karnaugh es el procedimiento inverso a la de la realización del mapa Un término de la función coloca uno o más 'unos' en el mapa de Karnaugh Tomar esos unos, agrupándolos de la forma adecuada, nos permite obtener los términos de la función. Utilizaremos los Mapas de Karnaugh para obtener una función mínima de dos niveles Suma de Productos. Forma de dos niveles ADYACENCÍA LOGICA

Terminología para la simplificación Implicante Primo, Implicante Primo Esencial Implicante: Conjunto de unos en un mapa de Karnaugh que representa un

término producto de variables. Se denomina Implicante porque cuando este término toma el valor ‘1’ implica que también la función toma el valor 1. Un rminitermino solo es un Implicante Primo. Implicante que no está incluido completamente dentro de otro Implicante no puede combinarse con otro Implicante para eliminar un literal. Implicante Primo Esencial . Implicante primo que contiene uno o más miniterminos que no están incluidos en cualquier otro Implicante primo.  Algoritmo de minimización mediante mapas de Karnaugh. 1

Identificar los implicantes primos. Para este se busca obtener los grupos con mayor cantidad de unos adyacentes Los grupos deben contener un numero de unos que son potencias de 2 

2 Identificar todos los implicantes primos esenciales 3

La expresión mínima se obtiene seleccionando todos los implicantes primos esenciales y el menor número de implicantes primos para cubrir  los miniterminos no incluidos en los implicantes primos esenciales

Ejemplo Simplificar lo función F = AB’C’D + A’B’CD + A’BC’D’ + ABC’D’ + A’BCD’ + ABCD + A’B’C’D + A’B’C’D’ + ABCD’

Minimización en mapas de Karnaugh de 5 variables Simplificar la función = m(2,8,11,15,18,20,21,27,28,29,31). Se coloca un 1 en los miniterminos 

Minimización en mapas de Karnaugh de 6 variables Obtengo una función mínima para el siguiente mapa de Karnaugh

PROBLEMAS MAPAS DE KARNAUGH EJEMPLO 7. Hay 5 personas que actúan como jueces en un competencia dada. El voto de cada uno de ellos se indica con un 1 (pasa) o 0 (fracasa) en un línea de señal. Las 5 líneas de señal son las entradas a un circuito lógico combinacional . Las reglas de la competencia permiten sólo la disensión de un  voto. Si la  votación es 2-3 o 3-2, la competencia debe continuar. El circuito lógico debe tener dos salidas, XY . Si el voto es 4-1 o 5-0 para pasar , XY=11. Si el voto es 4-1 o 5-0 para fracasar , XY=00; si el voto es 3-2 o 2-3 para continuar, XY=10. 2. Un número primo es aquel que sólo es divisible entre si mismo y la unidad. Diseñe un circuito lógico mínimo que detecte todos los números primos entre 0  y 31. La salida F( A , B, C, D, E), donde A es la variable de mayor peso binario, será igual a 1, si y sólo si los cinco bits de entrada representan un número primo. Realice el logigrama utilizando inversores y compuertas No Y . 3. En uno de los laboratorios de una compañía químico farmacéutica se elaboran 14 distintas soluciones a partir de las componentes W , X, Y y  Z. Estas sustancias pesan 800, 400, 200 y  100 mg, respectivamente. Las soluciones depositadas en frascos se transportan por medio de una banda hasta una báscula. Si el peso indicado en la báscula es uno de los siguientes: 200, 500, 700, 800, 1100, 1400 o 1500 mg, entonces un dispositivo electromecánico F, después de agregar al compuesto la sustancia Q, sellará el frasco sobre la báscula y lo apartará de la banda; de otro modo, el frasco permanecerá abierto y la banda lo transportará hacia otra etapa del proceso.  Además, por las condiciones previas del proceso, no es posible que lleguen a la báscula ni frascos vacíos, ni frascos que contengan las siguientes sustancias:  WY ,  YZ,  WX o  WZ; todas las demás combinaciones sí pueden llegar hasta la báscula. 4. En la torre de control de un patio de ferrocarril,un controlador debe seleccionar la ruta de los furgones de carga que entran a una sección del patio, mismos que provienen del punto  A , como puede verse en el tablero de control de la  figura adjunta. Dependiendo de las posiciones de los conmutadores, un furgón puede llegar a uno cualesquiera de los cuatro destinos. Otros furgones pueden llegar desde los puntos B o C.

Diseñe un circuito, con inversores y compuertas   No O, que reciba como entradas las señales S1 a S5, indicadores de las posiciones de los conmutadores correspondientes, y que encienda una lámpara D0 a D3, indicando el destino al que llegará el furgón proveniente de A . Para los casos en que los furgones puedan entrar de B o C (S2 o S3 en la posición 0), todas las lámparas de salida deben encenderse, indicando que un furgón proveniente de  A , no puede llegar con seguridad a su destino. NOTA: S1 bit de mayor peso binario. 5. Un circuito lógico tiene 5 entradas A , B, C, D y E (donde A es la de mayor peso binario). Cuatro de las entradas representan un dígito decimal en BCD (Decimal Codificado en Binario,  por sus siglas en inglés). La primera entrada, A , es de control. Cuando el control está en 0 lógico, la salida Z e igual a 0 si el número decimal es impar y 1 si es par . Cuando el control está en 1 lógico, la salida Z es igual a 1 cuando la entrada en múltiplo de 3, en caso contrario es 0. Considerando las condiciones irrelevantes, diseñe un circuito mínimo utilizando sólo inversores y compuertas No O. NOTA: Considere al 0 como un número par. 6. Un técnico de un laboratorio químico tiene 4 productos A , B, C y D. Cada producto debe encontrarse en uno cualesquiera de dos recipientes de almacenamiento. Periódicamente, se requiere cambiar uno o más productos de un recipiente a otro. La naturaleza de los productos es tal, que es peligroso guardar A y B juntos a menos que D esté presente en el mismo recipiente. También es peligroso almacenar B y C juntos a menos que D esté presente. Este proceso no permite que alguno de los tanques esté vacío. Obtener el circuito mínimo de la expresión de una variable Z que deberá tener el valor de 0 para cada situación peligrosa de almacenamiento, utilizando sólo inversores y compuertas No O. NOTA: Considere a A como la variable de mayor peso binario. 7. Un posicionador de eje, proporciona una señal de 4 bits que indica la posición de un eje en pasos de 30°. Utilizando el código de Gray, el cual se muestra en la siguiente tabla, diseñe un circuito (realización mínima de suma de productos) que produzca una salida que indique en dónde se encuentra el eje.

POSICIÓN DEL EJE

SALIDA DEL POSICIÓN DECODIFICADOR DEL EJE

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF