stringtranslate.com

Diseño de circuito integrado

Vista de diseño de un amplificador operacional CMOS simple (las entradas están a la izquierda y el capacitor de compensación está a la derecha). La capa de metal es de color azul, el verde y el marrón son Si dopados con N y P, el polisilicio es rojo y las vías son cruces.
Ingeniero que utiliza una de las primeras estaciones de trabajo de diseño de circuitos integrados para analizar una sección de un diseño de circuito cortado en rubylith , alrededor de 1979

El diseño de circuitos integrados , o diseño de circuitos integrados , es un subcampo de la ingeniería electrónica que abarca la lógica particular y las técnicas de diseño de circuitos 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 circuitos integrados se puede dividir en categorías amplias de diseño de circuitos integrados digitales y analógicos . El diseño de circuitos integrados digitales consiste en 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, maximizar la densidad del circuito y colocar los circuitos de manera que las señales de reloj y sincronizació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 circuitos integrados analógicos 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, la adaptación, 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 área más grande 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, en 2015, tenía más de mil millones de transistores. Las reglas sobre lo que se puede y lo que no se puede fabricar también son extremadamente complejas. Los procesos comunes de CI 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. El diseño de algunos procesadores se ha vuelto lo suficientemente complicado como para que sea difícil probarlo completamente, y esto ha causado problemas en los grandes proveedores de la nube. [1] En resumen, el diseño de un CI utilizando el software EDA es el diseño, prueba y verificación de las instrucciones que debe llevar a cabo 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 los componentes discretos, donde tales preocupaciones son un problema menor. También son motivo de preocupación la electromigración en las interconexiones metálicas y los daños por ESD en los componentes diminutos. Finalmente, el diseño físico de ciertos subbloques de circuitos suele ser crítico para lograr la velocidad de operación deseada, para segregar las partes ruidosas de un CI de las partes silenciosas, para equilibrar los efectos de la generación de calor en todo el CI o para facilitar la colocación. de conexiones a circuitos fuera del IC.

Flujo de diseño

Pasos principales en el flujo de diseño de circuitos integrados

Un ciclo típico de diseño de circuitos integrados implica varios pasos:

  1. Especificación del sistema
    1. Estudio de viabilidad y estimación del tamaño de la matriz.
    2. Análisis de funciones
  2. Diseño arquitectónico o a nivel de sistema.
  3. diseño lógico
    1. Diseño, simulación y maquetación analógica.
    2. Diseño digital y simulación.
    3. Simulación, emulación y verificación de sistemas.
  4. Diseño de circuito
    1. Síntesis de diseño digital
    2. Diseño para pruebas y generación automática de patrones de prueba.
    3. Diseño para la fabricabilidad
  5. Diseño físico
    1. Plano de planta
    2. Lugar y ruta
    3. Extracción de parásitos
  6. Verificación física y aprobación
    1. Sincronización estática
    2. Co-simulación y sincronización
  7. Preparación de datos de máscara (postprocesamiento de diseño)
    1. Acabado de virutas sin cinta
    2. Diseño de retícula
    3. Preparación del diseño a la máscara
  8. fabricación de retículas
  9. Fabricación de fotomáscaras
  10. fabricación de obleas
  11. embalaje
  12. prueba de troquel
    1. Validación e integración posteriores al silicio
    2. Caracterización del dispositivo
    3. Modificar (si es necesario)
  13. Implementación de chips
    1. Generación de hojas de datos (normalmente un archivo PDF )
    2. Rampa arriba
    3. Producción
    4. Análisis de rendimiento/ fiabilidad del análisis de garantía
    5. Análisis de fallos en cualquier devolución.
    6. Planifique el chip de próxima generación utilizando información de producción, si es posible.

Se pueden utilizar haces de iones enfocados durante el desarrollo del chip para establecer nuevas conexiones en un chip. [2] [3]

Resumen

En términos generales, el diseño de circuitos integrados digitales se puede dividir en tres partes.

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 en absoluto la funcionalidad (si se hace correctamente), pero determina qué tan rápido opera el chip y cuánto cuesta.

Una celda estándar normalmente representa una única puerta lógica . El uso de celdas estándar permite dividir el diseño del chip en niveles lógicos y físicos. Una empresa sin fábrica normalmente solo trabajaría en el diseño lógico de un chip, determinando cómo se conectan las celdas y la funcionalidad del chip, mientras sigue las reglas de diseño de la fundición en la que se fabricará el chip, mientras que el diseño físico del chip, el Las celdas en sí, normalmente las hace la fundición y comprende la física de los dispositivos transistores y cómo se conectan para formar una puerta lógica.

