La respuesta a la memoria que debe elegir depende de varios factores:
- ¿Qué tamaño de memoria necesita? Si está hablando de megabits, entonces la memoria basada en flip-flop está fuera de discusión e incluso SRAM podría ser ineficiente en el área. Los flip-flops ocupan mucho espacio en el dado y consumen mucha más energía (por bit de memoria). Normalmente se utilizan para memorias de menos de 256 bits de longitud.
- Para memorias muy grandes, algunas fundiciones de silicio (como IBM) usan eDRAM (que es 1T DRAM). Si está haciendo FPGA, eDRAM no está disponible.
- No desea utilizar una SRAM a menos que también esté dispuesto a utilizar un controlador BIST. Todos los SRAM necesitan ser probados y esto requiere algún tipo de lógica de prueba de memoria (sobrecarga adicional).
- Si planea usar SRAM o eDRAM, debe considerar qué tipo de datos se almacenan. Si está almacenando datos de misión crítica, como punteros, entonces también necesita la lógica de detección y corrección de errores. ¿Por qué? Las SRAM grandes tienen una probabilidad significativamente alta de cambio de bit. Entonces, sin ECC, la memoria puede corromperse y los datos críticos de su misión ya no serán válidos. Debe considerar cómo se protegerán los datos de SRAM y cómo se detectarán los cambios de bits. Para datos no críticos, generalmente se usa protección de paridad para detectar la corrupción de datos SRAM. Para datos críticos, ECC es obligatorio.
- Los SRAM generalmente pueden ejecutarse en un riel de voltaje separado, por lo que pueden operar a la misma velocidad que el resto de su lógica central. Sin embargo, si está agregando ECC a la etapa de lectura de su SRAM, su canal de lectura incurrirá en penalizaciones adicionales para detectar errores y corregirlos. Por lo tanto, su memoria de baja latencia requerirá algunos ciclos de reloj antes de que estén disponibles los datos corregidos válidos. Esto también complicará sus ciclos de lectura-modificación-escritura.
- Los archivos de registro son opciones de almacenamiento intermedio bastante útiles cuando desea algo que sea más eficiente que los flip-flops puros, pero evite el dolor de cabeza / sobrecarga BIST de las SRAM. Es posible que pueda escapar sin hacer ECC cuando use archivos de registro.
- También se toman muchas decisiones de memoria en función de la congestión de enrutamiento actual en su dado. A veces, incluso si las SRAM parecen ser la mejor opción, es posible que desee elegir chanclas de todos modos. ¿Por qué? Las SRAM usan muchas capas de metal y esto causa problemas de enrutamiento porque las SRAM son bloques grandes que deben enrutarse. Las chanclas se pueden mover fácilmente.
Espero que esto te haya dado un poco más de información sobre las opciones de memoria.