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 la fabricación de semiconductoresEn los avances, la metodología de celda estándar ha ayudado a los diseñadores a escalar los ASIC desde IC 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). [1] Las celdas más simples son representaciones directas de la función booleana elemental NAND, NOR y XOR, aunque se utilizan comúnmente celdas de mucha mayor complejidad (como un sumador completo de 2 bits o un flipflop de entrada D multiplexada). 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 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 del circuito en el dominio del tiempo (analógica). 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 a través , que unen los terminales de las formaciones de transistores. [1] 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 reconocerse como un archivo de formato de extracción de diseño (LEF) o 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. 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 Esquema (LVS) para verificar que los modelos de conectividad son equivalentes. [2]
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 planta 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 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 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:
- Base de datos de 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 herramientas automatizadas de "Lugar y ruta".
- 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: [3]
- Un diseño completo de las celdas.
- Modelos SPICE de las células
- Verilog modelos o VHDL-VITAL modelos
- modelos de extracción parasitaria
- Mazos de reglas de la República Democrática del Congo
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. [3] Esta variedad mejora la eficiencia de las herramientas automatizadas de síntesis, lugar 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 . [3]
Las herramientas de automatización de diseño electrónico (EDA) disponibles comercialmente 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 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 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 puertas de biblioteca de células estándar y conectividad de puerto entre 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 potencia y puesta a tierra al lado de 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ísicas 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
Design Rule Check (DRC) y Layout Versus Schematic (LVS) son procesos de verificación. [2] 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 marca 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 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 iguales 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
- Circuitos integrados
- Diseño de circuito
- Semiconductor
- Integración a muy gran escala (VLSI)
Referencias
- ^ a b A. Kahng et al .: "Diseño físico de VLSI: desde la partición de gráficos hasta el cierre de sincronización", Springer (2011), doi : 10.1007 / 978-90-481-9591-6 , ISBN 978-90-481-9590 -9 , págs. 12-14.
- ^ a b c A. Kahng et al .: "Diseño físico de VLSI: desde la partición de gráficos hasta el cierre de sincronización", Springer (2011), doi : 10.1007 / 978-90-481-9591-6 , ISBN 978-90-481-9590-9 , pág. 10.
- ^ a b c D. Jansen y col. "The Electronic Design Automation Handbook", Springer (2003), doi : 10.1007 / 978-0-387-73543-6 , ISBN 978-14-020-7502-5 , págs. 398-420.
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