Glitch (Elektronik)

Glitch (Elektronik)

In der Elektronik bezeichnet man mit Glitch [glɪtʃ] eine kurzzeitige Falschaussage in logischen Schaltungen und temporäre Verfälschung einer booleschen Funktion. Diese tritt auf, weil die Signallaufzeiten in den einzelnen Gattern niemals vollkommen gleich sind. Diese Verfälschung wird daher auch als Race Condition bezeichnet. Die Anfälligkeit für Glitches steigt mit der Komplexität, der Geschwindigkeitserhöhung und der Verkleinerung der Schaltungen, kann aber auch bereits bei sehr einfachen Schaltungen vorhanden sein. Sie stellen ein wesentliches Problem bei der Entwicklung moderner elektronischer Schaltungen und schneller Mikroprozessoren dar.

Ein Glitch wird manchmal auch als Hazard (engl.: „Gefahr, Risiko, Zufall“) oder Spike (engl.: „Spitze, Dorn“) bezeichnet.

Inhaltsverzeichnis

Beispiel

Glitch1.GIF
Grafik 1 - die Schaltung

Es sei eine Schaltung gegeben, die drei Eingänge besitzt: x1, x2 und x3. Sie soll den Wert „1“ liefern, wenn mindestens eine der beiden Bedingungen erfüllt ist:

  • x1 und x2 sind gleichzeitig „1“ ODER
  • x1 ist gleich „0“ und x3 gleichzeitig „1“

Trifft nicht wenigstens eine der beiden Bedingungen zu, soll sie „0“ ausgeben.

Glitch2.GIF
Situation 1 - Die Schaltung liefert wie gewünscht eine 1

Die Schaltung befinde sich jetzt in Situation 1. Laut unseren Vorgaben ist die erste Bedingung erfüllt, nämlich x1 und x2 sind „1“. Die Verzweigungen, die die Information „1“ tragen, sind rot dargestellt. Der Inverter wandelt die eingehende „1“ in eine „0“ um. Daher lässt das nachfolgende UND-Glied kein Signal mehr durch, gibt also eine „0“ aus. Die gesamte Schaltung (ODER-Glied) liefert aber dennoch eine „1“, da das andere UND-Glied die „1“ liefert.

Glitch3.GIF
Situation 2 - Inverter verursacht einen Glitch

In Situation 2 soll x1 = 0 und x3 = 1 sein. Die Schaltung soll weiterhin eine „1“ ausgeben. Der Inverter benötigt allerdings eine gewisse Zeit, um die Umwandlung des x1-Signals von "0" in eine „1“ wahrzunehmen. Für kurze Zeit ist sowohl x1 = 0, als auch (x1)’ = 0. Dieser Umstand wird so verarbeitet, als ob keine der Bedingungen erfüllt ist und gibt folglich eine „0“ aus. Diese Situation bezeichnet man als Glitch.

Glitch4.GIF
Situation 3 - Die Schaltung gibt wieder den korrekten Wert aus

Nach einiger Zeit – in der Größenordnung von 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“.

Unterscheidungen

Funktions- und Struktur-Glitches

Funktionshazards entstehen durch den gleichzeitigen Belegungswechsel von mehr als einer Variable. Diese Hazards können durch geeigneten Belegungswechsel (Gray-Codierung), durch Taktung oder durch eine Verzögerung (RC-Glied am Ausgang) vermieden werden.

Strukturhazards entstehen bei Schaltungen mit mehr als einer Stufe durch den Wechsel von einem Block im KV-Diagramm (=Gatter in der Schaltung) in einen angrenzenden Block (keine überlappende Blöcke im KV-Diagramm). Diese Hazards können vermieden werden durch die Realisierung redundanter Primkonjunktionen (überlappende Blöcke im KV-Diagramm) oder durch Taktung.

Statische und dynamische Glitches

Es gibt zwei Arten von Glitches: statische und dynamische. Statisch ist ein Glitch dann, wenn kein Wechsel im Ausgabewert erfolgen soll, der Glitch aber kurzzeitig den anderen Wert liefert. Ein dynamischer Glitch springt dagegen nach einem Wechsel auf den neuen Wert noch einmal kurz auf den alten zurück.

