Cierre de tiempo


Dentro de la electrónica , un cierre de temporización es el proceso mediante el cual se modifica un diseño lógico que consiste en elementos primitivos como puertas lógicas combinatorias ( and, or, not, nand, nor, etc.) y puertas lógicas secuenciales (flip flops, latches, memorias) para cumplir con su temporización. requisitos A diferencia de un programa de computadora donde no hay una demora explícita para realizar un cálculo, los circuitos lógicos tienen demoras intrínsecas y bien definidas para propagar las entradas a las salidas.

En casos simples, el usuario puede calcular manualmente el retraso de la ruta entre elementos. Si el diseño tiene más de una docena de elementos, esto no es práctico. Por ejemplo, el tiempo de retardo a lo largo de una ruta desde la salida de un D-Flip Flop, a través de puertas lógicas combinatorias, luego a la siguiente entrada de D-Flip Flop debe satisfacer (ser menor que) el período de tiempo entre la sincronización de pulsos de reloj a los dos chancletas. Cuando el retraso a través de los elementos es mayor que el tiempo del ciclo del reloj, se dice que los elementos están en el camino crítico. El circuito no funcionará cuando el retraso de la ruta exceda el retraso del ciclo del reloj, por lo que modificar el circuito para eliminar la falla de tiempo (y eliminar la ruta crítica) es una parte importante de la tarea del ingeniero de diseño lógico. La ruta crítica también define el retraso máximo en todas las rutas múltiples de registro a registro, y no necesita ser mayor que el tiempo del ciclo del reloj. Después de cumplir con el cierre de temporización, uno de los métodos para mejorar el rendimiento del circuito es insertar un registro entre la ruta combinacional de la ruta crítica. Esto podría mejorar el rendimiento, pero aumenta la latencia total (número máximo de registros desde la ruta de entrada a la de salida) del circuito.

Muchas veces, los cambios de circuitos lógicos son manejados por las herramientas EDA del usuario en función de las directivas de restricción de tiempo preparadas por un diseñador. El término también se usa para el objetivo que se logra, cuando dicho diseño ha llegado al final del flujo y se cumplen sus requisitos de tiempo.

Los pasos principales del flujo de diseño, que pueden estar involucrados en este proceso, son la síntesis lógica , la ubicación , la síntesis del árbol de reloj y el enrutamiento . Con las tecnologías actuales, todos deben tener en cuenta el tiempo para que un diseño cumpla adecuadamente con sus requisitos de tiempo, pero con tecnologías en el rango del micrómetro, solo las herramientas EDA de síntesis lógica tenían ese requisito previo.

Sin embargo, incluso si la conciencia del tiempo se extendiera a todos estos pasos a partir de principios bien establecidos utilizados para la síntesis lógica, las dos fases, lógica y física, del proceso de cierre del tiempo son manejadas convencionalmente por diferentes equipos de diseño y diferentes herramientas EDA. Design Compiler de Synopsys, Encounter RTL Compiler de Cadence Design Systems y BlastCreate de Magma Design Automation son ejemplos de herramientas de síntesis lógica. IC Compiler de Synopsys, SoC Encounter de Cadence Design Systems y Blast Fusion de Magma Design Automation son ejemplos de herramientas capaces de ubicación consciente del tiempo, síntesis de árbol de reloj y enrutamiento y, por lo tanto, se utilizan paracierre de tiempo físico .

Cuando el usuario requiere que el circuito cumpla con restricciones de tiempo excepcionalmente difíciles, puede ser necesario utilizar programas de aprendizaje automático [1] , como InTime de Plunify, para encontrar un conjunto óptimo de parámetros de configuración de herramientas de síntesis, mapa, ubicación y ruta de FPGA que asegura que el circuito cerrará el tiempo.