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:
Lógica de salida (G) 

Entradas 

Lógica de estado siguiente       (F) 

Estado actual

Salidas

Estructura del circuito secuencial retroalimentado (modelo de Mealy)

Entradas 

Lógica de estado siguiente      (F)

Estado actual

Lógica de salida (G) 

Salidas

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.

1   

A manera de ejemplo analicemos el biestable tipo D, que tiene un solo lazo de a s e realimentación como se observa e la siguie n, en ente figura: :

D  CD C C  Y* Y C CD(C⎯D +⎯Y)   = =CD + (C⎯D + + Y) 

C⎯D C C⎯D  Y = = C⎯D + ⎯Y 

Para el análisi hemos insertado u registro receptor Y para la única var a is un o riable de estado. egistro rece eptor tendrá un dete erminado ti iempo de p propagació (Ej. 10m y se ón ms) El re supo que el resto de lo compon one os nentes tien un tiemp de prop ne po pagación 0. . Cono ociendo Y y los es stados C y D podemos prede ecir el val que te lor endrá Y* desp pués del tie empo de p propagación de Y. Por lo tanto, la ecuación de excitac a ción para Y* será: Y* = C D + (C⎯ +⎯Y) = C D + Y (⎯C + D) ⎯D C =C D + ⎯C Y + D Y ación pue ede describ birse como una función del o El estado del lazo de realimenta adas prese entes, lo qu puede s expres ue ser sado media ante una estado interno y las entra a ciones: tabla de transic CD Y 0 1 00 0 1
Y*

01 0 1

11 1 1

10 0 0

abla de tra ansición oc cupa una fila por ca combin ada nación de variables internas La ta de e estado; así, en un c circuito con n lazos d realime n de entación (v variables in nternas)

2   

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 Y A B 00 A,0 B,1
Y*

01 A,0 B,1

11 B,1 B,1

10 A,0 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 01 Dependiendo de cual de las variables de entrada cambia primero, arribará a estados internos diferentes, como se ilustra en la siguiente figura:
3   

00

CD Y A B

00 A,0 B,1
Y*

01 A,0 B,1

11 B,1 B,1

10 A, ,0 A, ,0

Es lógico pen nsar que lo cambio simultán os os neos de la variable de entrada no as es siem mpre ocasi ionan com mportamien ntos impre edecibles, sin embar rgo, es ne ecesario analizar los efe ectos de to odos los p posibles ca ambios, en todos los órdenes, para así p ducir resultados espe erados, con salidas p n predecibles del circuito. s prod Por ejemplo si partiendo del estad interno e i o do estable A, se da el c cambio sim multáneo CD=00 a 11 pero sie 1, empre arrib bará al mismo estado estable in o nterno B. de C Análisis de circuitos secuenc ciales así íncronos con múltiples laz zos de reali imentació ón: Por ejemplo an nalicemos el compor rtamiento c circuital de flip – flop tipo D de disparo el p flanco mos strado en la siguiente figura: a e por f

Y1

Y1*

Y2D + Y1CLK K  Y1CLK + Y3 1 + CLK + Y2D)  3(Y Y Y1CLK 

Y3   Y1CLK+CLK + Y2D    Y1 + CLK 2D  K + Y Y2 Y2*

Y3* 

Y3 1 + CLK + Y2D)   3(Y

Y2D  

4   

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 Y1Y2Y3 000 001 010 011 100 101 110 111 00 010 011 010 011 010 011 010 011 01 010 011 110 111 010 011 110 111 11 000 000 110 111 111 111 111 111 10 000 000 110 000 111 111 111 111
Cambiar  Original  Por 000  para evitar  carreras  críticas 

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 011 001 000 (carrera no crítica) 110 111 (carrera 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.

5   

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:
Podríamos cambiar  directamente a G,0

CLK D E A B C D E F G H

00 C,0 D,1 C,0 D,1 C,0 D,1 C,0 D,1

01 C,0 D,1 G,0 H,1 C,0 D,1 G,0 H,1

11 A,0 A,0 G,0 H,1 H,1 H,1 H,1 H,1

10 A,0 A,0 A,0 A,0 H,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:

• •

6   

CLK D E A C D G H

00 C,0 C,0 D,1 C,0 D,1

01 G,0 G,0 H,1 G,0 H,1

11 A,0 X X H,1 H,1

10 A,0 A,0 A,0 X 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 G H √ X X X A

X √ X C

X X D

X G

(AC)= a; D = b; G = c; H = d Con la nueva asignación tendremos la siguiente tabla de estados reducida:

CLK D E a b c d

00 a,0 b,1 a,0 b,1

01 c,0 d,1 c,0 d,1

11 a,0 X d,1 d,1

10 a,0 a,0 X d,1

7   

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:
8   

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 Estado inicial Reinicio sin pulso Captura de pulso Reinicio con pulso Bajada del pulso sal.1 Fin reinicio

PR E A B C D E F

00 A A E X E A

01 B B X B B X

11 X D D D X D

10 C X C F C F

Z 0 0 1 0 1 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:

9   

B C D E F

√ X CF X CF A

X √ X √ B

X √ X C

X √ D

X E

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 E a b c 00 a b a 01 a a a 11 c c c 10 b b c Z 0 1 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

10   

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:
00  01 

a

b

c

10 

c’

11 

La nueva tabla de estados quedará: PR E a b c’ c 00 a b X a 01 a a X a 11 c c’ c c 10 b b X c Z 0 1 X 0

A continuación se muestra la correspondiente tabla de estados codificada:

PR Y 1Y 2 00 01 11 10

00 00 01 X 00

01 00 00 X 00

11 10 11 10 10

10 01 01 X 10

Z 0 1 X 0

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,
11   

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  Y2* P

Y2 

0 0 x 0
*

0 0 x 0

1 1 1 1

0 0 x 1

Y1 Y2

0 1 x 0

0 0 x 0
R

0 1 0 0

1 1 x 0

Y1 

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
P  R  Y1

Y2

Z

12   

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.

13   

Sign up to vote on this title
UsefulNot useful