Diseño basado en celdas estándar

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] .

Construcción de una celda estándar

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.

Bibliotecas de celdas estándar

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:

  1. El front-end incluye descripciones lógicas (Verilog, VHDL), caracterización celular ( Synopsys Liberty, ALF y SDF), así como elementos auxiliares para la verificación funcional (MET, Fastscan, etc.).
  2. El back-end contiene descripciones relacionadas con la implementación física de las celdas. Estas son abstracciones físicas en formato Cadence LEF o formato Synopsys Milkyway, netlists extraídos y rtl. Dependiendo de las condiciones de distribución de la biblioteca, puede contener adicionalmente archivos GDS, una base de datos OA o CDBA.
Interfaz

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:

  1. Synopsys ha propuesto un modelo CCS- (Fuente de corriente compuesta). Este modelo tuvo en cuenta el cambio en la capacitancia de entrada dependiendo de otros factores [3]
  2. En respuesta al CCS, el EDA de los desarrolladores de Si2.org, junto con Cadence, propusieron un modelo ECSM- (Modelo de fuente de corriente efectiva) de código abierto, que también usaba un modelo frontal de entrada no lineal, que permitía un cálculo más preciso de la capacitancia de entrada [4]

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-end

LEF (formato de intercambio de diseño) se divide condicionalmente en biblioteca y partes tecnológicas

  1. La parte de la biblioteca contiene información geométrica sobre la estructura física externa de las celdas. De hecho, esta es la geometría externa de las celdas, los bloqueos y la información sobre la ubicación de las entradas y salidas.

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.

  1. La parte tecnológica contiene una variedad de reglas de diseño necesarias para la colocación de chips y el cableado: requisitos para las dimensiones del metal, densidad de colocación, espaciamientos (distancias entre bloqueos adyacentes, uniones (vía), metales, celdas, etc.), densidades de corriente (requisitos para electromigración ) y mucha otra información tecnológica. El sistema CAD de ubicación/ruta utiliza esta información para ubicar y enrutar correctamente de acuerdo con el código.

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.

Pros y contras de la metodología de células estándar

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:

  1. El diseño a partir de bloques prefabricados simplifica y acelera enormemente el desarrollo
  2. El uso de representaciones abstractas de la implementación física de las celdas puede reducir significativamente el uso de la memoria de la estación de trabajo, lo que reduce el costo (debido a los menores requisitos para la configuración de las estaciones de trabajo) y acelera el proceso de colocación y cableado.
  3. El uso de tablas de retardo e información similar puede reducir el tiempo de simulación de circuitos de semanas o días a horas en comparación con las simulaciones de transistores.

Sin embargo, esta tecnología también tiene una serie de desventajas:

  1. Dado que el conjunto de elementos estándar es limitado, el proceso de diseño basado en esta metodología no es muy flexible. En términos prácticos, esto significa que el tamaño del IC resultante será mayor en comparación con un circuito similar diseñado a nivel de transistor.
  2. Debido a la aproximación de los parámetros de tiempo enumerados en las tablas de la biblioteca, los resultados del modelado de circuitos integrados son aproximados y solo se pueden usar en la etapa de diseño del circuito.
  3. El proyecto depende en gran medida de la calidad de la biblioteca.

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.



Una medida de dificultad

Para diseños basados ​​en celdas estándar, se suele utilizar una métrica independiente de la tecnología (equivalente de transistor).

Véase también

Notas

  1. Cerebras Wafer Scale Engine es un chip gigante de tamaño iPad Pro con más de 1 billón de transistores y un TDP de... 15 kW Archivado el 7 de octubre de 2019 en Wayback Machine , el 20 de agosto de 2019 - "Procesador Intel NNP-T, . 27 mil millones de transistores... GPU Nvidia TU102,... contiene 18,6 mil millones de transistores y GV100 - 21,1 mil millones"
  2. ↑ Inside Volta: el centro de datos de GPU más avanzado del  mundo . Blog para desarrolladores de NVIDIA (10 de mayo de 2017). Consultado el 11 de diciembre de 2019. Archivado desde el original el 9 de enero de 2018.
  3. Copia archivada (enlace no disponible) . Consultado el 4 de junio de 2010. Archivado desde el original el 24 de septiembre de 2015. 
  4. Formato de biblioteca Cadence ECSM . Consultado el 4 de junio de 2010. Archivado desde el original el 11 de mayo de 2009.

Enlaces