Diseño basado en celdas estándar ( celda estándar en inglés ) - un método para diseñar circuitos integrados con predominio de elementos digitales. En este método, el nivel más bajo del diseño VLSI está oculto para el diseñador mediante elementos lógicos abstractos (por ejemplo, el nodo NAND ). La metodología de diseño basada en celdas permite que un desarrollador se concentre en el aspecto de alto nivel del diseño digital mientras otros desarrolladores trabajan en la implementación física de la celda. Junto con los logros de la producción de semiconductores, la metodología de celdas estándar es responsable de la posibilidad de diseñar tanto circuitos integrados simples (hasta varios miles de transistores) como VLSI y sistemas más complejos en un chip.(SoC) con un número de transistores que alcanza decenas de miles de millones [1] [2] .
Una celda estándar consta de un grupo de transistores y conexiones entre ellos que implementan alguna función lógica ( Y , O , XOR , XNOR , inversor ) o un elemento de almacenamiento (como flip-flop o latch flip-flops). Las celdas más simples son una representación directa de las funciones booleanas elementales NAND, NOR, XOR; a menudo se utilizan celdas más complejas (sumador completo de dos bits o flip-flop D multiplexado). La funcionalidad lógica de una celda se llama su vista lógica : el comportamiento de la celda corresponde a una tabla de verdad para lógica combinacional y una tabla de transición de estado ( en: tabla de transición de estado ) (para lógica secuencial, ver lógica secuencial ).
Por lo general, una celda estándar se diseña inicialmente a nivel de transistor, en forma de una en:netlist transistorizada . Es una descripción de cada transistor y las conexiones entre ellos; la lista de conexiones también incluye puertos: puntos de conexión a otras partes del microprocesador. Los diseñadores de celdas usan sistemas CAD como SPICE para simular el comportamiento eléctrico de la lista de conexiones alimentándola con varias señales y obteniendo la respuesta calculada del circuito analógico junto con su temporización. La simulación verifica que la netlist dada realmente realice la función requerida y predice el consumo de energía y el retraso de propagación de las señales.
Dado que las representaciones lógicas y de lista de conexiones del circuito solo son útiles para el diseño abstracto y la simulación, y no para la fabricación de chips, una celda estándar requiere el desarrollo de una implementación física. Se llama vista de diseño y es el nivel más bajo de abstracción en desarrollo. Desde el punto de vista del fabricante, esta representación de las celdas es la más importante, ya que a partir de ella es fácil obtener máscaras para la litografía. La representación de la celda se divide en capas base, que corresponden a las diferentes estructuras del transistor e interconexiones que cortocircuitan los pines del transistor.
Para una función booleana típica, es posible diseñar un conjunto de listas de conexiones de transistores que sean funcionalmente equivalentes. Además, para una lista de conexiones típica, puede desarrollar muchas implementaciones en forma de vista de diseño que satisfagan los requisitos de rendimiento de una lista de redes. El desafío para el diseñador es reducir el costo de fabricación de un circuito integrado (generalmente minimizando el espacio ocupado) mientras se mantienen los requisitos de potencia y velocidad de la celda.
La biblioteca de celdas estándar es una colección de celdas de bajo nivel para funciones lógicas, flip-flops, registros y búferes. Todas las celdas se implementan con altura fija y ancho variable. La propiedad clave de las bibliotecas es la uniformidad de las alturas de las celdas, lo que les permite organizarse en filas, lo que simplifica la tarea de organizar automáticamente los elementos. Las celdas generalmente se optimizan para reducir la huella y la latencia.
Una biblioteca típica se divide convencionalmente en dos partes:
El núcleo de la descripción del front-end es una biblioteca caracterizada de elementos estándar. Synopsys Liberty Format (.lib) se ha convertido en el formato industrial de facto, aunque existen formatos alternativos, como ALF (Advanced library format).
El .lib original contiene sincronización de celdas tabulares (NLDM). Normalmente se utilizan tablas bidimensionales que describen el retardo de un elemento en función de la carga y el tiempo del flanco de entrada. Sin embargo, con un aumento en la velocidad del IS, la precisión de este modelo resultó ser insuficiente. El problema con el modelo NLDM era que no tenía en cuenta el hecho de que la capacitancia de entrada también depende de varios factores, como el borde de entrada ( efecto Miller ), el estado de la celda, etc. Aunque el modelo NLDM admite la caracterización de la capacitancia de entrada dependiendo del estado de otras entradas, ya no podía satisfacer completamente a los desarrolladores. En respuesta a esto, se desarrollaron 2 extensiones para el formato .lib:
Las bibliotecas .lib contienen no solo información sobre retrasos, sino también sobre el consumo de energía (tanto dinámico como estático e interno), su área, funcionalidad, ruido, etc.
Por lo general, la biblioteca contiene varios archivos .lib: los elementos se calculan para el mejor (velocidad máxima: voltaje máximo, temperatura mínima), el peor de los casos (velocidad mínima: voltaje mínimo y temperatura máxima) y el caso típico (velocidad nominal, voltaje y temperatura). También se puede usar PVT (proceso, voltaje, temperatura) especial, por ejemplo, para caracterizar la electromigración, pvt se usa con voltaje y temperatura máximos para proporcionar la corriente máxima.
Los modelos Verilog y/o VHDL también son una parte esencial de la biblioteca de elementos estándar. Contienen una descripción funcional de la celda, así como una coincidencia con .lib para una anotación SDF adecuada.
El front-end también incluye componentes auxiliares, por ejemplo, modelos de código auxiliar para la verificación LEC formal.
Back-endLEF (formato de intercambio de diseño) se divide condicionalmente en biblioteca y partes tecnológicas
Se recomienda usar esta abstracción al colocar y enrutar elementos en un chip, ya que la información sobre la estructura interna de la celda no es importante para esto, y el uso de GDS (descripción completa de la estructura física de las celdas) conducirá a un fatal aumento en la memoria utilizada durante la colocación/enrutamiento.
El formato .lib también se puede utilizar para estos fines.
El segundo detalle importante del contenido de back-end de la biblioteca de elementos estándar son las listas de conexiones. Netlists se entregan en forma extraída (no solo contiene elementos activos: transistores y diodos, sino también elementos pasivos: resistencias, capacitancias e inductancias). También se pueden proporcionar netlists no extraídos, que se utilizan para LVS en particular.
Para cada función lógica, la biblioteca puede proporcionar muchas celdas que la implementan, pero difieren en potencia, retrasos u otros parámetros.
La metodología de celda estándar permite a los desarrolladores diseñar circuitos integrados no a nivel de transistor, sino a nivel de elementos estándar abstractos, lo que puede reducir significativamente el tiempo y el esfuerzo para crear un circuito:
Sin embargo, esta tecnología también tiene una serie de desventajas:
A pesar de estos inconvenientes, la metodología de celda estándar se ha convertido en el estándar de facto en el campo de la microelectrónica.
Para diseños basados en celdas estándar, se suele utilizar una métrica independiente de la tecnología (equivalente de transistor).