En la fabricación de semiconductores VLSI , el proceso de cierre de diseño es parte del flujo de trabajo de desarrollo mediante el cual se modifica el diseño de un circuito integrado desde su descripción inicial para cumplir con una lista creciente de restricciones y objetivos de diseño.
Cada paso en el diseño del CI (como el análisis de tiempo estático , la ubicación , el enrutamiento , etc.) ya es complejo y, a menudo, forma su propio campo de estudio. Sin embargo, este artículo analiza el proceso general de cierre del diseño, que lleva un chip desde su estado de diseño inicial hasta la forma final en la que se cumplen todas sus restricciones de diseño.
Introducción
Cada chip comienza como la idea que alguien tiene de algo bueno: "Si podemos hacer una pieza que realice la función X, ¡todos seremos ricos!" Una vez que se establece el concepto, alguien de marketing dice: "Para que este chip sea rentable, debe costar $ C y funcionar con una frecuencia F." Alguien de fabricación dice "Para cumplir con los objetivos de este chip, debe tener un rendimiento del Y%". Alguien del paquete dice "Debe caber en el paquete P y no disipar más de W vatios". Finalmente, el equipo genera una lista extensa de todas las limitaciones y objetivos que deben cumplir para fabricar un producto que se pueda vender de manera rentable. Luego, la gerencia forma un equipo de diseño, que consta de arquitectos de chips, diseñadores lógicos, ingenieros de verificación funcional, diseñadores físicos e ingenieros de temporización, y los asigna para crear un chip según las especificaciones.
Restricciones vs Objetivos
La distinción entre restricciones y objetivos es sencilla: una restricción es un objetivo de diseño que debe cumplirse para que el diseño sea exitoso. [1] Por ejemplo, es posible que se requiera que un chip funcione a una frecuencia específica para que pueda interactuar con otros componentes de un sistema. Por el contrario, un objetivo es un objetivo de diseño donde más (o menos) es mejor. Por ejemplo, el rendimiento es generalmente un objetivo, que se maximiza para reducir los costos de fabricación. A los efectos del cierre del diseño, la distinción entre limitaciones y objetivos no es importante; este artículo usa las palabras indistintamente.
Evolución del flujo de cierre de diseño
Diseñar un chip solía ser una tarea mucho más sencilla. En los primeros días de VLSI, un chip constaba de unos pocos miles de circuitos lógicos que realizaban una función simple a velocidades de unos pocos MHz. El cierre del diseño era simple: si todos los circuitos y cables necesarios "encajaban", el chip realizaría la función deseada.
El cierre de diseño moderno se ha vuelto más complejo en órdenes de magnitud. Los chips lógicos modernos pueden tener decenas a cientos de millones de elementos lógicos que cambian a velocidades de varios GHz. Esta mejora ha sido impulsada por la ley de escala de la tecnología de Moore y ha introducido muchas consideraciones de diseño nuevas. Como resultado, un diseñador de VLSI moderno debe considerar el rendimiento de un chip frente a una lista de docenas de restricciones y objetivos de diseño que incluyen rendimiento, potencia, integridad de la señal , confiabilidad y rendimiento. En respuesta a esta creciente lista de restricciones, el flujo de cierre del diseño ha evolucionado de una simple lista lineal de tareas a un flujo muy complejo y altamente iterativo, como el siguiente flujo de diseño ASIC simplificado:
Flujo de diseño ASIC de referencia
- Fase conceptual: Se desarrollan los objetivos funcionales y la arquitectura de un chip.
- Diseño lógico: la arquitectura se implementa en un lenguaje de nivel de transferencia de registro (RTL), luego se simula para verificar que realiza las funciones deseadas. Esto incluye verificación funcional .
- 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.).
- 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.
- Diseño para la capacidad de prueba: se insertan las estructuras de prueba, como las cadenas de exploración.
- Colocación : las puertas de la lista de conexiones se asignan a ubicaciones que no se superponen en el chip.
- 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 de reloj : se introducen árboles de reloj con búfer equilibrado 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 infracciones de rendimiento, ruido y rendimiento restantes.
- Diseño para la capacidad de fabricación : el diseño se modifica, cuando es posible, para que sea lo más fácil posible de producir.
- Verificaciones de aprobación : dado que los errores son costosos, requieren mucho tiempo y son difíciles de detectar, la regla es una verificación exhaustiva de errores, lo que garantiza que la asignación a la lógica se realizó correctamente y que las reglas de fabricación se siguieron fielmente .
- Tapeout y generación de máscaras: los datos de diseño se convierten en fotomáscaras en la preparación de datos de máscaras .
Evolución de las limitaciones de diseño
El propósito del flujo es llevar un diseño desde la fase de concepto hasta el chip de trabajo. La complejidad del flujo es un resultado directo de la adición y evolución de la lista de restricciones de cierre de diseño. Para comprender esta evolución, es importante comprender el ciclo de vida de una restricción de diseño. En general, las restricciones de diseño influyen en el flujo de diseño a través de la siguiente evolución de cinco etapas:
- Advertencias tempranas: antes de que comiencen a ocurrir problemas con los chips, los académicos y los visionarios de la industria hacen predicciones nefastas sobre el impacto futuro de algún efecto de la nueva tecnología.
- Problemas de hardware: las fallas esporádicas de hardware comienzan a aparecer en el campo debido al nuevo efecto. Se requieren rediseños posteriores a la fabricación y repeticiones de giros del hardware para que el chip funcione.
- Prueba y error: las restricciones sobre el efecto se formulan y utilizan para impulsar la verificación posterior al diseño. Las infracciones de la restricción se corrigen manualmente.
- Búsqueda y reparación: un gran número de infracciones de la restricción impulsa la creación de flujos de reparación y análisis posteriores al diseño automáticos.
- Predecir y prevenir: la verificación de restricciones se mueve más temprano en el flujo utilizando estimaciones predictivas del efecto. Estos impulsan optimizaciones para evitar violaciones de la restricción.
Un buen ejemplo de esta evolución se puede encontrar en la restricción de integridad de la señal . A mediados de la década de 1990 (nodo de 180 nm), los visionarios de la industria describían los peligros inminentes del ruido de acoplamiento mucho antes de que fallaran los chips. A mediados de la década de 1990, aparecían problemas de ruido en los diseños de microprocesadores avanzados. En 2000, las herramientas de análisis de ruido automatizadas estaban disponibles y se utilizaron para guiar la reparación manual. El número total de problemas de ruido identificados por las herramientas de análisis identificados por el flujo se convirtió rápidamente en demasiados para corregirlos manualmente. En respuesta, las empresas de CAD desarrollaron los flujos para evitar el ruido que se utilizan actualmente en la industria.
En cualquier momento, las limitaciones en el flujo de diseño se encuentran en diferentes etapas de su ciclo de vida. En el momento de escribir este artículo, por ejemplo, la optimización del rendimiento es la más madura y se encuentra en la quinta fase con el uso generalizado de flujos de diseño basados en tiempos. La optimización del rendimiento orientada a la potencia y a los defectos se encuentra en la cuarta fase; la integridad de la fuente de alimentación, un tipo de restricción de ruido, está en la tercera fase; la optimización del rendimiento limitado por circuitos se encuentra en la segunda fase, etc. Siempre se puede encontrar una lista de las crisis de restricciones inminentes de la primera fase en la Hoja de ruta tecnológica internacional para semiconductores (ITRS).
A medida que madura una restricción en el flujo de diseño, tiende a abrirse camino desde el final del flujo hasta el principio. Al hacerlo, también tiende a aumentar en complejidad y en el grado en que se enfrenta a otras limitaciones. Las restricciones tienden a moverse hacia arriba en el flujo debido a una de las paradojas básicas del diseño: precisión versus influencia. Específicamente, cuanto antes se aborde una restricción en un flujo de diseño, más flexibilidad habrá para abordar la restricción. Irónicamente, cuanto antes se encuentre en un flujo de diseño, más difícil será predecir el cumplimiento. Por ejemplo, una decisión arquitectónica de canalizar una función lógica puede tener un impacto mucho mayor en el rendimiento total del chip que cualquier cantidad de reparación posterior al enrutamiento. Al mismo tiempo, es muy difícil predecir con precisión el impacto en el rendimiento de tal cambio antes de que se sintetice la lógica del chip, y mucho menos se coloque o enrute. Esta paradoja ha dado forma a la evolución del flujo de cierre de diseño de varias maneras. Primero, requiere que el flujo de diseño ya no esté compuesto por un conjunto lineal de pasos discretos. En las primeras etapas de VLSI era suficiente dividir el diseño en etapas discretas, es decir, primero hacer la síntesis lógica, luego la colocación y luego el enrutamiento. A medida que ha aumentado el número y la complejidad de las restricciones de cierre de diseño, el flujo de diseño lineal se ha roto. En el pasado, si quedaban demasiadas violaciones de restricciones de tiempo después del enrutamiento, era necesario retroceder, modificar ligeramente la configuración de la herramienta y volver a ejecutar los pasos de colocación anteriores. Si las restricciones aún no se cumplían, era necesario ir más atrás en el flujo y modificar la lógica del chip y repetir los pasos de síntesis y colocación. Este tipo de bucle consume mucho tiempo y no puede garantizar la convergencia, es decir, es posible retroceder en el flujo para corregir una violación de restricción solo para encontrar que la corrección indujo otra violación no relacionada.
Ver también
Referencias
- ^ Ralph, P. y Wand, Y. Una propuesta para una definición formal del concepto de diseño. En Lyytinen, K., Loucopoulos, P., Mylopoulos, J. y Robinson, W., (eds.), Ingeniería de requisitos de diseño: una perspectiva de diez años: Springer-Verlag, 2009, págs. 103-136
- Manual de automatización de diseño electrónico para circuitos integrados , por Lavagno, Martin y Scheffer, ISBN 0-8493-3096-3 Una encuesta sobre el campo de la automatización del diseño electrónico . En particular, este artículo se deriva (con autorización) de la introducción del Capítulo 10, Volumen II, Cierre del diseño de John Cohn.