Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

14531428 secuenciales-asincronos

254 views

Published on

digitales

Published in: Engineering
  • Be the first to comment

14531428 secuenciales-asincronos

  1. 1. 1    CIRCUITOS SECUENCIALES (AUTOMATAS FINITOS) ASINCRONOS Los circuitos secuenciales asíncronos o autómatas finitos asíncronos también suelen denominarse como circuitos en modo fundamental. Una de sus principales características consiste en no permitir cambios simultáneos en las variables de entrada, a fin de evitar el fenómeno de carreras críticas entre variables de estado de entrada. Por lo indicado, el procedimiento de análisis de circuitos secuenciales asíncronos, supone que las entradas cambian una a la vez, dando el tiempo suficiente entre cambios sucesivos para permitir que el circuito alcance un estado interno estable. En la siguiente figura se ilustra la estructura de los circuitos secuenciales realimentados asíncronos según los modelos de Mealy y de Moore: Estructura del circuito secuencial retroalimentado (modelo de Mealy) Estructura del circuito secuencial retroalimentado (modelo de Moore) Con objeto de predecir el valor siguiente, almacenado en cada lazo de realimentación, de las variables internas, en función de las variables de entrada y el valor presente almacenado en cada lazo, será necesario abrir los lazos de realimentación. Lógica de estado siguiente       (F)  Lógica de salida (G)  Entradas  Salidas Estado actual Lógica de estado siguiente      (F) Lógica de salida (G)  Entradas  Salidas Estado actual
  2. 2.   A m reali Para esta El re supo Cono desp Por El e esta tabla La ta de e D  C  anera de mentación a el análisi do. egistro rece one que el ociendo Y pués del tie lo tanto, la stado del do interno a de transic abla de tra estado; as ejemplo a n, como se is hemos i eptor tend resto de lo Y y los es empo de p a ecuación Y* = =C D lazo de y las entra ciones: ansición oc í, en un c analicemos observa e nsertado u rá un dete os compon stados C y propagació de excitac C D + (C⎯ D + ⎯C Y + realimenta adas prese CD 0 Y 0 0 1 1 cupa una circuito con C C Y 2  s el biesta en la siguie un registro erminado ti nentes tien y D pode n de Y. ción para Y ⎯D +⎯Y) = C D Y ación pue entes, lo qu 0 0 1 0 0 1 1 fila por ca n n lazos d CD C⎯D Y* ble tipo D ente figura: o receptor iempo de p ne un tiemp mos prede Y* será: C D + Y (⎯C ede describ ue puede s 1 1 1 1 0 1 0 ada combin de realime Y , que tiene : Y para la propagació po de prop ecir el val C + D) birse como ser expres 0 0 0 nación de entación (v C  =Y* C⎯D  Y = e un solo única var ón (Ej. 10m pagación 0. lor que te o una fun sado media variables variables in CD(C⎯D +⎯Y)  =CD + (C⎯D + = C⎯D + ⎯Y  lazo de riable de ms) y se . endrá Y* ción del ante una internas nternas) + Y) 
  3. 3. 3    tendrá 2n filas ó estados internos y con m variables de entrada tendrá 2m combinaciones de entrada (columnas). Como no dispone de reloj de temporización, el muestreo de las entradas y estados internos presentes es continuo, limitado solamente por los retardos circuitales. En concordancia con el resultado de la evaluación, podrá pasar al estado interno siguiente y continuar hasta que el estado interno siguiente coincida con el estado interno presente, arribando de ésta forma a un estado interno estable. Si el estado interno al que arriba es diferente, entonces se dice que arribó a un estado interno inestable. Si utilizamos una representación simbólica para los estados internos y asociamos el valor de las salidas a cada uno de los estados internos, estaremos conformando la tabla combinada de estados y salidas: CD 0 0 0 1 1 1 1 0 Y A A,0 A,0 B,1 A,0 B B,1 B,1 B,1 A,0 Para facilitar su análisis se debe suponer el cambio de una sola variable de entrada por vez. Los cambios en las variables de entrada solo deberán suceder después que las nuevas variables internas de estado hayan establecido (alcanzado) su estado estable. En la tabla, Los estados estables se simbolizan con un círculo alrededor. Para ilustrar mejor lo que sucede cuando ocurren cambios simultáneos en las variables de entrada, analicemos, por ejemplo, en la tabla de estados/salidas anterior, el cambio simultáneo de las variables de entrada de la combinación 11 a la combinación 00 mientras el circuito se encuentra en el estado estable B, el circuito, a partir de la combinación de entrada 11, puede tomar dos caminos: 10 11 00 01 Dependiendo de cual de las variables de entrada cambia primero, arribará a estados internos diferentes, como se ilustra en la siguiente figura: Y*
  4. 4.   Es l siem anal prod Por de C Aná reali Por por f ógico pen mpre ocasi izar los efe ducir result ejemplo si CD=00 a 11 lisis de imentació ejemplo an flanco mos nsar que lo ionan com ectos de to ados espe i partiendo 1, pero sie circuitos ón: nalicemos strado en la CD 0 Y A A B B os cambio mportamien odos los p erados, con o del estad empre arrib secuenc el compor a siguiente Y Y1 Y2 4  0 0 1 ,0 A,0 ,1 B,1 os simultán ntos impre posibles ca n salidas p do interno e bará al mis ciales así rtamiento c e figura: Y* Y1 * Y2 * Y   Y1CLK+CL   Y1 + CLK Y 1 1 1 B,1 A, B,1 A, neos de la edecibles, ambios, en predecibles estable A, mo estado íncronos circuital de Y2D + Y1CLK Y1CLK  K + Y2D  K + Y2D  Y2D   0 ,0 ,0 as variable sin embar todos los s del circu se da el c o estable in con mú el flip – flop Y3 K  Y1CLK + Y3 Y3 es de ent rgo, es ne órdenes, p ito. cambio sim nterno B. ltiples laz p tipo D de Y3 *  3(Y1 + CLK + Y 3(Y1 + CLK +  rada no ecesario para así multáneo zos de disparo Y2D)  Y2D)  
  5. 5. 5    Las funciones de excitación para los estados internos siguientes serán: Y1 * = Y2D + Y1CLK Y2 * = Y1 + CLK + Y2D Y3 * = Y1CLK + Y1Y3 + Y3CLK + Y2Y3D Q = = Y1CLK + Y1Y3 + Y3CLK + Y2Y3D ⎯Q = ⎯Y3 + ⎯Y1⎯Y2CLK + ⎯Y1CLK⎯D Tabla de transiciones para el flip flop tipo D de disparo por flanco: CLK D 00 01 11 10 Y1Y2Y3 000 010 010 000 000 001 011 011 000 000 010 010 110 110 110 011 011 111 111 000 100 010 010 111 111 101 011 011 111 111 110 010 110 111 111 111 011 111 111 111 Carreras: Ocurre cuando por efecto del cambio de una variable de entrada, se suceden cambios múltiples de variables internas. Por ejemplo, partiendo del estado estable 011/00 la señal CLK cambia de 0 a 1, la tabla de estados indica como estado interno siguiente la combinación 000, es decir un cambio simultáneo de las variables internas Y2Y3 de 00 a 11. Como vimos anteriormente, se pueden dar las siguientes transiciones: 010 110 111 (carrera crítica) 011 001 000 (carrera no crítica) El diseñador debe asegurarse que la tabla de transiciones no contenga carreras críticas, de lo contrario el circuito funcionará de manera errática. Cambiar  Original  Por 000  para evitar  carreras  críticas 
  6. 6. 6    Tabla de estados y tabla de flujo.- Luego del análisis de las carreras críticas, podemos asignar, a cada estado, una representación simbólica y determinar los valores de las salidas, y llenamos la tabla simbólica combinada de estados y salidas: CLK D 00 01 11 10 E A C,0 C,0 A,0 A,0 B D,1 D,1 A,0 A,0 C C,0 G,0 G,0 A,0 D D,1 H,1 H,1 A,0 E C,0 C,0 H,1 H,1 F D,1 D,1 H,1 H,1 G C,0 G,0 H,1 H,1 H D,1 H,1 H,1 H,1 Tabla simbólica de estados/salidas ilustrando el caso de carreras críticas Para determinar la tabla de flujo reducida debemos tomar en cuenta lo siguiente: • Eliminar los saltos múltiples, mostrando solamente el destino final de la transición (por ejemplo, partiendo de A,0 (11→01), pasamos al estado transitorio C,0 que nos conduce al estado estable G,0; por tanto en la fila del estado A columna 01, podemos cambiar la asignación C,0 poniendo directamente la asignación G,0. • Eliminar las filas de los estados internos no utilizados como B,E, y F. • Colocar indeterminaciones en las casillas a las que se puede llegar mediante cambios simultáneos de las variables de entrada; por ejemplo en la fila G cuyo estado estable se da para la combinación 01 de las variables de entrada, no se debería admitir el cambio simultáneo en el valor de las variables de entrada, es decir a la combinación 10, por lo que en dicha columna se deberá colocar el símbolo de indeterminación en el lugar del estado interno siguiente, obteniendo como resultado final la siguiente tabla de estados/salidas: Podríamos cambiar  directamente a G,0
  7. 7. 7    CLK D 00 01 11 10 E A C,0 G,0 A,0 A,0 C C,0 G,0 X A,0 D D,1 H,1 X A,0 G C,0 G,0 H,1 X H D,1 H,1 H,1 H,1 Finalmente podemos utilizar el método conocido para la reducción de estados, a fin de obtener la tabla de estados/salidas mínima; por ejemplo, en la tabla de estados/salidas anterior, los estados internos A y C pueden fusionarse, quedando la siguiente tabla de estados/salidas reducida: C √ D X X G X √ X H X X X X A C D G (AC)= a; D = b; G = c; H = d Con la nueva asignación tendremos la siguiente tabla de estados reducida: CLK D 00 01 11 10 E a a,0 c,0 a,0 a,0 b b,1 d,1 X a,0 c a,0 c,0 d,1 X d b,1 d,1 d,1 d,1
  8. 8. 8    DISEÑO DE CIRCUITOS SECUENCIALES (AUTOMATAS FINITOS) ASINCRONOS De forma similar al diseño de circuitos secuenciales síncronos, a continuación se lista, en forma resumida, los pasos que se deben seguir para el diseño de los circuitos secuenciales (autómatas finitos) asíncronos: 1. Construir una tabla primitiva del flujo de estados partiendo de la descripción verbal o escrita del problema. 2. Reducir el número de estados de la tabla. 3. Seleccionar una asignación de códigos de estado libre de carreras críticas, agregando estados auxiliares si fuera necesario. 4. Construir la tabla de transiciones. 5. Construir los mapas de excitación y determinar la realización libre de riesgos en las ecuaciones de excitación. 6. Dibujar el diagrama lógico. 7. Verificar la existencia de posibles riesgos esenciales; en su caso asegurar que los tiempos mínimos de excitación y realimentación sean más largos que los retrasos en la lógica de entrada. 1. Diseño de la tabla primitiva del flujo de estados en modo fundamental De manera similar al diseño de circuitos secuenciales síncronos, a cada posible estado del sistema le asignamos un significado concreto relacionado con el problema. Sin embargo, por tratarse ahora de un sistema realimentado, es más fácil entrar en confusión, por lo que se recomienda conformar inicialmente una “tabla primitiva de estados”, cuya característica principal consiste en: 1.1.Por cada fila de la tabla solo se permitirá un solo estado estable, de manera tal que la salida solo puede ser descrita en función del estado. 1.2.Solo se permite por vez, el cambio de una sola variable de entrada, concediéndole el tiempo suficiente para que alcance un nuevo estado estable antes de producirse un nuevo cambio en las variables de entrada. 1.3.La tabla primitiva de estados por lo general tendrá estados extras que posteriormente podrán ser reducidos. Para ilustrar mejor los pasos del procedimiento de diseño, resolvamos el siguiente problema:
  9. 9. 9    Diseñar un circuito secuencial asíncrono realimentado que tiene dos líneas de entrada P(pulso) y R(reinicio) y una sola salida Z que normalmente se encuentra en el nivel lógico 0. La salida cambiará al nivel lógico 1 cuando ocurra la transición de 0 a 1 en la línea de entrada P y se reinicia a 0 cuando sobre la línea de entrada R se tiene el nivel lógico 1. El problema expresado mediante un diagrama de tiempos: P R Z Tabla primitiva del flujo de estados partiendo de la descripción verbal o escrita del problema: Significado PR 00 01 11 10 Z E Estado inicial A A B X C 0 Reinicio sin pulso B A B D X 0 Captura de pulso C E X D C 1 Reinicio con pulso D X B D F 0 Bajada del pulso sal.1 E E B X C 1 Fin reinicio F A X D F 0 2. Reducción del número de estados de la tabla Los criterios y métodos que se utilizan son exactamente los mismos que los que se utilizaron en el diseño de circuitos secuenciales síncronos, por tanto decimos que: Dos estados son equivalentes si: 2.1.Todos sus estados siguientes tienen salidas iguales; 2.2.Si los estados siguientes son diferentes, estos también deberán conducir a estados equivalentes. Consecuentemente tendremos:
  10. 10. 10    Los estados A y B se fusionan en el nuevo estado a. Los estados C y E se fusionan en el nuevo estado b. Los estados D y F se fusionan en el nuevo estado c. La tabla de estados reducida será: PR 00 01 11 10 Z E a a a c b 0 b b a c b 1 c a a c c 0 3. Selección y asignación de códigos de estado libres de carreras críticas El objetivo es asignar a cada estado una combinación de variables internas de manera tal que solo cambie una variable entre estados adyacentes. Una manera de determinar las posibles adyacencias es mediante los diagramas de estado, que nos muestran las posibles adyacencias para la codificación correspondiente: a b c B √ C X X D CF √ X E X X √ X F CF √ X √ X A B C D E
  11. 11. 11    Como podemos observar, para diferenciar los cambios de estado con el cambio de un solo bit, será necesario incluir un estado intermedio transitorio (c’), por ejemplo entre los estados b y c, con lo que el nuevo diagrama de estados quedará de la siguiente forma: a b c c’ La nueva tabla de estados quedará: PR 00 01 11 10 Z E a a a c b 0 b b a c’ b 1 c’ X X c X X c a a c c 0 A continuación se muestra la correspondiente tabla de estados codificada: 4. Construcción de la tabla de transiciones Para la construcción de la tabla de transiciones se procede de manera similar que para los circuitos secuenciales síncronos, es decir que si la realización de las funciones de excitación serán realizadas mediante lógica combinacional realimentada, directamente la tabla de estados codificada se constituye en la tabla de transiciones; sin embargo, si se va ha utilizar algún dispositivo de memoria, este también debe ser asíncrono, PR 00 01 11 10 Z Y1Y2 00 00 00 10 01 0 01 01 00 11 01 1 11 X X 10 X X 10 00 00 10 10 0 00  01  11 10 
  12. 12. 12    como por ejemplo el flip flop SR, en cuyo caso, la tabla de transiciones se dará en función a la ecuación característica correspondiente. 5. Construcción de los mapas de Karnaugh y realización de las ecuaciones de excitación libre de riesgos De las tablas de transición libre de carreras, mediante la utilización del método de Karnaugh para la reducción de funciones lógicas, obtenemos las funciones lógicas con las que se implementarán los circuitos lógicos realimentados o en su caso los circuitos de excitación para las entradas de los flip flop con los que se realizará el circuito correspondiente. Y1 * = P R + P Y1 = P R PY1 Y2 * = Y2⎯R +⎯Y1 Y2 P +⎯Y1 P⎯R = = Y2⎯R ⎯Y1 Y2 P ⎯Y1 P⎯R Z = Y2 Dibujar el diagrama lógico 0 0 1 0 0 0 1 0 x x 1 x 0 0 1 1 0 0 0 1 1 0 1 1 x x 0 x 0 0 0 0 P  R  Y2 Y1 Z Y2  P  Y1 Y1  Y1 *  P R  R Y2 Y2 *
  13. 13. 13    6. Verificación de la existencia de posibles riesgos esenciales; asegurando, en su caso, que los tiempos mínimos de excitación y realimentación sean más largos que los retrasos en la lógica de entrada. Para que un circuito en modo fundamental trabaje en forma apropiada debe satisfacer lo siguientes cinco requisitos: 7.1.Las variables de entrada solo deben cambiar una por vez, debiendo existir un límite mínimo entre cambios sucesivos. 7.2.Existe un tiempo máximo de propagación a través de la lógica de excitación y rutas de realimentación; este tiempo máximo, debe ser menor que el tiempo entre cambios de entrada sucesivos. 7.3.La asignación de estados (tablas de transición) debe estar libre de carreras críticas. 7.4.La lógica de excitación de estar libre de riesgos. 7.5.El tiempo de propagación mínimo a través de la lógica de excitación y rutas de realimentación debe ser mayor que el retardo máximo de tiempo a través de la lógica de entrada.

×