Usando múltiples controladores DDR3 en FPGA

3

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 utilizar un diseño DDR3.

Sería realmente útil si las etapas de la tubería pudieran 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" (16 bits de ancho, por ejemplo), 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 sería el único controlador la apuesta más segura?

Estaremos usando un Kintex de rango medio para la implementación.

    
pregunta Neville Bamshoe

2 respuestas

5
  

¿Alguien tiene alguna experiencia en el uso de múltiples controladores en un FPGA?

Sí, ayudé en un diseño para una canalización de video HD que usaba dos controladores de memoria DDR, pero no sé si eran DDR3 específicamente. Una memoria amplia de 32 bits contenía el búfer de cuadros principal y la otra memoria amplia de 16 bits contenía información de superposición. Funcionó bastante bien.

  

¿O sería el único controlador la apuesta más segura?

Eso 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 recurrente del sistema puede ser menor si puede canalizar todo a través de un solo controlador de memoria y un único conjunto de chips de memoria. Pero el tiempo de diseño y los riesgos (costos de NRE) serán más altos. También he tomado este enfoque en un proyecto diferente (SD).

    
respondido por el Dave Tweed
2

Mientras 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 los chips en lugar de utilizar módulos DIMM (u otros módulos), lo que significa una importante prima de costo, a menos que esté comprando grandes volúmenes de chips.

    
respondido por el Martin Thompson

Lea otras preguntas en las etiquetas