Las fundiciones suministran bibliotecas de celdas estándar a empresas sin fábrica, con fines de diseño y para permitir la fabricación de sus diseños utilizando las instalaciones de la fundición. La fundición puede proporcionar un kit de diseño de proceso (PDK) que puede incluir la biblioteca de celdas estándar, así como las especificaciones de las celdas, y herramientas para verificar el diseño de la empresa sin fábrica con respecto a las reglas de diseño especificadas por la fundición, así como simular utilizando las células de la fundición. Los PDK pueden proporcionarse mediante acuerdos de confidencialidad.

Ciclo de vida del diseño

El proceso de desarrollo de circuitos integrados (CI) comienza con la definición de los requisitos del producto, avanza a través de la definición arquitectónica, la implementación, la puesta en marcha y finalmente la 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 poder 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 de 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 fundamental, los objetivos y los principios del producto. Define conceptos de alto nivel y la propuesta de valor intrínseco 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 experiencia significativa en el manejo de sistemas en el área para la cual se crea 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 microarquitectónica como punto de partida. Esto implica definición y partición de bajo nivel, escritura de código , introducción de esquemas y verificación. Esta fase finaliza con un diseño que llega al tapeout .

Sacar un tema

Después de crear, grabar y fabricar un diseño, 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 , desde pruebas muy simples, como garantizar que el dispositivo se encenderá, hasta pruebas mucho más complicadas que intentan estresar la pieza de varias maneras. El resultado de la fase de recuperación 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 productización es la tarea de llevar un diseño de la ingeniería a la fabricación de producción en masa. Aunque un diseño puede haber cumplido con éxito las especificaciones del producto en el laboratorio durante la fase de preparación, existen muchos desafíos que enfrentan los ingenieros de producto cuando intentan producir esos diseños en masa. El CI debe aumentarse hasta alcanzar volúmenes de producción con un rendimiento aceptable. El objetivo de la fase de productizació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 tratados rápidamente para evitar un impacto significativo en los volúmenes de producción. El objetivo del mantenimiento 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 de sistema y la planificación de la microarquitectura. Dentro de las empresas de diseño de circuitos integrados, la gerencia y, a menudo, los analistas redactarán una propuesta para que un equipo de diseño comience el diseño de 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á funcionalmente el chip. En este paso es donde se deciden la funcionalidad y el diseño de un IC. 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 nuevos y puros, 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 suele consistir en declaraciones como codificaciones en formato MP3 o implementaciones de 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

Una vez acordado el diseño del 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, desplazadores 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 los componentes del chip que trabajan juntos. Cada una de las declaraciones simples 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 le pueda presentar. .

Para reducir la cantidad de errores de funcionalidad, un grupo de verificación de hardware separado tomará el RTL y diseñará bancos de pruebas 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. Verificaciones como las que realizan los emuladores se pueden realizar en FPGA o procesadores especiales. [4] [5] Las plataformas de creación de prototipos se utilizan para ejecutar software en prototipos del diseño del chip mientras está en desarrollo utilizando FPGA, pero son más lentas para iterar o modificar y no se pueden usar para visualizar señales de hardware como aparecerían en el diseño terminado. [6]

Un pequeño error aquí puede inutilizar todo el chip o algo peor. El famoso error Pentium FDIV provocaba que los resultados de una división fueran erróneos como máximo en 61 partes por millón, en casos que ocurrían con muy poca frecuencia. Nadie se dio cuenta hasta que el chip estuvo en producción durante meses. Sin embargo , Intel se vio obligada a ofrecer reemplazar, de forma gratuita, cada chip vendido hasta que pudieran solucionar el error, a un costo de 475 millones de dólares (EE.UU.). [ cita necesaria ]

Diseño físico

Pasos del diseño físico dentro del flujo de diseño digital.

RTL es solo un modelo de comportamiento de la funcionalidad real bajo la cual se supone que debe operar 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 circuitos integrados, 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 existe 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 del diseño .

Diseño analógico

