Ein nicht-unatiertes Timing-Edge ist ein Taktsignal, das durch eine Art Block geht, der die Richtung des Edge nicht aufrechterhält.
Normale Taktsignale, die durch die Logik zu Registern geleitet werden, sind unate. Dies bedeutet, dass ein ansteigender Rand, der in die Logik eingeht, nur einen ansteigenden Rand an der Ausgabe der Logik verursachen kann und ein fallender Rand, der in die Logik eingeht, nur einen fallenden Rand an der Ausgabe verursachen kann.
Beispiele für unate Funktionen sind AND, OR und die Dateneingabe zu einem mux.
Beispiele für nicht-unatierte Funktionen sind XOR und die Select-Eingabe zu einem mux.
Taktfrequenzen sollten nur über unate Funktionen geleitet werden, andernfalls könnte der Takt phasenversetzt um 180 ° oder die Frequenz verdoppelt werden. Der Timing Analyzer baut seine Analyse auf den Takt auf, der nicht invertiert wird, und gibt eine Warnung aus, wenn nicht-unate Funktionen erkannt werden.