El análisis de tiempo estático (STA) es un método de simulación para calcular el tiempo esperado de un circuito digital sin requerir una simulación del circuito completo.
Los circuitos integrados de alto rendimiento se han caracterizado tradicionalmente por la frecuencia de reloj a la que operan. Medir la capacidad de un circuito para funcionar a la velocidad especificada requiere la capacidad de medir, durante el proceso de diseño, su retraso en numerosos pasos. Además, el cálculo de retardo debe incorporarse en el bucle interno de los optimizadores de tiempo en varias fases del diseño, como la síntesis lógica , el diseño ( ubicación y enrutamiento ) y las optimizaciones in situ realizadas al final del ciclo de diseño. Si bien, en teoría, estas mediciones de temporización se pueden realizar mediante una simulación de circuito rigurosa, este enfoque puede ser demasiado lento para ser práctico. El análisis de temporización estática juega un papel vital para facilitar la medición rápida y razonablemente precisa de la temporización del circuito. La aceleración proviene del uso de modelos de temporización simplificados y, en su mayoría, ignora las interacciones lógicas en los circuitos. Esto se ha convertido en un pilar del diseño en las últimas décadas.
Una de las primeras descripciones de un enfoque de tiempo estático se basó en la Técnica de Evaluación y Revisión de Programas (PERT), en 1966. [1] A principios de la década de 1980 aparecieron versiones y algoritmos más modernos. [2] [3] [4]
Propósito
En un sistema digital síncrono , se supone que los datos se mueven al unísono , avanzando una etapa en cada tic de la señal del reloj . Esto se refuerza sincronizando elementos como flip-flops o pestillos , que copian su entrada a su salida cuando el reloj se lo indica. Solo dos tipos de errores de sincronización son posibles en un sistema de este tipo:
- Una infracción de tiempo máximo , cuando una señal llega demasiado tarde y pierde el tiempo en el que debería avanzar. Estas se conocen más comúnmente como infracciones / verificaciones de configuración, que en realidad son un subconjunto de infracciones de tiempo máximo que implican un cambio de ciclo en rutas síncronas.
- Una infracción de tiempo mínimo , cuando una señal de entrada cambia demasiado pronto después de la transición activa del reloj. Estos se conocen más comúnmente como infracciones / verificaciones de retención, que en realidad son un subconjunto de infracciones de tiempo mínimo en la ruta síncrona.
El momento en que llega una señal puede variar debido a muchas razones. Los datos de entrada pueden variar, el circuito puede realizar diferentes operaciones, la temperatura y el voltaje pueden cambiar y existen diferencias de fabricación en la construcción exacta de cada pieza. El objetivo principal del análisis de temporización estática es verificar que, a pesar de estas posibles variaciones, todas las señales no llegarán ni demasiado pronto ni demasiado tarde y, por lo tanto, se puede garantizar el funcionamiento correcto del circuito.
Dado que STA es capaz de verificar todas las rutas, puede detectar otros problemas como fallas , rutas lentas y desviaciones del reloj .
Definiciones
- La ruta crítica se define como la ruta entre una entrada y una salida con el retardo máximo. Una vez que se ha calculado la temporización del circuito mediante una de las técnicas que se enumeran a continuación, la ruta crítica se puede encontrar fácilmente utilizando un método de rastreo .
- El tiempo de llegada de una señal es el tiempo transcurrido para que una señal llegue a un punto determinado. La referencia, o el tiempo 0.0, a menudo se toma como el tiempo de llegada de una señal de reloj. Para calcular el tiempo de llegada, se requerirá el cálculo de la demora de todos los componentes en la ruta. Las horas de llegada, y de hecho casi todas las horas en el análisis de tiempos, normalmente se mantienen como un par de valores: la hora más temprana posible en la que una señal puede cambiar y la última.
- Otro concepto útil es el tiempo requerido . Esta es la última hora a la que puede llegar una señal sin hacer que el ciclo del reloj sea más largo de lo deseado. El cálculo del tiempo requerido procede de la siguiente manera: en cada salida primaria, los tiempos requeridos de subida / bajada se establecen de acuerdo con las especificaciones proporcionadas al circuito. A continuación, se realiza un recorrido topológico hacia atrás, procesando cada puerta cuando se conocen los tiempos requeridos en todos sus fanouts.
- La holgura asociada con cada conexión es la diferencia entre la hora requerida y la hora de llegada. Una holgura positiva es en algún nodo implica que el tiempo de llegada en ese nodo puede aumentarse por s , sin afectar el retardo global del circuito. Por el contrario, la holgura negativa implica que una ruta es demasiado lenta, y la ruta debe acelerarse (o la señal de referencia debe retrasarse) para que todo el circuito funcione a la velocidad deseada.
Esquinas y STA
Muy a menudo, los diseñadores querrán calificar su diseño en muchas condiciones. El comportamiento de un circuito electrónico a menudo depende de varios factores en su entorno, como la temperatura o las variaciones de voltaje locales. En tal caso, STA debe realizarse para más de un conjunto de condiciones, o STA debe estar preparado para trabajar con un rango de posibles retrasos para cada componente, en lugar de un solo valor.
Con las técnicas adecuadas, se caracterizan los patrones de variaciones de la condición y se registran sus extremos. Cada condición extrema puede denominarse esquina . Los extremos en las características de la celda se pueden considerar como "esquinas de proceso, voltaje y temperatura (PVT)" y los extremos en las características netas se pueden considerar como "esquinas de extracción". Luego, cada patrón de combinación de esquinas de extracción PVT se denomina "esquina de sincronización", ya que representa un punto en el que la sincronización será extrema. Si el diseño funciona en cada condición extrema, entonces bajo el supuesto de comportamiento monótono , el diseño también está calificado para todos los puntos intermedios.
El uso de esquinas en el análisis de tiempos estáticos tiene varias limitaciones. Puede ser demasiado optimista, ya que asume un seguimiento perfecto: si una puerta es rápida, todas las puertas se suponen rápidas, o si el voltaje es bajo para una puerta, también es bajo para todas las demás. Las esquinas también pueden ser demasiado pesimistas, ya que las esquinas en el peor de los casos rara vez ocurren. En un CI, por ejemplo, puede que no sea raro tener una capa de metal en el extremo delgado o grueso de su rango permitido, pero sería muy raro que las 10 capas estuvieran en el mismo límite, ya que se fabrican de forma independiente. . El STA estadístico, que reemplaza los retrasos con distribuciones y el seguimiento con correlación, ofrece un enfoque más sofisticado para el mismo problema.
Las técnicas más destacadas para STA
En el análisis de tiempo estático, la palabra estática alude al hecho de que este análisis de tiempo se lleva a cabo de manera independiente de la entrada y pretende encontrar el retardo del circuito en el peor de los casos en todas las combinaciones de entrada posibles. La eficiencia computacional (lineal en el número de aristas en el gráfico) de tal enfoque ha resultado en su uso generalizado, aunque tiene algunas limitaciones. Un método que comúnmente se conoce como PERT se usa popularmente en STA. Sin embargo, PERT es un nombre inapropiado, y el llamado método PERT discutido en la mayor parte de la literatura sobre análisis de tiempos se refiere al método de ruta crítica (CPM) que se usa ampliamente en la gestión de proyectos. Si bien los métodos basados en CPM son los dominantes en uso en la actualidad, varios analizadores de tiempo han utilizado otros métodos para atravesar gráficos de circuitos, como la búsqueda en profundidad .
Análisis de tiempo de interfaz
Muchos de los problemas comunes en el diseño de chips están relacionados con la sincronización de la interfaz entre diferentes componentes del diseño. Estos pueden surgir debido a muchos factores, incluidos modelos de simulación incompletos, falta de casos de prueba para verificar adecuadamente la sincronización de la interfaz, requisitos de sincronización, especificaciones de interfaz incorrectas y falta de comprensión del diseñador de un componente suministrado como una 'caja negra'. Existen herramientas CAD especializadas diseñadas explícitamente para analizar la sincronización de la interfaz, al igual que existen herramientas CAD específicas para verificar que una implementación de una interfaz se ajusta a la especificación funcional (utilizando técnicas como la verificación del modelo ).
Análisis estadístico de tiempo estático (SSTA)
El análisis estadístico de temporización estática (SSTA) es un procedimiento que se está volviendo cada vez más necesario para manejar las complejidades de los procesos y las variaciones ambientales en los circuitos integrados.
Ver también
Notas
- ^ Kirkpatrick, TI y Clark, NR (1966). "PERT como ayuda al diseño lógico" . Revista de investigación y desarrollo de IBM . IBM Corp. 10 (2): 135-141. doi : 10.1147 / rd.102.0135 .
- ^ McWilliams, TM (1980). "Verificación de limitaciones de tiempo en grandes sistemas digitales" (PDF) . Design Automation, 1980. XVII Conferencia sobre . IEEE. págs. 139-147.
- ^ G. Martin; J. Berrie; T. Little; D. Mackay; J. McVean; D. Tomsett; L. Weston (1981). "Un sistema integrado de ayudas al diseño LSI". Revista de microelectrónica . 12 (4). doi : 10.1016 / S0026-2692 (81) 80259-5 .
- ^ Hitchcock, R. y Smith, GL y Cheng, DD (1982). "Análisis de tiempos de hardware informático". Revista de investigación y desarrollo de IBM . IBM. 26 (1): 100-105. CiteSeerX 10.1.1.83.2093 . doi : 10.1147 / rd.261.0100 .CS1 maint: varios nombres: lista de autores ( enlace )
Referencias
- Manual de automatización de diseño electrónico para circuitos integrados , por Lavagno, Martin y Scheffer, ISBN 0-8493-3096-3 Una encuesta del campo. Este artículo se obtuvo con autorización del Volumen II, Capítulo 8, 'Análisis de sincronización estática' de Sachin Sapatnekar.
- Análisis de sincronización estática para diseños de nanómetros , por R. Chadha y J. Bhasker, ISBN 978-0-387-93819-6 , Springer, 2009.