1 Capítulo 2 Síntesis en dos niveles 2.1. Formas de Funciones. Pueden escribirse diversas expresiones para una función. Existen dos formas básicas de expresiones booleanas que pueden ser implementadas en dos niveles de compuertas. a) Suma de Productos (OR de ANDs). Se denomina forma normal disyuntiva. Si uno de los sumandos (producto lógico de variables) toma valor lógico 1, la expresión tomará valor lógico 1. Ejemplo 1: AB ' C B ' D A ' CD ' con 8 literales y 11 entradas. b) Producto de Sumas (AND de ORs). Se denomina forma normal conjuntiva. Si uno de los productos (suma lógica de variables) toma valor lógico 0, la expresión tomará valor lógico 0. Ejemplo 2: ( A ' B C )( B ' C D)( A C ' D) con 9 literales y 12 entradas. Existen formas híbridas que son mezclas de las dos anteriores, y que en general tienen representación en redes con más de dos niveles de compuertas. Las formas híbridas se pueden reducir a una de las anteriores, aplicando postulados y teoremas. Ejemplo 3: AB(C+D)+E es una forma híbrida, de 5 literales, 8 entradas y 3 niveles que puede ser representada como suma de productos según: ABC+ABD+E, con 7 literales, 9 entradas y 2 niveles. La forma híbrida tiene menor costo espacial, pero mayor costo temporal. Toda expresión booleana puede ser representada en estas dos formas básicas. Por ejemplo para el Ejemplo 1, se tiene la forma producto de sumas: ( A B )(C D)( A C ) con 6 literales y 9 entradas, que es de menor costo. La equivalencia entre ambas formas puede ser demostrada aplicando los postulados y teoremas. También se tiene para el Ejemplo 2, la forma equivalente según suma de productos: A ' B ' C ' AC BD CD , con 9 literales y 13 entradas, que es de mayor costo. En este caso también se tiene la forma equivalente: A ' B ' C ' AC BD A ' D . Profesor Leopoldo Silva Bijit 13-04-2010 2 Sistemas Digitales Existen dos formas especiales de suma de productos y producto de sumas que se denominan: Suma de mintérminos y Producto de maxtérminos; las cuales permiten expresar funciones booleanas en forma normalizada. Las formas canónicas son representaciones estandarizadas de expresiones booleanas y permiten asociar a una función una expresión algebraica única. Escritas de esta manera pueden efectuarse comparaciones entre expresiones booleanas. Una forma canónica destaca las componentes más primitivas de una expresión. Existe sólo una forma de escribir la tabla de verdad de una función y sólo una forma canónica, pero existen diversas representaciones de la función, mediante esquemáticos o expresiones booleanas. Los términos elementales con los que se construyen las formas canónicas se denominan mintérminos y maxtérminos. Una forma canónica no es una expresión mínima. 2.2. Mintérminos En una función de n variables, un mintérmino es un producto que contiene las n variables, pudiendo éstas estar o no complementadas. Para el caso de dos variables, los mintérminos son: AB, A’B, AB’, A’B’ Puede comprobarse que para tres variables, el número de mintérminos es 8, y para n variables se tendrán 2 n mintérminos. Debe notarse que cada renglón de una tabla de verdad está asociado a un y sólo un mintérmino. Cada mintérmino puede ser asociado a un número decimal. Para simplificar la notación, una vez ordenadas las variables de acuerdo a cierto criterio, se asigna un "1" a una variable no complementada y un "0" a las complementadas, formando así un número binario, el cual expresado en sistema decimal se emplea para referenciar unívocamente a cada mintérmino. Ejemplo 2.1. Definición de mintérmino Sea: A B C un mintérmino en caso de tener una función de tres variables. Entonces el código binario es 010, este número expresado en decimal es 2. El criterio de ordenación de las variables es alfabético. Se anota: m2 A BC Una función booleana puede describirse por la suma de los mintérminos que la constituyen. Profesor Leopoldo Silva Bijit 13-04-2010 Capítulo 2. Síntesis en dos niveles 3 En general: f mi La anterior es una forma particular de suma de productos. Una simplificación adicional es escribir una lista de mintérminos según: f m(1,3,8) Esto indica que f está formada por la suma de m1 , m3 y m8 . Debe destacarse que es importante el orden de las variables antes de asignar códigos binarios. Ejemplo 2.2. Suma de mintérminos Obtener la tabla de verdad para: f ( A, B, C ) m(2, 6) ABC ABC Se tiene: # ABC f m2 m6 0 000 0 0 0 1 001 0 0 0 2 010 1 1 0 3 011 0 0 0 4 100 0 0 0 5 101 0 0 0 6 110 1 0 1 7 111 0 0 0 Figura 2.1 Tablas de verdad de algunos Mintérminos. La tabla de verdad de un mintérmino contiene uno y sólo un valor lógico "1"; el resto son "0"s. La posición del "1", define unívocamente un renglón. Cada columna de un mintérmino, a través de la operación OR, deja un uno, en un renglón determinado de la columna de f. La suma lógica de los mintérminos no incluidos en la sumatoria que describe a f, son los mintérminos de la función complementada, en el caso del ejemplo anterior: f m(0,1, 3, 4, 5, 7) 2.3. Maxtérmino. Es una suma lógica que contiene todas las variables, pudiendo éstas estar o no complementadas. Profesor Leopoldo Silva Bijit 13-04-2010 4 Sistemas Digitales La tabla de verdad de un maxtérmino contiene uno y sólo un valor lógico "0"; el resto son "1"s. La posición del "0" define unívocamente a un renglón de la tabla de verdad. Para dos variables, los maxtérminos son: ( A B), ( A B ), ( A B) y ( A B ) Para n variables se tendrán 2 n maxtérminos. El código decimal para identificar a los maxtérminos se obtiene, una vez ordenadas las variables dentro de una suma de acuerdo a cierto criterio, asignando un "0" a cada variable no complementada y un "1" a las variables complementadas. Debe notarse que esta asignación es diferente (dual) de la elegida para mintérminos. Ejemplo 2.3. Definición de maxtérmino. Sea: ( A B C ) un maxtérmino. Entonces el código binario es: 101. El número expresado en decimal es 5 y se anota: M 5 A B C Una función puede describirse como el producto de los maxtérminos que la constituyen. Cada maxtérmino asegura un cero de la función en un determinado renglón. f En general: Mi Es una forma particular de producto de sumas. También puede abreviarse mediante una lista de los números decimales de los maxtérminos. Ejemplo 2.4. Producto de maxtérminos Obtener la tabla de verdad para: f ( A, B, C ) M (2, 6) (A B C )( A B C) Se tiene: # ABC f M2 M6 0 000 1 1 1 1 001 1 1 1 2 010 0 0 1 3 011 1 1 1 4 100 1 1 1 5 101 1 1 1 6 110 0 1 0 7 111 1 1 1 Figura 2.2. Tablas de verdad de algunos Maxtérminos. Profesor Leopoldo Silva Bijit 13-04-2010 Capítulo 2. Síntesis en dos niveles 5 La tabla de verdad de un maxtérmino contiene uno y sólo un valor lógico “0”, el resto son “1”s. La posición del cero define unívocamente al renglón. Cada columna de un maxtérmino, deja un cero a través de la operación AND, en un renglón determinado de la columna de f. El producto lógico de los maxtérminos no incluidos en f, corresponde a la función complemento: f M (0,1,3,4,5,7) Relaciones Con los códigos elegidos para denotar mintérminos y maxtérminos, se cumplen: mi Mi Mi mi mi Mi Mi mi Para n variables se tendrá que: i (2n ) 1 mi 1 i 0 i (2n ) 1 Mi 0 i 0 Es decir, la suma lógica de todos los mintérminos de n variables es igual a 1; y el producto lógico de todos los maxtérminos tiene valor lógico cero. Ejemplo 2.5. De suma de mintérminos a productoria de maxtérminos. Expresar como producto de maxtérminos, la función f y su complemento: f(A,B,C) f Se tiene, para la función f: m( 2,3,6,7 ) m2 m3 m6 m7 f m2 m3 m6 m7 Complementando: Reemplazando los mintérminos complementados por maxtérminos: f M2 M3 M6 M7 Finalmente, para la función complementada: f M (2,3, 6, 7) Se puede escribir la función complementada, como la suma de los mintérminos que no están f m0 m1 m4 m5 presentes en la función, es decir: Aplicando De Morgan: Profesor Leopoldo Silva Bijit f f m0 m1 m4 m5 13-04-2010 6 Sistemas Digitales Resulta: f m0 m1 m4 m5 Reemplazando los mintérminos complementados por maxtérminos: f M 0 M1 M 4 M 5 f Finalmente: M (0,1, 4,5) 2.4. Expansión a formas canónicas Cualquier función booleana puede ser representada en forma canónica. El proceso de obtener la forma canónica se denomina expansión. Un método directo consiste en obtener la tabla de verdad, y luego identificar los mintérminos o los maxtérminos. Otra posibilidad, que se estudia a continuación, es mediante un desarrollo algebraico basado en los postulados y teoremas del álgebra de Boole. 2.4.1. Expansión de suma de productos Está basado en el uso repetitivo del teorema: a ab ab Ejemplo 2.7. Expansión a mintérminos. f (a, b, c) a bc abc El término "a" puede expandirse según: a ab ab abc ab c abc ab c m7 m5 m6 m 4 ;se completan las variables que faltan. Para bc’ se tiene: bc abc m6 a bc m2 Se tiene que: abc = m7 , es un mintérmino. Usando el teorema de idempotencia (m6 + m6 = m6), se obtiene: f (a, b, c) m(2,4,5,6,7) 2.4.2. Expansión de productos de sumas Está basado en completar los factores, mediante el uso de: a (a b)( a b) Ejemplo 2.8. Expansión a maxtérminos f (a, b, c) (a b)(b c) Se tiene que: Profesor Leopoldo Silva Bijit 13-04-2010 Capítulo 2. Síntesis en dos niveles a b 7 (a b c) (a b c ) M 0 M1 (a b c ) (a b c ) Considerando, por idempotencia, que: M 1 M 1M 1 M1 M 5 b c Finalmente: f (a, b, c) M 0 M 1M 5 2.5. Síntesis de las formas. 2.5.1. Suma de productos Dada una función mediante una suma de productos, ésta puede implementarse usando un OR de AND's. Ejemplo 2.9. OR de ANDs Para: f (a, b, c, d ) ab cd , se logra directamente: a b' f c d Primer Nivel | Segundo Nivel Figura 2.3. Suma de productos en dos niveles. Se dice que es una implementación en dos niveles. Una red es de n niveles, cuando una señal de entrada debe pasar a través de n compuertas para llegar a la salida; la señal de entrada que recorra más compuertas hasta llegar a la salida, es la que define la cantidad de niveles; el recorrido se denomina ruta crítica y define el retardo de propagación de la red. Debe notarse que se considera que se dispone de b' (si sólo se dispone de b, se requiere un nivel adicional). También puede implementarse usando solamente compuertas NAND. Ejemplo 2.10. Dos niveles de NANDs En el ejemplo 2.9. aplicando involución, se logra: f ab cd ab cd ; por involución . ; por De Morgan. Gráficamente: Profesor Leopoldo Silva Bijit 13-04-2010 8 Sistemas Digitales a b' f c d Figura 2.4. Suma de productos mediante NANDs. La técnica anterior se denomina "Método de doble complementación", la cual se puede visualizar en forma gráfica agregando dos pequeños círculos a la salida de la Figura 2.3. a a f f b' b' c c d d Figura 2.5. Doble complementación. Luego se emplea, el equivalente gráfico del Teorema de De Morgan, que se muestra en la Figura 2.6. Figura 2.6. Equivalencia gráfica del teorema de De Morgan. Finalmente se desplazan los pequeños círculos, en las entradas de la compuerta de salida, hacia las salidas de las compuertas de primer nivel; resultando la Figura 2.4. 2.5.2. Producto de sumas Dada una función mediante un producto de sumas, puede lograrse una implementación en dos niveles; usando un AND de OR's. Ejemplo: f (A B ) (C D) Se obtiene: A B' f C D Figura 2.7. Producto de sumas en dos niveles. Profesor Leopoldo Silva Bijit 13-04-2010 Capítulo 2. Síntesis en dos niveles 9 Esto en el caso de emplear compuertas AND y OR. También puede aplicarse el método de la doble complementación para un diseño basado en compuertas NOR. Algebraicamente: f ( A B ) (C D) ; involución ( A B ) (C D) ; De Morgan Resulta: A f B' C D | Primer Nivel | Segundo Nivel | Figura 2.8. Suma de productos mediante NORs. El circuito anterior, puede obtenerse directamente a partir del basado en AND y OR, de la Figura 2.7, usando el equivalente gráfico del teorema de De Morgan, que se muestra en la Figura 2.9. Figura 2.9. Visualización esquemática del teorema de De Morgan. 2.5.3. Conversión de producto de sumas a suma de productos. Cambio de lógica. Si se tiene una expresión tipo producto de sumas, mediante la doble complementación, el circuito a la izquierda de la Figura 2.10, puede modificarse como se muestra en el esquemático de la derecha: A A B' f C D B' f C D Figura 2.10. De producto de sumas a Suma de productos. Aplicando De Morgan, a las compuertas de primer y segundo nivel se obtiene la red de la Figura 2.11 izquierda. Luego complementando las variables de entrada y salida, se obtiene el esquema de suma de productos. Profesor Leopoldo Silva Bijit 13-04-2010 10 Sistemas Digitales A f B' A' B f' C' D' C D Figura 2.11. Complementos de las entradas y salidas. Debe notarse que la implementación como suma de productos tiene todas las variables de entrada y salida complementadas, respecto a la forma producto de sumas. Es decir, plantea la expresión en términos de los complementos de las variables originales. También puede convertirse una expresión tipo suma de productos a la forma producto de sumas. En un esquemático, se cambian los ANDs del primer nivel por ORs; y el OR del segundo nivel por un AND; además se complementan las variables de entrada y la de salida. Si se cambia la asignación de valores físicos a lógicos por su forma complementaria, el diseño en dos niveles basado en suma de productos puede efectuarse como producto de sumas y viceversa. 2.6. Diseño lógico 2.6.1. Fan-in. Fan out. En la práctica, las compuertas lógicas tienen ciertas características. Una de ellas es el fan-in, que es el número de entradas de una compuerta. En componentes electrónicas integradas en pequeña escala, el caso de las compuertas lógicas OR, AND, NOT, NOR y NAND, las pastillas suelen ser de 14 pines o patas. Dos de ellas se emplean para proveer la alimentación continua (Vcc) y la Tierra (Gnd). Debido a esto, a medida que aumenta el número de entradas a una compuerta, disminuye el número de circuitos, o compuertas de igual tipo, que soporta la pastilla. Por ejemplo, se tienen 4 circuitos de 2 entradas, 3 de 3 entradas, 2 de 4 entradas. Fan-out se denomina el número de compuertas que pueden ser alimentadas o comandadas por una salida. Si en un diseño lógico se efectúan restricciones de fan-in y fan-out, se tendrá una representación en más de dos niveles. A mayor número de niveles, habrá un comportamiento más lento del circuito; ya que una conmutación debe propagarse a través de más compuertas. A menor número de niveles se tendrá que ocupar compuertas de mayor fan-in, lo que generalmente implica ocupar más pastillas en una implementación. Profesor Leopoldo Silva Bijit 13-04-2010 Capítulo 2. Síntesis en dos niveles 11 2.6.2. Observaciones sobre la forma Producto de Sumas. Algunas observaciones sobre la forma AND de ORs: Si se observa la siguiente tabla de verdad: f 0 1 0 1 1 1 0 0 f1 0 1 1 1 1 1 1 0 f2 1 1 0 1 1 1 0 1 Figura 2.12. AND de columnas. Se advierte que, dada la elección de las funciones, se cumple: f = f1 f2 Donde f1 y f2 son grupos de maxtérminos de f, y son agrupaciones disjuntas. Los maxtérminos de f1 no están presentes en f2 y viceversa. Ambas funciones pueden representarse como producto de maxtérminos; es decir, como producto de sumas. La minimización consiste en encontrar los mayores grupos de maxtérminos que puedan escribirse como un solo sumando con el menor número de literales. En ese caso al grupo se lo denomina implicante. Esto minimiza el fan-in de las compuertas ORs que implementan el sumando. A la vez, la minimización también consiste en determinar el menor número de grupos disjuntos, ya que esto minimiza el fan-in del AND que forma el producto lógico. 2.6.3. Observaciones sobre la forma Suma de Productos. Algunas observaciones sobre la forma OR de ANDs: Si se observan las siguientes tablas de verdad: f 0 1 0 1 1 1 0 0 f1 0 1 0 0 0 1 0 0 f2 0 0 0 1 1 0 0 0 Figura 2.13. OR de columnas. Profesor Leopoldo Silva Bijit 13-04-2010 12 Sistemas Digitales Se advierte que, dada la elección de las funciones, se cumple: f = f1 + f2 Donde f1 y f2 son grupos de mintérminos de f, y son agrupaciones disjuntas. Los mintérminos de f1 no están presentes en f2 y viceversa. Ambas funciones pueden representarse como suma de mintérminos; es decir, como suma de productos. La minimización consiste en encontrar los mayores grupos de mintérminos que puedan escribirse como un solo producto con el menor número de literales. En ese caso al grupo se lo denomina implicante. Esto minimiza el fan-in de las compuertas AND que implementan el producto. A la vez, la minimización también consiste en determinar el menor número de grupos disjuntos, ya que esto minimiza el fan-in del OR que forma la suma lógica. 2.6.4. Observaciones sobre las diferentes formas de diseño. Existen básicamente dos metodologías de diseño. Una es agrupar los mintérminos de la función, lo que lleva a la forma suma de productos; la otra es agrupar los maxtérminos de la función, lo que lleva a la forma producto de sumas. El primer método es equivalente a agrupar los ceros (maxtérminos) de la función complementada. El segundo método es equivalente a la agrupación de unos (mintérminos) de la función complementada. A muchas personas les resulta más sencillo formar agrupaciones de unos. Entonces: agrupando los unos de la función se logra la forma suma de productos; y agrupando los unos de la función complementada, se genera mediante De Morgan la forma producto de sumas, ya que esto equivale a agrupar los ceros de la función. Luego debe compararse el costo de ambos diseños para obtener el mínimo. 2.6.5. Perturbaciones. Diseños con riesgos. En diseños de redes combinacionales pueden presentarse perturbaciones. En el caso de la red de la Figura 2.14, la salida puede expresarse según: P = (((A’+B)’ + (D’+ C)’)’ + A)’ = A’(AB’+C’D) Entonces con {B=0, C=1} o {B=0 y D=0}, se presenta perturbación, en canto de subida de A atrasado, ver Figura 1.9. Profesor Leopoldo Silva Bijit 13-04-2010 Capítulo 2. Síntesis en dos niveles 13 A A B C D P = A'(AB' + C'D) Figura 2.14. Perturbación en red combinacional Las carreras entre los cantos, pueden evitarse en este caso cambiando el diseño. Minimizando se logra un diseño libre de perturbaciones: P = A' C' D Una perturbación puede eliminarse, suprimiendo la posibilidad de formar: (A + A') o (A A') en la función; esto congelando en "1" ó "0" el resto de las variables. Para esto se usa el teorema del consenso, que para tres variables puede escribirse: AB AC Si B=1 y C=1, queda: A A AB AC BC A A 1 El término de consenso elimina la perturbación, colocando un uno lógico cuando se produce la condición de perturbación. Lo cual se ilustra a continuación: 2.6.5.1. Perturbación estática en uno. La tabla de verdad de f, se ilustra mediante una representación denominada mapa de Karnaugh, que se estudiará en detalle en el Capítulo 5. AB 00 C 0 1 1 1 0 1 01 11 2 1 3 1 1 6 10 7 f(A, B, C)=AB+A’C+BC 4 5 A' C A B f B C Figura 2.15. Eliminación de perturbación en uno. Profesor Leopoldo Silva Bijit 13-04-2010 14 Sistemas Digitales Con B=1 y C=1, si se producen transiciones de A, éstas implican perturbaciones. Esto permite identificar su ocurrencia en un mapa; se producen cuando el diseño tiene implicantes adyacentes. Se corrige con el término de consenso, que de un punto de vista formal es redundante; y en la práctica elimina la perturbación, cubriendo la zona en que los implicantes tienen la adyacencia. En el caso del ejemplo: ésta se produce en el canto de bajada de A, si A’ está atrasada respecto a A; y en el de subida de A, si A’ está adelantada respecto a A. Lo diseños basados en suma de productos pueden generar perturbaciones en 1; y los basados en producto de sumas pueden generar perturbaciones en 0. 2.6.5.2. Perturbación estática en cero. Si se tiene: f ( A B)( A ' C ) . A B' f1 f A’ C f2 Figura 2.15a. Perturbación en cero. La condición para la perturbación, se produce con B=0 y C=0, cuando ocurre un canto de subida de A (con A’ atrasada respecto de A); la salida del and equivale al producto: AA’. Las perturbaciones en cero, se eliminan introduciendo una suma de términos adicional, empleando el teorema del consenso: ( A B)( A' C ) ( A B)( A' C )(B C ) . A B f1 B C A’ C f f2 Figura 2.15b. Eliminación de perturbación en cero. En este caso, cuando B=0 y C=0, la salida será: f produce perturbación. ( A 0)( A ' 0)(0 0) 0 , y no se Resumiendo: se producen perturbaciones estáticas, cuando hay agrupaciones adyacentes (éstas difieren en una variable). Se denominan estáticas, pues es un cambio momentáneo de un Profesor Leopoldo Silva Bijit 13-04-2010 Capítulo 2. Síntesis en dos niveles 15 nivel constante (Spikes o glitches), produciendo un falso cero o un falso uno. El falso cero se denomina perturbación estática en uno; el falso uno se denomina perturbación estática en cero. Figura 2.16. Falsos ceros y unos. El circuito combinacional, que en determinadas condiciones de las entradas, puede presentar perturbaciones en la salida se denomina riesgoso (hazard). Mediante diseños en dos niveles, y cuando se cubren las adyacencias entre implicantes, empleando compuertas adicionales, se logran diseños de redes combinacionales libres de riesgos. Ejemplo 2.11. Análisis de perturbaciones. En el esquemático de la Figura 2.17, se tiene: f AB BC A f B C Figura 2.17. Análisis de perturbaciones. Puede determinarse si se produce o no perturbación, analizando si llegan señales y sus complementos a una misma compuerta. En el caso de la Figura 2.17, si A=0 y C=1 se tiene f = B'+B lo que implica la posibilidad o riesgo de perturbación en f. Para determinar cuándo se produce, es preciso conocer cual de las señales llega primero. En el caso de la Figura 2.17, B llega al OR de la salida, con un retardo de propagación, a través del AND; y B’ pasando a través del NOT llega al OR de salida, con dos retardos de propagación. Como B' está atrasada respecto de B, la perturbación se produce en el canto de bajada de B. Ver Figura 1.9. En un mapa (ver Capítulo 5) se puede visualizar el riesgo de perturbación, debido a agrupaciones adyacentes. En la Figura 2.18 se visualiza la perturbación al pasar B de 1 a 0, es un caso de falso cero, ya que la implementación es del tipo suma de productos. Profesor Leopoldo Silva Bijit 13-04-2010 16 Sistemas Digitales AB 00 C 0 1 1 1 0 1 01 11 2 1 3 1 6 7 10 4 5 f(A, B, C)=A'B'+BC Figura 2.18. Visualización de perturbaciones en mapas. Puede corregirse el diseño: a) atrasando B, colocando condensadores, dependiendo su ubicación y la forma de conectarlo de la familia lógica. Esta solución no es general. b) colocando compuerta de consenso A’C. La solución con compuertas que cubran las transiciones entre implicantes es de tipo general y no depende de la frecuencia de las señales presentes. Un circuito, con las compuertas adicionales, se denomina libre de riesgos. Ejemplo 2.12. En circuitos diseñados con más de dos niveles, pueden generarse perturbaciones con más de un cambio momentáneo. Por ejemplo si debiendo estar en uno, tiene dos o más caídas a cero en un leve período de tiempo. El siguiente circuito, de la Figura 2.19, tiene una perturbación, de más de un pulso, en 1; el resto de las variables se asumen unos para habilitar las entradas a los ands. La señal en f1 tiene una perturbación en 1, ocurre lo mismo en f2. Libre de perturbaciones la señal en f debería ser un uno. Sin embargo se presenta una perturbación de más de un pulso, como se ilustra en las formas de ondas de la Figura 2.20, si el tiempo de propagación de la vía que genera f2 es mayor que el retardo con que se produce f1. a’ b f1 a c a’ d a e f f2 Figura 2.19. Más de una perturbación estática. Profesor Leopoldo Silva Bijit 13-04-2010 Capítulo 2. Síntesis en dos niveles 17 a a’ f1 f2 f Figura 2.20. Más de una perturbación estática. Se producen en implementaciones con más de dos niveles, y si concurren a una compuerta las señales y sus complementos por más de dos vías con retardos diferentes. Si denominamos f a la señal de salida, y A a la señal de entrada, se tiene que: f = (A+A’)(A+A’) La perturbación de más de un pulso también se podría definir como estática, en el sentido que un valor lógico que debe permanecer sin cambios (estacionario o estático), cambia el valor una o más veces, y en forma momentánea, para finalmente retomar el valor inicial. En algunos textos, estas perturbaciones son clasificadas como dinámicas. 2.6.5.3. Perturbaciones dinámicas. Si la señal de salida cambia de valor lógico, es decir, de 0 a 1 o viceversa, y durante el cambio ocurren perturbaciones se dice que ésta es dinámica. Figura 2.21. Perturbaciones dinámicas. La red de la Figura 2.22 muestra una perturbación dinámica, al cambiar la variable A de entrada de 1 a 0, y la salida de 0 a 1. Con B=1, C=1 y D=0, se tiene que: f = (A’ +A)(A’) y las señales concurren al AND de salida a través de tres vías con diferentes retardos. La señal f1, tiene una perturbación estática en cero, en el canto de bajada de A; si el cambio f 1 se produce después del cambio de f2, por ser su vía de propagación más lenta, la señal f, presentará una oscilación: primero pasa a 1, luego a 0 y finalmente a 1. Se aprecia que f, cambia momentáneamente a 0, luego vuelve a tomar valor 1; para finalmente tomar valor estable 1. Resumiendo se puede decir que una perturbación es dinámica si ocurre en una conmutación de la salida. Se espera una sola transición de la salida y se producen oscilaciones de ésta. Profesor Leopoldo Silva Bijit 13-04-2010 18 Sistemas Digitales En un diseño en dos niveles, no se producen perturbaciones dinámicas. En una red multinivel, tampoco se producen perturbaciones dinámicas si el diseño se realiza eliminando las perturbaciones estáticas. A B f1 A’ C f A’ f2 D Figura 2.22. Red con perturbación dinámica. A A’ f1 f Figura 2.23. Perturbación dinámica. El caso dual del anterior, se produce para una red combinacional en la que se produzca en la salida: f=AA’ + A’. 2.6.5.4. Carreras aleatorias de las entradas. Perturbación de la función. En redes combinacionales también pueden producirse perturbaciones si varias de las entradas tienen cambios casi simultáneos. En el mapa de la función f, de la Figura 2.24, si la función cambia de: f(0, 0, 0, 0) a f(0, 1, 0, 1) debería permanecer en cero. Sin embargo si no se produce el cambio simultáneo de B y D, se tendrán dos situaciones posibles: Si B cambia primero, se tendrá, que la salida toma los valores: f(0, 0, 0, 0) , f(0, 1, 0, 0) , f(0, 1, 0, 1) Si D cambia primero, la salida toma los valores: Profesor Leopoldo Silva Bijit 13-04-2010 Capítulo 2. Síntesis en dos niveles 19 f(0, 0, 0, 0) , f(0, 0, 0, 1) , f(0, 1, 0, 1) En ambos casos la función pasa momentáneamente por 1. AB 00 CD 01 0 1 11 12 4 00 0 01 1 11 0 3 1 7 0 10 1 2 0 6 1 1 0 0 13 5 1 15 14 10 0 0 1 0 8 9 11 10 f(A, B, C, D) Figura 2.24. Función con perturbación por carreras. Una forma de controlar las carreras de las entradas es la habilitación del conjunto durante un breve lapso de tiempo, luego de un tiempo de ocurrido el cambio de las entradas. A, B, C, D p Figura 2.25. Pulso de habilitación. El pulso de habilitación se denomina strobe, en inglés. A B C D p Figura 2.26. Función con perturbación por carreras. Ejemplo 2.13. La red combinacional, de la Figura 2.27, es alimentada por un contador que genera las señales A, B, C y D. Éstas cambian casi al mismo tiempo; es decir, varias tienen cantos que Profesor Leopoldo Silva Bijit 13-04-2010 20 Sistemas Digitales ocurren con pequeñas diferencias temporales. Podría decirse que ocurre una carrera entre las diferentes conmutaciones. A B TP1 C D Clock CP1 Q1 CP2 Q2 74LS93 f 1 MR1 Q3 MR2 1 Q2 CP0 Q1 CP1 Q0 TP2 1 1 Figura 2.27. Carreras en las entradas. Si se analizan las formas de ondas, cuando A es 1; y B pasa de 0 a 1; y C y D pasan de 1 a 0; es decir cuando el contador entra en la cuenta 12 en decimal, o 1100 en binario, se produce una perturbación de 1 en la salida. A B C D TP1 TP2 f Perturbación por carreras de las entradas Figura 2.28. Perturbación por carreras en las entradas. Profesor Leopoldo Silva Bijit 13-04-2010 Capítulo 2. Síntesis en dos niveles 21 Problemas resueltos Problema 2.1. Diseño multinivel Un caso más general de implementación en base a compuertas NOR y NAND se ilustra en el siguiente ejemplo. Se parte de una implementación multinivel tipo suma de productos, y se emplea la técnica de doble complementación. El diseño se representa mediante un esquemático. f (A B) C (D E) F La función no está descrita como suma de mintérminos. En forma inmediata se logra la red en tres niveles, empleando compuertas con fan-in igual a dos: A' B' D E C F' f Figura P2.1. Función en tres niveles. La implementación basada en compuertas NAND se logra con el método de doble complementación. En forma gráfica: A' B' D E C F' f Figura P2.2. Doble complementación en diseños multinivel. Aplicando el teorema de De Morgan, se logra una implementación, en base a NAND: Profesor Leopoldo Silva Bijit 13-04-2010 22 Sistemas Digitales A B C F' D' E' f Figura P2.3. Diseño multinivel mediante NANDs. Nótese que las variables de entrada, que recorren un número impar de compuertas para llegar a la salida, deben complementarse. Es el caso de A, B, D y E en el ejemplo anterior. Problema 2.2. Conversión a NANDs en multinivel El siguiente ejemplo ilustra una conversión a compuertas nand de un esquemático multinivel, del tipo suma de productos. Debe notarse el tratamiento de la señal interna X, y la necesidad de agregar un inversor. Desde un punto de vista analítico: F = A X + X + D; X = B C Complementando, ambos miembros, se logra: F' = ( A X)' ( X' ) ( D' ) ; X' = (B C)' A A X B F C X B D C X' D' F’ Figura P2.4 Implementación con NANDs en diseños multinivel. Problema 2.3. Diseño multinivel. Factorización. Sea una función de 7 variables. X=ADF + AEF + BDF + BEF + CDF + CEF + G Asumiendo que ya está simplificada lógicamente como suma de productos, se observa que requiere una compuerta OR de 7 entradas (fan-in = 7), también se requieren 6 compuertas AND de 3 entradas. La expresión está formada por 19 literales. Un diseño directo requiere 25 entradas (7 al OR de salida y 18 a los ANDs). Esta implementación tiene alto costo y es en dos niveles. Efectuando una factorización, puede expresarse según: X = (A + B + C) (D + E) F + G Para encontrar los factores adecuados pueden ayudar programas de minimización multinivel. Profesor Leopoldo Silva Bijit 13-04-2010 Capítulo 2. Síntesis en dos niveles 23 La expresión anterior requiere una compuerta OR de tres entradas, dos ORs de dos entradas, un AND de 3 entradas. La factorización logra una expresión con 7 literales; y 10 entradas. Se disminuye el tamaño, pero aumenta el número de niveles. A B C X D E F G Figura P2.5. Diseño en tres niveles. Problema 2.4. Diferentes formas de implementación. Pueden escogerse diferentes formas de implementar funciones. Por ejemplo, para la siguiente tabla de verdad: A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 f 0 1 0 1 0 1 1 0 Figura P2.6. Función de tres variables. a) Como suma de mínterminos: f = A'B'C+A'BC+AB'C+ABC' requiere un OR de 4 entradas, y 4 ANDs de 3 entradas. 16 entradas, con 12 literales, en dos niveles, asumiendo que se dispone de las variables y sus complementos (los literales). b) Si se escribe como suma de productos mínima: f = (A'B'C + A'B'C ) +A'BC+AB'C +ABC' por idempotencia, y agrupando se obtiene: f = A'C+B'C +ABC' forma mínima que requiere un OR de 3 entradas, 2 ANDs de 2 entradas y un AND de 3 entradas. Con 10 entradas y 7 literales. En dos niveles. c) Factorizando con S = AB, se logra: f = SC'+S'C; Profesor Leopoldo Silva Bijit 13-04-2010 24 Sistemas Digitales S A B C' f C Figura P2.7. Empleando un factor común S. Que requiere: 3 compuertas AND de 2 entradas, un OR de dos entradas y un inversor. Se tienen 9 entradas y 4 niveles. d) Empleando compuertas XOR: f = S A B C; con S = AB S f C Figura P2.8. Empleando compuertas xor. Implementación que emplea 2 compuertas, dos niveles, 4 entradas. Una de las compuertas es un OR exclusivo que requiere mayor costo interno. Problema 2.5. Costos de Implementación. Dependiendo de la forma de la expresión, las formas mínimas pueden tener costos diferentes, como se aprecia en el siguiente ejemplo. La expresión: f = AB + C en su forma canónica de suma de productos requiere: 20 entradas, 5 ANDs de 3 entradas y un OR de 5 entradas. Si se minimiza la suma de productos se requieren: 4 entradas, un AND de 2 entradas y un OR de 2 entradas. La misma expresión anterior como forma canónica de producto de sumas requiere: 12 entradas, 3 ORs de 3 entradas y un AND de 3 entradas. En su forma minimizada de producto de sumas requiere: 6 entradas, 2 ORs de 2 entradas y un AND de 2 entradas. En este caso la suma minimizada de productos lleva a la implementación de menor costo espacial. Un análisis de las formas de ondas permite establecer diferencias entre las implementaciones, ya sea por la producción de perturbaciones o porque tengan retardos diferentes. Algunas compuertas que tienen mayor número de entradas, tienen mayor retardo. Profesor Leopoldo Silva Bijit 13-04-2010 Capítulo 2. Síntesis en dos niveles 25 Problema 2.6. Expresar como suma de mintérminos usando teorema de expansión. Exprese los mintérminos mediante números decimales, ordenados en forma ascendente. Con f(a, b, c, d) = a + b’ c Solución: Para el primer término se tiene la siguiente expansión: a = ab + ab’ = abc + abc’ + ab’c + ab’c’ a = abcd + abcd’ + abc’d + abc’d’ + ab’cd + ab’cd’ + ab’c’d + ab’c’d’ a = m(15, 14, 13, 12, 11, 10, 9, 8) Para el segundo término, la expansión resulta: b’c = ab’c + a’b’c = ab’cd + ab’cd’ + a’b’cd + a’b’cd’ = m( 11, 10, 3, 2) Entonces: f(a, b, c, d) = m(15, 14, 13, 12, 11, 10, 9, 8) + m( 11, 10, 3, 2) Como m10 + m10 = m10 por idempotencia, y también: m11 + m11 = m11 Resulta finalmente, ordenando los valores decimales en forma ascendente: f(a, b, c, d) = a + b’c = m(2, 3, 8, 9, 10, 11, 12, 13, 14, 15) Problema 2.7. Se tiene una red combinacional con tres entradas (D2, D1, D0) y ocho salidas: (L7, L6, L5, L4, L3, L2, L1, L0). Los tres dígitos binarios pueden leerse en su equivalente decimal (n), considerando que D2 es la cifra más significativa y D0 la menos significativa. Cuando en la entrada se tiene el número n: la salida Ln está baja (0 lógico) y el resto de las salidas están altas (1 lógico). D2 D1 D0 L7 L6 ... L1 L0 Figura P2.9 Entradas y salidas Problema 2.7. Determinar: a) Tabla de verdad. b) Expresión lógica mínima para L5 como suma de productos, efectuando reducciones algebraicas. c) Expresión lógica mínima para L5 como producto de sumas, efectuando reducciones algebraicas. Solución. Profesor Leopoldo Silva Bijit 13-04-2010 26 Sistemas Digitales a) La tabla de verdad para las ocho salidas: D2 0 0 0 0 1 1 1 1 D1 0 0 1 1 0 0 1 1 D0 0 1 0 1 0 1 0 1 L7 1 1 1 1 1 1 1 0 L6 1 1 1 1 1 1 0 1 L5 1 1 1 1 1 0 1 1 L4 1 1 1 1 0 1 1 1 L3 1 1 1 0 1 1 1 1 L2 1 1 0 1 1 1 1 1 L1 1 0 1 1 1 1 1 1 L0 0 1 1 1 1 1 1 1 Figura P2.10 Tabla de verdad Problema 2.7. b) De la tabla, expresando como suma de mintérminos: L5 = m(0, 1, 2, 3, 4, 6, 7) L5 = m0+m1+m2+m3+m4+m6+m7 L5 = m0+m0+m1+m2+m2+m2+m3+m3+m4+m6+m6+m7 Por idempotencia. T8. L5 = (m0+m2+m4+m6) + (m0+m1+m2+m3) + (m2+m3+m6+m7) Por conmutación. P4. Aplicando repetidamente fusión: T14 m(0, 2, 4, 6) = (D2’D1’D0’ + D2’D1D0’) +(D2D1’D0’ + D2D1D0’) = D2’D0’ + D2D0’ = D0’ m(0, 1, 2, 3) = (D2’D1’D0’ + D2’D1’D0) +(D2’D1D0’ + D2’D1D0) = D2’D1’ + D2’D1 = D2’ m(2, 3, 6, 7) = (D2’D1D0’ + D2’D1D0) +(D2D1D0’ + D2D1D0) = D2’D1 + D2D1 = D1 Resulta finalmente: L5 = D2’ + D1 + D0’ c) De la tabla, expresando como producto de maxtérminos: Debido a que la expresión está formada por un solo maxtérmino, no es necesario minimizar: L5 = M5 = D2’ + D1 + D0’ En este caso, ambos diseños resultan de igual complejidad (y con la misma expresión). Problema 2.8. Se tiene la función: f(a, b, c) = M(1,2,3,6) + m(5, 7) a) Determinar la tabla de verdad. Profesor Leopoldo Silva Bijit 13-04-2010 Capítulo 2. Síntesis en dos niveles 27 b) Expresión lógica mínima para f como suma de productos. c) Expresión lógica mínima para f como producto de sumas. Solución: a) La tabla de verdad para f, resulta de la suma lógica de las columnas asociadas al producto de maxtérminos y a la suma de mintérminos. Con n el código decimal para el mintérmino. a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 M(1,2,3,6) 1 0 0 0 1 1 0 1 m(5, 7) 0 0 0 0 0 1 0 1 f 1 0 0 0 1 1 0 1 n 0 1 2 3 4 5 6 7 Figura P2.11 Tabla de verdad Problema 2.8. b) Expresando f como suma de mintérminos, se obtiene: f = m(0, 4, 5, 7) f = (a’b’c’ + ab’c’ ) + (ab’c + abc ) = b’c’ + ac Aplicando T14. c1) Expresando f como producto de maxtérminos: Se tiene: f(a, b, c) = M(1,2,3,6) = M1 M3 M2 M6 Por conmutación. P4 f = (a +b +c’)(a +b’ +c’)(a +b’ +c)(a’ +b’ +c) Por definición y Aplicando fusión. T14. f = (a + c’) (b’ + c) c2) Alternativamente, Describiendo el complemento de la función f, como suma de mintérminos: f ’ = m(1, 2, 3, 6) = m1 +m3 + m2 +m6 Por conmutación. P4 f ’ = a’b’c + a’bc + a’bc’ + abc’ Por fusión. T14 Se obtiene la ecuación de polaridad inversa: f ’ = a’c + bc’ Complementando y aplicando Involución en el lado izquierdo y De Morgan en la expresión de la derecha, se obtiene igual resultado que en c1): f = (a + c’)(b’ +c) Problema 2.9. Se tiene la función: f(a, b, c, d) = ( a b) c a) Determinar la tabla de verdad. b) Expresar como suma de mintérminos. c) Expresar como producto de maxtérminos. Solución: Profesor Leopoldo Silva Bijit 13-04-2010 28 Sistemas Digitales a) Planteando tablas de verdad para el OR exclusivo de a y b, y empleando esta columna con la de la variable c, se obtiene la columna para la función f. Con n el equivalente decimal del código del mintérmino: a 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 b 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 c 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 d a 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 b (a 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 b) 0 0 1 1 1 1 0 0 1 1 0 0 0 0 1 1 c n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Figura P2.12 Tabla de verdad Problema 2.9. b) Leyendo los mintérminos directamente de la tabla, se logra: f = m(2, 3, 4, 5, 8, 9, 14, 15) c) Leyendo los maxtérminos directamente de la tabla, se logra: f(a, b, c, d) = M(0, 1, 6, 7, 10, 11, 12, 13) Otro desarrollo: Se tiene por definición: a b = ab’ +a’ b Luego: ( a b ) c = (ab’ +a’ b)c’ + (ab’ +a’ b)’c = ab’c’ +a’bc’ + ab’c +a’b’c Por P6. f = ab’c’d +ab’c’d’ + a’bc’d + a’bc’d’ + ab’cd + ab’cd’ + a’b’cd + a’b’cd’ por T14. f = m9 + m8 + m5 + m4 + m11 + m10 + m3 + m2 Conmutando se obtiene igual resultado que el anterior. Los números de los maxtérminos son los números de los mintérminos que no están presentes, en la expresión anterior. Con esta información puede escribirse la tabla de verdad. Problema 2.10. Para una función booleana de 3 variables A, B, C: Profesor Leopoldo Silva Bijit 13-04-2010 Capítulo 2. Síntesis en dos niveles 29 f(A,B,C) = m(2,3,5,7) a) Determinar la tabla de verdad para f. b) Expresar f ' como producto de maxtérminos. Justificar la respuesta. c) Expresión booleana, para f, con menos literales. Justificar la respuesta. Solución. a) m2 = A'BC' ; m3 = A'BC ;m5 = AB'C ; m7 = ABC Los unos de f están asociados a los mintérminos presentes. El mintérmino 2 en decimal equivale a la combinación de valores 010 de las variables ABC, y por lo tanto tendrá asociado un uno en la tabla de verdad de la función. Resulta entonces: ABC 000 001 010 011 100 101 110 111 f 0 0 1 1 0 1 0 1 f' 1 1 0 0 1 0 1 0 Código decimal 0 1 2 3 4 5 6 7 Figura P2.13 Tabla de verdad Problema 2.10. b) Los maxtérminos de f ' quedan definidos por los ceros de su tabla de verdad. Para A=0, B=1 y C=0 se tiene que (A + B' +C) genera el cero en el renglón respectivo de f '. Entonces: f ' = (A+B' +C)(A+B'+C')(A'+B+C')(A'+B'+C') Codificando los maxtérminos en binario, se logra: f ' = M010 + M011 + M101 +M111 En decimal: f ' = M2 M3 M5 M7 Otro desarrollo: A partir de f = (m2+m3+m5+m7), negando ambos miembros se logra: f ' = (m2+m3+m5+m7)' ; P2 = m2' m3' m5' m7' ; T12 De Morgan = M ( 2,3,5,7) ;Con mi' = Mi c) f(A,B,C) = m(2,3,5,7) = A'BC'+AB'C'+AB'C+ ABC = A'C'B+AC'B'+ACB'+ ACB = A'C'(B+B') + AC(B'+B) = A'C'(1) +AC(1) = A'C'+AC ; definición de mintérminos. ; P4 Conmutatividad. ; P6 Distributividad. ; P7 Complemento único. ; P3 Elementos únicos. Problema 2.11. Se tiene un número binario de cuatro bits: Profesor Leopoldo Silva Bijit 13-04-2010 30 Sistemas Digitales A3A2A1A0, donde A3 es la cifra más significativa, sea n el equivalente decimal de este número. Diseñar un sistema que acepte a n como entrada y que produzca en la salida el equivalente binario del número decimal: ( n*4 +1). Solución. El mayor n que puede escribirse con cuatro bits es 15, por lo tanto la salida mayor será 61, lo cual requiere 6 cifras binarias para representarla. Sean éstas: S5S4S3S2S1S0. La siguiente tabla de verdad ilustra la situación: n A3A2A1A0 n*4 +1 S5S4S3S2S1S0 0 0000 1 000001 1 0001 5 000101 2 0010 9 001001 3 0011 13 001101 4 0100 17 010001 5 0101 21 010101 6 0110 25 011001 7 0111 29 011101 8 1000 33 100001 9 1001 37 100101 10 1010 41 101001 11 1011 45 101101 12 1100 49 110001 13 1101 53 110101 14 1110 57 111001 15 1111 61 111101 Figura P2.14 Tabla de verdad Problema 2.11. Observando la tabla, se determina que S1= 0 y S0 = 1 son constantes, y que: S5 = A3, S4 = A2, S3 = A1, y S2 = A0 El diseño mínimo no requiere compuertas, y se muestra a continuación: Profesor Leopoldo Silva Bijit 13-04-2010 Capítulo 2. Síntesis en dos niveles 31 A3 S5 A2 A1 A0 S4 S3 S2 VCC S1 S0 S1 tierra S0 VCC Figura P2.15 Esquemático Problema 2.11. A la derecha se muestra un diseño donde las señales S1 y S0 son salidas de compuertas. Problema 2.12. Se tiene un circuito digital de 4 entradas (A, B, C, D) y cuatro salidas (f1, f2, f3, f4). a) Determinar como suma de mintérminos, la función f1 que es verdadera cuando exactamente dos de las entradas sean verdaderas. b) Determinar como producto de maxtérminos, la función f2 que es verdadera cuando exactamente tres de las entradas sean verdaderas. c) Determinar mediante un circuito lógico en base a AND, OR y NOT, la función f3, que es verdadera cuando exactamente cuatro de las entradas sean verdaderas. d) Determinar mediante una expresión booleana, la función f4, que es verdadera cuando exactamente cuatro de las entradas sean falsas. Solución. Se tienen las siguientes tablas de verdad. Profesor Leopoldo Silva Bijit 13-04-2010 32 Sistemas Digitales A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 f1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 0 0 f2 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 f3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 f4 Código 1 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 0 12 0 13 0 14 0 15 Figura P2.16 Tabla de verdad Problema 2.12. Entonces: f1 = m(3, 5, 6, 9, 10, 12) f2 = M(0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15) f3 = m(15) = ABCD A B C D f3 f4 = m(0) = A'B'C'D' Ejercicios propuestos. Ejemplo 2.1. Verificar las relaciones: f m(2, 6) M (0,1, 3, 4, 5, 7) f m(0,1, 3, 4, 5, 7) M (2, 6) Ejemplo 2.2. Con f(a, b, c, d) = ab’d + c’(b d)’ + m9 + M’13 a) Expresar como suma de mintérminos. b) Expresar como producto de maxtérminos. c) Minimizar como suma de productos empleando teoremas. Profesor Leopoldo Silva Bijit 13-04-2010 Capítulo 2. Síntesis en dos niveles 33 Ejemplo 2.3. Para la función: f(A, B, C, D) = ((A + B)C+B’)D + m13m2 +m5 + M2m13 Determinar: a) Formas canónicas. b) Minimizar, indicando número de entradas. c) 2-cubos que contienen a m7 d) Agregue un mintérmino (a elección) tal que la expresión se simplifique. Ejemplo 2.4. Para la función: f(A, B, C, D) = ((A + B)C+B’)D + m13m2 +m13 + M2m13 Determinar: a) Formas canónicas. b) Minimizar, indicando número de entradas. c) 2-cubos que contienen a m7 d) Agregue un mintérmino (a elección) tal que la expresión se simplifique. Ejemplo 2.5. Para un diseño libre de perturbaciones, de la función: f ( w, x, y, z ) xy ' w ' y que elección realizaría: a) f ( w, x, y, z ) xy ' w ' y w ' xz b) f ( w, x, y, z ) xy ' w ' y w ' x Ejemplo 2.6. Eliminar las perturbaciones estáticas de la función: f (v, w, x, y, z ) v ' wz ' w ' x ' z xz vwy ' Profesor Leopoldo Silva Bijit 13-04-2010 34 Sistemas Digitales Índice general. CAPÍTULO 2.........................................................................................................................................1 SÍNTESIS EN DOS NIVELES ............................................................................................................1 2.1. FORMAS DE FUNCIONES. ...............................................................................................................1 2.2. MINTÉRMINOS ..............................................................................................................................2 Ejemplo 2.1. Definición de mintérmino ..........................................................................................2 Ejemplo 2.2. Suma de mintérminos ................................................................................................3 2.3. MAXTÉRMINO. ..............................................................................................................................3 Ejemplo 2.3. Definición de maxtérmino. ........................................................................................4 Ejemplo 2.4. Producto de maxtérminos .........................................................................................4 Relaciones ......................................................................................................................................5 Ejemplo 2.5. De suma de mintérminos a productoria de maxtérminos. .........................................5 2.4. EXPANSIÓN A FORMAS CANÓNICAS...............................................................................................6 2.4.1. Expansión de suma de productos .........................................................................................6 Ejemplo 2.7. Expansión a mintérminos. .................................................................................................... 6 2.4.2. Expansión de productos de sumas ........................................................................................6 Ejemplo 2.8. Expansión a maxtérminos ..................................................................................................... 6 2.5. SÍNTESIS DE LAS FORMAS..............................................................................................................7 2.5.1. Suma de productos ...............................................................................................................7 Ejemplo 2.9. OR de ANDs ........................................................................................................................ 7 Ejemplo 2.10. Dos niveles de NANDs ....................................................................................................... 7 2.5.2. Producto de sumas ...............................................................................................................8 2.5.3. Conversión de producto de sumas a suma de productos. Cambio de lógica. .......................9 2.6. DISEÑO LÓGICO ..........................................................................................................................10 2.6.1. Fan-in. Fan out...................................................................................................................10 2.6.2. Observaciones sobre la forma Producto de Sumas. ...........................................................11 2.6.3. Observaciones sobre la forma Suma de Productos. ...........................................................11 2.6.4. Observaciones sobre las diferentes formas de diseño. .......................................................12 2.6.5. Perturbaciones. Diseños con riesgos. ................................................................................12 2.6.5.1. Perturbación estática en uno........................................................................................................ 13 2.6.5.2. Perturbación estática en cero. ...................................................................................................... 14 Ejemplo 2.11. Análisis de perturbaciones. ............................................................................................... 15 Ejemplo 2.12. ........................................................................................................................................... 16 2.6.5.3. Perturbaciones dinámicas. ........................................................................................................... 17 2.6.5.4. Carreras aleatorias de las entradas. Perturbación de la función. .................................................. 18 Ejemplo 2.13. ...................................................................................................................................... 19 PROBLEMAS RESUELTOS ....................................................................................................................21 Problema 2.1. Diseño multinivel ..................................................................................................21 Problema 2.2. Conversión a NANDs en multinivel ......................................................................22 Problema 2.3. Diseño multinivel. Factorización. .........................................................................22 Problema 2.4. Diferentes formas de implementación. .................................................................23 Problema 2.5. Costos de Implementación. ...................................................................................24 Problema 2.6. ...............................................................................................................................25 Problema 2.7. ...............................................................................................................................25 Problema 2.8. ...............................................................................................................................26 Profesor Leopoldo Silva Bijit 13-04-2010 Capítulo 2. Síntesis en dos niveles 35 Problema 2.9. .............................................................................................................................. 27 Problema 2.10. ............................................................................................................................ 28 Problema 2.11. ............................................................................................................................ 29 Problema 2.12. ............................................................................................................................ 31 EJERCICIOS PROPUESTOS................................................................................................................... 32 Ejemplo 2.1. ................................................................................................................................. 32 Ejemplo 2.2. ................................................................................................................................. 32 Ejemplo 2.3. ................................................................................................................................. 33 Ejemplo 2.4. ................................................................................................................................. 33 Ejemplo 2.5. ................................................................................................................................. 33 Ejemplo 2.6. ................................................................................................................................. 33 ÍNDICE GENERAL. .............................................................................................................................. 34 ÍNDICE DE FIGURAS........................................................................................................................... 36 Profesor Leopoldo Silva Bijit 13-04-2010 36 Sistemas Digitales Índice de Figuras Figura 2.1 Tablas de verdad de algunos Mintérminos................................................................... 3 Figura 2.2. Tablas de verdad de algunos Maxtérminos. ............................................................... 4 Figura 2.3. Suma de productos en dos niveles. ............................................................................ 7 Figura 2.4. Suma de productos mediante NANDs. ...................................................................... 8 Figura 2.5. Doble complementación............................................................................................. 8 Figura 2.6. Equivalencia gráfica del teorema de De Morgan. ...................................................... 8 Figura 2.7. Producto de sumas en dos niveles. ............................................................................. 8 Figura 2.8. Suma de productos mediante NORs. ......................................................................... 9 Figura 2.9. Visualización esquemática del teorema de De Morgan. ............................................ 9 Figura 2.10. De producto de sumas a Suma de productos. ........................................................... 9 Figura 2.11. Complementos de las entradas y salidas. ............................................................... 10 Figura 2.12. AND de columnas. ................................................................................................. 11 Figura 2.13. OR de columnas. .................................................................................................... 11 Figura 2.14. Perturbación en red combinacional ......................................................................... 13 Figura 2.15. Eliminación de perturbación en uno........................................................................ 13 Figura 2.15a. Perturbación en cero. ............................................................................................. 14 Figura 2.15b. Eliminación de perturbación en cero. .................................................................... 14 Figura 2.16. Falsos ceros y unos.................................................................................................. 15 Figura 2.17. Análisis de perturbaciones. ..................................................................................... 15 Figura 2.18. Visualización de perturbaciones en mapas.............................................................. 16 Figura 2.19. Más de una perturbación estática. ........................................................................... 16 Figura 2.20. Más de una perturbación estática. ........................................................................... 17 Figura 2.21. Perturbaciones dinámicas. ....................................................................................... 17 Figura 2.22. Red con perturbación dinámica. .............................................................................. 18 Figura 2.23. Perturbación dinámica............................................................................................. 18 Figura 2.24. Función con perturbación por carreras. ................................................................... 19 Figura 2.25. Pulso de habilitación. .............................................................................................. 19 Figura 2.26. Función con perturbación por carreras. ................................................................... 19 Figura 2.27. Carreras en las entradas. .......................................................................................... 20 Figura 2.28. Perturbación por carreras en las entradas. ............................................................... 20 Figura P2.1. Función en tres niveles........................................................................................... 21 Figura P2.2. Doble complementación en diseños multinivel. .................................................... 21 Figura P2.3. Diseño multinivel mediante NANDs. .................................................................... 22 Figura P2.4 Implementación con NANDs en diseños multinivel............................................... 22 Figura P2.5. Diseño en tres niveles. ........................................................................................... 23 Figura P2.6. Función de tres variables. ...................................................................................... 23 Figura P2.7. Empleando un factor común S. .............................................................................. 24 Figura P2.8. Empleando compuertas xor.................................................................................... 24 Figura P2.9 Entradas y salidas Problema 2.7. ............................................................................ 25 Figura P2.10 Tabla de verdad Problema 2.7............................................................................... 26 Figura P2.11 Tabla de verdad Problema 2.8............................................................................... 27 Figura P2.12 Tabla de verdad Problema 2.9............................................................................... 28 Figura P2.13 Tabla de verdad Problema 2.10............................................................................. 29 Profesor Leopoldo Silva Bijit 13-04-2010 Capítulo 2. Síntesis en dos niveles 37 Figura P2.14 Tabla de verdad Problema 2.11. ........................................................................... 30 Figura P2.15 Esquemático Problema 2.11. ................................................................................ 31 Figura P2.16 Tabla de verdad Problema 2.12. ........................................................................... 32 Profesor Leopoldo Silva Bijit 13-04-2010