El diseño de circuitos integrados , o diseño de circuitos integrados , es un subconjunto de la ingeniería electrónica , que abarca las técnicas particulares de diseño de circuitos y lógica necesarias para diseñar circuitos integrados o circuitos integrados. Los circuitos integrados consisten en componentes electrónicos miniaturizados integrados en una red eléctrica sobre un sustrato semiconductor monolítico mediante fotolitografía .
El diseño de IC se puede dividir en las amplias categorías de diseño de IC digital y analógico . El diseño de IC digital es para producir componentes como microprocesadores , FPGA , memorias ( RAM , ROM y flash ) y ASIC digitales . El diseño digital se centra en la corrección lógica, maximizando la densidad del circuito y colocando los circuitos de modo que las señales de reloj y temporización se enruten de manera eficiente. El diseño de circuitos integrados analógicos también tiene especializaciones en diseño de circuitos integrados de potencia y diseño de circuitos integrados de RF . El diseño de CI analógico se utiliza en el diseño de amplificadores operacionales , reguladores lineales , bucles de bloqueo de fase , osciladores y filtros activos . El diseño analógico se preocupa más por la física de los dispositivos semiconductores, como la ganancia, el emparejamiento, la disipación de potencia y la resistencia. La fidelidad de la amplificación y el filtrado de la señal analógica suele ser fundamental y, como resultado, los circuitos integrados analógicos utilizan dispositivos activos de mayor área que los diseños digitales y, por lo general, tienen circuitos menos densos.
Los circuitos integrados modernos son enormemente complicados. Un chip de computadora de escritorio promedio, a partir de 2015, tiene más de mil millones de transistores. Las reglas para lo que se puede y no se puede fabricar también son extremadamente complejas. Los procesos de CI comunes de 2015 tienen más de 500 reglas. Además, dado que el proceso de fabricación en sí no es completamente predecible, los diseñadores deben tener en cuenta su naturaleza estadística . La complejidad del diseño de circuitos integrados moderno, así como la presión del mercado para producir diseños rápidamente, ha llevado al uso extensivo de herramientas de diseño automatizadas en el proceso de diseño de circuitos integrados. En resumen, el diseño de un CI utilizando software EDA es el diseño, prueba y verificación de las instrucciones que debe realizar el CI.
Fundamentos
El diseño de circuitos integrados implica la creación de componentes electrónicos, como transistores , resistencias , condensadores y la interconexión de estos componentes en una pieza de semiconductor, típicamente silicio . Es necesario un método para aislar los componentes individuales formados en el sustrato, ya que el silicio del sustrato es conductor y a menudo forma una región activa de los componentes individuales. Los dos métodos comunes son el aislamiento de la unión pn y el aislamiento dieléctrico . Se debe prestar atención a la disipación de potencia de los transistores y las resistencias de interconexión y la densidad de corriente de la interconexión, los contactos y las vías, ya que los circuitos integrados contienen dispositivos muy pequeños en comparación con componentes discretos, donde tales preocupaciones son un problema menor. La electromigración en la interconexión metálica y los daños por ESD en los componentes diminutos también son motivo de preocupación. Finalmente, el diseño físico de ciertos subbloques de circuito es típicamente crítico, para lograr la velocidad de operación deseada, para separar las partes ruidosas de un IC de las partes silenciosas, para equilibrar los efectos de la generación de calor a través del IC o para facilitar la colocación. de conexiones a circuitos fuera del IC.
Pasos de diseño
Un ciclo típico de diseño de CI implica varios pasos:
- Especificación del sistema
- Estudio de viabilidad y estimación del tamaño de la matriz.
- Análisis de funciones
- Diseño arquitectónico o a nivel de sistema
- Diseño lógico
- Diseño, simulación y maquetación analógicos
- Diseño y simulación digital
- Simulación y verificación del sistema
- Diseño de circuito
- Síntesis de diseño digital
- Diseño para prueba y generación automática de patrones de prueba
- Diseño para fabricabilidad (IC)
- Diseño fisico
- Planificación de piso
- Lugar y ruta
- Extracción de parásitos
- Verificación física y aprobación
- Sincronización estática
- Co-simulación y sincronización
- Preparación de datos de máscara (Postprocesamiento de diseño)
- Acabado de viruta con Tape out
- Diseño de retícula
- Preparación del diseño a la máscara
- Fabricación de obleas
- embalaje
- Prueba de morir
- Integración y validación posterior al silicio
- Caracterización del dispositivo
- Tweak (si es necesario)
- Despliegue de chips
- Generación de hojas de datos (generalmente un archivo de formato de documento portátil (PDF))
- Rampa arriba
- Producción
- Análisis de rendimiento / Análisis de garantía Fiabilidad (semiconductor)
- Análisis de fallas en cualquier devolución.
- Planifique el chip de próxima generación utilizando información de producción si es posible
En pocas palabras, el diseño de IC digital se puede dividir en tres partes.
- Diseño a nivel de sistema electrónico : este paso crea la especificación funcional del usuario. El usuario puede utilizar una variedad de idiomas y herramientas para crear esta descripción. Los ejemplos incluyen un modelo C / C ++ , SystemC , SystemVerilog Transaction Level Models , Simulink y MATLAB .
- Diseño RTL: este paso convierte la especificación del usuario (lo que el usuario quiere que haga el chip) en una descripción del nivel de transferencia de registro (RTL). El RTL describe el comportamiento exacto de los circuitos digitales en el chip, así como las interconexiones a entradas y salidas.
- Diseño físico: este paso toma el RTL y una biblioteca de puertas lógicas disponibles y crea un diseño de chip. Esto implica averiguar qué puertas usar, definir los lugares para ellas y conectarlas.
Tenga en cuenta que el segundo paso, el diseño RTL, es responsable de que el chip haga lo correcto. El tercer paso, el diseño físico, no afecta la funcionalidad en absoluto (si se hace correctamente) pero determina qué tan rápido funciona el chip y cuánto cuesta.
Ciclo de vida del diseño
El proceso de desarrollo de circuitos integrados (IC) comienza con la definición de los requisitos del producto, avanza a través de la definición arquitectónica, implementación, puesta en marcha y finalmente producción. Las diversas fases del proceso de desarrollo de circuitos integrados se describen a continuación. Aunque las fases se presentan aquí de manera sencilla, en realidad hay iteración y estos pasos pueden ocurrir varias veces.
Requisitos
Antes de que se pueda definir una arquitectura, se deben definir algunos objetivos de producto de alto nivel. Los requisitos generalmente los genera un equipo multifuncional que aborda las oportunidades del mercado , las necesidades del cliente, la viabilidad y mucho más. Esta fase debería resultar en un documento de requisitos del producto .
Arquitectura
La arquitectura define la estructura, los objetivos y los principios fundamentales del producto. Define conceptos de alto nivel y la propuesta de valor intrínseca del producto. Los equipos de arquitectura tienen en cuenta muchas variables e interactúan con muchos grupos. Las personas que crean la arquitectura generalmente tienen una gran experiencia en el manejo de sistemas en el área para la que se está creando la arquitectura. El producto del trabajo de la fase de arquitectura es una especificación arquitectónica .
Microarquitectura
La microarquitectura es un paso más hacia el hardware. Implementa la arquitectura y define mecanismos y estructuras específicos para lograr esa implementación. El resultado de la fase de microarquitectura es una especificación de microarquitectura que describe los métodos utilizados para implementar la arquitectura.
Implementación
En la fase de implementación, el diseño en sí se crea utilizando la especificación de microarquitectura como punto de partida. Esto implica una definición y particionamiento de bajo nivel , escritura de código , introducción de esquemas y verificación. Esta fase termina con un diseño que llega al final de la cinta .
Sacar un tema
Después de que se crea un diseño, se graba y se fabrica, se recibe el hardware real, el "primer silicio", que se lleva al laboratorio donde se procesa . Bringup es el proceso de potenciar, probar y caracterizar el diseño en el laboratorio. Se realizan numerosas pruebas a partir de pruebas muy simples, como asegurarse de que el dispositivo se encienda, hasta pruebas mucho más complicadas que intentan estresar la pieza de varias maneras. El resultado de la fase de inicio es la documentación de los datos de caracterización (qué tan bien se desempeña la pieza según las especificaciones) y erratas (comportamiento inesperado).
Productización
La producción es la tarea de llevar un diseño de la ingeniería a la fabricación en serie. Aunque un diseño puede haber cumplido con éxito las especificaciones del producto en el laboratorio durante la fase inicial, los ingenieros de producto enfrentan muchos desafíos cuando intentan producir esos diseños en masa. El CI debe incrementarse a volúmenes de producción con un rendimiento aceptable. El objetivo de la fase de producción es alcanzar volúmenes de producción en masa a un costo aceptable.
Nutritivo
Una vez que un diseño está maduro y ha alcanzado la producción en masa, debe mantenerse. El proceso debe ser monitoreado continuamente y los problemas deben ser tratados rápidamente para evitar un impacto significativo en los volúmenes de producción. El objetivo de mantener es mantener los volúmenes de producción y reducir continuamente los costos hasta que el producto llegue al final de su vida útil .
Proceso de diseño
Microarquitectura y diseño a nivel de sistema
El proceso inicial de diseño de chips comienza con el diseño a nivel del sistema y la planificación de la microarquitectura. Dentro de las empresas de diseño de circuitos integrados, la administración y, a menudo, la analítica redactarán una propuesta para que un equipo de diseño comience a diseñar un nuevo chip que encaje en un segmento de la industria. Los diseñadores de nivel superior se reunirán en esta etapa para decidir cómo funcionará el chip. Este paso es donde se decide la funcionalidad y el diseño de un CI. Los diseñadores de circuitos integrados trazarán los requisitos funcionales, los bancos de pruebas de verificación y las metodologías de prueba para todo el proyecto, y luego convertirán el diseño preliminar en una especificación a nivel de sistema que se puede simular con modelos simples utilizando lenguajes como C ++ y MATLAB y herramientas de emulación. Para diseños puros y nuevos, la etapa de diseño del sistema es donde se planifica un conjunto de instrucciones y una operación, y en la mayoría de los chips los conjuntos de instrucciones existentes se modifican para una funcionalidad más nueva. El diseño en esta etapa es a menudo declaraciones como codifica en formato MP3 o implementa la aritmética de punto flotante IEEE . En etapas posteriores del proceso de diseño, cada una de estas declaraciones de apariencia inocente se expande a cientos de páginas de documentación textual.
Diseño RTL
Tras el acuerdo de un diseño de sistema, los diseñadores de RTL implementan los modelos funcionales en un lenguaje de descripción de hardware como Verilog , SystemVerilog o VHDL . Utilizando componentes de diseño digital como sumadores, cambiadores y máquinas de estado, así como conceptos de arquitectura informática como canalización, ejecución superescalar y predicción de ramas , los diseñadores de RTL dividirán una descripción funcional en modelos de hardware de componentes en el chip trabajando juntos. Cada una de las simples declaraciones descritas en el diseño del sistema puede convertirse fácilmente en miles de líneas de código RTL , por lo que es extremadamente difícil verificar que el RTL hará lo correcto en todos los casos posibles que el usuario pueda lanzarle. .
Para reducir la cantidad de errores de funcionalidad, un grupo de verificación de hardware separado tomará el RTL y diseñará bancos de prueba y sistemas para verificar que el RTL realmente esté realizando los mismos pasos en muchas condiciones diferentes, clasificadas como el dominio de verificación funcional . Se utilizan muchas técnicas, ninguna de ellas perfecta pero todas útiles: simulación lógica extensa , métodos formales , emulación de hardware , verificación de código tipo pelusa , cobertura de código , etc.
Un pequeño error aquí puede hacer que todo el chip sea inútil o peor. El famoso error Pentium FDIV provocó que los resultados de una división fueran incorrectos en un máximo de 61 partes por millón, en casos que ocurrían con muy poca frecuencia. Nadie lo notó hasta que el chip estuvo en producción durante meses. Sin embargo, Intel se vio obligada a ofrecer reemplazar, de forma gratuita, todos los chips vendidos hasta que pudieran solucionar el error, a un costo de $ 475 millones (EE. UU.). [ cita requerida ]
Diseño físico
RTL es solo un modelo de comportamiento de la funcionalidad real de lo que se supone que opera el chip. No tiene ningún vínculo con un aspecto físico de cómo funcionaría el chip en la vida real en el lado de los materiales, la física y la ingeniería eléctrica. Por esta razón, el siguiente paso en el proceso de diseño de IC, la etapa de diseño físico , es mapear el RTL en representaciones geométricas reales de todos los dispositivos electrónicos, como capacitores, resistencias, puertas lógicas y transistores que irán en el chip.
Los principales pasos del diseño físico se enumeran a continuación. En la práctica, no hay una progresión sencilla: se requiere una iteración considerable para garantizar que todos los objetivos se cumplan simultáneamente. Este es un problema difícil en sí mismo, llamado cierre de diseño .
- Síntesis lógica : el RTL se asigna a una lista de redes a nivel de puerta en la tecnología de destino del chip.
- Plano de planta : El RTL del chip se asigna a las regiones brutas del chip, se asignan pines de entrada / salida (E / S) y se colocan objetos grandes (matrices, núcleos, etc.).
- Colocación : las puertas de la lista de conexiones se asignan a ubicaciones que no se superponen en el área del dado.
- Refinamiento de la lógica / ubicación: transformaciones lógicas iterativas y de ubicación para cerrar las limitaciones de rendimiento y potencia.
- Inserción del reloj : el cableado de la señal del reloj se introduce (comúnmente, árboles de reloj ) en el diseño.
- Enrutamiento : se agregan los cables que conectan las puertas en la lista de conexiones.
- Optimización posterior al cableado: se eliminan las violaciones de rendimiento ( cierre de sincronización ), ruido ( integridad de la señal ) y rendimiento ( diseño para la capacidad de fabricación ).
- Diseño para la capacidad de fabricación : el diseño se modifica, cuando es posible, para que su producción sea lo más fácil y eficiente posible. Esto se logra agregando vías adicionales o agregando capas falsas de metal / difusión / polietileno siempre que sea posible mientras se cumple con las reglas de diseño establecidas por la fundición.
- Verificación final: dado que los errores son costosos, requieren mucho tiempo y son difíciles de detectar, la regla es una verificación exhaustiva de errores, asegurándose de que la asignación a la lógica se realizó correctamente y verificando que se siguieron fielmente las reglas de fabricación .
- Chip de acabado con Tapeout y generación de máscaras: los datos de diseño se convierten en fotomáscaras en la preparación de los datos de las máscaras . [1]
Diseño analógico
Antes de la llegada del microprocesador y las herramientas de diseño basadas en software, los circuitos integrados analógicos se diseñaron utilizando cálculos manuales y piezas de kits de proceso. Estos circuitos integrados eran circuitos de baja complejidad, por ejemplo, amplificadores operacionales , que por lo general no implicaban más de diez transistores y pocas conexiones. A menudo, era necesario un proceso iterativo de prueba y error y una "ingeniería excesiva" del tamaño del dispositivo para lograr un CI fabricable. La reutilización de diseños probados permitió construir circuitos integrados progresivamente más complicados sobre la base de conocimientos previos. Cuando en la década de 1970 se dispuso de un procesamiento informático económico, se escribieron programas informáticos para simular diseños de circuitos con mayor precisión que en la práctica mediante cálculos manuales. El primer simulador de circuitos para circuitos integrados analógicos se llamó SPICE (Programa de simulación con énfasis en circuitos integrados). Las herramientas de simulación de circuitos computarizados permiten una mayor complejidad de diseño de circuitos integrados de lo que pueden lograr los cálculos manuales, lo que hace que el diseño de ASIC analógicos sea práctico.
Como se deben considerar muchas limitaciones funcionales en el diseño analógico, el diseño manual todavía está muy extendido en la actualidad. Como resultado, los flujos de diseño moderno para circuitos analógicos se caracterizan por dos estilos de diseño diferentes: de arriba hacia abajo y de abajo hacia arriba. [2] El estilo de diseño de arriba hacia abajo hace uso de herramientas basadas en optimización similares a los flujos digitales convencionales. Los procedimientos bottom-up reutilizan el “conocimiento experto” con el resultado de soluciones previamente concebidas y plasmadas en una descripción procedimental, imitando la decisión de un experto. [2] Un ejemplo son los generadores de células, como PCells .
Hacer frente a la variabilidad
Un desafío más crítico para el diseño de circuitos integrados analógicos involucra la variabilidad de los dispositivos individuales construidos en el chip semiconductor. A diferencia del diseño de circuito a nivel de placa que permite al diseñador seleccionar dispositivos que han sido probados y agrupados según su valor, los valores de los dispositivos en un IC pueden variar ampliamente, lo que es incontrolable por el diseñador. Por ejemplo, algunas resistencias IC pueden variar ± 20% y β de un BJT integrado puede variar de 20 a 100. En los últimos procesos CMOS, β de transistores PNP verticales pueden incluso ir por debajo de 1. Para agregar al desafío de diseño, las propiedades del dispositivo a menudo varían entre cada oblea semiconductora procesada. Las propiedades del dispositivo pueden incluso variar significativamente en cada IC individual debido a los gradientes de dopaje . La causa subyacente de esta variabilidad es que muchos dispositivos semiconductores son muy sensibles a variaciones aleatorias incontrolables en el proceso. Los cambios leves en la cantidad de tiempo de difusión, los niveles de dopaje desiguales, etc. pueden tener efectos importantes en las propiedades del dispositivo.
Algunas técnicas de diseño utilizadas para reducir los efectos de la variación del dispositivo son: [3]
- Usando las proporciones de resistencias, que coinciden estrechamente, en lugar del valor absoluto de la resistencia.
- Usar dispositivos con formas geométricas coincidentes para que tengan variaciones coincidentes.
- Hacer que los dispositivos sean grandes para que las variaciones estadísticas se conviertan en una fracción insignificante de la propiedad general del dispositivo.
- Segmentar dispositivos grandes, como resistencias, en partes y entrelazarlas para cancelar variaciones.
- Uso de un diseño de dispositivo centroide común para cancelar variaciones en dispositivos que deben coincidir estrechamente (como el par diferencial de transistores de un amplificador operacional ).
Vendedores
Las tres empresas más grandes que venden herramientas de automatización de diseño electrónico son Synopsys , Cadence y Mentor Graphics . [4]
Ver también
- Diseño de circuitos electrónicos
- Automatización de diseño electrónico
- Diseño de redes eléctricas (IC)
- Transacciones IEEE sobre diseño asistido por computadora de circuitos y sistemas integrados
- Servicio de obleas multiproyecto
- Celda estándar
Referencias
- ^ J. Lienig, J. Scheible (2020). "Cap. 3.3: Máscara de datos: Postprocesamiento del diseño". Fundamentos de Layout Design para Circuitos Electrónicos . Saltador. págs. 102-110. doi : 10.1007 / 978-3-030-39284-0 . ISBN 978-3-030-39284-0.
- ^ a b J. Lienig, J. Scheible (2020). "Cap. 4.6: Flujos de diseño analógico y digital". Fundamentos de Layout Design para Circuitos Electrónicos . Saltador. págs. 151-159. doi : 10.1007 / 978-3-030-39284-0 . ISBN 978-3-030-39284-0.
- ^ Basu, Joydeep (9 de octubre de 2019). "Desde el diseño hasta el tape-out en tecnología de fabricación de circuitos integrados SCL 180 nm CMOS". Revista IETE de Educación . 60 (2): 51–64. arXiv : 1908.10674 . doi : 10.1080 / 09747338.2019.1657787 . S2CID 201657819 .
- ^ "Desarrollos de modelos Multi-CAD" (PDF) . Tendencias del mercado IC CAD 2015 . 2015-07-11.
Otras lecturas
- Manual de automatización de diseño electrónico para circuitos integrados , por Lavagno, Martin y Scheffer, ISBN 0-8493-3096-3 Estudio del campo de la automatización del diseño electrónico , uno de los principales facilitadores del diseño de circuitos integrados moderno.
enlaces externos
- CAD - Transacciones IEEE sobre diseño asistido por computadora de circuitos y sistemas integrados
- Guía definitiva para proyectos de diseño analógico