Está en la página 1de 31

AMPLIACIN DE TECNOLOGA DE COMPUTADORES

Tema 6: Sistemas Secuenciales Asncronos 6.1. Sistemas Secuenciales Asncronos en modo fundamental 6.2. Anlisis de los Sistemas Secuenciales Asncronos Tabla de Transicin Tabla de Flujo Tabla de Flujo Primitiva Minimizacin 6.3. Diseo de Sistemas Secuenciales Asncronos Mapas de Excitacin. Mapas de salida 6.4. Problemas del diseo de Sistemas Secuenciales Asncronos Ciclos y carreras (Rediseo) Azares (Riesgos)
Milagros Fernndez Centeno Tema 6. Sistemas Secuenciales Asncronos 1

6.1. Sistemas Secuenciales Asncronos en modo fundamental Los S.S. Asncronos son circuitos combinacionales que tienen realimentacin Ejemplo:

y
R Y=Z S

Y = S + y + R = S + y R

De forma general podemos representar un S.S.A. como: x1 xn Estado actual Secundarias

M y1 M M
yk

Combinacional

M M

z1 zp Y1

Yk
Retardo

Excitaciones Estado Siguiente

Retardo

Modo fundamental a) En cada instante slo se puede cambiar una entrada b) No puede haber otro cambio hasta que todas las variables se hayan estabilizado
Tema 6. Sistemas Secuenciales Asncronos 2

6.2. Anlisis de los Sistemas Secuenciales Asncronos a) Partimos del circuito En nuestro caso:
R Y=Z S

Y = S + y R

b) Describimos el comportamiento del circuito usando la tabla de transicin b1) Salidas y excitaciones en funcin de las entradas y de las secundarias b2) Cada excitacin es el estado siguiente de las secundarias

SR y
0 1

Parto por ejemplo del caso: 00 0 1 01 0 0 11 10 Y? 1 1

y=0

SR=00 Y=0

Y = S + y R

Si cambio R ? 1 (slo cambio una variable (Modo fundamental) Y=0 Si cambio S ? 1 desde (slo cambia una variable) Y=1

Tema 6. Sistemas Secuenciales Asncronos

Y = S + y R

Parto de Cambio S

y=0

SR=00 Y=0 Cambio R SR=01 Y=0

SR=10 Y=1

Parto de Cambio S

y=1

SR=00 Y=1 Cambio R SR=01 Y=0

SR=10 Y=1

Como hemos partido de S = 0, R = 0 no hemos podido considerar el caso S = 1, R = 1 porque slo consideramos el modo fundamental

Tema 6. Sistemas Secuenciales Asncronos

c) Tabla de Flujo Asignamos un estado distinto a cada combinacin de entradas y secundarias estables estado actual En la tabla de flujo el estado siguiente (excitaciones) es funcin de las variables de estado (secundarias) y de las entradas Nota: Un estado estable es cuando Y = y En el caso que estbamos discutiendo

Y = S + y R

Estados estables

y=0 y=0 y=0 y=1 y=1 y=1

SR=00 SR=01 SR=10 SR=00 SR=01 SR=10

Y=0+0 1=0=y Y=0+0 0=0=y Y = 0 + 1 1 = 1 Ky Y=0+1 1=1=y Y=0+1 0=0Ky Y=1+1 1=1=y

estable estable inestable estable inestable estable

Tema 6. Sistemas Secuenciales Asncronos

Designamos arbitrariamente los estados estables: y=0 y=0 y=1 y=1 SR=00 SR=01 SR=00 SR=10
1 4 3 2

}
11

Los estados estables los encerramos en un crculo. Los inestables los designamos con los nombres de los estables a los que van pero sin crculo

SR y
0 1

La tabla de flujo 00
1

01
4

11

10 2

d) Tabla de flujo Primitiva Tabla de flujo donde slo aparece un estado estable por fila

SR
2

00
1

01 4

10 2
2 Imposible cambiar las 2 entradas

1 2 3 4

SR=00 SR=10 SR=00 SR=01

La tabla de salida

3
3

4
4

SR y
0 1

