Los FPGA de Xilinx son capaces de usar LUT como elementos de memoria. Se puede utilizar como ROM, RAM y Shift Register (SRL).
Los nuevos dispositivos Xilinx usan LUT de 6 entradas, lo que proporciona 64x1 bits para RAM/ROM, pero solo 32 bits para SRL.
¿Por qué las SRL están restringidas a 2^5 bits?
No tengo conocimiento de ninguna explicación en los documentos oficiales.
Creo que esto se debe al hecho de que las LUT del Spartan 6 están construidas internamente como una LUT de 5 entradas y 2 salidas seguidas de un mux evitable.
Ahora, por qué no puede hacer un registro de desplazamiento de 2 bits de ancho y 32 bits de largo en una sola LUT es una buena pregunta. Parece que eso debería ser posible, y luego debería ser posible hacer un bucle de la salida de un lado al otro lado para obtener un registro de desplazamiento de 64 bits en una sola LUT. Tendrías que preguntarle a Xilinx por qué no lo apoyan.
No tengo una respuesta, ya que no conozco los detalles internos de las rebanadas de Xilinx. Tengo algunos consejos.
Primero, no puede guardar datos en un LUT6. Solo puede guardar datos en registros (que están numerados 2/LUT6) y RAM distribuida/blockRAM. Lo que anula un poco su suposición LUT6 = 64 bits.
La RAM distribuida y los registros de desplazamiento no están relacionados con las primitivas LUT6. Si observa la Guía del usuario de bloques lógicos de configuración de Spartan-6 , verá que hay 3 tipos de segmentos en esa arquitectura:
Los registros de desplazamiento (y la RAM distribuida) solo están disponibles en SLICEM CLB, lo que significa que necesitan el bloque de RAM distribuida, así como el LUT6. Xilinx no da detalles sobre el bloque de RAM, pero sabemos por la documentación que un LUT6+RAM puede implementar un puerto único distribuido de 64x1 bit RAM o un SRL32.
Un gurú de VLSI probablemente podría deducir cuáles son los detalles de la RAM interna, pero me parece razonable que:
Como registros de desplazamiento, probablemente se implemente como RAM de doble puerto de 32 bits con controles específicos provistos por el LUT6.
Paebbels
Paebbels
Paebbels
Jonathan Drolet