stringtranslate.com

Cierre de diseño

El cierre del diseño es parte del flujo de trabajo de automatización del diseño electrónico digital mediante el cual el diseño de un circuito integrado (es decir, VLSI ) se modifica desde su descripción inicial para cumplir con una lista cada vez mayor de limitaciones y objetivos de diseño.

Cada paso en el diseño de un circuito integrado (como el análisis de sincronización estática , la ubicación , el enrutamiento , etc.) ya es complejo y, a menudo, constituye su propio campo de estudio. Este artículo, sin embargo, 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 fabricar 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 con una frecuencia F". Alguien del departamento de fabricación dice: "Para cumplir los objetivos de este chip, debe tener un rendimiento del Y%". Alguien del embalaje 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 pueda venderse de manera rentable. Luego, la dirección 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 sincronización, y les asigna la tarea de 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 tenga éxito. [1] Por ejemplo, es posible que sea necesario 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 una meta de diseño en la que 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 restricciones y objetivos no es importante; este artículo utiliza 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 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 mucho más complejo. Los chips lógicos modernos pueden tener entre decenas y cientos de millones de elementos lógicos que cambian a velocidades de varios GHz. Esta mejora ha sido impulsada por la ley de escalamiento de la tecnología de Moore y ha introducido muchas consideraciones de diseño nuevas. Como resultado, un diseñador VLSI moderno debe considerar el rendimiento de un chip frente a una lista de docenas de limitaciones 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

Evolución de las restricciones 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:

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 los chips fallaran. A mediados de la década de 1990, comenzaron a surgir problemas de ruido en los diseños de microprocesadores avanzados. En el año 2000, se disponía de herramientas automatizadas de análisis de ruido que se utilizaban para guiar la reparación manual. El número total de problemas de ruido identificados por las herramientas de análisis identificadas por el flujo rápidamente se volvió demasiado 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 restricciones en el flujo de diseño se encuentran en diferentes etapas de su ciclo de vida. Al 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 el tiempo. La optimización del rendimiento orientada a la potencia y a los defectos ya está en la cuarta fase; la integridad del suministro eléctrico, un tipo de limitación del ruido, se encuentra 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 las hojas de ruta tecnológicas con perspectivas de 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 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 enfrenta otras limitaciones. Las restricciones tienden a ascender 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 abordarla. Irónicamente, cuanto antes se esté 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 corrección posterior al enrutamiento. Al mismo tiempo, es muy difícil predecir con precisión el impacto en el rendimiento de dicho cambio antes de que se sintetice, y mucho menos se coloque o enruta, la lógica del chip. 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 del diseño, el flujo de diseño lineal se ha interrumpido. En el pasado, si quedaban demasiadas violaciones de las 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 aún no se cumplían las restricciones, 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 requiere mucho tiempo y no puede garantizar la convergencia, es decir, es posible retroceder en el flujo para corregir una infracción de restricción sólo para descubrir que la corrección indujo otra infracción no relacionada.

Ver también

Referencias

  1. ^ 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