El cierre del diseño forma parte del flujo de trabajo de automatización del diseño electrónico digital mediante el cual se modifica el diseño de un circuito integrado (es decir, VLSI ) a partir de su descripción inicial para cumplir con una lista cada vez mayor de restricciones y objetivos de diseño.
Cada paso en el diseño de circuitos integrados (como el análisis de temporización estática , la colocación , el enrutamiento , etc.) es complejo y a menudo constituye un campo de estudio en sí mismo. Sin embargo, este artículo se centra en el proceso general de cierre del diseño, que lleva a un chip desde su estado de diseño inicial hasta su forma final, en la que se cumplen todas sus restricciones de diseño.
Introducción
Cada chip comienza con la idea de alguien de algo bueno: "Si podemos hacer una pieza que realice la función X, ¡todos seremos ricos!". Una vez establecido el concepto, alguien de marketing dice: "Para que este chip sea rentable, debe costar $C y funcionar a una frecuencia F". Alguien de fabricación dice: "Para cumplir con los objetivos de este chip, debe tener un rendimiento del Y%". Alguien de empaquetado dice: "Debe caber en el paquete P y disipar no más de W vatios". Finalmente, el equipo genera una lista extensa de todas las restricciones y objetivos que deben cumplir para fabricar un producto que pueda venderse de forma rentable. La gerencia entonces 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 les asigna la creación de un chip que cumpla con las especificaciones.
Restricciones frente a 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, un chip puede requerir funcionar a una frecuencia específica para poder interactuar con otros componentes del sistema. En cambio, un objetivo es una meta de diseño donde cuanto más (o menos), mejor. Por ejemplo, el rendimiento suele ser un objetivo que se maximiza para reducir los costos de fabricación. Para los fines del cierre del diseño, la distinción entre restricciones y objetivos no es importante; en este artículo se utilizan indistintamente.
Evolución del flujo de cierre del diseño
Diseñar un chip solía ser una tarea mucho más sencilla. En los inicios de la 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 diseño era sencillo: si todos los circuitos y cables necesarios encajaban, el chip realizaría la función deseada.
El proceso de cierre del diseño moderno se ha vuelto mucho más complejo. Los chips lógicos modernos pueden tener decenas o cientos de millones de elementos lógicos que conmutan a velocidades de varios GHz. Esta mejora, impulsada por la ley de Moore sobre la escalabilidad de la tecnología, ha introducido numerosas consideraciones de diseño nuevas. Como resultado, un diseñador VLSI moderno debe evaluar el rendimiento de un chip en función de una lista de docenas de restricciones y objetivos de diseño, incluyendo rendimiento, potencia, integridad de la señal , fiabilidad y rendimiento de producción. En respuesta a esta creciente lista de restricciones, el flujo de cierre del diseño ha evolucionado desde una simple lista lineal de tareas hasta 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 del chip.
- Diseño lógico: La arquitectura se implementa en un lenguaje de nivel de transferencia de registros (RTL), y luego se simula para verificar que realiza las funciones deseadas. Esto incluye la verificación funcional .
- Planificación de la distribución física: El RTL del chip se asigna a las regiones principales del chip, se asignan los pines de entrada/salida (E/S) y se colocan los objetos grandes (matrices, núcleos, etc.).
- Síntesis lógica : El RTL se mapea a una lista de conexiones a nivel de compuertas en la tecnología de destino del chip.
- Diseño para la comprobabilidad : Se insertan estructuras de prueba como cadenas de escaneo.
- Ubicación : Las puertas lógicas en la lista de conexiones se asignan a ubicaciones que no se superponen en el chip.
- Refinamiento de la lógica y la ubicación: Transformaciones lógicas y de ubicación iterativas para cumplir con las restricciones de rendimiento y consumo de energía.
- Inserción de reloj : Se introducen árboles de reloj con búfer balanceado en el diseño.
- Enrutamiento : Se añaden los cables que conectan las puertas en la lista de conexiones.
- Optimización posterior al cableado: Se eliminan las violaciones restantes de rendimiento, ruido y rendimiento.
- Diseño para la fabricación : El diseño se modifica, siempre que sea posible, para que su producción sea lo más sencilla posible.
- Verificaciones finales : Dado que los errores son costosos, requieren mucho tiempo y son difíciles de detectar, la verificación exhaustiva de errores es la norma, asegurándose de que la asignación a la lógica se haya realizado correctamente y comprobando que las reglas de fabricación se hayan seguido fielmente .
- Fabricación de la máscara y generación de la máscara: los datos de diseño se convierten en fotomáscaras durante la preparación de los datos de la máscara .
Evolución de las limitaciones de diseño
El propósito del flujo es llevar un diseño desde la fase conceptual hasta el chip funcional. La complejidad del flujo es resultado directo de la adición y evolución de la lista de restricciones de cierre del diseño. Para comprender esta evolución, es importante entender 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:
- Alertas tempranas: Antes de que comiencen a surgir problemas con los chips, académicos y visionarios de la industria hacen predicciones funestas sobre el impacto futuro de alguna nueva tecnología.
- Problemas de hardware: Debido al nuevo efecto, comienzan a aparecer fallos de hardware esporádicos en el campo. Se requiere un rediseño posterior a la fabricación y nuevas versiones del hardware para que el chip funcione correctamente.
- Método de ensayo y error: Se formulan restricciones sobre el efecto y se utilizan para guiar la verificación posterior al diseño. Las violaciones de las restricciones se corrigen manualmente.
- Detección y reparación: Un gran número de infracciones de la restricción impulsa la creación de flujos automáticos de análisis y reparación posteriores al diseño.
- Predecir y prevenir: La verificación de restricciones se realiza en etapas más tempranas del proceso mediante estimaciones predictivas del efecto. Estas estimaciones impulsan optimizaciones para prevenir violaciones de la restricción.
Un buen ejemplo de esta evolución se encuentra 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 ya describían los peligros inminentes del ruido de acoplamiento mucho antes de que los chips empezaran a fallar. A mediados y finales de la década de 1990, comenzaron a surgir problemas de ruido en los diseños avanzados de microprocesadores. Para el año 2000, ya se disponía de herramientas automatizadas de análisis de ruido que se utilizaban para guiar las correcciones manuales. El número total de problemas de ruido identificados por las herramientas de análisis mediante el flujo de trabajo pronto se volvió demasiado elevado para corregirlos manualmente. En respuesta, las empresas de CAD desarrollaron los flujos de prevención de ruido que se utilizan actualmente en la industria.
En cualquier momento, las restricciones en el flujo de diseño se encuentran en diferentes etapas de su ciclo de vida. Al momento de redactar este texto, 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 la temporización. La optimización del rendimiento orientada a la potencia y 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 limitada por el circuito está en la segunda fase, etc. Una lista de las crisis de restricciones inminentes de la primera fase siempre se puede encontrar en las hojas de ruta tecnológicas a 15 años de la Hoja de Ruta Tecnológica Internacional para Semiconductores (ITRS).
A medida que una restricción madura en el flujo de diseño, tiende a avanzar desde el final del flujo hacia el principio. Al hacerlo, también tiende a aumentar en complejidad y en el grado en que compite con otras restricciones. Las restricciones tienden a avanzar en el flujo debido a una de las paradojas básicas del diseño: precisión versus influencia. Específicamente, cuanto antes en un flujo de diseño se aborde una restricción, mayor será la flexibilidad para abordarla. Irónicamente, cuanto antes se encuentre en un flujo de diseño, más difícil será predecir su cumplimiento. Por ejemplo, una decisión arquitectónica de segmentar una función lógica puede tener un impacto mucho mayor en el rendimiento total del chip que cualquier cantidad de corrección posterior al enrutamiento. Al mismo tiempo, predecir con precisión el impacto en el rendimiento de tal cambio antes de que la lógica del chip se sintetice, y mucho menos antes de que se coloque o enrute, es muy difícil. Esta paradoja ha moldeado la evolución del flujo de cierre de diseño de varias maneras. Primero, requiere que el flujo de diseño ya no se componga de un conjunto lineal de pasos discretos. En las primeras etapas de VLSI, bastaba con dividir el diseño en etapas discretas: primero la síntesis lógica, luego la colocación y, finalmente, el enrutamiento. A medida que la cantidad y complejidad de las restricciones de cierre del diseño han aumentado, el flujo de diseño lineal se ha vuelto obsoleto. Antes, si quedaban demasiadas violaciones de restricciones de temporización después del enrutamiento, era necesario volver al principio, 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 retroceder aún más en el flujo, 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 garantiza la convergencia; es decir, es posible volver al principio del flujo para corregir una violación de restricción y descubrir que la corrección induce otra violación no relacionada.
Véase 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, pp. 103-136.
- Manual de automatización del diseño electrónico para circuitos integrados , por Lavagno, Martin y Scheffer, ISBN 0-8493-3096-3Un estudio del campo de la automatización del diseño electrónico . En particular, este artículo se basa (con permiso) en la introducción del Capítulo 10, Volumen II, Design Closure, de John Cohn.
- Diseño electrónico
- Automatización del diseño electrónico
- Ingeniería electrónica
- Optimización electrónica