Untersucht man ein reales flankengesteuertes Flip-Flop, so fallen zwei Situationen auf, in denen es sich anders verhält, als man vom idealen Flip-Flop erwartet:
- Wechselt der Wert am Dateneingang erst sehr kurz vor der steigenden Taktflanke, dann wechselt der Ausgang Q nicht wie erwartet. Dies geschieht nur dann, wenn der Wechsel eine ausreichende Zeit vor der Taktflanke den neuen zu übernehmenden Wert besitzt.
- Wechselt der Wert am Dateneingang sehr kurz nach der steigenden Taktflanke, so wechselt der Ausgang Q nicht wie erwartet. Also muss der Wert auch eine bestimmte Zeit lang nach der Taktflanke noch den beabsichtigten Wert beibehalten.
Diesen Problemen wird durch zwei Bedingungen an das Timing begegnet:
Das Eingangssignal muss bereits um die Setup-Zeit ts vor und um die Hold-Zeit th nach der steigenden Taktflanke den gewünschten Wert haben.
Die Setup-Zeit ist eingehalten, wenn das Delay des kritischen Pfads kleiner oder gleich der Taktperiode minus der Setup-Zeit beträgt. Um zu prüfen, ob die Hold-Zeit eingehalten wird, muss das minimale Delay berechnet werden. Es muss also nicht nur der längste, sondern auch der kürzeste Pfad im DAG gefunden werden. Das minimale Delay (Länge des kürzesten Pfades) muss mindestens die Hold-Zeit betragen.