Tamaño de los diseños lógicos DRAM

Soy un principiante con FPGA y EE en general, ¡así que tengan paciencia conmigo!

Tengo entendido que muchos FPGA modernos están basados ​​en SRAM, y por una buena razón: SRAM puede manejar velocidades de reloj más altas y tiene una corriente de espera más baja que DRAM. Sin embargo, es MUCHO más grande que DRAM.

Entonces, digamos que tenía algún tipo de circuito lógico que era absolutamente enorme y no le importaba la velocidad en absoluto. En este caso, ¿sería plausible usar un FPGA basado en DRAM (suponiendo que encuentre una manera de corregir las lecturas parásitas de DRAM)? ¿Existe tal FPGA?

Además, ¿cuánto más pequeño sería un diseño en un FPGA basado en DRAM que en un FPGA basado en SRAM?

No creo que DRAM sea particularmente útil para esto, ya que requiere controladores para actualizar continuamente los contenidos y tendría problemas de acceso mucho más problemáticos. Básicamente, las FPGA están hechas de muchos pequeños bloques lógicos SRAM con estructura de interconexión y es fácil hacer pequeños bloques SRAM, lo cual es completamente diferente de cómo se diseña una DRAM.
Hola Tom, gracias por la respuesta. ¿Qué pasaría si hubiera colocado los controladores DRAM "externamente"? Esto es lo que quise decir con arreglar las lecturas parásitas. Si alguna vez ha oído hablar del procesador de autómatas de Micron, ¡es básicamente un FPGA en DRAM!
Interesante, no había oído hablar de Micron antes. Eché un vistazo rápido al papel, pero parece que es una tarea muy específica que no se puede hacer de manera eficiente en un FPGA (a diferencia de ser un FPGA en DRAM). Podría estar equivocado, solo hojeé el papel.
Eso se llama CPU. Puede ejecutar un emulador de FPGA en una CPU si lo desea. Son mucho más eficientes en espacio cuando se trata de flujo de control de ramificación.

Respuestas (2)

http://isca2016.eecs.umich.edu/wp-content/uploads/2016/07/8A-1.pdf

Hay una nueva investigación en ISCA, una prestigiosa conferencia sobre FPGA basada en DRAM recientemente.

La configuración de una FPGA se almacena en celdas SRAM especiales (menos transistores y menor corriente estática) o en memoria flash. Esta memoria debe ser 'leída' en todo momento, de lo contrario, los transistores de ruta no funcionarán. DRAM no se puede leer continuamente.

Producir lógica CMOS normal y lógica DRAM son procesos diferentes. DRAM necesita otras máquinas y materiales. Esta es la razón por la cual la DRAM integrada (eDRAM) se usa en casos excepcionales: principalmente como caché L4 grande o memoria principal integrada para uC.

Resulta que ha habido una investigación limitada en DRAM FPGA. En IEEE Transactions on VLSI 2013, Pan et al. utilizó celdas MRAM especiales para almacenar bits de configuración de una FPGA basada en DRAM y pudo lograr una reducción significativa del área del tamaño de matriz de la FPGA.
Yo pensaría que si bien la "memoria" dinámica como tal no funcionaría, una FPGA que usara puertas de paso actualizadas dinámicamente que se cargaron a un voltaje superior a VDD podría ser más compacta que una que dependiera de puertas configuradas estáticamente (si la lógica que carga las puertas puede cambiar a un voltaje por encima de VDD y la lógica de direccionamiento puede cambiar a un voltaje por debajo de VSS, sería posible usar NFETS, en lugar de pares NFET/PFET, como puertas de paso, con la puerta de cada NFET controlada por un PFET único que actúa como una puerta de paso. Algún otro tipo de memoria tendría que contener...
...y reabastece continuamente los datos que se cargarán en todas las puertas de paso, pero eso podría guardarse en otra parte del chip.