Estoy usando una SRAM para almacenar un cuadro que debo mostrar en la pantalla con la interfaz VGA. Necesito leer el valor de píxel de la SRAM y luego enviarlo al monitor VGA. He creado un controlador SRAM pero se requieren algunos ciclos de reloj antes de que los datos estén disponibles. No sé cómo acceder a la RAM sin salir del proceso de Pixel.
Aquí hay una parte simplificada del código:
process (CLK_25MHZ)
begin
if (CLK_25MHZ'event and CLK_25MHZ = '1') then
if (ACTIVE_VIDEO) then
-- This part is repeated for every pixel and I can't exit from this part
-- until I have sent the pixel data. If I exit this pixel is lost.
-- I need something like this:
addr <= CALCULATE_ADDRESS();
VGA_RGB <= READ_RAM(addr);
else
VGA_RGB <= "000000000000";
end if;
-- Here there are the signals timings.
end if;
end process;