Articulo de referencia

Análisis de sincronización estática estadística

El análisis de temporización estática convencional (STA) ha sido un algoritmo de análisis estándar para el diseño de circuitos digitales desde la década de 1960. [ 1 ] Sin embar...

El análisis de temporización estática convencional (STA) ha sido un algoritmo de análisis estándar para el diseño de circuitos digitales desde la década de 1960. [ 1 ] Sin embargo, la creciente variabilidad en los dispositivos semiconductores y las interconexiones ha introducido una serie de problemas que no pueden ser manejados por el STA tradicional (determinista). Esto ha llevado a una investigación considerable sobre el análisis de temporización estática estadística , que reemplaza la temporización determinista normal de las compuertas y las interconexiones con distribuciones de probabilidad, y proporciona una distribución de posibles resultados del circuito en lugar de un único resultado.

Comparación con la STA convencional

El análisis de STA determinista es popular por buenas razones:

  • No requiere vectores, por lo que no omite rutas.
  • El tiempo de ejecución es lineal con respecto al tamaño del circuito (para el algoritmo básico).
  • El resultado es conservador.
  • Normalmente utiliza algunas bibliotecas bastante sencillas (generalmente retardo y pendiente de salida en función de la pendiente de entrada y la carga de salida).
  • Es fácil extenderlo a operaciones incrementales para su uso en optimización.

Si bien STA ha tenido mucho éxito, presenta una serie de limitaciones:

  • No puede manejar fácilmente la correlación dentro del mismo chip, especialmente si se incluye la correlación espacial.
  • Necesita muchos rincones para manejar todos los casos posibles.
  • Si existen variaciones aleatorias significativas, entonces, para ser conservador en todo momento, resulta demasiado pesimista como para obtener productos competitivos.
  • Los cambios introducidos para solucionar diversos problemas de correlación, como CPPR (Eliminación del pesimismo de la ruta común), hacen que el algoritmo básico sea más lento que el tiempo lineal, o no incremental, o ambas cosas.

SSTA aborda estas limitaciones de forma más o menos directa. En primer lugar, SSTA utiliza sensibilidades para encontrar correlaciones entre los retrasos. Luego, utiliza estas correlaciones para calcular cómo sumar las distribuciones estadísticas de los retrasos.

No existe ninguna razón técnica por la que el análisis estático determinista (STA) no pueda mejorarse para gestionar la correlación y la sensibilidad, manteniendo un vector de sensibilidades con cada valor, como lo hace el análisis estático de sensibilidad (SSTA). Históricamente, esto parecía una carga excesiva para el STA, mientras que era evidente que era necesario para el SSTA, por lo que nadie se quejó. Consulte algunas de las críticas al SSTA a continuación, donde se propone esta alternativa.

Métodos

Existen dos categorías principales de algoritmos SSTA: métodos basados ​​en rutas y métodos basados ​​en bloques.

Un algoritmo basado en rutas [ 2 ] [ 3 ] suma los retardos de las compuertas y los cables en rutas específicas. El cálculo estadístico es sencillo, pero es necesario identificar las rutas de interés antes de ejecutar el análisis. Existe la posibilidad de que otras rutas sean relevantes pero no se hayan analizado, por lo que la selección de rutas es importante.

Un algoritmo basado en bloques [ 4 ] genera los tiempos de llegada (y los tiempos requeridos) para cada nodo, trabajando hacia adelante (y hacia atrás) a partir de los elementos sincronizados. La ventaja es la completitud y la ausencia de necesidad de selección de ruta. El principal problema radica en la necesidad de una operación estadística de máximo (o mínimo) que también considere la correlación, lo cual representa un problema técnico complejo.

Actualmente existen herramientas de caracterización de celdas SSTA disponibles, como la herramienta Variety de Altos Design Automation .

Crítica

Se han formulado varias críticas contra SSTA:

  • Es demasiado complejo, especialmente con distribuciones realistas (no gaussianas).
  • Es difícil integrarlo en un flujo o algoritmo de optimización.
  • Es difícil obtener los datos que necesita el algoritmo. Incluso si se logran obtener, es probable que varíen con el tiempo y, por lo tanto, no sean fiables.
  • Si los clientes de una fábrica la utilizan de forma rigurosa, restringe los cambios que la fábrica podría realizar si modifica las propiedades estadísticas del proceso.
  • El beneficio es relativamente pequeño, comparado con un STA determinista mejorado que también tiene en cuenta las sensibilidades y la correlación. [ 5 ]

Herramientas que realizan análisis de temporización estática

FPGAs

ASICs

  • Synopsys Primetime ( Synopsys PrimeTime )
  • Sistema de cronometraje Cadence Encounter ( Cadence Tempus )
  • IBM EinsTimer
  • ANSYS Path FX ( ANSYS Path FX )

Véase también

Referencias

  1. Kirkpatrick, TI y Clark, NR (1966). "PERT como ayuda para el diseño lógico" . IBM Journal of Research and Development . 10 (2). IBM Corp.: 135– 141. doi : 10.1147/rd.102.0135 .
  2. Orshansky, M.; Keutzer, K. (2002). "Un marco probabilístico general para el análisis de tiempos en el peor de los casos". Actas de la Conferencia de Automatización del Diseño de 2002 (IEEE Cat. No. 02CH37324) . págs. 556–561 . doi : 10.1109/DAC.2002.1012687 . ISBN  1-58113-461-4.
  3. Amin, Chirayu S.; Menezes, Noel; Killpack, Kip; Dartu, Florentin; Choudhury, Umakanta; Hakim, Nagib; Ismail, Yehea I. (2005). "Análisis estadístico de tiempos estáticos: ¿Qué tan simple podemos hacerlo?". Actas de la 42.ª conferencia anual sobre automatización del diseño - DAC '05 . pág. 652. doi : 10.1145/1065579.1065751 . ISBN  1-59593-058-2.
  4. Visweswariah, C.; Ravindran, K.; Kalafala, K.; Walker, SG; Narayan, S.; Be, DK; Piaget, J.; Venkateswaran, N.; Hemmett, JG (2006). "Análisis estadístico de temporización incremental basado en bloques de primer orden". IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems . 25 (10): 2170– 2180. Bibcode : 2006ITCAD..25.2170V . doi : 10.1109/TCAD.2005.862751 .
  5. Menezes, Noel (2007). «Lo bueno, lo malo y lo estadístico». Actas del simposio internacional de 2007 sobre diseño físico . pág. 168. doi : 10.1145/1231996.1232031 . ISBN  978-1-59593-613-4.