Inhalt | Vorheriges Kapitel | Nächstes Kapitel |
Die Ursachen für Hazardimpulse
an den VN-Ausgängen liegen in der Struktur der realisierten
Schaltung. Für das Auftreten von Störimpulsen können
verschiedene Gründe verantwortlich sein, entsprechend kann
auch der zur Störungsbeseitigung erforderliche Aufwand sehr
unterschiedlich sein.
Ihren Ursachen (und auch dem Beseitungsaufwand)
entsprechend können die Hazards eingeteilt werden in:
Ihrem Verhalten nach können Hazards weiterhin unterschieden werden in:
Die Erscheinungsbilder dieser Hazards
werden in den folgenden Impulsdiagrammen verglichen:
Abb. 5.5: Hazard-Klassifizierung.
Definition des Logik-Hazards:
Derartige Signalwechsel werden als
"Einkomponenten-Übergänge" bezeichnet.
Zum Auftreten eines derartigen Logik-Hazardimpulses
müssen drei Bedingungen erfüllt sein:
Die ersten beiden Voraussetzungen
sind fast immer in einem Verknüpfungsnetz anzutreffen, zeitverzögerte
Signale laufen dementsprechend zusammen z.B. an einem ODER- oder
einem AND-Gatter, so daß statische Hazards entstehen können:
Abb. 5.6: Entstehung von Hazards.
Ein statischer 1-Hazardimpuls tritt
meistens an einem ODER-Gatter auf. Im Beispiel (s.o.) sind die
Verhältnisse so, daß auf Grund der Laufzeitverhältnisse
zwischen den Umschaltvorgängen der Signale x0
und x1
kurzzeitig beide Eingänge den Wert '0' annehmen. Es tritt
ein 1-Hazard auf (y0 = 0).Abhilfe
könnte in diesem Fall durch Einbau eines Zusatzterms x0·x2
geschaffen werden, der während des Einkomponenten-Überganges
stabil auf '1' bleibt und damit den Funktionswert auf '1' hält.
Ein statischer 0-Hazardimpuls tritt in ähnlicher Weise an einem UND-Gatter auf (s.o.), wenn die auf '0' wechselnde Flanke des Einganges x0 relativ zur Flanke an x1 verzögert eintrifft.
Abhilfe schafft wiederum ein zusätzlicher
gemeinsamer Term x2,
der für diesen Einkomponenten-Übergang stabil auf '0'
bleibt.
Im eingangs diskutierten Beispiel kann der Logik-Hazard durch ein zusätzliches Gatter beseitigt werden, das den Term x0·x2 realisiert.
Wie am KV-Diagramm ersichtlich, entspricht
dieser logisch redundate Term einem absolut eliminierbaren Primimplikanden.
Als hazardfreies Verknüpfungsnetz
ergit sich damit für dieses Beispiel:
Abb. 5.7: Erzeugung eines hazardfreien Verknüpfungsnetzes.
Abb. 5.8: KV-Diagramm mit Zusatzterm x0·x2
Zur Vervollständigung soll die
Beispielfunktion nicht in UND/ODER-Form sondern konjunktiv in
ODER/UND-Form realisiert werden.
Abb. 5.9: Verknüpfungsnetz in ODER/UND-Form (mit zusätzlichem
ODER-Gatter zur Hazard-Maskierung).
Die so entstandene Schaltung enthält
jetzt einen 0-Hazard, in diesem Fall für den Einkomponenten-Übergang
bei konstanten Werten x0 = x2 = '0':
Abb. 5.10: Impulsdiagramm.
Auch in diesem Fall wird der Hazard
durch Einführung eines logisch redundanten Gatters beseitigt.
Der benötigte Zusatzterm entspricht
wiederum einem absolut eliminierbaren Primimplikanden (sieh KV-Diagramm
Abb. 5.11).
Abb. 5.11: KV-Diagramm mit Zusatzterm
Funktionsgleichung (KNF) mit Zusatzterm:
Aus den hier durchgeführten
Betrachtungen kann also unmittelbar abgeleitet werden:
Logik-Hazards können immer durch Änderung der Schaltungs-struktur beseitigt werden.
Zur Vermeidung von Logik-Hazards
ist die schaltungs-technische Realisierung aller Primimplikanden
(auch der eliminierbaren) ausreichend.
Definition des Funktions-Hazards:
Derartige Signalwechsel werden als
"Mehrkomponenten-Übergänge" bezeichnet.
An der oben benutzten Beispielschaltung
kann aufgezeigt werden, daß diese Form der Hazards auf Grund
der Betriebsart sehr leicht auftritt.
Auch wenn Logik-Hazards bereits beseitigt
wurden, führen gleichzeitige Übergänge
bzw. der umgekehrte Schaltvorgang zu einem Hazard.
Am KV-Diagramm kann diese Situation beobachtet werden:
Abb. 5.12: KV-Diagramm mit Funktions-Hazard
Infolge der mit der Signal-Invertierung verbundenen Laufzeitunterschiede können die Wechsel nicht exakt gleichzeitig (im KV-Diagramm auf der Diagonalen) stattfinden.
Findet der reale Übergang auf
dem Weg (1) statt, so wird der Funktionsdefinition entsprechend
kurzzeitig der Funktionswert '0' ausgegeben. Auf dem Übergangsweg
(2) hingegen wird kein Funktions-Hazard auftreten, da kein wechselnder
Funktionswert erzeugt wird.
Funktions-Hazards sind also die Eigenschaft
Boolescher Funktion und damit der zugehörigen digitalen Schaltungen.
Zur Verhinderung von Funktions-Hazards
muß der verantwortliche Mehrkomponenten-Übergang in
eine Folge von Einkomponenten-Übergängen zerlegt werden,
so daß kein Wechsel der Funktionswerte mehr auftreten kann.
Diese Einkomponenten-Übergänge müssen natürlich
frei von Logik-Hazards sein.
Durch diese Maßnahmen wird
der Schaltungsbetrieb meistens allerdings stark verlangsamt. Abhilfe
kann in diesem Fall nur durch Einsatz "synchroner" Schaltungen
geschaffen werden.
Dynamische Hazard-Impulse entstehen
durch statische Hazards, die unmittelbar vor dem Wechsel eines
Ausgangssignals auftreten. Sie haben damit zwei Ursachen:
Auf Grund eines Logik- bzw. Funktions-Hazards existiert ein statischer Hazard-Impuls,
der beabsichtigte Signalwechsel,
der den Hazard maskieren würde, wird zu spät eingeleitet,
d.h. erst nach Auftreten des Hazard-Impulses.
Abb. 5.13: Enstehung eines dynamischen 1-Hazard-Impulses
Derartige dynamische Hazards können
nur verhindert werden, wenn die ursächlichen Logik-Hazards
beseitigt werden.
Beispiel einer Schaltung mit dynamischem Hazard:
Als Beispiel für eine Schaltung
mit dynamischem Hazard soll die folgende Boolesche Funktion realisiert
werden:
Dieser Booleschen Funktion entspricht als Schaltungsrealisierung:
Abb. 5.14: Schaltung mit dynamischem Hazard.
Das zugehörige Impulsdiagramm
untersucht die zeitliche Entwicklung der beteiligten Signale.
Es zeigt sich deutlich, daß das Ausgangssignal y0
sich zunächst auf den neuen '1'-Pegel einstellt. Auf Grund
des statischen 1Hazards, der am Zwischensignal 4 auftritt,
kommt es dann jedoch für die Dauer einer Gatterverzögerung
zu einem Einbruch. Dieser dynamische 1Hazards kann offenbar
nur vermieden werden durch Beseitigung des ursächlichen statischen
Hazards.
Abb. 5.15: Impulsdiagramm
Inhalt | Vorheriges Kapitel | Nächstes Kapitel |