Estamos diseñando una tubería de procesamiento de imágenes en un FPGA que necesitará el uso de interfaces de memoria en varias etapas de la tubería. Debido al tamaño de la memoria requerida, decidimos optar por un diseño DDR3.
Sería realmente útil si las etapas de la tubería pueden acceder a su propia memoria de manera independiente para que pueda minimizar el arbitraje. Por lo tanto, esperaba implementar múltiples módulos DDR3 "estrechos" (por ejemplo, de 16 bits de ancho) cada uno con su propio controlador en el FPGA para que las interfaces de memoria de las etapas puedan estar completamente separadas.
Mi otra opción es usar múltiples módulos DDR3 en un solo rango con un controlador.
¿Alguien tiene alguna experiencia en el uso de múltiples controladores en un FPGA? ¿O el controlador único sería la apuesta más segura?
Usaremos un Kintex de rango medio para la implementación.
¿Alguien tiene alguna experiencia en el uso de múltiples controladores en un FPGA?
Sí, ayudé en el diseño de un canal de video HD que usaba dos controladores de memoria DDR, pero no sé si eran específicamente DDR3. Una memoria de 32 bits de ancho contenía el búfer de trama principal y la otra memoria de 16 bits de ancho contenía información de superposición. Funcionó bastante bien.
¿O el controlador único sería la apuesta más segura?
Esa es realmente una pregunta separada por completo. Dependiendo de los requisitos de ancho de banda de los diferentes "usuarios" de esta memoria, el costo general del sistema recurrente puede ser menor si puede canalizar todo a través de un solo controlador de memoria y un solo conjunto de chips de memoria. Pero el tiempo de diseño y los riesgos (costos NRE) serán mayores. También he tomado este enfoque en un proyecto diferente (SD).
Siempre que tenga suficientes celdas lógicas y pines IO, puede tener tantas interfaces de memoria como desee.
En el lado negativo, la memoria estrecha implica soldar chips en lugar de usar DIMM (u otros módulos), lo que significa una prima de costo significativa, a menos que esté comprando grandes volúmenes de chips.
usuario3624
Jon Watte
usuario30831