Hace tiempo, pregunté a esta pregunta sobre la interfaz estático a un fpga para los fines de un buffer de cuadro vga que quería hacer como un pequeño proyecto de hobby. Me quedó claro en ese momento que el proyecto era demasiado difícil para mi nivel de conocimiento (ya que básicamente soy un programador de c ++ y sabía poco sobre electrónica) pero desde entonces he creado algunos proyectos más pequeños basados en cpld, así que ahora siento que Sé lo suficiente como para ver el proyecto que quiero volver a construir :)
Estoy pensando en usar este chip de memoria , ya que parece cumplir con mis requisitos. La hoja de datos indica que puedo leer un byte de datos cada 10 ns y que debo configurar la dirección como mínimo 10ns antes de que quiera leer los datos. Tiene un tiempo de "Retención de datos por cambio de dirección" de 3 ns.
Esto me implica que, asumiendo un reloj de 10 ns, simplemente puedo configurar las líneas de dirección en cada ciclo de reloj y leer los datos de la dirección anterior. Que la salida de datos será válida en o antes del siguiente reloj de 10 ns, y seguirá siendo válida durante al menos 3 ns después de que cambie la dirección, por lo que es seguro leerla.
¿Es esto algo razonable? (configurar la dirección al mismo tiempo que leo los datos de la dirección anterior). De mirar la hoja de datos parece.
Esto es lo más rápido que funcionaría, también podría usar un reloj más lento si empujar el tiempo al límite, ya que esto era un problema, solo quería entender si había entendido la hoja de datos correctamente.