Antes de la llegada de los microprocesadores y las herramientas de diseño basadas en software, los circuitos integrados analógicos se diseñaban utilizando cálculos manuales y piezas de kits de proceso. Estos circuitos integrados eran circuitos de baja complejidad, por ejemplo, amplificadores operacionales , que normalmente no incluían más de diez transistores y pocas conexiones. A menudo era necesario un proceso iterativo de prueba y error y una "sobreingeniería" del tamaño del dispositivo para lograr un CI fabricable. La reutilización de diseños probados permitió construir circuitos integrados cada vez más complicados a partir de conocimientos previos. Cuando en la década de 1970 estuvo disponible el procesamiento informático económico, se escribieron programas informáticos para simular diseños de circuitos con mayor precisión que el cálculo práctico hecho a mano. 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 en el diseño de circuitos integrados que la que pueden lograr los cálculos manuales, lo que hace que el diseño de ASIC analógicos sea práctico.

Como en el diseño analógico se deben considerar muchas limitaciones funcionales, el diseño manual todavía está muy extendido en la actualidad. Como resultado, los flujos de diseño modernos para circuitos analógicos se caracterizan por dos estilos de diseño diferentes: de arriba hacia abajo y de abajo hacia arriba. [8] 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 ascendentes reutilizan el “conocimiento experto” con el resultado de soluciones previamente concebidas y plasmadas en una descripción procesal, imitando la decisión de un experto. [8] Un ejemplo son los generadores de células, como los PCell .

Hacer frente a la variabilidad

Uno de los desafíos más críticos para el diseño de circuitos integrados analógicos implica 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, cada uno de los cuales ha sido probado y agrupado según su valor, los valores de los dispositivos en un IC pueden variar ampliamente y el diseñador no los puede controlar. Por ejemplo, algunas resistencias IC pueden variar ±20% y β de un BJT integrado puede variar de 20 a 100. En los procesos CMOS más recientes, β de los transistores PNP verticales puede incluso ir por debajo de 1. Para aumentar el desafío del diseño, las propiedades del dispositivo a menudo varían entre cada oblea semiconductora procesada. Las propiedades del dispositivo pueden incluso variar significativamente entre cada CI 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. Pequeños cambios en la cantidad de tiempo de difusión, niveles desiguales de dopaje, etc. pueden tener grandes efectos en las propiedades del dispositivo.

Algunas técnicas de diseño utilizadas para reducir los efectos de la variación del dispositivo son: [9]

Vendedores

Las tres empresas más grandes que venden herramientas de automatización de diseño electrónico son Synopsys , Cadence y Mentor Graphics . [10]

Ver también

Referencias

  1. ^ https://www.theregister.com/2021/06/04/google_chip_flaws/
  2. ^ Jacob Ridley (26 de diciembre de 2022). "Dentro de Intel: esto es lo que implica crear una CPU para juegos de vanguardia" - a través de www.pcgamer.com.
  3. ^ Shimpi, Anand Lal. "Dentro de Intel: del silicio al mundo". www.anandtech.com .
  4. ^ https://semiwiki.com/eda/cadence/2738-cadence-introduces-palladium-xp-ii/
  5. ^ https://www.cpushack.com/2016/10/20/processors-to-emulate-processors-the-palladium-ii/
  6. ^ https://www.eejournal.com/article/the-first-emulators-of-spring/
  7. ^ J. Lienig, J. Scheible (2020). "Capítulo 3.3: Datos de máscara: posprocesamiento del diseño". Fundamentos del diseño de trazado de circuitos electrónicos. Saltador. págs. 102-110. doi :10.1007/978-3-030-39284-0. ISBN 978-3-030-39284-0. S2CID  215840278.
  8. ^ ab J. Lienig, J. Scheible (2020). "Capítulo 4.6: Flujos de diseño analógico y digital". Fundamentos del diseño de trazado de circuitos electrónicos. Saltador. págs. 151-159. doi :10.1007/978-3-030-39284-0. ISBN 978-3-030-39284-0. S2CID  215840278.
  9. ^ Basu, Joydeep (9 de octubre de 2019). "Desde el diseño hasta la grabación en tecnología de fabricación de circuitos integrados CMOS SCL de 180 nm". Revista de Educación IETE . 60 (2): 51–64. arXiv : 1908.10674 . doi :10.1080/09747338.2019.1657787. S2CID  201657819.
  10. «Desarrollos de Modelos Multi-CAD» (PDF) . "Tendencias del mercado IC CAD 2015 ". 2015-07-11.

Otras lecturas