Je nach dem, ob der Glitch beim Wechsel auf eine 1 oder auf eine 0 stattfindet, unterscheidet man weiterhin 0-Glitches oder 1-Glitches.

Bedeutung von Glitches

In der Praxis existieren Laufzeitunterschiede auch in Gattern desselben Typs, oder in den unterschiedlich langen Leitungen. Möchte man den exakten Wert der Funktion wissen, muss man eine entsprechende Zeit warten, bis alle Glitches beseitigt sind. Diese Tatsache beschränkt wesentlich die Taktfrequenz moderner Prozessoren.

Beseitigung

Ein wichtiges Hilfsmittel zum Entwurf von Schaltfunktionen sind die Karnaugh-Diagramme. Im Prinzip ist es also möglich, auch größere Schaltungen ohne Glitches zu realisieren. Man benötigt dazu aber weitere Komponenten in der Schaltung, und schon bei etwas komplexeren Aufbauten wird deren Zahl enorm groß, was die Schaltung verteuert. Es gilt, einen guten Kompromiss zu finden zwischen den Kosten des Schaltkreises und der Dauer der Glitches.

Vermeiden der Auswirkung

D-Flip-Flops

Die Auswirkungen von Glitches können in synchronen Schaltungsdesigns durch nachgeschaltete D-Flipflops verhindert werden. Die Idee dabei ist, dass die Ausgänge der kombinatorischen Schaltungsteile, bestehend aus diversen Gattern unterschiedlicher Laufzeit, erst dann gültige Zustände annehmen müssen, wenn die Taktflanke die Ausgangswerte in die D-Flipflops übernimmt. In der Zeit zwischen zwei Taktflanken können im kombinatorischen Teil durch Laufzeiteffekte beliebig viele Glitches auftreten, da diese Zwischenzustände nicht durch das nachgeschaltete D-Flipflop beachtet werden. Der Nachteil ist, dass als kleinste Zeiteinheit die Taktperiode des D-Flipflops auftritt und kein zeitkontinuierliches Ausgangssignal wie bei einer rein kombinatorischen Schaltung mehr vorliegt.

Das Verfahren, die Ausgänge von kombinatorischen Schaltungsteilen immer mit D-Flipflops zu versehen, ist eines der wesentlichen Grundlagen für stabile, digitale Schaltungsdesigns in komplexen, freiprogrammierbaren FPGAs.

Angleichung der Verzögerungszeiten

Im obigen Beispiel könnte dieses Vorgehen darin bestehen, in den oberen Zweig der vom Eingang x1 ausgehenden Leitung ein weiteres (funktionsloses) Gatter einzufügen, damit die Signaländerung die beiden UND-Gatter gleichzeitig erreicht. Dieses Verfahren ist allerdings mit einigen Unsicherheiten behaftet und liefert nicht sicher das gewünschte Ergebnis.

Systematische Vorgehensweise

Die bessere Methode ist die systematische Vorgehensweise. Dazu optimiert man das der betreffenden Schaltung zugrundeliegende KV-Diagramm. Das zum obigen Beispiel gehörende Diagramm zeigt zwei Blöcke, die durch die beiden UND-Gatter realisiert sind (Disjunktive Normalform). Der Hazard entsteht beim Übergang zwischen diesen beiden Blöcken. Aufgelöst wird der Hazard, wenn man diesen Übergang mit einem weiteren, von der Logik her überflüssigen, Block überbrückt, der sich mit beiden Blöcken überlappt. In der resultierenden Schaltung muss dann entsprechend ein weiteres UND-Gatter eingefügt werden. Die Schaltung kann dann aber statisch nicht mehr vollständig getestet werden, da ein fehlerhaftes UND-Gatter nicht auffällt. Der Hazard kann bei den heutigen Gatterlaufzeiten messtechnisch nicht aufgenommen werden.

KV-Diagramm der hazardbehafteten Schaltung
Auflösung des Hazards im KV-Diagramm
Schaltnetz mit Hazard
Schaltnetz mit aufgelöstem Hazard durch zusätzliches Gatter