00 0 1

01 0

11

10

1 1

Tema 6. Sistemas Secuenciales Asncronos

Ejemplo: Disear un circuito asncrono en modo fundamental con Comportamiento:

2 entradas: x1 x2 1 salida: z

z=0 siempre que x1 = 0 Mientras x1 = 1, el 1er cambio en x2 z = 1 z sigue en 1 hasta que x1 vuelve a 0

Nota: El cambio en las entradas estar separado suficientemente para que el circuito se estabilice antes de que llegue la transicin en una segunda entrada. 1) Tabla de flujo primitiva Debemos partir de un estado inicial estable conveniente Por ejemplo: x1 = 0 x2 = 0 salida z=0 Independiente de cual fue la entrada que cambi la ltima Nota: Indicaremos slo las salidas en los estados estables

Tema 6. Sistemas Secuenciales Asncronos

x1 = 0
Cambia x 1

x2 = 0

z= 0

Cambia x 2

3 Cambia x 1

x1 = 1 x 2 = 0 z= 0
Cambia x 2

x1 = 0 x 2 = 1 z= 0
Cambia x 1

Cambia x 2

1er cambio en x2 mientras x1 = 1

x1 = 1 x 2 = 1 z= 1
Cambia x 2 Cambia x 1

x1 = 1 x 2 = 1 z= 0

Cambia x 1

Cambia x 2

Distinto del 6, porque 6 viene de un estado con z=0

x1 = 1 x 2 = 0 z= 1
Cambia x 2 Cambia x 2

x1 = 1 x 2 = 0 z= 1
Cambia x 1

1er cambio en x2 mientras x1 = 1

Cambia x 1

Cambia x 2

x1 = 1 x 2 = 1 z= 1
Cambia x 1 Cambia x 2

Tema 6. Sistemas Secuenciales Asncronos

x1 x2
1

x1 x2

00 01 11 10 00 01 11 10 2
2

4 5
4 5

0 0 0 0 1 1 1 1
z

Estado Actual

x1 x2
1 2 3 4 5 6 7 1

x1 x2

00 01 11 10 00 01 11 10 2
2

4 5
4 5

0 0 0 0 1 1 1 1
Salida

1 1

1 1

2 2
1 1

6 7
6 7

2 2
1 1

6 7
6 7

8 8
8

8 8
8

Estado Siguiente

Si comparamos esta tabla con la tabla de transicin de estados vemos que slo falta poner el estado actual y el siguiente

Repeticin

Tema 6. Sistemas Secuenciales Asncronos

Minimizacin Incompatibles:

2 3 4 5 6 7 8

v v
3-6 3-7 3-6 3-7 3-7 4-5

3 3 4 4

6 7 5 8

v
4-5 4-8 4-8 4-8

3-6 4-5 3-7 4-8 6-7 4-8 3-7 5-8 6-7 5-8 5-8 5-8

1 Pasada Incompatibles

1 1 1 1 1

4 5 6 7 8

2 2 2 2 2

3 5 6 7 8

3 4 3 5 3 8

4 6 4 7

v
6-7

v 7

Mximos Compatibles 1 2 5 6 si 1 3 5 8 si 2 4 5 7 si 7 8 6 8 si 6 7

6 5 5 6

7 8 8 7

5 8

si

si si si

(5 6 7 8) El conjunto mas pequeo que cubre todos los estados es: (1 3) (2 4) (5 6 7 8)


Tema 6. Sistemas Secuenciales Asncronos 10

Tabla de Flujo Mnima


x1 x2 a b c a x1 x2

Estado Actual

00 01 11 10 00 01 11 10 b
b

(1 3) (2 4) (5 6 7 8)

c
b c

0 0 0 1
Salida

a a

c
c

Estado Siguiente

