La segunda parte de su pregunta (matriz 2D vs. RAM) realmente se reduce a los recursos disponibles en su FPGA. Por lo general, no se recomienda almacenar algo tan grande como una imagen o cuadro de video en elementos lógicos, la lógica que se crea durante la síntesis será enorme y su compilador tardará un tiempo en integrarse en el FPGA, si cabe. Debería poder hacerse una idea de la complejidad ejecutando la primera etapa de la compilación (en el mundo de Altera, esto se llama Análisis y Síntesis) y luego mirar el visor RTL que le permitirá ver la lógica gráficamente. / p>
El uso de la RAM en tu FPGA te dará una interfaz simple que puede manejarse con lógica simple y esto, a su vez, significará que el instalador tendrá un tiempo de adaptación más fácil y mejorará la sincronización de tu chip.
Si, sin embargo, necesita más memoria de la que está disponible, deberá utilizar una memoria externa y, aunque hay disponibles IPs de controlador de memoria, esto puede ser muy complicado y problemático, pero si necesita tanta memoria, entonces sería mejor que implementando una enorme matriz de memoria en lógica.