stringtranslate.com

Celda estándar

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, y los pilares verticales son contactos, generalmente enchufes de tungsteno. Las estructuras rojizas son puertas de polisilicio y el sólido del fondo 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 para aplicaciones específicas (ASIC) con características principalmente de lógica digital. La metodología de celda estándar es un ejemplo de abstracción de diseño, mediante el cual un diseño de integración de muy gran escala ( VLSI ) de bajo nivel se encapsula en una representación lógica abstracta (como una puerta NAND ).

La metodología basada en celdas (la clase general a la que pertenecen las celdas 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 celda estándar ha ayudado a los diseñadores a escalar los ASIC desde circuitos integrados de una sola función comparativamente simples (de varios miles de puertas) hasta complejos dispositivos de sistema 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 (p. ej., AND , OR , XOR , XNOR , inversores) o una función de almacenamiento (flipflop o latch). [1] Las celdas más simples son representaciones directas de la función booleana elemental NAND, NOR y XOR, aunque comúnmente se usan celdas de complejidad mucho mayor (como un sumador completo de 2 bits o un flipflop de entrada D muxed). La función lógica booleana de la celda 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 estados (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 netlist 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 estímulos de entrada (voltaje o formas de onda de corriente) y luego calculando la respuesta en el dominio del tiempo (analógica) del circuito. Las simulaciones verifican si la lista de red implementa la función deseada y predicen otros parámetros pertinentes, como el consumo de energía o el retraso en la propagación de la señal.

Dado que las vistas lógica y netlist solo son útiles para la simulación abstracta (algebraica) y no para la fabricación de dispositivos, también se debe diseñar la representación física de la celda estándar. 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 es el más cercano a un "plano de fabricación" real de la celda estándar. El diseño se organiza en capas base , que corresponden a las diferentes estructuras de los dispositivos transistorizados, y capas de cableado de interconexión y capas vía , que unen los terminales de las formaciones de transistores. [1] Las capas de cableado de interconexión generalmente están 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 utilizadas explícitamente para programas CAD de colocación 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 reconocerse como un archivo de formato de extracción de diseño (LEF) o su equivalente.

Una vez creado 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. Luego se realiza una extracción parasitaria (PEX) para generar una lista de redes PEX con propiedades parasitarias a partir del diseño. Luego, las conexiones nodales de esa lista de red se comparan con las de la lista de red esquemática con un procedimiento Layout Vs Schematic (LVS) para verificar que los modelos de conectividad sean equivalentes. [2]

Luego, la lista de redes PEX se puede simular nuevamente (ya que contiene propiedades parásitas) para lograr modelos de sincronización, potencia y ruido más precisos. Estos modelos suelen estar caracterizados (contenidos) en un formato Synopsys Liberty, pero también se pueden utilizar otros formatos Verilog .

Finalmente, se pueden utilizar potentes herramientas de Lugar y Ruta (PNR) para reunir todo y sintetizar (generar) diseños de Integración a muy gran escala (VLSI), de forma automatizada, a partir de planos de planta y listas de red 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 celdas estándar por muchas otras razones. Todos estos archivos que se crean para admitir el uso de todas las variaciones de celdas estándar se conocen colectivamente como biblioteca de celdas estándar.

Para una función booleana típica, existen muchas listas de conexiones de transistores funcionalmente equivalentes diferentes. Del mismo modo, para una lista de red típica, existen muchos diseños diferentes que se ajustan a los parámetros de rendimiento de la lista de red. 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 del troquel 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 que requiere mucha mano de obra, a pesar de la existencia de herramientas de diseño para ayudar en este proceso.

Biblioteca

Una biblioteca de celdas estándar es una colección de funciones lógicas electrónicas de bajo nivel como AND, OR, INVERT, flip-flops, pestillos y buffers. 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 diseño digital automatizado. Las celdas suelen tener diseños optimizados y totalmente personalizados, que minimizan los retrasos y el espacio.

Una biblioteca de celdas estándar típica contiene dos componentes principales:

  1. Base de datos de biblioteca: consta de varias 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 diversa información 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 "Colocar y Ruta".
  2. Resumen de temporización: generalmente en formato Liberty, para proporcionar definiciones funcionales, información de temporización, potencia y ruido para cada celda.

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

Un ejemplo es una puerta lógica XOR simple , que puede estar formada por 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 celdas. La biblioteca normalmente contiene múltiples implementaciones de la misma función lógica, que difieren en área y velocidad. [3] 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 una mayor libertad para realizar compensaciones en la implementación (área versus velocidad versus consumo de energía). Un grupo completo de descripciones de celdas estándar se denomina comúnmente biblioteca tecnológica . [3]

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

Síntesis

Utilizando 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 red dependiente de la tecnología. Este proceso es análogo a un compilador de software que convierte un listado de un programa C de alto nivel en un listado en lenguaje ensamblador dependiente del procesador.

La netlist es la representación de celda estándar del diseño ASIC, en el nivel de vista lógica. Consta de instancias de puertas de biblioteca de celdas estándar y conectividad de puertos entre puertas. Las técnicas de síntesis adecuadas garantizan la equivalencia matemática entre la lista de red sintetizada y la descripción RTL original. La netlist no contiene declaraciones ni declaraciones RTL no asignadas.

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 conexiones dependiente de la tecnología.

Colocación

La herramienta de colocación inicia la implementación física del ASIC. Con un plano 2-D proporcionado por el diseñador de ASIC, la herramienta de colocación asigna ubicaciones para cada puerta en la lista de red. La lista de redes de puertas colocadas resultante contiene la ubicación física de cada una de las celdas estándar de la lista de redes, pero conserva una descripción abstracta de cómo los terminales de las puertas están conectados 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 energía y tierra funcionando al lado de cada fila) y cada fila estará llena con las distintas 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 superponerse a la ubicación de ninguna otra puerta.

Enrutamiento

Utilizando la lista de redes de puertas colocadas 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 red física completamente enrutada contiene la lista de puertas de síntesis, la ubicación de cada puerta de ubicación y las interconexiones extraídas de enrutamiento.

República Democrática del Congo/LVS

Defectos litográficos simulados y otros defectos de fabricación visibles en pequeñas interconexiones metálicas de celdas estándar.

La verificación de reglas de diseño (DRC) y el diseño versus esquema (LVS) son procesos de verificación. [2] La fabricación confiable de dispositivos con un submicrómetro profundo moderno ( 0,13 µm y menos) requiere el estricto cumplimiento del espaciado de los transistores, el espesor de la capa metálica y las reglas de densidad de potencia. DRC compara exhaustivamente la lista de redes física con un conjunto de "reglas de diseño de la fundición" (del operador de la fundición) y luego señala cualquier infracción observada.

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. [2] La herramienta LVS toma como entrada un diagrama esquemático y la vista extraída de un diseño. Luego genera una lista de redes de cada uno y los compara. Se comparan nodos, puertos y tamaños de dispositivos. Si son iguales, pasa LVS 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, la herramienta LVS ve de la misma manera 4 transistores (cada uno de 1 μm de ancho) en paralelo, un transistor de 1 μm de 4 dedos o un transistor de 4 μm. 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 llamado diseño basado en celdas. Los ASIC estructurados , FPGA y CPLD son variaciones del diseño basado en celdas. 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 (Synthesize, Place-and-Route) y la implementación física.

Medida de complejidad

Para 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

  1. ^ ab A. Kahng et al .: "Diseño físico VLSI: de la partición de gráficos al cierre de tiempo", Springer (2011), doi :10.1007/978-90-481-9591-6, ISBN 978-90-481-9590- 9 , págs. 12-14. 
  2. ^ abc A. Kahng et al .: "Diseño físico VLSI: de la partición de gráficos al cierre de tiempos", Springer (2011), doi :10.1007/978-90-481-9591-6, ISBN 978-90-481-9590- 9 , pág. 10. 
  3. ^ abc D. Jansen y col. "El manual de automatización del diseño electrónico", Springer (2003), doi :10.1007/978-0-387-73543-6, ISBN 978-14-020-7502-5 , págs. 

enlaces externos

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