Los tiempos de configuración y retención de un flip flop D especifican un intervalo durante el cual cualquier cambio en la entrada de datos puede causar un comportamiento arbitrario. Si un flip-flop tiene un tiempo de configuración de 7 ns y un tiempo de espera de 5 ns, eso significa que si un borde de reloj ocurre dentro de 7 ns después de un cambio de entrada, o la entrada cambia dentro de 5 ns después de un borde de reloj, no se garantiza el comportamiento del pestillo . Es posible que el tiempo de configuración o de espera (pero no ambos) sea negativo; la magnitud del otro busto de tiempo será mayor que la del tiempo negativo. Si hubiera un pestillo, por ej. un tiempo de configuración especificado de 11 ns y un tiempo de espera de -4 ns, significaría que el comportamiento del pestillo estaría garantizado a menos que la entrada del reloj cambiara entre 11 y 4 ns después de un cambio en la entrada de datos.
Tenga en cuenta que si bien los tiempos de configuración y de espera generalmente se especifican como máximos, en realidad son valores absolutos en el peor de los casos, ya que el fabricante no ofrece ninguna garantía en cuanto a lo que sucedería si se violaran. Por ejemplo, supongamos que el chip X tiene 10ns de configuración y tiempo de espera, mientras que el chip Y tiene 1ns de configuración y tiempo de espera, y que ambos chips reciben una señal de datos que cambia 7ns antes del borde del reloj. Se requeriría el chip Y para bloquear la señal de datos correctamente; el chip X puede hacer casi cualquier cosa, incluido el bloqueo de la señal de datos correctamente, y se considera que cumple con las especificaciones. No tendría sentido que un fabricante especificara un tiempo de configuración mínimo (a menos que la intención fuera realmente especificar que el tiempo de retención máximo fuera negativo, en cuyo caso eso es lo que debería decir la especificación).
Casi cualquier proceso que se use para hacer flip flops garantizará efectivamente que el tiempo de propagación más corto para cualquiera de los flip flops en el chip sea más largo que el tiempo de configuración más largo para cualquier flip flops especificado de manera similar. En la mayoría de los casos, esta garantía parece extenderse efectivamente a otros chips en el mismo lote de fabricación, pero no está claro hasta qué punto se extiende realmente. En muchos casos, los fabricantes especifican que el tiempo de retención de un chip no será mayor que cierta cantidad, y que el tiempo de propagación no será mayor que una cierta cantidad, pero a menos que el tiempo de retención sea cero o negativo o se especifique un tiempo de propagación mínimo y es más largo que el tiempo de espera requerido, no creo que las hojas de datos realmente especifiquen la operación correcta para los latches en cascada. Ciertamente, es posible tener problemas al introducir la salida de datos de un chip muy rápido en la entrada de datos de un chip lento con un tiempo de retención largo.
Un enfoque que se usa con algunos protocolos como SPI, y es un enfoque que me gustaría ver más usado, es tener la etapa de salida de cada cambio de cierre en el borde opuesto del reloj desde la entrada. No estoy seguro de por qué este enfoque no se utiliza más; mientras que hay momentos en que sería innecesario y derrochador (si se sabe que el tiempo de propagación de los circuitos entre dos pestillos sería suficiente para satisfacer el tiempo de retención del cerrojo descendente, teniendo la salida del cerrojo ascendente en el mismo reloj) El borde al muestrear el latido descendente permitiría velocidades de reloj más altas), también hace posible garantizar la corrección de muchos circuitos que involucran familias de lógica mixta, algo que de otra manera podría ser difícil.