Respecto a las salidas Antes habamos dicho que no nos bamos a preocupar de las salidas durante las transiciones, sino slo cuando estbamos en el estado estable. Pero hay dos casos: 1) Si una variable de salida va a cambiar como resultado de un cambio de estado, esa variable efectivamente es un dont care durante la transicin. Si por ejemplo va a cambiar de 0 a 1, si se pone un 0 en esa variable durante la transicin, el cambio al valor 1 se producir necesariamente al final de la transicin. Si se pone un 1 en la transicin , el cambio se ha producido al principio de ella. Durante la transicinpuede ser un 0 o un 1, luego es un dont care 2) Si la variable de salida no tiene que cambiar como consecuencia de un cambio de estado, no debemos dejar libertad de que sea un 0 o un 1 durante la transicin.

Tema 6. Sistemas Secuenciales Asncronos

11

Ejemplo: Transicin a ?
Estado Actual

b ?

b x1 x2

cuando la entrada pasa de x1 x2 = 00 a x1 x2 = 01


x1 x2

x1 x2 a b c a

00 01 11 10 00 01 11 10 b
b

00 01 11 10 0 0 0 0 1
Salida

(1 3) (2 4) (5 6 7 8)

c
b c

0 0 0 1
Salida

a a

c
c

Estado Siguiente

La tabla completa de salida queda:


x1 x2
Estado Actual

00 01 11 10
a b c

0 0

0 0

0 1

(1 3)

1
(2 4) b

a c (5 6 7 8)

Salida

Tema 6. Sistemas Secuenciales Asncronos

12

6.3. Diseo de Sistemas Secuenciales Asncronos a) Tabla de flujo b) Minimizacin. Tabla de flujo mnima c) Mapas de excitacin: Asignar combinaciones especficas de secundarias a estados Por ejemplo: En el caso que estamos discutiendo 3 estados 2 variables secundarias Si damos cualquier asignacin ( Cuidado!!!: discusin en el siguiente apartado) y1 y2 0 0 1 0 1 1 ? ? ?
a a b c b c x1 x2 x1 x2 y1y2

00 01 11 10
a

00 00 00 00

01 01 01 01

11 11 01 11

01 00 11 11

b
b

c
b c

00 01 11 10
x1 x2

a a

c
c

Estado Siguiente

x1 x2 y1y2

Y1 Y2 ?

excitaciones

00 0 0 0

01 0 0 0

11 1 0 1

01 0 1 1

y1y2

00 0 0 0

01 1 1 1

11 1 1 1

01 0 1 1

00 01 11 10

00 01 11 10

Y1 = y1x2 + y2x1x2 + y2x1x2

Y2 = x2 + y2x2

Tema 6. Sistemas Secuenciales Asncronos

}
13

Mapas de excitacin

d) Mapa de salida
x1 x2 y1y2

00 01 11 10 0 0 0 0

00 01 11 10

0 1

Y1 = y1x2 + y2x1x2 + y2x1x2 Y2 = x2 + y2x2

z = y1


x2

Y2 y2 y2x2

x1

y2x1x2 Y1 y2x1x2 z y1 y1x2


14

Tema 6. Sistemas Secuenciales Asncronos

6.4. Problemas del diseo de Sistemas Secuenciales Asncronos Ciclos y Carreras Es posible que un circuito pase por ms de un estado inestable antes de alcanzar un nuevo estado estable. Si para un estado inicial (estable) y un cambio en la entrada la secuencia de estados inestables por los que el circuito pasa es nica, a esa secuencia se le llama ciclo. Ejemplo: x2 x1 Paso de 1 a 4 al cambiar x1 desde 0 1 y2 y1 pasa de 0 0 0 1 1 1 1 0 00 01 11 10 y2 y1 Cada uno de los cambios implica un cambio en una secundaria 00 1 2 No hay problema. Al final llega al estado estable que tena 01 3 que llegar. 11 4 Cuando cambia ms de una secundaria el circuito tiene una 10 4 carrera. Otro ejemplo
x2 x1 y2 y1

00 01 11 10 00 01 11 10
1

2 2
2

Si estamos en 1 y2 y1 = 0 0 Si x1 cambia 0 1 puede pasar que como consecuencia del circuito que implementa el SSA, Y 2 cambie antes pasando a y2 y1 = 1 0 (inestable) y despus cambie Y1 pasando a y2 y1 = 1 1 (estable). Si es al revs, Y1 cambia antes pasando a y2 y1 = 0 1 (inestable). Despus cambia Y2 pasando a y2 y1 = 1 1 (estable). El resultado final es el mismo:
Tema 6. Sistemas Secuenciales Asncronos

