4-diseno_combinatorio

41
NOTAS DE CLASE CIRCUITOS DIGITALES 4 – PRINCIPIOS DE DISENO LOGICO COMBINATORIO PROFESOR: GERMAN MORALES Z. ENERO DE 2008

Upload: jaxlrose

Post on 28-Jun-2015

459 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: 4-DISENO_COMBINATORIO

NOTAS DE CLASE

CIRCUITOS DIGITALES

4 – PRINCIPIOS DE DISENO LOGICO COMBINATORIO

PROFESOR: GERMAN MORALES Z.

ENERO DE 2008

Page 2: 4-DISENO_COMBINATORIO

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 algebra de Boole son las matemáticas que se utilizan para los 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)

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.

Page 3: 4-DISENO_COMBINATORIO

(5) (6)

(7) (8)

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 los cuatro primeros teoremas, éstos pueden comprobarse 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)

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

si hacemos x igual a la expresión sustituyendo x por en el teorema (1), , tenemos . como otro ejemplo puede simplificarse si se sustituye x por en el teorema (3), , lo que da por resultado .

En el tercer ejemplo puede simplificarse si se sustituye por 0 de acuerdo con el teorema (4), , lo que nos da de acuerdo con el teorema (1), .Para demostrar cómo pueden usarse estos teoremas para simplificar circuitos lógicos, trataremos de simplificar el circuito de la figura 4.10.

teo.(4); teo.(5); teo.(3);

teo.(7);

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

Page 4: 4-DISENO_COMBINATORIO

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) (10) (11)

Page 5: 4-DISENO_COMBINATORIO

(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)

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

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:

Page 6: 4-DISENO_COMBINATORIO

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

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.

(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

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:

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:

Teo. (2)

Teo. (8) Teo. (7)

Page 7: 4-DISENO_COMBINATORIO

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:

Teo. (2) Teo. (8)

Teo. (14)

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

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. (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)x

(2)y

(3)x * y

(4) x * y

(5) x

(6)y

(7) x + y

0011

0101

0001

1110

1100

1010

1110

Page 8: 4-DISENO_COMBINATORIO

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 y x + y x + y x y x * y 0011

0101

0111

1000

1100

1010

1000

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.

Page 9: 4-DISENO_COMBINATORIO

Solución:

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

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

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.

Page 10: 4-DISENO_COMBINATORIO

Solucion:

TEO(20) TEO(15)

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

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

TEO(20)

TEO(16)

TEO(14)

TEO(17)

TEO(14)

TEO(18)

Fig. 4.16. solucion del ejemplo 2.

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

Page 11: 4-DISENO_COMBINATORIO

Ejemplo 3. Simplifíquese el circuito de la fig. 4.18.

Solucion:

TEO(12), TEO(20), TEO(19)

TEO(14)

Fig. 4.18. Circuito que se simplifica en el ejemplo 3.

TEO.(4) Teo. (14)

Teo. (8) Teo. (6)

Teo. (14) Teo. (17)

Teo. (14) Teo. (18)

Page 12: 4-DISENO_COMBINATORIO

Tabla de los teoremas

Teoremas de una sola variable

(1) (2) (3) (4) (5) (6) (7) (8)

(9) Propiedades de las operaciones AND y OR:

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

descomposición en factores y expansion:

(14)

Teoremas de simplificación:

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

(20)

Page 13: 4-DISENO_COMBINATORIO

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 2n -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 x'y'z' m0 x + y + z M0 0 0 1 x'y'z m1 x + y + z' M1 0 1 0 x'yz' m2 x + y'+ z M2 0 1 1 x'yz m3 . x + y' + z' M3 1 0 0 xy'z' m4 x' + y + z M4 1 0 1 xy'z m5 x' + y + z' M5 1 1 0 xyz' m6 x' + y' + z M6 1 1 1 xyz m7 x' + y' + z' 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

Page 14: 4-DISENO_COMBINATORIO

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 2n 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 f1 = 1, se tiene:

Tabla 2-4 Funciones de tres variables

x y z Función f1) Función f2 0 0 0 0 0 0 0 l 1 0 0 1 0 0 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1

f1 = x'y'z + xy'z' + .xyz = m1 + m4 + m7

De manera similar, se puede fácilmente verificar que:

f2 = x’yz + xy’z + xyz’+ xyz = m3 +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 f1 se lee así:

f1 = x 'y' z' + x'yz' + x'yz + xy’z + xyz’

Si se obtiene el complemento de f’1 se obtiene la función f1 :

