Celda estándar - Standard cell

Una representación de una pequeña celda estándar con tres capas de metal ( se ha eliminado el dieléctrico ). Las estructuras de color arena están interconectadas de metal, siendo los pilares verticales contactos, típicamente tapones de tungsteno. Las estructuras rojizas son compuertas de polisilicio y el sólido en la parte inferior es la masa de silicio cristalino.

En el diseño de semiconductores, la metodología de celda estándar es un método para diseñar circuitos integrados específicos de la aplicación (ASIC) con características principalmente de lógica digital. Metodología celular estándar es un ejemplo de abstracción diseño, por el que una (de bajo nivel integración a muy gran escala VLSI ) diseño se encapsula en una representación lógica abstracta (tal como una puerta NAND ). La metodología basada en células, la clase general a la que pertenecen las células estándar, hace posible que un diseñador se centre en el aspecto de alto nivel (función lógica) del diseño digital, mientras que otro diseñador se centra en el aspecto de implementación (físico). Junto con los avances en la fabricación de semiconductores , la metodología de celdas estándar ha ayudado a los diseñadores a escalar los ASIC desde circuitos integrados de función única comparativamente simples (de varios miles de puertas) hasta dispositivos complejos de sistemas en un chip (SoC) de varios millones de puertas .

Construcción de una celda estándar

Una celda estándar es un grupo de transistores y estructuras de interconexión que proporciona una función lógica booleana (por ejemplo, Y , O , XOR , XNOR , inversores) o una función de almacenamiento (flip-flop o pestillo). Las celdas más simples son representaciones directas de la función booleana NAND, NOR y XOR elemental, aunque comúnmente se usan celdas de mucha mayor complejidad (como un sumador completo de 2 bits o un flipflop de entrada D multiplexada). La función se denomina vista lógica : el comportamiento funcional se captura en forma de una tabla de verdad o ecuación de álgebra booleana (para lógica combinacional), o una tabla de transición de estado (para lógica secuencial ).

Por lo general, el diseño inicial de una celda estándar se desarrolla a nivel de transistor, en forma de lista de conexiones de transistores o vista esquemática . La lista de conexiones es una descripción nodal de los transistores, de sus conexiones entre sí y de sus terminales (puertos) al entorno externo. Se puede generar una vista esquemática con varios programas diferentes de Diseño Asistido por Computadora (CAD) o Automatización de Diseño Electrónico (EDA) que proporcionan una Interfaz Gráfica de Usuario (GUI) para este proceso de generación de netlist. Los diseñadores utilizan programas CAD adicionales, como SPICE, para simular el comportamiento electrónico de la lista de redes, declarando el estímulo de entrada (formas de onda de voltaje o corriente) y luego calculando la respuesta (analógica) en el dominio del tiempo del circuito. Las simulaciones verifican si el netlist implementa la función deseada y predicen otros parámetros pertinentes, como el consumo de energía o el retardo de propagación de la señal.

Dado que las vistas lógica y de lista de conexiones solo son útiles para la simulación abstracta (algebraica) y no para la fabricación de dispositivos, la representación física de la celda estándar también debe diseñarse. También llamada vista de diseño , este es el nivel más bajo de abstracción de diseño en la práctica de diseño común. Desde una perspectiva de fabricación, el diseño VLSI de la celda estándar es la vista más importante, ya que está más cerca de un "plano de fabricación" real de la celda estándar. El diseño está organizado en capas base , que corresponden a las diferentes estructuras de los dispositivos de transistor, y capas de cableado de interconexión y capas de vía , que unen los terminales de las formaciones de transistores. Las capas de cableado de interconexión suelen estar numeradas y tienen capas de vía específicas que representan conexiones específicas entre cada capa secuencial. Las capas que no son de fabricación también pueden estar presentes en un diseño para fines de Automatización del diseño , pero muchas capas que se usan explícitamente para los programas CAD de lugar y ruta (PNR) a menudo se incluyen en una vista abstracta separada pero similar . La vista abstracta a menudo contiene mucha menos información que el diseño y puede ser reconocible como un archivo de formato de extracción de diseño (LEF) o equivalente.

Después de crear un diseño, a menudo se utilizan herramientas CAD adicionales para realizar una serie de validaciones comunes. Se realiza una verificación de reglas de diseño (DRC) para verificar que el diseño cumpla con los requisitos de fundición y otros requisitos de diseño. A continuación, se realiza una extracción parasitaria (PEX) para generar una lista de conexiones PEX con propiedades parasitarias del diseño. Las conexiones nodales de esa lista de conexiones se comparan luego con las de la lista de conexiones esquemática con un procedimiento Diseño Vs Esquemático (LVS) para verificar que los modelos de conectividad son equivalentes.

