Qué hace realmente un compilador de memoria: de las celdas de bits al teselado GDS

Fuentes: What "Memory Compiler" Actually Means: From Bitcells to GDS Tiling

Un compilador de memoria es la herramienta que traduce parámetros de diseño (profundidad, anchura, número de puertos) en un macro de SRAM listo para fabricar, incluyendo todas las vistas que necesitan los flujos de verificación e implementación de chips. A diferencia de un compilador tradicional que convierte código fuente en ensamblador, su materia prima es la celda de bits —el circuito mínimo que almacena un bit— y su salida es un conjunto de archivos en formatos estándar del sector: GDS/OASIS para el layout físico enviado a la foundry, LEF para place and route, Liberty (.lib) para análisis estático de tiempos, CDL/SPICE para simulación a nivel de transistor y patrones ATPG/MBIST para test de fabricación.

El artículo, publicado en el blog técnico The Cloudlet, desgrana el funcionamiento interno de estos compiladores partiendo de la celda de bits 6T (seis transistores), la variante más común en memorias caché L2 y L3. Explica cómo dos inversores cruzados retienen un bit mediante retroalimentación positiva sin necesidad de refresco —de ahí el nombre de memoria estática—, y cómo las operaciones de lectura y escritura dependen de relaciones de tamaño precisas entre transistores (la beta ratio y la pull-up ratio) para evitar lecturas destructivas. Compara además variantes como la celda 8T, que añade un puerto de lectura aislado para eliminar la alteración durante la lectura, o la 10T, pensada para operación a voltajes ultrabajos.

Finalmente, se describe el papel del compilador en el flujo de diseño de un SoC: la separación entre el macro generado (array de celdas, decodificadores, amplificadores de sentido, drivers de escritura) y el controlador de memoria, que reside en el RTL del sistema. El compilador actúa como frontera entre el equipo que diseña las celdas a mano y el resto del diseño del chip, automatizando la repetición a escala de un bloque verificado y ahorrando meses de trabajo manual por cada configuración distinta de SRAM.