Secuenciales Asincronos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 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:

Lógica
Lógica Estado de
Entradas  salida
de estado actual
siguiente (G) 
      (F)  Salidas

Estructura del circuito secuencial retroalimentado (modelo de Mealy)

Lógica Estado Lógica


Entradas  de estado actual de
siguiente  salida
(G) 
    (F) 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.


 
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 siguieente figura::


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

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

Para
a el análisiis hemos insertado un o receptor Y para la única varriable de
u registro
estado.

egistro rece
El re eptor tendrá un dete
erminado tiiempo de propagació
p ón (Ej. 10m
ms) y se
supoone que el resto de lo
os componnentes tien
ne un tiemp
po de prop
pagación 0..

Cono
ociendo Y y los esstados C y D podemos prede endrá Y*
ecir el vallor que te
desp
pués del tie
empo de propagació
p n de Y.

a ecuación de excitacción para Y* será:


Por lo tanto, la

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


C + D)

=C D + ⎯C Y + D Y

El estado del lazo de realimenta ación pue ede describ o una función del
birse como
adas prese
estado interno y las entra entes, lo qu
ue puede ser
s expressado mediaante una
a de transicciones:
tabla

CD
00 01 11 10
Y
0 0 0 1 0
1 1 1 1 0
Y*

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


 
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 00 01 11 10
Y
A A,0 A,0 B,1 A,0
B B,1 B,1 B,1 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:


 
CD 00 01 11 10
Y
A A,0 A,0 B,1 A,,0
B B,1 B,1 B,1 A,,0
Y*

Es lógico pen nsar que loos cambioos simultánneos de laas variablees de entrada no
siem
mpre ocasiionan com mportamien ntos impreedecibles, sin embarrgo, es neecesario
analizar los efe
ectos de to
odos los posibles
p ca
ambios, en todos los órdenes, para
p así
ducir resultados espe
prod erados, con
n salidas predecibles
p s del circuito.

Por ejemplo sii partiendo


o del estad
do interno estable
e A, se da el ccambio simmultáneo
de CD=00
C a 11
1, pero sieempre arrib
bará al mismo estadoo estable innterno B.

ciales asííncronos con múltiples lazzos de


Análisis de circuitos secuenc
realiimentació
ón:

Por ejemplo annalicemos el comporrtamiento circuital


c de
el flip – flop
p tipo D de disparo
por flanco
f mosstrado en la
a siguiente
e figura:

Y2D + Y1CLK

Y1 Y1*
Y1CLK + Y3
3(Y1 + CLK + YY2D) 
Y1CLK 

Y3 Y3* 
  Y1CLK+CLK + Y2D 
  Y1 + CLK
K + Y2D 

3(Y1 + CLK + Y2D)  
Y3
Y2 Y2*

Y2D  


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


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


 
CLK D 11 10
00 01
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 11 10
00 01
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


 
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:


 
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:

Tabla primitiva del flujo de estados partiendo de la descripción verbal o


escrita del problema:

PR 00
Significado 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:


 
B √
C X X
D CF √ X
E X X √ X
F CF √ X √ X
A B C D 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
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

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

10  11 
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:

PR
00 01 11 10 Z
Y 1Y 2
00 00 00 10 01 0
01 01 00 11 01 1
11 X X 10 X X
10 00 00 10 10 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

0 0 1 0 0 0 0 1
0 0 1 0 Y1 1 0 1 1 Y1 
Y2  x x 1 x x x 0 x
Y2
0 0 1 1 0 0 0 0
R  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


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 
 

También podría gustarte