Dependiendo de cómo configuró la configuración de MegaWizard, se espera esto. Si la ROM está contenida en una RAM de bloque, siempre hay al menos 1 latencia de lectura del ciclo. Básicamente, usted afirma la dirección en t=0
, luego, en el siguiente ciclo de reloj ( t=1
), la dirección se carga en los registros de direcciones en la BRAM. Luego, los datos aparecen en la salida de datos de la memoria lista para ser registrada en t=2
.
Si usa un MLAB, las entradas de dirección se pueden especificar para que no se registren, lo que significa que los datos están listos para ser sincronizados en t=1
, pero esto puede reducir el FMAX del sistema, ya que eliminó el reloj. ciclo de la canalización.
La latencia puede o no ser un problema dependiendo de cómo diseñes tu CPU. Dado que es una latencia fija, siempre será de 1 ciclo, luego puede explicar esto en el diseño de su CPU agregando la canalización a la instrucción y la obtención de datos, por ejemplo. Busca las siguientes instrucciones mientras procesas la actual.