Altifigence Academy

22 / 63 · Concepto

Transiciones síncronas y función del reloj

Interprete el sistema síncrono como registros que leen el mismo estado anterior.

Todo el estado se actualiza en un mismo flanco

Para un vector de estado QkQ_k y entradas XkX_k, la especificación central es:

Qk+1=F(Qk,Xk),Yk=G(Qk,Xk)Q_{k+1}=F(Q_k,X_k),\qquad Y_k=G(Q_k,X_k)

F es la función de estado siguiente y G la de salida. El reloj no decide qué calcular, sino cuándo almacenar el resultado. Imagine que todos los registrosRegistro Circuito que almacena varios bits de estado. Los registros síncronos de este curso capturan la entrada especificada en el flanco de reloj. Más información determinan su próximo valor desde el mismo estado anterior.

Q atraviesa F y genera la entrada de estado siguiente. El valor almacenado vuelve como Q del siguiente intervalo: se separan el cálculo entre flancos y la captura en el flanco.

Calcule el siguiente estado a partir del anterior
  1. Estado actual Q: Se conserva entre flancos
  2. F(Q, X): Calcule con entradas y estado anterior
  3. Almacene en el flanco: El resultado pasa a ser la siguiente Q

El periodo debe dar tiempo al camino más lento

Hace falta tiempo para que salga el nuevo valor del registro y atraviese la lógica hasta el siguiente. Además, debe llegar con margen de setupSetup Tiempo mínimo durante el cual la entrada debe permanecer estable antes del flanco de captura. Si se incumple, el valor almacenado no está garantizado. Más información antes del próximo flanco. Un código corto no implica una frecuencia alta.

Un periodo de 10 ns corresponde a 100 MHz:

f=1Tf=\frac{1}{T}

No omita las unidades. El inverso de 1 ns es 1 GHz; el de 1 ps, 1 THz. El periodo elegido en simulación es una planificación de estímulos, no una medición de la frecuencia alcanzable por el circuito físico.

Interprete las señales entre flancos

El registro conserva su estado lógico hasta el siguiente flanco válido, pero una salida combinacional puede cambiar entre flancos. Las excepciones dependen de que resetReset Control que devuelve el estado a un valor inicial especificado. Deben definirse su carácter síncrono o asíncrono y su prioridad frente a otros controles. Más información sea síncrono o asíncrono. Las prácticas proporcionadas usan un único reloj y reset síncrono.

Antes de leer las formas de onda, especifique validez de entrada, actualización de estado y observación de salida. Las ecuaciones de estado son más precisas que imaginar que «se ejecuta una línea de código por reloj».

Inténtalo tú

¿Qué periodo tiene un reloj de 200 MHz? En dos registros a,b con el mismo reloj y a<=d; b<=a;, ¿b recibe la a recién actualizada?

Leer la explicación

El periodo es 5 ns. b recibe la a anterior al flanco. Ambos calculan desde el mismo estado anterior, por lo que el nuevo d no atraviesa las dos etapas en un solo flanco.

Tu elección se aplica a este navegador. Puedes cambiarla en el pie de página.