5 votos

¿Este BRAM se está utilizando completamente si utilizo un ancho de datos diferente?

De fondo

Estoy utilizando un FPGA Xilinx de la Kintek-7 de la familia. La documentación de los recursos de memoria se puede encontrar aquí.

Aquí hay algunos extractos del documento (referencia de las páginas 11 y 12):

El bloque de memoria RAM en Xilinx® serie 7 FPGAs almacena hasta 36 Kb de datos y se puede configurar como dos independientes de 18 Kb de Carneros, o de una de 36 Kb de RAM. Cada uno de los 36 Kb bloque de RAM puede ser configurado como un 64K x 1 (cuando en cascada con un lado de 36 Kb de RAM en bloque), 32K x 1, 16K x 2, 8 x 4, 4K x 9, 2K x 18, 1K x 36, o 512 x 72 en simple, doble modo de puerto. Cada una de 18 Kb de RAM en bloque puede ser configurado como un 16K x 1, 8K x 2, 4K x 4, 2 x 9, 1K x 18 o 512 x 36 en simple, doble modo de puerto.

y

Cada 36Kb bloque de memoria RAM se puede establecer a simple doble puerto (SDP) el modo de duplicación de la anchura de datos de la RAM en bloque a 72 bits. El 18Kb bloque de memoria RAM también se puede establecer a simple dual-port modo, la duplicación de datos de ancho de 36 bits. Simple de doble modo de puerto es definida como la presencia de uno sólo de lectura del puerto y uno de escritura único puerto con relojes independientes.

A partir de esto, debo interpretar que la anchura de datos de la BRAM es en múltiplos de 18. Por lo que es de 36 con el puerto dual, o podría ser de 72 si el doble.

Pregunta

En mi aplicación que sólo se necesita un ancho de datos de 64 bits. ¿Qué sucede con este extra de 8 bits? Qué significa que no voy a ser la utilización de la totalidad de BRAM bloque?

Aquí está un gráfico para ayudar a entender la manera en que estoy pensando:

enter image description here

6voto

Tom Carpenter Puntos 7192

Correcto, los bits restantes no están en uso.

Esto es algo que solo debes aceptar en FPGA, nunca vas a utilizar todos los recursos. Es el precio que paga por la configurabilidad.

En el lado positivo, si en una fecha posterior decides agregar algo como información de paridad o simplemente ampliar un poco el bus de datos, puedes hacerlo esencialmente de forma gratuita ya que hay espacio para agregar 8 bits más de ancho usando la misma memoria .

6voto

Paebbels Puntos 1646

Además de Tom respuesta:

BlockRAMs tener uno adicional (en su mayoría denominados de paridad) bits por byte dando:

  • 9(8+1),
  • 18(16+2),
  • 36(32+4),
  • 72(64+8) bits.

Estos bits pueden ser utilizados para la simple paridad de algoritmos para "proteger" sus datos. O puede implementar ECC. También puede almacenar los metadatos de la información como Válida, StartOfFrame/EndOfFrame en estos bits adicionales. BlockRAMs también son a menudo una fuente de constantes (ROM) en algoritmos DSP. La mayoría de los constantes no son una potencia de dos en tamaño, así bits adicionales puede ser útil en algunos lugares.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X