El PEX-netlist puede luego simularse nuevamente (ya que contiene propiedades parásitas) para lograr modelos de sincronización, potencia y ruido más precisos. Estos modelos a menudo se caracterizan (contienen) en un formato Synopsys Liberty, pero también se pueden utilizar otros formatos Verilog .

Por último, se pueden utilizar potentes herramientas de lugar y ruta (PNR) para unir todo y sintetizar (generar ) diseños de integración a gran escala (VLSI), de forma automatizada, a partir de listas de red y planos de diseño de nivel superior.

Además, se pueden utilizar otras herramientas CAD para validar otros aspectos de las vistas y modelos de celda. Y se pueden crear otros archivos para admitir varias herramientas que utilizan las celdas estándar por una gran cantidad de otras razones. Todos estos archivos que se crean para admitir el uso de todas las variaciones de células estándar se conocen colectivamente como una biblioteca de células estándar.

Para una función booleana típica, hay muchas listas de redes de transistores funcionalmente equivalentes. Del mismo modo, para una lista de redes típica, hay muchos diseños diferentes que se ajustan a los parámetros de rendimiento de la lista de redes. El desafío del diseñador es minimizar el costo de fabricación del diseño de la celda estándar (generalmente minimizando el área de la matriz del circuito), sin dejar de cumplir con los requisitos de rendimiento de potencia y velocidad de la celda. En consecuencia, el diseño de circuitos integrados es un trabajo muy laborioso, a pesar de la existencia de herramientas de diseño para ayudar en este proceso.

Biblioteca

Una biblioteca de células estándar es una colección de funciones lógicas electrónicas de bajo nivel como AND, OR, INVERT, flip-flops, pestillos y búferes. Estas celdas se realizan como celdas totalmente personalizadas de altura fija y ancho variable. El aspecto clave de estas bibliotecas es que tienen una altura fija, lo que permite colocarlas en filas, facilitando el proceso de maquetación digital automatizada. Las celdas suelen ser diseños totalmente personalizados optimizados, que minimizan los retrasos y el área.

Una biblioteca de células estándar típica contiene dos componentes principales:

  1. Base de datos de la biblioteca: consta de una serie de vistas que a menudo incluyen vistas de diseño, esquemáticas, de símbolos, abstractas y otras vistas lógicas o de simulación. A partir de esto, se puede capturar información diversa en varios formatos, incluido el formato Cadence LEF y el formato Synopsys Milkyway, que contienen información reducida sobre los diseños de las celdas, suficiente para las herramientas automatizadas de "Lugar y ruta".
  2. Resumen de tiempo: generalmente en formato Liberty , para proporcionar definiciones funcionales, información de tiempo, potencia y ruido para cada celda.

Una biblioteca de células estándar también puede contener los siguientes componentes adicionales:

Un ejemplo es una puerta lógica XOR simple , que se puede formar a partir de puertas OR, INVERT y AND.

Aplicación de celda estándar

Estrictamente hablando, una función NAND o NOR de 2 entradas es suficiente para formar cualquier conjunto de funciones booleanas arbitrarias. Pero en el diseño ASIC moderno, la metodología de celda estándar se practica con una biblioteca (o bibliotecas) considerable de células. La biblioteca generalmente contiene múltiples implementaciones de la misma función lógica, que difieren en área y velocidad. Esta variedad mejora la eficiencia de las herramientas automatizadas de síntesis, ubicación y ruta (SPR). Indirectamente, también le da al diseñador mayor libertad para realizar compensaciones de implementación (área vs. velocidad vs. consumo de energía). Un grupo completo de descripciones de celdas estándar se denomina comúnmente biblioteca de tecnología .

Las herramientas de automatización de diseño electrónico (EDA) disponibles en el mercado utilizan las bibliotecas de tecnología para automatizar la síntesis, la ubicación y el enrutamiento de un ASIC digital. La biblioteca de tecnología es desarrollada y distribuida por el operador de la fundición . La biblioteca (junto con un formato de lista de redes de diseño) es la base para intercambiar información de diseño entre las diferentes fases del proceso de SPR.

Síntesis

Usando la vista lógica de celda de la biblioteca de tecnología, la herramienta Logic Synthesis realiza el proceso de transformar matemáticamente la descripción del nivel de transferencia de registro (RTL) del ASIC en una lista de redes dependiente de la tecnología. Este proceso es análogo a un compilador de software que convierte una lista de programas C de alto nivel en una lista en lenguaje ensamblador dependiente del procesador.

