El análisis de tiempo estático (STA) es un método de simulación para calcular el tiempo esperado de un circuito digital sincrónico sin necesidad de 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 operar a la velocidad especificada requiere la capacidad de medir, durante el proceso de diseño, su retardo en numerosos pasos. Además, el cálculo del retardo debe incorporarse al 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 en las optimizaciones in situ realizadas al final del ciclo de diseño. Si bien estas mediciones de tiempo se pueden realizar teóricamente utilizando una simulación de circuito rigurosa , es probable que dicho enfoque sea demasiado lento para ser práctico. El análisis de tiempo estático desempeña un papel vital para facilitar la medición rápida y razonablemente precisa de la sincronización del circuito. La aceleración proviene del uso de modelos de tiempo simplificados y de ignorar en su mayoría las interacciones lógicas en los circuitos. [1] 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 Revisión y Evaluación de Programas (PERT), en 1966. [2] Versiones y algoritmos más modernos aparecieron a principios de la década de 1980. [3] [4 ] [5]
En un sistema digital sincrónico , se supone que los datos se mueven "al unísono", avanzando una etapa en cada tic de la señal del reloj . Esto se logra mediante elementos de sincronización, como flip-flops o latches , que copian su entrada en su salida cuando el reloj así lo ordena. En un sistema de este tipo, solo son posibles dos tipos de errores de sincronización:
El tiempo 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 parte. El objetivo principal del análisis de tiempo estático es verificar que, a pesar de estas posibles variaciones, todas las señales 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 cada ruta, puede detectar otros problemas como fallas , rutas lentas y desfases de reloj .
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 de su entorno, como la temperatura o las variaciones de voltaje locales. En tal caso, o bien la STA debe realizarse para más de un conjunto de condiciones, o bien la STA debe estar preparada para trabajar con un rango de posibles retrasos para cada componente, en lugar de un valor único.
Con las técnicas adecuadas, se caracterizan los patrones de variaciones de condición y se registran sus extremos. Cada condición extrema puede denominarse esquina . Los extremos en las características de la celda pueden considerarse como "esquinas de proceso, voltaje y temperatura (PVT)" y los extremos en las características de la red pueden considerarse como "esquinas de extracción". Luego, cada patrón de combinación de esquinas de extracción PVT se conoce como "esquina de tiempo", ya que representa un punto donde el tiempo será extremo. 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 los vértices en el análisis de tiempos estáticos tiene varias limitaciones. Puede ser demasiado optimista, ya que supone un seguimiento perfecto: si una puerta es rápida, se supone que todas las puertas son rápidas, o si el voltaje es bajo para una puerta, también es bajo para todas las demás. Los vértices también pueden ser demasiado pesimistas, ya que el peor de los casos puede ocurrir rara vez. 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. La STA estadística, que reemplaza los retrasos con distribuciones y el seguimiento con correlación, ofrece un enfoque más sofisticado para el mismo problema.
En el análisis de tiempo estático, la palabra estático 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 peor caso del circuito sobre todas las combinaciones de entrada posibles. La eficiencia computacional (lineal en el número de aristas en el gráfico) de este enfoque ha dado como resultado su uso generalizado, aunque tiene algunas limitaciones. Un método que se conoce comúnmente 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 tiempo se refiere al método de la ruta crítica (CPM) [6] que se usa ampliamente en la gestión de proyectos. Si bien los métodos basados en CPM son los dominantes en uso hoy en día, varios analizadores de tiempo han utilizado otros métodos para recorrer gráficos de circuitos, como la búsqueda en profundidad .
Muchos de los problemas más comunes en el diseño de chips están relacionados con la sincronización de la interfaz entre los 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 por parte 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, así como también existen herramientas CAD específicas para verificar que una implementación de una interfaz se ajuste a la especificación funcional (utilizando técnicas como la verificación de modelos ).
El análisis temporal estático estadístico (SSTA) [7] es un procedimiento que se está volviendo cada vez más necesario para manejar las complejidades de las variaciones ambientales y de procesos en los circuitos integrados.
{{cite journal}}
: CS1 maint: multiple names: authors list (link){{cite journal}}
: CS1 maint: multiple names: authors list (link)