Carrera no crtica

15

Carrera Crtica
y2 y1 x

0
1

y2 y1

0
00

00 01 11 10

00
2

3 1
3

01 11 10

10 00
10 Y2 Y1

01

El circuito se supone que debe moverse desde el estado estable al cambiar x 0, al estado estable 3 (y2 y1 = 1 0)

2 (y2 y1 = 0 1) con x = 1,

Si Y1 cambia antes, se pasa a y2 y1 = 0 0, estado estable 1 y ah se queda. Si Y2 cambia antes, se pasa a y2 y1 = 1 1, (inestable), despus cambia Y1 y se pasa a y2 y1 = 1 0, estado estable 3 Dependiendo que variable de estado cambie antes se llega a un estado estable u otro

Carrera Crtica

Tema 6. Sistemas Secuenciales Asncronos

16

Para eliminar carreras crticas 2 posibilidades a) Hacemos asignaciones sin carreras Asignamos a los estados que tengan transiciones entre s, cdigos adyacentes (vara una variable secundaria durante la transicin)
x2 x1

00
a b

01 c c
c d

11
a

10 c
b c

d a
d

b a

Transiciones entre estados a b c d c c d a b a b Asignaciones


a c b d

00
a c

01

00 01 11 10

10

11

Tema 6. Sistemas Secuenciales Asncronos

17

b) Si no es posible b1) Puede ser que sea una carrera no crtica Ejemplo
x2 x1

Transiciones 00
a b

01 c c
c

11
a

10 c
b c

a b c d

d a
d

b a

c c d a b a b c

00
a c

01

10

11

La transicin diagonal de d no puede ser eliminada pero representa una carrera no crtica ya que se puede pasar de d a c a travs de a o a travs de b

Tema 6. Sistemas Secuenciales Asncronos

18

Qu pasa en un caso tal como:


x2 x1

00
A

01 B
B C

11 D
B

10
A

Transiciones A B C D B D A D A B B C 00
A B

A
C

D A
D

01

B
D

10

11

Puede haber carreras crticas Qu se puede hacer? Depende de si el n de estados es una potencia de 2 o no. Si recordamos el problema de la pgina 13
x1 x2

00 01 11 10
a b c a

b
b

c
b c

a a

c
c

Transiciones a b c b a c c a b

Las asignaciones que habamos hecho: y1 y2 0 0 1 0 1 1 ? ? ?


a b c 19

Estado Siguiente

Tema 6. Sistemas Secuenciales Asncronos

Si hacemos la asignacin: 00
a b

01 00
a c b

01

11
a y c tienen transiciones entre s, b y

10
c tienen una transicin entre s,

y no tienen asignados cdigos adyacentes Carrera Crtica Solucin: En el caso anterior, utilizar los trminos no importan porque el n real de estados no es potencia de 2. Dos tcnicas para aprovechar los estados libres: 1) Fila compartida ------------------------------- Si se puede usar es preferible 2) Asignacin fila mltiple Asignacin universal para tablas de 3 estados ----------- libre de carreras crticas
y1 y2

y no tienen asignados cdigos adyacentes Carrera Crtica

0 1 3

1 2
Tema 6. Sistemas Secuenciales Asncronos 20

0 1

Volviendo a nuestra tabla


x1 x2

Asignacin 00
a b a b c c

00 01 11 10
a b c a

10

y1 y2 0 0 1 0 0 1

b
b

c
b c

a a

c
c

Estado Siguiente

01

Transicin entre a y c Transicin entre a y b


x1 x2 y1 y2 a b
Est. libre

}
b
b

No hay problema

Transicin entre c y b a travs del estado libre


x1 x2 y1 y2

00 01 11 10
a

00 01 11 10
00

00 10 11

c
b

a
Est. libre

b
Est. libre

c
c c

00 10 11

10

