CIRCUITOS SECUENCIALES ASÍNCRONOS Profesor Jorge Gianotti Hidalgo Departamento de Ingeniería Eléctrica Universidad de Antofagasta 2007 Sistemas Digitales 1 Modelo de Circuito Secuencial Asíncrono Modalidad Nivel Un circuito se considera asíncrono si no utiliza una señal de reloj periódica para sincronizar sus cambios de estado interno. Las sencillas técnicas asíncronas son necesarias para diseñar dispositivos de memoria, circuitos con tiempos de entrada imprevisibles y circuitos con varios relojes. Los circuitos asíncronos son potencialmente más rápidos que los síncronos, pero son difíciles de analizar y diseñar. El modelo básico es el de Huffman, que restringe la ubicación de retardos del circuito y los tiempos en que pueden cambiar las entradas primarias. Sistemas Digitales 2 • Al analizar su comportamiento se distinguen los estados estables, aquellos que no cambian con entradas primarias constantes, de los estados inestables, que si varían. • Por otra parte ocurren las carreras que ocurren cuando dos o más variables de estado cambian como respuesta a un solo cambio de las variables de entrada al sistema secuencial asíncrono. La carrera se considera crítica si el estado estable final depende del orden en que cambien las variables de estado. • Los circuitos secuenciales asíncronos deben diseñarse para evitar las carreras críticas y diversos riesgos (señales espurias) Sistemas Digitales 3 Modelo Básico de Circuito Modalidad Nivel (HUFFMAN) Entradas primarias Entradas secundarias X1 X2 Lógica Z1 Z2 Xn Combinacional Zp y1 de salida y2 (Variables de estado) yr salidas Y1 Yr Y2 excitaciones retardo retardo retardo Sistemas Digitales 4 • Los elementos de retardo son una concentración de los retardos distribuidos en los elementos lógicos combinacionales. Se considera que estos proporcionan una memoria a corto plazo. • Cuando hay un cambio en una variable de entrada (xi), el retardo le permite al circuito recordar los valores actuales de las variables de estado y1,y2….yr un tiempo lo suficientemente largo como para desarrollar los nuevos valores de Y1, Y2,…Yr, que a su vez, se convierten en los nuevos valores del siguiente estado de y1,y2….yr después de un retardo. • De la figura del modelo de HUFFMAN, se aprecia que los cambios en las variables de las entradas secundarias y de excitación se pueden producir en respuesta a un cambio de las variables de entrada X1,X2,..Xn Sistemas Digitales 5 • El trato que se realiza en el análisis para el diseño de secuenciales asíncronos se denomina modalidad fundamental, que significa que sólo se permite que ocurra en las variables de entrada, donde sólo pueden cambiar una a la vez, pero no dos o más simultaneamente. De esta forma las variables secundarias y de excitación deberán también cambiar sólo una a la vez. • El circuito se estabiliza o cae en un estado estable cuando las variables de excitación y secundarias llegan a la estabilización de sus valores. • El proceso de síntesis que se sigue para obtener un diseño definitivo es semejante al seguido para los secuenciales síncronos. Sistemas Digitales 6 Ejemplo para analizar un sistema secuencial asíncrono Un circuito de retardo de control, tiene una entrada de pulso de control X, una entrada de reloj C y una salida de pulso de control Z. los pulsos en la línea de entrada estarán siempre separados por varios períodos de reloj. Siempre que se produzca un pulso en la línea X, se superpondrá a un pulso de reloj y tendrá más o menos la misma anchura que éste. Es decir, la línea X sólo pasará a valor “1” despues de que el pulso de reloj pase a “1” y retornará a valor “0” sólo después de que el pulso de reloj haya vuelto a valor “0”. Por cada pulso de entrada debe haber un pulso de salida en la línea Z, que coincida con el siguiente pulso de reloj que sigue al pulso en X. Por lo tanto, cada pulso X da como resultado un pulso en Z retardado en aproximadamente un período de reloj. Sistemas Digitales 7 Diagrama del sistema y señales de entrada y salida X Retardo de C Control Z C X Z Sistemas Digitales 8 Desarrollo: Tabla de Flujo Primitiva Entradas: XC Estado Inicial Salida: Z 00 01 11 10 00 01 11 10 1 2 - - 0 - - - 1 2 3 - - 0 - - - - 3 4 - - 0 - 5 - - 4 - - - 0 5 6 - - 0 - - - 1 6 - - - 1 - - Sistemas Digitales 9 Implicancia para resolver los estados mínimos 2 √ 3 √ √ 4 1-5 1-5 √ 5 2-6 2-6 1-5 √ √ 6 2-6 √ 1-5 1-5 3 4 5 1 2 Clase de estado: a = (1,2) ; b = (3,4,5) ; c = (6) Sistemas Digitales 10 Tabla Mínima de Flujo y Asignación de Estados Estado Inicial Entradas: XC Salida: Z 00 01 11 10 00 01 11 10 a=(1,2) a a b - 0 0 - - b=(3,4,5) b c b b 0 - 0 0 c=(6) a c - - - 1 - - y2y1 = 00 para el estado “a” y2y1 = 01 para el estado “b” y2y1 = 11 para el estado “c” Asignación de estados y2y1 = 10 don’t care Sistemas Digitales 11 Ecuaciones de Estado Tabla de Transición y Mapa de Salida XC y2y1 XC 00 01 11 10 00 00 00 01 - 00 01 01 11 01 01 01 11 00 11 - - 11 - 1 - - 10 - - - - 10 - - - - Y2Y1 Sistemas Digitales y2 y 1 00 01 11 10 - - Z 12 Ecuaciones de Estado Mapas de Excitación y Funciones de Excitaciones XC y2y1 XC 00 01 11 10 00 0 0 1 - 0 01 1 1 1 1 - - 11 0 1 - - - - 10 - - - - 00 01 11 10 00 0 0 0 - 01 0 1 0 11 0 1 10 - - y2 y 1 Y2 Y2 = X ’ C y 1 Sistemas Digitales Y1 Y1 = X + y2’ y1 + C y1 Z = y2 13 Circuito Final Y2' X Z Y2 y2' y1 Y1 C y1 Si el circuito final tiene retardos de tiempo distintos por compuerta, esto puede introducir carreras críticas. A continuación, se analizará la naturaleza de estas carreras y la manera de lograr eliminarlas. Sistemas Digitales 14 Ciclos y Carreras • Un sistema o bien un circuito puede asumir más de un estado inestable antes de llegar a un nuevo estado estable. • Si para un estado inicial dado y una transición de las variables de entrada, este tipo de secuencia de estados inestables es única, se le denomina CICLO. Sistemas Digitales 15 Ciclos X2X1 y2 y 1 00 00 01 1 2 01 11 3 3 10 4 4 11 2 10 Las transiciones del estado estable 1 proceden a través de los estados inestables 2,3 y 4 hasta el estado estable 4 cualquier otro inicio en los estados estables seguirá el mismo camino hacia el estado estable 4 Y2Y1 Sistemas Digitales 16 Ciclos (estados asignados) X2X1 y2 y 1 00 00 01 00 01 01 11 10 11 11 11 10 01 10 10 Y2Y1 Sistemas Digitales 17 Carreras Carreras No-Críticas X2X1 y2 y 1 X2X1 01 00 11 1 2 00 01 2 01 11 11 2 11 11 10 2 10 11 Y2Y1 Sistemas Digitales 10 00 01 00 11 y2 y 1 00 11 10 Y2Y1 18 Carreras Carreras Críticas X2X1 y2 y 1 X2X1 01 11 10 00 00 00 01 - b 01 01 11 01 01 - - 11 00 11 - - - - 10 - - - - 01 11 10 00 a a b - 01 b c b 11 a c 10 - Y2Y1 Sistemas Digitales y2 y 1 00 00 Y2Y1 19 Eliminación de Carreras Críticas Carreras críticas del ejemplo anterior. XC y2y1 00 01 11 10 00 00 00 01 - 01 01 11 01 01 11 00 11 - - 10 - - - - Cuando XC cambia de 01 a 00, el estado estable 11 debe llegar al estado estable 00 y no al estado estable 01 pues así lo indica el estado inestable 00 en XC=00, luego hay carrera crítica Y2Y1 Sistemas Digitales 20 Eliminación de Carreras Críticas Carreras críticas del ejemplo anterior. XC y2y1 00 01 11 10 00 00 00 01 - 01 01 11 01 01 11 10 11 - - 10 00 - - - Al cambiar el estado inestables 00 en XC=00 para y2y1=11 al estado inestable 10, estamos conduciendo al circuito a que secuencia luego al estado inestable 00 y finalmente al estado estable 00 Y2Y1 Sistemas Digitales 21 Eliminación de Carreras Críticas Carreras críticas del ejemplo anterior. Bajo esta nueva situación, ha cambiado la situación de las ecuaciones de estado y se debe volver a la nueva Tabla de Transición. XC y2y1 Sistemas Digitales 00 01 11 10 00 00 00 01 - 01 01 11 01 01 11 10 11 - - 10 00 - - - Y2Y1 22 Mapas de Excitación y Funciones de Excitaciones XC y2y1 XC 00 01 11 10 00 0 0 1 - 0 01 1 1 1 1 - - 11 0 1 - - - - 10 0 - - - 00 01 11 10 00 0 0 0 - 01 0 1 0 11 1 1 10 0 - y2 y 1 Y2 Y2 = X’ C y1 + y2y1 Sistemas Digitales Y1 Y1 = X + y2’ y1 + C y1 Z = y2 Nuevo término para eliminar carrera crítica 23 Circuito Final Libre de Carreras Críticas Y2 Z C X Sistemas Digitales Y1 24 Asignación de Estados Es importante considerar que la asignación de estados debe buscar la eliminación de las carreras críticas. X1X2 y2 y 1 Sistemas Digitales 00 01 11 10 1 2 5 8 3 4 5 7 3 2 6 7 1 4 5 7 Y2Y1 25 Por ejemplo: si se aplicara al azar una asignación como la que se indica en la figura, se podrían generar las siguientes carreras críticas: X1X2 y2 y 1 00 01 11 10 00 a c b a 11 a b b d 10 b c c d 01 d c b d Y2Y1 Sistemas Digitales 26 Si se intercambia la asignación entre las filas 2 y 4 se logra eliminar las carreras críticas. X1X2 y2 y 1 00 01 11 10 00 a c b a 01 a b b d 10 b c c d 11 d c b d Y2Y1 Sistemas Digitales 27 Otro ejemplo de asignación de estados que resulta algo más complejo es el siguiente. Sea la siguiente tabla de flujo mínimo: En esta tabla existe carreras críticas hacia el estado estable “C”, para X1X2=11 desde más de un estado estable. Sistemas Digitales 00 X1X2 01 a 11 10 a c a b b c b a b c d d d c d 28 Para lograr superar esta situación se opta por trabajar con tres elementos, y1y2y3, tal que la asignación sea la siguiente: Sistemas Digitales y1 y 2 y3 X1X2 00 01 11 10 000 a a c a 001 a b c d 011 b b c b 010 - - - - 110 - - - - 111 - - - - 101 d d c d 100 - - - 29 Ejemplo Ilustrativo Operación Nivel (modo fundamental) Un circuito de conmutación secuencial bajo operación de nivel, tiene 2 terminales de entrada, X1 y X2 y un terminal de salida Z. El circuito trabaja de la manera siguiente: • Z va a estado “1” cuando X1 cambio a estado “1”. • Z va a estado “0” cuando X2 cambia a estado “0”. • Ninguna otra secuencia de entrada produce cambios en la salida Z. Solamente una entrada puede cambiar de estado a la vez (modo fundamental) • Obtener: 1.- La tabla de Flujo Primitiva 2.- La tabla de Flujo Mínima 3.- Asignación de estados libre de carreras críticas. 4.- Ecuaciones de las variables de estado. 5.- El diagrama del circuito Sistemas Digitales 30 Solución : Tabla de Flujo Primitiva X1X2 00 01 Sistemas Digitales 11 10 Z 1 2 - 3 0 1 2 4 - 0 5 - 4 3 1 - 6 4 7 1 5 6 - 3 1 1 6 4 - 1 1 - 8 7 0 - 2 8 7 0 31 Solución: Tabla de Flujo Mínima Por simple inspección se observa que las clases de estado son las siguientes: a=(1,2); b=(3,5); c=(4,6); d=(7,8) X1X2 Sistemas Digitales 00 01 11 10 Z 1 2 4 3 0 5 6 4 3 1 1 6 4 7 1 1 2 8 7 0 32 Solución: Clases de estado en Tabla de Flujo Mínima X1X2 Sistemas Digitales y1y2 00 01 11 10 Z 00 a a c b 0 01 b c c b 1 11 a c c d 1 10 a a d d 0 33 Solución: Asignación de Estados Carreras Críticas X1X2 X1X2 y1 y 2 00 01 11 10 y1 y 2 00 01 11 10 00 00 00 11 01 00 0 0 - - 01 01 11 11 01 01 1 1 1 1 11 00 11 11 10 11 - 1 1 - 10 00 00 10 10 10 0 0 0 0 Y1Y2 Sistemas Digitales Z 34 Solución: Asignación de Estados Libre de Carreras Críticas X1X2 X1X2 y1 y 2 00 01 11 10 y1 y 2 00 01 11 10 00 00 00 01 01 00 0 0 - - 01 01 11 11 01 01 1 1 1 1 11 10 11 11 10 11 - 1 1 - 10 00 00 10 10 10 0 0 0 0 Y1Y2 Sistemas Digitales Z 35 Solución: Ecuaciones de Variables de Estado Y1 y Y2 X1X2 X1X2 y1 y 2 00 01 11 10 y1 y 2 00 01 11 10 00 0 0 0 0 00 0 0 1 1 01 0 1 1 0 01 1 1 1 1 11 1 1 1 1 11 0 1 1 0 10 0 0 1 1 10 0 0 0 0 Y1= x2y2 + y1y2 + x1y1 Sistemas Digitales Y2 = x1y1’ + y1’y2 + x2y2 36 Solución: Ecuación de Salida Z X1X2 y1 y 2 00 01 11 10 00 0 0 - - 01 1 1 1 1 11 - 1 1 - 10 0 0 0 0 Z = y2 Sistemas Digitales 37 Solución: Ecuaciones Finales de Estado Y1 = x2y2 + y1y2 + x1y1 Y2 = x1y1’ + y1’y2 + x2y2 Z = y2 Sistemas Digitales 38 Solución: Diagrama del Circuito y2 X1 X2 y1 y1' Y1 Y2 y1 y2 Z Sistemas Digitales 39 Ejercicio La figura y las ecuaciones siguientes definen un circuito secuencial asíncrono en modo fundamental. a. Obtenga una tabla de flujo Y1 = x2’y2 + x1y1 +x1x2’ Y2 = x1’y2 + x1’x2 + x2y1 Z = x1x2’ + x2y1’ + x1’y2 b. Utilice la tabla de flujo preparada en la parte (a) para determinar la X1 secuencia de salida X2 Lógica correspondiente a la Combinacio y secuencia de entrada 1 y2 nal x1x2 = 00, 01, 11, 10, 11, 01, 00, 10 si las líneas de retardo se encuentran inicialmente ∆t en cero (estado estable ∆t x1 = x2 = y1 = y2 = 0). Sistemas Digitales Z Y2 Y1 40 Solución: variables de estado X1X2 X1X2 y1 y 2 00 01 11 10 y1y2 00 01 11 10 00 0 0 0 1 00 0 1 0 0 01 1 0 0 1 01 1 1 0 0 11 1 0 1 1 11 1 1 1 0 10 0 0 1 1 10 0 1 1 0 Y1= x2’y2 + x1y1 +x1x2’ Sistemas Digitales Y2 = x1’y2 + x1’x2 + x2y1 41 Solución: salida X1X2 y1 y 2 00 01 11 10 00 0 1 1 1 01 1 1 1 1 11 1 1 0 1 10 0 0 0 1 Z = x1x2’ + x2y1’ + x1’y2 Sistemas Digitales 42 Solución: Tabla de Flujo Mínima X1X2 X1X2 y1 y 2 00 01 11 10 y1 y 2 00 01 11 10 00 00 01 00 10 00 0 1 1 1 01 11 01 00 10 01 1 1 1 1 11 11 01 11 10 11 1 1 0 1 10 00 01 11 10 10 0 0 0 1 Y1Y2 Sistemas Digitales Z 43 Solución: Clases de estado en Tabla de Flujo Mínima X1X2 X1X2 y1 y 2 00 01 11 10 y1 y 2 00 01 11 10 00 a b a d 00 0 1 1 1 01 c b a d 01 1 1 1 1 11 c b c d 11 1 1 0 1 10 a b c d 10 0 0 0 1 Y1Y2 Sistemas Digitales Z 44 Solución: secuencia de salida X1X2 00 01 11 10 11 01 00 10 Estado a b a d c b c d Z 0 1 1 1 0 1 1 1 Sistemas Digitales 45 Ejercicio Encuentre las ecuaciones de estado, libre de carreras críticas, un circuito secuencial asíncrono que posee dos entradas, X1 y una salida Z. El circuito se caracteriza porque: para X2 y • Trabaja en modalidad fundamental • La frecuencia de la señal de una de las entradas X es 4 veces la frecuencia de la señal de salida en Z. • La frecuencia de la señal de una de las entradas X es 2 veces la frecuencia de la señal de salida en Z. • Las señales de entrada y salida varían entre niveles binarios 0 y 1. Sistemas Digitales 46 Solución Diagrama de tiempo de acuerdo a condiciones del problema X1 X2 Z Sistemas Digitales 47 Solución X1 X2 X1 X2 Z 0 0 0 0 0 1 0 0 1 0 1 1 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 0 0 0 0 0 1 0 0 1 0 1 1 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 Sistemas Digitales Tabla de Flujo Primitiva X1X2 00 01 11 10 Z 1 4 - 2 0 5 - 3 2 0 - 4 3 2 0 5 4 3 - 0 5 8 - 6 1 1 - 7 6 1 - 8 7 6 1 1 8 7 - 1 48 Tabla de Implicancia 2 1-5 3 √ √ 4 1-5 √ √ 1-5 2-6 3-7 4-8 2-6 4-8 2-6 3-7 1-5 3-7 1-5 3-7 4-8 √ √ 1-5 √ √ 5 6 7 5 6 2-6 7 4-8 2-6 3-7 2-6 8 4-8 1-5 3-7 3-7 4-8 1 2 3 Sistemas Digitales 4 49 Clases de Estado y Tabla Mínima Clases: a = {1,3} ; b = {2,4} ; c = {5,7} ; d = {6,8} Tabla Mínima X1X2 Z(X1X2) 00 01 11 10 00 a b a b 01 c b a 11 c d 10 a d Sistemas Digitales 00 01 11 10 00 0 -- 0 -- b 01 -- 0 -- 0 c d 11 1 -- 1 -- c d 10 -- 1 -- 1 50 Asignación de Estados y Ecuaciones de Estado Clases: a = 00 ; b = 01 ; c = 11 ; d = 10 X1X2 Z(X1X2) 00 01 11 10 00 01 11 10 00 00 01 00 01 00 0 -- 0 -- 01 11 01 00 01 01 -- 0 -- 0 11 11 10 11 10 11 1 -- 1 -- 10 00 10 11 10 10 -- 1 -- 1 Y1 = y2 x’1 x’2 + y1 x2 + y1 x1 Y2 = y’1 x’1 x2 + y’1 x1 x’2 + y2 x’1 x’2 + y1 x1 x2 Z = y1 Sistemas Digitales 51