In der Elektronik bezeichnet man mit Glitch eine kurzzeitige Falschaussage in logischen Schaltungen. Diese tritt auf, weil die Signallaufzeiten in den einzelnen Gattern niemals vollkommen gleich sind. Die Anfälligkeit für Glitches steigt mit der Komplexität der Schaltungen, kann aber auch bereits bei sehr einfachen Schaltungen vorhanden sein.
Am besten läßt sich der Sachverhalt an einem Beispiel veranschaulichen. So sei eine Schaltung gegeben, die drei Eingänge besitzt: x1, x2 und x3. Sie soll den Wert 1 liefern, wenn eine der beiden Bedingungen erfüllt ist:
- x1 und x2 sind gemeinsam 1
- x1 ist gleich 0 und x3 gleichzeitig 1
Trifft nicht mindestens eine der beiden Bedingungen zu, soll sie 0 ausgeben. Es mag zunächst merkwürdig erscheinen, eine solche Schaltung entwerfen zu wollen; in der Praxis kommt das allerdings häufig vor und dieses Beispiel ist noch sehr einfach. Man realisiert sie nun durch eine Anordnung von logischen Komponenten wie in Grafik 1 dargestellt.
Grafik 1 - die Schaltung
Die Schaltung befinde sich jetzt in 'Situation 1. Laut unseren Vorgaben ist die erste Bedingung erfüllt, nämlich x1 und x2. Die Leitungen für x1 und x3 sind beide auf 1, x2 ist 0. Die Verzweigungen, die die Information "1" tragen, sind rot dargestllt. Der Inverter wandelt die eingehende 1 in eine 0 um. Daher läßt das nachfolgende UND-Glied kein Signal mehr durch, gibt also eine 0 aus. Die gesamte Schltung liefert aber dennoch eine 1, da das zweite UND-Glied die 1 liefert. Interessant wird es, wenn x1 deaktiviert wird.
Situation 1 - Die Schaltung liefert wie gewünscht eine 1
Das führt zur Situation 2: da x1 = 0 und x3 = 1, soll die Schaltung weiterhin eine 1 ausgeben. Der Inverter benötigt allerdings eine gewisse Zeit, um die Änderung des x1-Signals wahrzunehmen und in eine 1 umzuwandeln. D.h. für kurze Zeit ist sowohl x1=0, als auch nicht-x1. Dieser Umstand wird so verarbeitet, als ob keine der Bedingungen erfüllt ist und gibt folglich eine 0 aus. Genau diese Situation bezeichnet man als Glitch.
Situation 2 - Inverter verursacht einen Glitch
Nach einiger Zeit (Nanosekunden!) befindet sich die Schaltung in Situation 3: der Inverter hat die neue Information verarbeitet. Die jetzt ausgegebene 1 läuft in das UND-Gatter, welches (wieder nach kurzer Verzögerung) dann auch eine 1 liefert. Die gesamte Schaltung liefert nun die gewünschte 1.
Situation 3 - Die Schaltung gibt wieder den korrekten Wert aus
In Wirklichkeit existieren Laufzeitunterschiede auch in Gattern desselben Typs, und selbst in den unterschiedlich langen Leitungen. Möchte man den exakten Wert der Funktion wissen, muß man eine entsprechende Zeit warten bis alle Glitches beseitigt sind. Diese Tatsache beschränkt wesentlich die Taktrate moderner Prozessoren.