En general se habla de la forma en que los FPGAs son diseñados si sus datos fueron almacenados en una memoria RAM estilo de memoria y el procesamiento realizado con un simple micro controlador el único aumento en el tamaño del procesador debe ver debe ser su direccionamiento ancho y relacionados con las señales/módulos (caché de IE).
Los controladores están diseñados generalmente a escala muy bien con el aumento de los espacios de memoria, después de todo, su procesador intel podría utilizar 4, 8 o 16 GB de memoria con la misma arquitectura, por lo que están relacionadas, pero sólo como sigue: para acceder individualmente A los 1500 elementos requiere log2(1500) =11 bits de direccionamiento, de 100 líneas (7 bits). Dicho esto, el número de bits de menos de dobles por lo que este no tiene en cuenta la "explosión" de modo que el problema probablemente está en cómo se almacenaron los datos (es decir, no la RAM como en paralelo acceso de codificación / accidente), por lo que en la metodología.
Dos ideas generales:
1) Que la FPGA son generalistas, jack de todos los oficios y no es óptima en el almacenamiento de datos de gran tamaño (la manera en que la memoria DRAM es al menos).
2) Que la codificación RTL para FPGA no es como el software de escritura de los transformadores. Escribir RTL para utilizar la FPGA características y la forma de aquellos a los patrones que requieren (si es posible), por desgracia, lo que a menudo sucede es que si usted escribe RTL que no se muy bien el mapa para la funcionalidad de la FPGA muy bien por lo que el software va a "ayudar" y encontrar una manera de hacer lo que me pediste, o de intentar y fallar, y, a continuación, a menudo no logran comunicar la naturaleza del resultado en un humanamente comprensible de la moda. El software es siempre la interpretación de lo que realmente quieres, entonces usted necesita para estar siempre a la comprobación de que esas suposiciones eran acertadas (herramienta de la lectura de los registros e informes).
Es muy útil si usted puede dibujar o conceptualizar de alguna manera su diseño en puertas o, preferiblemente, luts y chanclas. Si usted puede hacer que usted probablemente puede obtener una idea aproximada de cuántos recursos se podría esperar que para el uso. Si puedes visualizar el hardware y comprender cómo su idioma (Verilog o VHDL) define que el hardware entonces son más propensos a escribir el código que todas las herramientas interpretar correctamente (Pero ir a través de los informes de recursos como un halcón de todos modos). Obviamente, Roma no se construyó en un día y esto se lleva a la práctica.
Así, en línea con la filosofía de la "utilizando el hardware que existe" considerar cómo sus 1500 líneas se almacenan en la FPGA. Si se almacenan como bits en 1500*(ancho de datos) flip-flop que se va a quemar a través de sus recursos.
la eficiente recuerdos en FPGAs tienen una estructura rígida y esto significa que el controlador puede tener un 1500 palabra de memoria en el espacio, pero que debe ser accesible sólo 1 dirección (a veces 2 direcciones) en una memoria a la vez, ya que es una de las maneras que usted puede implementar de manera eficiente. Cuando se restringe el problema de esta manera, la FPGA puede, a menudo con ayuda de la herramienta (IE ip catálogo, otros), impliment eficiente de la memoria (por ejemplo BRAM). Para grandes conjuntos de datos de las personas en general el uso real de los recuerdos que están fuera de la FPGA en su junta directiva, cuando sea necesario y práctico.
Esto no puede ser el modelo de acceso que desea pero que es lo que generalmente escalas para muchos casos. Si por ejemplo estás tratando de diseñar un acceso diferente estilo para los datos, por ejemplo un CAM (contenido accesible de memoria) hacerlo en cualquier plataforma es muy costoso en términos de luts y puertas relativly hablando.