01 00
10
11

00 10 10
11

01
01 01

01 a

01 00

Y1 Y2
Estado Siguiente

Tema 6. Sistemas Secuenciales Asncronos

21

x1 x2 y1 y2

x1 x2 y1 y2

00 01 11 10 0 0 1 1 1
1

00 01 11 10 0 0 0
1

00 10 11

0 1

0
1

00 0 10 11 01 0 0

1 0

0
1

0 0 0

1 1 1

01 0

Y1 = x1 x2 + y1 y2 x1

Y2 = y2 x1 + y1 x1 x2 + y1 x1 x2 + y1 y2 x2

x1
y1

Y1 y1y2x1 y1y2x2

x2

y1x1x2 Y2 y1x2x1
y2

y2x1 Tema 6. Sistemas Secuenciales Asncronos 22

Si tenemos 4 estados no habr filas (estados) libres para compartir, a no ser que aadamos una variable de estado ----------- Asignacin fila mltiple A cada estado se le asignan 2 o ms combinaciones de variables de estado (2 o ms filas en la tabla de transicin) Por ejemplo: Para 4 estados Asignacin universal sin carreras

y3 y2 y1 0 1

3 00 1 2 01 3 4 11 2 1 10 4 3 2 100 4

101 2 110

1 111 y3 y1 4 3 010 011 y2

001

Todas las transiciones son posibles sin cambiar ms de 1 secundaria

1 000

Tema 6. Sistemas Secuenciales Asncronos

23

Aplicacin al caso (Pgina 19)


x2 x1

00
A

01 B
B C

11 D
B

10
A

00 0 0

01 1 0 1

11 0 0 1

10 0 0 1

El nmero de estado que se asigna es arbitrario


A B C D

1 2 3 4

A
C

D A
D

B
D

Aunque no va a haber diferencias, a la 1 asignacin la llamamos A1, a la 2 A2


C2 101 A2 111 B2 110 B1 001 011 D1

x2 x1 A1 B1 D1 C1 D2 C2 A2 B2 000 001 011 010 100 101 111 110

00
A1

01 B1
B1

11 D2
B1 D1

10
A1

00 0 0 0 0

01 1 1 0 1 0 1

11 0 1 0 1 0 0

10 0 1 0 1 0 0

100 D2

A1 C1
C1

D1
D1

B1
C1

B2
D2

A1
D2

A1

000

C1 010

C2
C2 A2

B2
C2

B1 D1
B2

A2
A2

B2
B2

A2

D2

Tema 6. Sistemas Secuenciales Asncronos

24

x2 x1 y3 y2 y1 000 001 011 010 100 101 111 110

00
000

01
001 001 001 010 110 101 110 110

11
100 001 011 110 100 001 011 110

10
000 011 011 000 100 111 111 100

Asignacin universal hasta 8 estados


y4 y3 y2 y1

000 010 010 101 101 111 111

00 x

01 x

11

10

00 01 11 10

x x x x

Y3 Y2 Y1

Asignacin universal hasta 12 estados


y5y4 y3 y2 y1

000 x

001 x

011

010

100

101

111 x

110 x

00 01 11 10

x x x x

x
25

Tema 6. Sistemas Secuenciales Asncronos

Riesgos: Empezamos con un ejemplo Tenemos una tabla de flujo y una tabla de transicin para un Circuito Secuencial Asncrono. No tiene carreras crticas y por tanto se supone que funcionar de forma adecuada.
x2 x1 y2 y1

00 a b d a

01 a b b d

11 a a c c

10 d b c d

00 01 11 10

a b c d

d a b d a c

00
a b

01

10

11

Ecuaciones mnimas
x2 x1 y2 y1

00
00 01

01
00 01

11
00

10 10

Y2 = y2 x2 + y2 y1 x1 + y1 x2 x1 + y2 y1 x1 Y1 = y2 x2 y1+ y2 y1 x1 + y2 x2 x1 + y1 x2 x1

00

01 11 10

00
11

01 11 10

10 00

01
10

11

Y2 Y1

Tema 6. Sistemas Secuenciales Asncronos

