Secuenciales Asincronos

  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Secuenciales Asincronos as PDF for free.

More details

  • Words: 2,800
  • Pages: 13
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:

Entradas 

Estado actual

Lógica de estado siguiente       (F) 

Lógica de salida (G) 

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 a s el biestable tipo D, que tiene e un solo lazo de realimentación n, como se observa en e la siguie ente figura::

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

C  Y*

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

Y

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

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

00

01

11

10

0 1

0 1

1 1

0 0

Y*

abla de tra ansición occupa una fila por ca ada combin nación de variables internas La ta de estado; e así, en un circuito c con n n lazos de d realime entación (vvariables 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

01

11

10

A,0 B,1

A,0 B,1

B,1 B,1

A,0 A,0

Y*

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

CD Y A B

00

01

11

10

A,0 B,1

A,0 B,1

B,1 B,1

A,,0 A,,0

Y*

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

Y1

Y1*

Y2D + Y1CLK K  Y1CLK + Y3 3(Y1 + CLK + YY2D)  Y1CLK 

Y3

Y3* 

  Y1CLK+CLK + Y2D    Y1 + CLK K + Y2D  Y2

Y3 3(Y1 + CLK + Y2D)  

Y2*

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

01

11

10

010 011 010 011 010 011 010 011

010 011 110 111 010 011 110 111

000 000 110 111 111 111 111 111

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

110

111 (carrera crítica)

001

000 (carrera no crítica)

011

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

11

10

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

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

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

01

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

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

11

10

A,0 X X H,1 H,1

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

01

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

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

7   

11

10

a,0 X d,1 d,1

a,0 a,0 X d,1

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

01

11

10

Z

A A E X E A

B B X B B X

X D D D X D

C X C F C F

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

01

11

10

Z

a b a

a a a

c c c

b b c

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

c

b

10 

c’

11 

La nueva tabla de estados quedará: PR E a b c’ c

00

01

11

10

Z

a b X a

a a X a

c c’ c c

b b X c

0 1 X 0

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

PR Y 1Y 2 00 01 11 10

00

01

11

10

Z

00 01 X 00

00 00 X 00

10 11 10 10

01 01 X 10

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* 

0 0 x 0

Y2 

*

Y2*



0 0 x 0

1 1 1 1

0 0 x 1

Y1 Y2



P

0 1 x 0

0 0 x 0

0 1 0 0

1 1 x 0

R

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

12   

Z

Y1 

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   

Related Documents