f1 = (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 f2 de la tabla:

f2 = (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 2n

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

Page 15: 4-DISENO_COMBINATORIO

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 2n términos mínimos, se pueden calcular las funciones posibles que pueden formarse con n variables como 22n. 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.

Page 16: 4-DISENO_COMBINATORIO

4.3.2. Producto de términos máximos

Cada una de las 22n 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

Page 17: 4-DISENO_COMBINATORIO

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 22 = 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 23 = 8 combinaciones.

Page 18: 4-DISENO_COMBINATORIO

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

Page 19: 4-DISENO_COMBINATORIO

Problema Probar con Mapas de Karnaugh que ABC + ABC + ABC + ABC = 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 24 = 16 combinaciones

Mapas de Karnaugh de 5 variablesSea f una función de 5 variables: f (A.B,C,D,E)Para elaborar el mapa tendremos 25 = 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 2a = 64 combinaciones

Page 20: 4-DISENO_COMBINATORIO

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

Page 21: 4-DISENO_COMBINATORIO

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

Page 22: 4-DISENO_COMBINATORIO

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

Page 23: 4-DISENO_COMBINATORIO

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.

Page 24: 4-DISENO_COMBINATORIO

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.

Page 25: 4-DISENO_COMBINATORIO

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ÓNDEL EJE

SALIDA DELDECODIFICADOR

POSICIÓNDEL EJE

SALIDA DELDECODIFICADOR

0°<= P <=30°30°< P <=60°60°< P <=90°90°< P <=120°120°< P <=150°150°< P <=180°

0 0 1 10 0 1 00 1 1 00 1 1 10 1 0 10 1 0 0

180°< P <=210°210°< P <=240°240°< P <= 270°270°< P <=300°300°< P <=330°330°< P <=360°

1 1 0 01 1 0 11 1 1 11 1 1 01 0 1 01 0 1 1

8. Obtener el diagrama lógico mínimo, de un circuito de 5 entradas: Dos de datos A y B y tres de control C2, C1 y C0.

 La función de salida depende de los ocho posibles estados de las señales de control, de acuerdo a la siguiente tabla:

CONTROL (DECIMAL) F

0 1

1 A + B

2 (A B)'

Page 26: 4-DISENO_COMBINATORIO

3 A OEX B

4 (A OEX B)'

5 A B

6 (A + B)'

7 0

Considere a C2 y A como las variables de mayor peso binario, respectivamente.

9. El sistema nervioso humano, incluyendo el cerebro, está hecho de células especializadas llamadas neuronas. Cada neurona tiene sinapsis (puntos de interconexión, como se muestra en la figura adjunta) de excitación y sinapsis de inhibición. Una neurona produce una salida 1 si el número de sinapsis de excitación con pulsos 1 excede el número de sinapsis de inhibición con pulsos 1 por al menos el valor de umbral de la neurona.

Determine la función booleana f(a,b,c,d,e) de emisión de pulsos a través del canal de salida (axón) en el modelo de la figura, bajo las siguientes condiciones:

(C1) Valor del umbral = 1 [es decir, se produce una salida 1 si el número de sinapsis de excitación con pulsos 1, excede por al menos uno el número de sinapsis de inhibición con pulsos 1], y

(C2) Siempre que haya al menos un pulso 1 en alguna sinapsis del puerto de excitación, habrá al menos un pulso 1 en alguna sinapsis del puerto de inhibición [es decir, no es posible -en este modelo restringido- que existan pulsos 1 en el puerto de excitación si no existe al menos un pulso 1 en el puerto de inhibición].

Minimizar f(a, b, c, d, e) haciendo uso de las condiciones irrelevante (C2). Realizar el logigrama utilizando inversores y compuertas No Y.

Page 27: 4-DISENO_COMBINATORIO

10. Textura es la organización de una superficie como un conjunto de elementos repetidos. En un proceso automático para clasificar texturas artificiales, un sensor de 4 puntos (figura adjunta) envía señales a un circuito combinatorio cuya tarea es discriminar (emitiendo pulsos 1) los siguientes elementos:

 En todos los casos que inspecciona el sensor se activan al menos 2 puntos de la rejilla (es decir, no se presentan casos en los cuales se activa tan solo un punto ni casos en los que no se activa ningún elemento)

Minimizar la función booleana f(a,b,c,d,e) a la salida del circuito discriminador, haciendo uso de las condiciones irrelevantes. Realizar el circuito mediante inversores y compuertas No O.

11. En una fábrica un dispositivo con 5 fotoceldas (figura adjunta), registra los caracteres formados abriendo pequeñas ranuras en una tarjeta de control. Si en la tarjeta registrada hay uno de los símbolos:

(Para el símbolo I son válidas las dos posiciones), entonces el dispositivo acciona un taladro.

En el proceso no hay tarjetas con alguno de los caracteres adjuntos:

Diseñe un circuito combinatorio a la salida del dispositivo que acciona el taladro? Minimizar la función.

  12. Se desea diseñar e instrumentar un circuito combinatorio mínimo de dos entradas con dos bits cada una, sobre las cuales se codifican dos de los cuatro tipos de sangre existentes y a su salida se obtenga una señal que informe sobre la posibilidad o

Page 28: 4-DISENO_COMBINATORIO

imposibilidad de la transfusión de uno de ellos sobre el otro, dadas las siguientes reglas de compatibilidad entre ellos.

Los tipos de sangre son 4: A, B, AB y O.

El tipo O puede donar a cualquier otro tipo, pero sólo puede recibir de él mismo.

El tipo AB puede recibir de cualquier otro tipo pero sólo puede donar a AB.

La clase A puede donar a A o a AB y recibir de A u O únicamente.

Por último, el tipo B puede donar al mismo B o al tipo AB y recibir de B u O.

La señal de salida deberá ser 1 cuando la transfusión propuesta en las entradas sea permitida.

13. En un sistema de detección luminosa que tiene el arreglo mostrado en la figura adjunta, se genera una señal de salida con valor de 1 únicamente cuando dos fotoceldas adyacentes están activadas, siempre y cuando la fotocelda del centro esté también activada.

NOTA: No es posible, en este sistema, que exista una señal de salida 0 o 1 si no hay al menos tres fotoceldas activadas.

Considerando a A como la variable más significativa, obtener el logigrama mínimo, considerando las condiciones indiferentes y utilizando sólo inversores y compuertas No Y.

 14. Un robot de juguete -llamado U-2- está diseñado para ser capaz de seguir una trayectoria (previamente programada por medio de controles que el robot tiene en la espalda) avanzando cuadro por cuadro en una área de 5x6 cuadros. El robot U-2 puede realizar una de las cuatro acciones siguientes:

(D) Girar (sobre su eje vertical) 90° a la derecha y luego avanzar al centro del siguiente cuadro si su pequeño cerebro recibe la señal binaria 01.

(I) Girar 90° a la izquierda y luego avanzar al centro del siguiente cuadro si su diminuto cerebro percibe la señal binaria 10.

(F) Avanzar al frente un cuadro si su cerebro recibe la señal 00.

(A) Hacer alto si su cerebro recibe la señal 11.

Page 29: 4-DISENO_COMBINATORIO

Programar el robot para que recorra el laberinto de la Figura (a). Determinar las funciones booleanas del par de estímulos binarios que recibe el minicerebro del robot durante este recorrido y minimizarlas mediante mapas de Karnaugh. (En este problema hay condiciones irrelevantes -parte de la solución consiste en encontrarlas).

Los controles en la espalda del U-2 están localizados en dos áreas: En el área I se indicará el cuadro inicial mediante los controles de dos posiciones a, b, c, d y e [como se muestra en la Figura (c)]; si el control a se presiona del lado derecho, el peso de la variable a se contabilizará para determinar el número asignado al cuadro inicial (lo mismo ocurrirá para el resto de las variables). En el área II se programa la trayectoria por medio de 30 controles de tres posiciones cada uno.

  P4 P3 P2 P1                            0 0 0 0 0 0                            1 0 0 0 0 1                            2 0 0 0 1 0                            3 0 0 0 1 1                            4 0 0 1 0 0                            5 0 0 1 0 1                            6 0 0 1 1 0                            7 0 0 1 1 1                            8 0 1 0 0 0                            9 0 1 0 0 1                            

10 0 1 0 1 0                            11 0 1 0 1 1                            

Page 30: 4-DISENO_COMBINATORIO

12 0 1 1 0 0                            13 0 1 1 0 1                            14 0 1 1 1 0                            15 0 1 1 1 1                            16 1 0 0 0 0                            17 1 0 0 0 1                            18 1 0 0 1 0                            19 1 0 0 1 1                            20 1 0 1 0 0                            21 1 0 1 0 1                            22 1 0 1 1 0                            23 1 0 1 1 1                            24 1 1 0 0 0                            25 1 1 0 0 1                            26 1 1 0 1 0                            27 1 1 0 1 1                            28 1 1 1 0 0                            29 1 1 1 0 1                            30 1 1 1 1 0                            31 1 1 1 1 1                            

                                      

ED\CBA 000 001 011 010 110 111 101 100   ED\CBA 000 001 011 010 110 111 101 100  

00           00          

01           01          

11           11          

10           10          

                                       

ED\CBA 000 001 011 010 110 111 101 100   ED\CBA 000 001 011 010 110 111 101 100  

00           00          

01           01          

11           11          

10           10          

 

                                      P4 P3 P2 P1 S4 S3 S2 S1                      0 0 0 0 0                              1 0 0 0 1                              2 0 0 1 0                              3 0 0 1 1                              4 0 1 0 0                              5 0 1 0 1                              6 0 1 1 0                              7 0 1 1 1                              8 1 0 0 0                              9 1 0 0 1                              10 1 0 1 0                            

Page 31: 4-DISENO_COMBINATORIO

  11 1 0 1 1                              12 1 1 0 0                              13 1 1 0 1                              14 1 1 1 0                              15 1 1 1 1                                                                                                          

DC\BA 00 01 11 10   DC\BA 00 01 11 10   DC\BA 00 01 11 10    00   00   00    01   01   01    11   11   11    10   10   10    

                                                                                DC\BA 00 01 11 10   DC\BA 00 01 11 10   DC\BA 00 01 11 10      00   00   00      01   01   01      11   11   11      10   10   10                                           

 

 

                                     CB\A 0 1   CB\A 0 1   CB\A 0 1   CB\A 0 1          00   00   00   00          01   01   01   01          11   11   11   11          10   10   10   10