La lista de conexiones es la representación de celda estándar del diseño ASIC, en el nivel de vista lógica. Consiste en instancias de las puertas de la biblioteca de células estándar y la conectividad del puerto entre las puertas. Las técnicas de síntesis adecuadas garantizan la equivalencia matemática entre la lista de conexiones sintetizada y la descripción RTL original. La lista de conexiones no contiene declaraciones ni declaraciones RTL sin asignar.

La herramienta de síntesis de alto nivel realiza el proceso de transformar la descripción de los modelos de nivel C (SystemC, ANSI C / C ++) en una lista de redes dependiente de la tecnología.

Colocación

La herramienta de colocación inicia la implementación física del ASIC. Con un plano de planta 2-D proporcionado por el diseñador de ASIC, la herramienta de colocación asigna ubicaciones para cada puerta en la lista de conexiones. La netlist de puertas colocadas resultante contiene la ubicación física de cada una de las celdas estándar de la lista de conexiones, pero conserva una descripción abstracta de cómo las terminales de las puertas están conectadas entre sí.

Normalmente, las celdas estándar tienen un tamaño constante en al menos una dimensión que les permite alinearse en filas en el circuito integrado . El chip constará de una gran cantidad de filas (con alimentación y puesta a tierra junto a cada fila) con cada fila llena con las diversas celdas que componen el diseño real. Los colocadores obedecen ciertas reglas: a cada puerta se le asigna una ubicación única (exclusiva) en el mapa del dado. Una puerta determinada se coloca una vez y no puede ocupar ni superponer la ubicación de ninguna otra puerta.

Enrutamiento

Usando la lista de redes de puertas ubicadas y la vista de diseño de la biblioteca, el enrutador agrega líneas de conexión de señal y líneas de suministro de energía. La lista de conexiones física completamente enrutada contiene la lista de puertas de síntesis, la ubicación de cada puerta desde la ubicación y las interconexiones dibujadas desde el enrutamiento.

DRC / LVS

Litografía simulada y otros defectos de fabricación visibles en una celda estándar pequeña.

Design Rule Check (DRC) y Layout Versus Schematic (LVS) son procesos de verificación. La fabricación confiable de dispositivos en un submicrómetro profundo moderno ( 0.13 µm y menos) requiere una estricta observancia de las reglas de espaciado de transistores, espesor de capa de metal y densidad de potencia. DRC compara exhaustivamente la lista de conexiones físicas con un conjunto de "reglas de diseño de fundición" (del operador de la fundición) y luego señala las infracciones observadas.

El proceso LVS confirma que el diseño tiene la misma estructura que el esquema asociado; este suele ser el paso final en el proceso de diseño. La herramienta LVS toma como entrada un diagrama esquemático y la vista extraída de un diseño. Luego genera una lista de conexiones de cada uno y los compara. Se comparan los nodos, los puertos y el tamaño de los dispositivos. Si son iguales, LVS pasa y el diseñador puede continuar. LVS tiende a considerar que los dedos del transistor son lo mismo que un transistor extra ancho. Por lo tanto, 4 transistores (cada uno de 1 μm de ancho) en paralelo, un transistor de 4 dedos de 1 μm o un transistor de 4 μm se ven de la misma manera con la herramienta LVS. La funcionalidad de los archivos .lib se tomará de los modelos SPICE y se agregará como un atributo al archivo .lib.

Otras metodologías basadas en células

La "celda estándar" pertenece a una clase más general de flujos de automatización de diseño denominada diseño basado en celdas. Los ASIC , FPGA y CPLD estructurados son variaciones del diseño basado en células. Desde el punto de vista del diseñador, todos comparten la misma interfaz de entrada: una descripción RTL del diseño. Sin embargo, las tres técnicas difieren sustancialmente en los detalles del flujo SPR (Sintetizar, Colocar y enrutar) y la implementación física.

Medida de complejidad

Para los diseños de celdas estándar digitales, por ejemplo en CMOS , una métrica común independiente de la tecnología para medir la complejidad son los equivalentes de puerta (GE) .

Ver también

Referencias

enlaces externos

  • Tecnología VLSI : este sitio contiene material de apoyo para un libro que está escribiendo Graham Petley, The Art of Standard Cell Library Design
  • Oklahoma State University : este sitio contiene material de apoyo para una biblioteca completa de células estándar System on Chip que utiliza herramientas de dominio público y Mentor Graphics / Synopsys / Cadence Design System

Las áreas de celda estándar en un CBIC están formadas por filas de celdas estándar, como una pared construida con ladrillos

  • Virginia Tech : esta es una biblioteca de células estándar desarrollada por Virginia Technology VLSI for Telecommunications (VTVT)
  • ChipX : interesante descripción general de la celda estándar, así como las opciones de chip configurables de capa metálica.
  • Diseño de celda estándar de baja potencia