26

x2

A1

y2x2 y1

x1

A2

y2 y1x1 Y1

A3

y2x1x2 y1x2x1

A4

x y12 y2

x1
Lgica de Y 2

Y2

Suposicin: Circuito en estado estable c con y2 y1 x2 x1 = 1 1 1 1 En estas condiciones Salida A2 = 1 Y =1 Salida A3 = 1 1

x1 -----?

El circuito pasar al estado estable c y2 y1 x2 x1 = 1 1 1 0, esto es ni Y2 ni Y1 deben cambiar


Tema 6. Sistemas Secuenciales Asncronos 27

Pero vamos a ver lo que pasa en detalle: Cuando x1 -----? 0 Salida A2 = 0 Salida A3 = 0 Salida A4 --? 1 pero como para obtener x1 se necesita un inversor habr un retraso debido al inversor para que la Salida A4 = 1 Y1 Riesgo esttico

cambio de x1 Ya lo habamos dado en circuitos combinacionales


x2 x1 y2 y1

00 0 1 0 0

01 0 1 1 0
Y1

11 0 0 1 1

10 0 1 1 0

00 01 11 10

Tenemos que aadir y1 x2 x1 y2 y1 x2 y2 y1 x1

a Y =y x y+y y x +y x x +y x x 1 2 2 1 2 1 1 2 2 1 1 2 1

Y1 = y2 x2 y1+ y2 y1 x1 + y2 x2 x1 + y1 x2 x1 + y1 x2 x1 + y2 y1 x2 + y2 y1 x1

Eliminando los riesgos estticos se eliminan los dinmicos

Tema 6. Sistemas Secuenciales Asncronos

28

Riesgos esenciales Ejemplo: Tabla de Transicin


y2 y1 x

Tabla de Excitaciones

0 00 11 11 00

1 01 01 10 10

y2 y1

0 0 1 1 0
Y2

1 0 0 1 1

y2 y1

0 0 1 1 0
Y1

1 1 1 0 0

00 01 11 10

00 01 11 10

00 01 11 10

Y2 = y1 x + y2 x + y2 y1 Y1 = y1 x + y2 x + y2 y1

Tema 6. Sistemas Secuenciales Asncronos

29

Suposicin: Circuito estable 11 y2 y1 x 1 1 0 Ahora hay un cambio en la x 0 1 Este cambio debe producir un cambio en Y1 pasando al estado estable 10
y2 y1 x

y2
A1

y2 y1

A2

y2x Y2 y1x OR2

A3

0 00 11 11 00

1 01 01 10 10

00 01 11 10

Salida de A3 0 Y1 0 y1 0 Salida de A1 0 Se espera que al mismo tiempo la salida de A2 1 de tal forma que Y2 no se vea afectada. y1 Pero si la puerta A2 tiene un retardo muy grande puede ser que su salida permanezca en 0 haciendo que Y2 valga 0, por lo que se pasara de y2 y1 x a y2 y1 x 1 1 0 0 0 1

A4

y2x Y1 y2 y1 OR1

A5

Estado inestable

Parece que es un riesgo esttico pero no lo es. Aparece porque una variable de estado depende de la otra (cosa normal).
Tema 6. Sistemas Secuenciales Asncronos 30

Slo se puede eliminar analizando los retardos de los distintos caminos de realimentacin Cmo se averigua si existe un riesgo esencial? Si en la tabla de transicin hay un estado estable en que 3 cambios consecutivos en una nica variable llevar al circuito a un estado diferente que al que llegaba al hacer un cambio nicamente. Ejemplo: x=0 1 3 3 x=1 2 2 4 4 Si estamos en 1 y hacemos un cambio en x pasamos a 2 Pero si estamos en 1 y hacemos 3 cambios pasamos a 4

y2 y1

0 00 11 11 00

1 01 01 10 10

Si estamos en 11 y hacemos un cambio en x pasamos a 10 Pero si estamos en 11 y hacemos 3 cambios pasamos a 01

00 01 11 10

Tema 6. Sistemas Secuenciales Asncronos

31

También podría gustarte