Zu beachten ist allerdings, dass sich nicht nur unterschiedliche Laufzeiten von einzelnen Gattern in Form von Glitches auswirken können, sondern auch die unterschiedlich langen Laufzeiten der Signale in den Verbindungsleitungen. Dazu müssen die einzelnen Verbindungsleitungen mit Hilfe der Leitungstheorie modelliert werden. Diese Laufzeiten werden bei der systematischen Auflösung mittels KV-Diagrammen nicht beachtet. Daher ist dieses Verfahren nur verwendbar bei vergleichsweise niedrigen Schaltfrequenzen (=quasistationärer Fall) bzw. diskreten Schaltungsteilen, die mit entsprechend abgestimmten Verbindungsleitungen betrieben werden. Bei hohen Signalraten, wobei 100 MHz als grober Richtwert verwendet werden kann, und wenn auf die konkrete Signalführung (z. B. bei einer Verschaltung innerhalb von FPGAs) vom Entwickler nur geringer Einfluss genommen werden kann, liefern auch aufgelöste kombinatorische Schaltungen keine glitch-freien Designs.

Siehe auch


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Glitch — [glɪtʃ] besitzt folgende Bedeutungen: ein Genre der elektronischen Musik, siehe Glitch (Musik) eine temporäre Falschaussage in logischen Schaltungen, siehe Glitch (Elektronik) ein Bild und/oder Tonfehler eines Videos, siehe Glitch (Media)… …   Deutsch Wikipedia

  • Glitch (Musik) — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Clicks Cuts [ˌklɪksənˈkʌts] ist eine experimentelle Spielart der… …   Deutsch Wikipedia

  • Glitch — [glitʃ] der; , es [...iz] <aus engl. glitch »Panne«> störende Spannungsspitze, die beim Betrieb von schnellen Digital analog Umsetzern auftreten kann (Elektronik) …   Das große Fremdwörterbuch

  • Glitch —   [glɪtʃ, englisch] der, / es, Elektronik: störende Spannungsspitze, die beim Betrieb von schnellen Digital analog Umsetzern auftreten kann. Glitches werden z. B. in dem Augenblick erzeugt, in dem sich das Eingangssignal am Umsetzer ändert …   Universal-Lexikon

  • Glitch (Media) — Als Glitch [glɪtʃ] wird in der Fernseh und Videotechnik eine kurzzeitige Falschausgabe von Bild oder Toninhalten bezeichnet, ähnlich den Glitches in der Elektronik. Diese Fehler treten häufig beim Spulen innerhalb eines Filmes bzw. beim… …   Deutsch Wikipedia

  • Instant glitch — Unter dem Begriff Instant Glitch versteht man die Verkopplung von zwei elementaren Elementen in der Elektronik. Hierbei wird ein Befehl (z.B. ein Mausklick) erzeugt und registriert, jedoch nicht ausgeführt, da ein elektronisches Bauteil nicht… …   Deutsch Wikipedia

  • K-Diagramm — Bild 1 1: Karnaugh Veitch Diagramm: ¬AB¬C¬D ∨ A¬B¬C¬D ∨ A¬B¬CD ∨ A¬BC¬D ∨ A¬BCD ∨ AB¬C¬D ∨ ABC¬D ∨ ABCD = AC ∨ B¬C¬D ∨ A¬B …   Deutsch Wikipedia

  • KV-Algorithmus — Bild 1 1: Karnaugh Veitch Diagramm: ¬AB¬C¬D ∨ A¬B¬C¬D ∨ A¬B¬CD ∨ A¬BC¬D ∨ A¬BCD ∨ AB¬C¬D ∨ ABC¬D ∨ ABCD = AC ∨ B¬C¬D ∨ A¬B …   Deutsch Wikipedia

  • KV-Diagramm — Bild 1 1: Karnaugh Veitch Diagramm: ¬AB¬C¬D ∨ A¬B¬C¬D ∨ A¬B¬CD ∨ A¬BC¬D ∨ A¬BCD ∨ AB¬C¬D ∨ ABC¬D ∨ ABCD = AC ∨ B¬C¬D ∨ A¬B …   Deutsch Wikipedia

  • KV-Tafel — Bild 1 1: Karnaugh Veitch Diagramm: ¬AB¬C¬D ∨ A¬B¬C¬D ∨ A¬B¬CD ∨ A¬BC¬D ∨ A¬BCD ∨ AB¬C¬D ∨ ABC¬D ∨ ABCD = AC ∨ B¬C¬D ∨ A¬B …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”