Tiempos de Setup y Hold

Restricciones de temporizado de flip-flops, metaestabilidad y cómo prevenir violaciones de temporizado.

Los flip-flops requieren que su entrada de datos sea estable durante un tiempo mínimo antes del flanco de reloj (tiempo de setup) y después del flanco de reloj (tiempo de hold). Violar estas restricciones causa metaestabilidad—un estado impredecible que puede propagar errores a través de todo un sistema. Comprender los tiempos de setup y hold es crítico para un diseño síncrono confiable.

Objectives

  • Definir el tiempo de setup (tsu), tiempo de hold (th) y retardo de reloj a salida (tco)
  • Explicar por qué las violaciones de temporizado causan metaestabilidad
  • Calcular la holgura de temporizado (positiva = seguro, negativa = violación)
  • Determinar la frecuencia máxima de reloj a partir de los parámetros de temporizado
  • Diseñar circuitos que eviten violaciones de temporizado

Key Takeaways

  • Tiempo de setup: datos estables antes del flanco de reloj; tiempo de hold: estables después
  • Las violaciones causan metaestabilidad (salida impredecible)
  • La holgura de setup determina la frecuencia máxima
  • Las violaciones de hold son independientes de la frecuencia de reloj
  • Las cadenas de sincronizadores protegen contra la metaestabilidad de entradas asíncronas

Applications

  • Cierre de Temporizado en FPGA: Cumplir las restricciones de setup y hold en todos los caminos.
  • Cruce de Dominios de Reloj: Los sincronizadores previenen la metaestabilidad entre dominios de reloj.
  • Diseño de PCB: La igualación de longitud de pistas asegura el cumplimiento del tiempo de hold.
  • Interfaces de Memoria: DDR SDRAM requiere temporizado preciso de setup/hold para buses de datos y direcciones.

Practice Problems

Problem 1: Un flip-flop tiene tsu = 2 ns, th = 1 ns, tco = 3 ns. La lógica entre dos flip-flops tiene tpd = 8 ns. ¿Cuál es el período mínimo de reloj?

Problem 2: Con tco = 3 ns, retardo mínimo de lógica = 2 ns, y th = 1 ns, ¿se cumple el tiempo de hold?

Problem 3: ¿Por qué las cadenas de sincronizadores usan 2 o 3 flip-flops en lugar de solo 1?

Problem 4: Un sistema opera a 100 MHz. El flip-flop tiene tco = 2 ns, tsu = 1.5 ns. ¿Cuál es el retardo máximo permitido de lógica combinacional?