11. Eliminación de riesgos estáticos en el diseño de un circuito digital Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 – 2007 Introducción En la vida real, los cambios en los valores de entrada de un circuito no implican un cambio inmediato en los valores de salida, ya que siempre hay un cierto retardo Los retardos de puerta pueden causar la aparición de valores inesperados en las señales de salida Los objetivos de este tema son: Introducir los conceptos de pulso espúrio y riesgo estático Describir la técnica utilizada para eliminar los riesgos estáticos de un diseño utilizando los métodos de Karnaugh y Quine-McCluskey Introducir brevemente los riesgos dinámicos Eliminación de riesgos estáticos en el diseño de un circuito digital 2 1 Estructura del tema Introducción Riesgos estáticos Eliminación de riesgos estáticos con el método de Karnaugh Riesgos estáticos al uno Riesgos estáticos al cero Eliminación de riesgos estáticos con el método de Quine-McCluskey Riesgos dinámicos Resumen y bibliografía Eliminación de riesgos estáticos en el diseño de un circuito digital 3 Aparición de pulsos espurios Un pulso espurio es un cambio indeseado, de corta duración, en la salida de un circuito digital Estos pulsos son causados por el retardo de las puertas, es decir, el tiempo que tarda una puerta en generar el valor de la salida tras un cambio en las entradas Se denomina riesgo a una condición que puede ocasionar un pulso espurio indeseable y, por tanto, un mal funcionamiento del circuito Eliminación de riesgos estáticos en el diseño de un circuito digital 4 2 Riesgos estáticos Estudiaremos los riesgos estáticos causados por el cambio de valor de una única variable, ya que los causados por el cambio de valor de varias variables entrañan mayor complejidad Existe un riesgo estático al uno en una suma de productos cuando dos términos difieren en una sola variable y no están cubiertos por un término común Existe un riesgo estático al cero en un producto de sumas cuando dos términos difieren en una sola variable y no están cubiertos por un término común Eliminación de riesgos estáticos en el diseño de un circuito digital 5 Estructura del tema Introducción Riesgos estáticos Eliminación de riesgos estáticos con el método de Karnaugh Riesgos estáticos al uno Riesgos estáticos al cero Eliminación de riesgos estáticos con el método de Quine-McCluskey Riesgos dinámicos Resumen y bibliografía Eliminación de riesgos estáticos en el diseño de un circuito digital 6 3 Riesgos estáticos al uno Un riesgo estático al uno aparece en una suma de productos cuando dos términos que difieren en una sola variable no están cubiertos por un término común C 0 AB 00 01 11 1 1 AB + AC 1 1 1 10 Eliminación de riesgos estáticos en el diseño de un circuito digital 7 Riesgos estáticos al uno Si suponemos que cada puerta tiene un retardo unitario, existe la posibilidad de que un cambio en los valores de entrada cause un pulso espurio A B C AB AC F Eliminación de riesgos estáticos en el diseño de un circuito digital 8 4 Riesgos estáticos al uno Para eliminar el riesgo es necesario incluir en la función un término producto que cubra los dos términos adyacentes que lo causan C 0 AB 00 01 11 1 1 AB + AC + BC 1 1 1 10 Eliminación de riesgos estáticos en el diseño de un circuito digital 9 Riesgos estáticos al uno Dadas las mismas condiciones que para el circuito anterior, la presencia de un nuevo término redundante evita la aparición del pulso espurio A B C AB AC BC F Eliminación de riesgos estáticos en el diseño de un circuito digital 10 5 Riesgos estáticos al cero Un riesgo estático al cero aparece en un producto de sumas cuando dos términos que difieren en una sola variable no están cubiertos por un término común C 0 AB 00 01 11 1 0 (A+B)(A+C) 0 0 0 10 Eliminación de riesgos estáticos en el diseño de un circuito digital 11 Riesgos estáticos al cero Si suponemos que cada puerta tiene un retardo unitario, existe la posibilidad de que un cambio en los valores de entrada cause un pulso espurio A B C A+B A+C F Eliminación de riesgos estáticos en el diseño de un circuito digital 12 6 Riesgos estáticos al cero Para eliminar el riesgo es necesario incluir en la función un término producto que cubra los dos términos adyacentes que lo causan C 0 AB 00 01 11 1 0 (A+B)(A+C)(B+C) 0 0 0 10 Eliminación de riesgos estáticos en el diseño de un circuito digital 13 Riesgos estáticos al cero Dadas las mismas condiciones que para circuito anterior, la presencia de un nuevo término redundante evita la aparición del pulso espurio A B C A+B A+C B+C F Eliminación de riesgos estáticos en el diseño de un circuito digital 14 7 Estructura del tema Introducción Riesgos estáticos Eliminación de riesgos estáticos con el método de Karnaugh Riesgos estáticos al uno Riesgos estáticos al cero Eliminación de riesgos estáticos con el método de Quine-McCluskey Riesgos dinámicos Resumen y bibliografía Eliminación de riesgos estáticos en el diseño de un circuito digital 15 Riesgos en el mé método de QuineQuine-McCluskey Durante la aplicación del método de Quine-McCluskey es posible tener en cuenta la necesidad de eliminar los riesgos estáticos del diseño del circuito Para esto es necesario asegurarse de que los términos producto seleccionados cubran todas las parejas de combinaciones adyacentes con valor de salida 1, así como las combinaciones sin ninguna otra adyacente Eliminando los riesgos estáticos también tendremos la seguridad de que no aparecerán riesgos dinámicos, ya que el resultado será una suma de productos Eliminación de riesgos estáticos en el diseño de un circuito digital 16 8 Riesgos en el mé método de QuineQuine-McCluskey El método de Quine-McCluskey puede aplicarse a la función: F(A,B,C,D) = ∑(1,2,3,5,6,7,9,10,11,14) A B C D 0) 1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12) 13) 14) 15) 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 (1) (2) 0 0 0 1 0 0 1 0 (3) (5) (6) (9) (10) 0 0 0 1 1 (7) (11) (14) 0 1 1 1 1 0 1 1 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 1 0 1 0 Eliminación de riesgos estáticos en el diseño de un circuito digital 17 Riesgos en el mé método de QuineQuine-McCluskey A continuación se puede comenzar a formar parejas de la forma habitual (1) (2) 0 0 0 1 0 0 1 0 (3) (5) (6) (9) (10) 0 0 0 1 1 (7) (11) (14) 0 1 1 1 1 0 1 1 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 1 0 1 0 (1,3) (1,5) (1,9) (2,3) (2,6) (2,10) 0 0 – 0 0 – 0 – 0 0 – 0 – 0 0 1 1 1 1 1 1 – 0 0 (3,7) (3,11) (5,7) (6,7) (6,14) (9,11) (10,11) (10,14) 0 – 0 0 – 1 1 1 – 0 1 1 1 0 0 1 1 1 – 1 1 – 1 – 1 1 1 – 0 1 – 0 Eliminación de riesgos estáticos en el diseño de un circuito digital 18 9 Riesgos en el mé método de QuineQuine-McCluskey Es posible seguir formando nuevas parejas (1,3) (1,5) (1,9) (2,3) (2,6) (2,10) 0 0 – 0 0 – 0 – 0 0 – 0 – 0 0 1 1 1 1 1 1 – 0 0 (3,7) (3,11) (5,7) (6,7) (6,14) (9,11) (10,11) (10,14) 0 – 0 0 – 1 1 1 – 0 1 1 1 0 0 – 1 1 – 1 1 – 1 1 1 1 1 – 0 1 – 0 (1,3,5,7) (1,3,9,11) (1,5,3,7) (1,9,3,11) (2,3,6,7) (2,3,10,11) (2,6,3,7) (2,6,10,14) (2,10,3,11) (2,10,6,14) 0 – 0 – 0 – 0 – – – – 0 – 0 – 0 – – 0 – – – – – 1 1 1 1 1 1 1 1 1 1 – – – 0 – 0 Eliminación de riesgos estáticos en el diseño de un circuito digital 19 Riesgos en el mé método de QuineQuine-McCluskey Aunque ya no se pueden crear más parejas, podemos eliminar varias parejas que están repetidas (1,3,5,7) (1,3,9,11) (1,5,3,7) (1,9,3,11) (2,3,6,7) (2,3,10,11) (2,6,3,7) (2,6,10,14) (2,10,3,11) (2,10,6,14) 0 – 0 – 0 – 0 – – – – 0 – 0 – 0 – – 0 – – – – – 1 1 1 1 1 1 1 1 1 1 – – – 0 – 0 (1,3,5,7) (1,3,9,11) (2,3,6,7) (2,3,10,11) (2,6,10,14) Eliminación de riesgos estáticos en el diseño de un circuito digital 0 – 0 – – – 0 – 0 – – – 1 1 1 1 1 – – 0 20 10 Riesgos en el mé método de QuineQuine-McCluskey A partir de estos grupos podemos obtener los términos producto que pueden formar parte de la expresión minimizada de esta función (1,3,5,7) 0 – – 1 AD (1,3,9,11) – 0 – 1 BD (2,3,6,7) 0 – 1 – AC (2,3,10,11) – 0 1 – BC (2,6,10,14) – – 1 0 CD Eliminación de riesgos estáticos en el diseño de un circuito digital 21 Riesgos en el mé método de QuineQuine-McCluskey La tabla de selección debe crearse para cubrir todas las combinaciones aisladas y las parejas de combinaciones adyacentes tales que el valor de salida de ambas sea 1 1-3 1-5 1-9 2-3 2-6 2-10 3-7 3-11 5-7 6-7 6-14 9-11 10-11 10-14 (1,3,5,7) AD (1,3,9,11) BD (2,3,6,7) X X X X X X AC X (2,3,10,11) BC X (2,6,10,14) CD X X X X X X X X X Eliminación de riesgos estáticos en el diseño de un circuito digital X X X 22 11 Riesgos en el mé método de QuineQuine-McCluskey Todos los términos son esenciales, así que la función los incluye a todos, aunque hubiera sido más simple si no hubiéramos tratado de eliminar los riesgos estáticos √ √ √ √ √ √ √ √ √ √ √ √ √ √ 1-3 1-5 1-9 2-3 2-6 2-10 3-7 3-11 5-7 6-7 6-14 9-11 10-11 10-14 (1,3,5,7) AD (1,3,9,11) BD (2,3,6,7) X X X X X X X AC X (2,3,10,11) BC X (2,6,10,14) CD X X X X X X X X X X X AD + BD + AC + BC + CD Eliminación de riesgos estáticos en el diseño de un circuito digital 23 Estructura del tema Introducción Riesgos estáticos Eliminación de riesgos estáticos con el método de Karnaugh Riesgos estáticos al uno Riesgos estáticos al cero Eliminación de riesgos estáticos con el método de Quine-McCluskey Riesgos dinámicos Resumen y bibliografía Eliminación de riesgos estáticos en el diseño de un circuito digital 24 12 Riesgos dinámicos En general, los riesgos estáticos se generan a causa de dos señales complementarias (como A y A) que se hacen iguales durante un instante a causa de los retardos Si además dos señales que siempre tienen el mismo valor se hacen diferentes durante un instante, se dice que el diseño presenta un riesgo dinámico Un riesgos dinámicos ocasionan un pulso espurio a la salida justo después de que se produzca la transición de la salida a su valor correcto Eliminación de riesgos estáticos en el diseño de un circuito digital 25 Riesgos dinámicos Como ejemplo podemos tomar el circuito con un riesgo estático uno y añadirle una puerta lógica AND El valor de la salida depende de dos caminos distintos con retardos distintos, uno de los cuales generará un pulso espurio Eliminación de riesgos estáticos en el diseño de un circuito digital 26 13 Riesgos dinámicos El pulso espurio causado por el riesgo estático causará otro pulso espurio a la salida A B C AB A AC AB+AC F Eliminación de riesgos estáticos en el diseño de un circuito digital 27 Solución de los riesgos dinámicos Una posibilidad para eliminar este riesgo dinámico es añadir nuevas puertas al camino inferior del circuito con el objetivo de aumentar el retardo de la señal A Otra posibilidad para eliminar el riesgo dinámico es añadir un nuevo término redundante al diseño para eliminar el riesgo estático que lo genera En cualquier caso, dado que la función siempre será una forma estándar, eliminar los riesgos estáticos es una forma segura de evitar la aparición de riesgos dinámicos con un cambio de valor en una sola variable Eliminación de riesgos estáticos en el diseño de un circuito digital 28 14 Estructura del tema Introducción Riesgos estáticos Eliminación de riesgos estáticos con el método de Karnaugh Riesgos estáticos al uno Riesgos estáticos al cero Eliminación de riesgos estáticos con el método de Quine-McCluskey Riesgos dinámicos Resumen y bibliografía Eliminación de riesgos estáticos en el diseño de un circuito digital 29 Resumen Aunque durante la mayor parte de esta asignatura idealizamos los circuitos, suponiendo que no hay retardos, es importante de los problemas que podrían surgir en un diseño real Los retardos de las puertas lógicas pueden causar la aparición de pulsos espurios en las señales de salida de los circuitos y, por tanto, comportamientos no deseados Tanto el método de Karnaugh como el método de Quine-McCluskey permiten eliminar riesgos a distancia uno del diseño de un sistema digital Eliminación de riesgos estáticos en el diseño de un circuito digital 30 15 Bibliografía Principios de Diseño Digital Capítulo 4 Daniel D. Gajski Prentice Hall, 1997 Sistemas Electrónicos Digitales Capítulo 3 Enrique Mandado Marcombo, 1991 Eliminación de riesgos estáticos en el diseño de un circuito digital 31 16