¿Cuándo necesita un registro obtener una señal de control de carga para actualizarse en el siguiente reloj? [cerrado]

0

Sé que esta es una pregunta bastante básica, pero no logré encontrar una respuesta inequívoca. ¿Es necesario que un registro obtenga la señal de carga en el ciclo en el que se realiza el cálculo del nuevo valor? ¿O al comienzo del próximo ciclo? Daré un ejemplo para aclarar mi pregunta:

Supongamos que quiero aumentar el valor de PC (registro de contador de programa) en 4 ciclos. En t0, el valor de PC inicial se transmite a un sumador, que calcula PC + k y se conecta de nuevo a la entrada de la PC. Para que en el próximo reloj t0 + Tclock, el valor de PC se actualice a sus nuevos valores PC + k, ¿el controlador debería haber enviado una señal de carga en t0 o debería haber enviado una señal de carga en t0 + Tclock (el siguiente reloj )?

    
pregunta user5721565

1 respuesta

2

Un registro se caracteriza por un tiempo de configuración \ $ t_s \ $ y un tiempo de espera \ $ t_h \ $ . Estos definen una ventana alrededor del evento de reloj durante el cual las señales de entrada deben ser estables para que se garantice que el registro funcione como se espera.

Si el evento del reloj ocurre en el momento \ $ t_c \ $ , la señal de entrada debe estar en el nuevo valor deseado antes de \ $ t_c-t_s \ $ , y debe mantener ese valor hasta al menos \ $ t_c + t_h \ $ . Si se hace esto, entonces el nuevo valor de la salida después del evento de reloj será el esperado. Si el valor de entrada cambia durante la ventana \ $ t_c-t_s < t < t_c + t_h \ $ , entonces no está claro cuál será el nuevo valor de salida, y el registro puede incluso ingresar un estado metaestable donde su salida no tenga un nivel lógico legal.

( fuente )

Cualquier señal de control como LOAD y las entradas SET / RESET síncronas deben cumplir con los requisitos de configuración y tiempo de espera exactamente de la misma manera que la entrada de datos.

Como nota al margen, también es común en los FPGA que \ $ t_h \ $ sea negativo, por lo que toda la ventana de tiempo se produce antes del evento del reloj (al menos unos pocos picosegundos). Esto garantiza que cuando un registro alimente a otro, el cambio de la salida del primer registro no viole el requisito de tiempo de espera del siguiente registro.

    
respondido por el The Photon

Lea otras preguntas en las etiquetas