de
FSM SINCRÓNICAS
Hasta ahora hemos restringido nuestro análisis de las máquinas de estado a un punto de vista
puramente funcional. Es decir, podemos determinar el próximo estado a partir del
conocimiento de las entradas y del estado actual del sistema.
Sin embargo, para que el circuito real, que estamos analizando, se comporte como lo hemos
venido analizando, es necesario que tener en cuenta las restricciones que surgen por los
tiempos de propagación de los componentes que lo constituyen. El hecho que los tiempos de
propagación sean distintos de cero hace necesario algunas importantes consideraciones.
Vamos a comenzar nuestro estudio con la determinación de la frecuencia máxima de trabajo
para las FSM sincrónicas. Puede en algunos casos, ser importante determinar otros valores de
tiempo, como por ejemplo: cuanto tiempo como mínimo está estable la salida etc.
El siguiente es un diagrama general de una FSM de acuerdo a lo que hemos visto
previamente. Lo que aquí se incorpora, son los tiempos de retardo de cada uno de los
componentes que constituyen el circuito. Hay otros tiempos, que no serán considerados en
este estudio y tampoco se han indicado en la figura, como por ejemplo el retardo que aparece
en las líneas de interconexión. Es necesario aclarar que, hoy en día, para circuitos integrado
de alta densidad de integración, ignorar estos retardos conduce a grandes errores en la
estimación del comportamiento de una FSM.
Lógica de FLIPFLOPS
Excitación Excitación
SALIDA
Tdf Tdf
ENTRADA Tsu
Tdi Thold Tdi
TCQ
CLK
CLK
SALIDA
FLIP FLOP
ENTRADA
FLIP FLOP
Entonces para determinar la máxima frecuencia del clock, hay que conocer cual es el tiempo
mínimo que debe haber entre dos flacos activos del clock que respete todos los retardos de los
elementos del circuito.
En este caso son:
Fmáx = 1/ Tmín
Veamos un análisis mas completo que en el caso anterior. Aquí se consideran los tiempos
mínimos y máximos de los componentes del circuito. Como sabemos los fabricantes dan
información del tiempo mínimo y máximo de sus componentes. Si solo nos interesa calcular
la frecuencia máxima de trabajo del circuito debemos considerar solamente los tiempos
máximos de propagación. Pero si queremos ver, cuando las señales están estables y cuando
comienzan a cambiar, debemos considerar, además, los tiempos mínimos de propagación.
Vamos a ver, en el siguiente gráfico, como evolucionan las distintas señales si se tienen en
cuenta, también los tiempos mínimos de propagación.
ENTRADA SALIDA
F FLIP FLOP G
TF TCQ TG
CLK
Tclk
CLK
TCmax
TCmin
SALIDA
FLIP FLOP
ENTRADA
FLIP FLOP
TGmin TGmax
SALIDA
En este gráfico, las zonas sombreadas indican que las señales pueden no ser estables, en las
zonas en blanco el fabricante garantiza la estabilidad ( Para hacer un análisis preciso, es
necesario introducir los tiempos de propagación que existen entre los distintos componentes.
Mas adelante se van a incorporar estos retardos).
Es importante aclarar, que el gráfico no vale solo para un dispositivo, sino para una familia de
dispositivos de un mismo fabricante, trabajando dentro de determinadas condiciones, por
ejemplo de temperatura.
Veamos un ejemplo:
Dado el circuito de la figura y teniendo en cuenta los retardo de cada uno de los componentes
calcular la frecuencia máxima del sistema para que funcione correctamente.
A N D1 FF0
OR2 2 1 2
S
D Q 1
3 3 X O R
C LK
NO T FF1
2 1
X A ND2 D Q
3
C LK
CLK
TCQmáx = 10 ns TANDmáx = 4 ns TXORmáx = 6 ns
Se pide:
1. Dibujar el diagrama de tiempo para cada una de las salidas de los componentes del
circuito para un ciclo de reloj.
2. Calcular la frecuencia máxima de trabajo.
3. Indicar cual es el tiempo de respuesta de la señal de salida Tcs
4. Cuanto tiempo como mínimo, la señal S esta estable.
5. Si se quiere que la señal de salida este estable al menos 50 ns ¿Cual es la frecuencia
máxima que puede tener el CLK?
Tclk
CLK
TCQmax
TCQmin
FLIP-FLOPS
TANDmin TANDmax
AND1
TORmin TORmax
OR
TNOTmin TNOTmax
NOT
AND2
TXORmin
TXORmax
2- El tiempo mínimo que debe tener el periodo del clock para este circuito será:
Tmín = TCQmáx + 2 x TAND + TORrmáx + TNOTmáx + TSU