4.7 mehr über laufzeiteffekte in schaltungen · • die struktur des schaltnetzes, d.h. anzahl,...

24
282 Hazards können besonders die Funktion von Schaltwerken stören. Sie werden dann Races (Rennen, Wettläufe) genannt. Dabei wer- den die falschen Werte der Ausgangsvariablen eines Schaltnetzes von Speichergliedern aufgenommen und auf den Eingang des Schaltnetzes rückgekoppelt. Zur Vermeidung von Races werden taktflankengesteuerte Spei- cherglieder benutzt: die Information wird erst dann in die Spei- cherglieder übernommen, wenn die Hazards abgeklungen sind und am Schaltnetzausgang ein stabiler, gültiger Signalzustand anliegt. 4.7 Mehr über Laufzeiteffekte in Schaltungen (aus Skriptum Technische Informatik II von Prof. Rosenstiel, ursprünglich von B. Baum-Waidner) Wir simulieren das reale zeitliche Verhalten eines Schaltnetzes durch ein einfaches Totzeitmodell. Ein reales Verknüpfungsglied (Gatter) wird modelliert durch ein ideales Verknüpfungsglied ohne Verzögerungsanteil und ein Totzeitglied als reines Verzögerungsglied. Dieses steht für die Schaltzeit des Gatters und ggf. für Leitungsverzögerungen.

Upload: vuonglien

Post on 19-Aug-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

282

Hazards können besonders die Funktion von Schaltwerken stören.Sie werden dann Races (Rennen, Wettläufe) genannt. Dabei wer-den die falschen Werte der Ausgangsvariablen eines Schaltnetzesvon Speichergliedern aufgenommen und auf den Eingang desSchaltnetzes rückgekoppelt.

Zur Vermeidung von Races werden taktflankengesteuerte Spei-cherglieder benutzt: die Information wird erst dann in die Spei-cherglieder übernommen, wenn die Hazards abgeklungen sind undam Schaltnetzausgang ein stabiler, gültiger Signalzustand anliegt.

4.7 Mehr über Laufzeiteffekte in Schaltungen

(aus Skriptum Technische Informatik II von Prof. Rosenstiel,ursprünglich von B. Baum-Waidner)

Wir simulieren das reale zeitliche Verhalten eines Schaltnetzesdurch ein einfaches Totzeitmodell.

Ein reales Verknüpfungsglied (Gatter) wird modelliert durch

• ein ideales Verknüpfungsglied ohne Verzögerungsanteil und

• ein Totzeitglied als reines Verzögerungsglied. Dieses steht fürdie Schaltzeit des Gatters und ggf. für Leitungsverzögerungen.

283

Das zeitliche Verhalten einer binären Größe hinter einem Totzeit-glied mit der Totzeit ist dasselbe wie vor dem Totzeitglied, aberum die Zeit versetzt.

Abb. 181: Zeitabhängigkeiten bei einem Totzeitglied

Für dieses Modell gelten die folgenden Eigenschaften:

Addierbarkeit:

Zwei beliebige hintereinanderliegende Totzeiten können addiertund durch ihre Summe ersetzt werden.

Abb. 182: Addierbarkeit von Totzeitgliedern

ττ

b t( ) a t τ1–( )c t( ) b t τ2–( ) a t τ2–( ) τ1–( ) a t τ2 τ1+( )–( )= = =

=

284

Durchschiebbarkeit:

Ein Totzeitglied, das hinter einem Gatter mit beliebiger Verknüp-fungsfunktion liegt, kann durch das Gatter hindurch in alle Ein-gänge vorgeschoben werden.

Hazards:

Wünsche an Schaltnetze:

• Wenn bei einer Änderung der Eingangsbelegung beide Ein-gangsbelegungen denselben logischen Verknüpfungswert lie-fern, dann soll sich der Ausgang nicht ändern.

• Liefern die beiden Eingangsbelegungen verschiedene logischeAusgaben, so soll sich der Ausgang genau einmal ändern.

f

y' t( ) f a1 t( ) … an t( ), ,( )y t( ) y' t τ–( ) f a1 t τ–( ) … an t τ–( ), ,( )

== =

285

Realität: beide Wünsche sind nicht immer erfüllt.

Beispiel: Gegeben sei die folgende Schaltung

Abb. 183: Beispiel einer Schaltung im Totzeitmodell

Es sollen die beiden Eingabewechsel betrachtet werden:

a) Der Eingang wechsle von 0 auf 1,

b) der Eingang wechsle von 1 auf 0.

Die Eingänge und seien konstant 1.

Die Schaltung realisiert die Funktion .

Die Belegung liefert den Wert ,die Belegung ebenfalls.

Das korrekte Verhalten der Schaltung bei einem Wechsel nach a)bzw. nach b) wäre in beiden Fällen, daß der Ausgang konstant denWert 1 behält.

Das tatsächliche Verhalten sieht aber wie folgt aus:

e1

e1

e2 e3

a e1e2 e1e3∨=

e3 e2 e1, ,( ) 1 1 0, ,( )= a 1=e3 e2 e1, ,( ) 1 1 1, ,( )=

286

Abb. 184: Impulsdiagramm zu den Eingabewechseln a) und b).

a) Hier liefert das Ausgangssignal nicht ständig den logisch kor-rekten Funktionswert 1, sondern zwischendurch einmal denWert 0. Es tritt ein Hazardfehler auf.

b) Hier behält der Ausgang ständig den Wert 1, was korrekt underwünscht ist.

287

Definitionen zu Hazards

Ein Eingabewechsel ist die Änderung einer oder mehrerer Einga-bevariablen zu einem bestimmten Zeitpunkt. Falls sich mehrereEingabevariablen ändern, so müssen sie dies gleichzeitig tun.

Ein Übergang ist der Vorgang im Schaltnetz, der vom Eingabe-wechsel ausgelöst wird, mit diesem beginnt und mit dem Eintretendes neuen Ruhezustandes endet.

Wechselt die Eingabe von der Eingabebelegung zur Eingabebe-legung , so wird sowohl der Eingabewechsel als auch der Über-gang mit bezeichnet.

Im Beispiel wurde der Übergang :betrachtet.

Für das Weitere sollen folgende Einschränkungen gelten:

• Alle Eingangswechsel sollen so stattfinden, daß zwischen zweiaufeinanderfolgenden Eingabewechseln das Schaltnetz zurRuhe kommt. Dies erlaubt die Betrachtung der einzelnen Über-gänge unabhängig voneinander.

• Alle Verzögerungen (Schalt- und Laufzeiten) seien endlich.

• Es wird immer nur ein Ausgang betrachtet.

Ein Hazardfehler ist eine mehrmalige Änderung der Ausgangsva-riablen während eines Übergangs.

Ein Hazard ist die durch das Schaltnetz gegebene logisch-struktu-relle Vorbedingung für einen Hazardfehler, ohne Berücksichtigungder konkreten Verzögerungswerte.

Dies bedeutet, daß ein Hazard eine Eigenschaft eines bestimmtenÜbergangs im Schaltnetz ist.

EiE j

Ei E j→

e3 e2 e1, ,( ) 1 1 0, ,( ) 1 1 1, ,( )→

288

Zur Betrachtung, ob ein bestimmter Übergang hazardbehaftet istoder nicht, interessiert nur

• die logische Funktion, die durch das Schaltnetz realisiert wird,

• die Struktur des Schaltnetzes, d.h. Anzahl, Verknüpfungsfunk-tionen und topologische Anordnung der Verknüpfungsglieder,

nicht jedoch die tatsächlichen Verzögerungswerte der Gatter.

Tritt in einem konkreten Schaltnetz bei einem bestimmten Über-gang ein Hazardfehler auf, so ist dieser Übergang hazardbehaftet:

Die Umkehrung gilt jedoch nicht! Ist ein Übergang hazardbehaftet,so folgt nicht notwendigerweise das Eintreten eines Hazardfehlers:

Ändert man die Totzeit im Beispiel vom Wert auf den Wert ,so entsteht für den Übergang nach Fall a) kein Hazard mehr. DerÜbergang ist jedoch nach wie vor hazardbehaftet, da für denHazard konkrete Verzögerungswerte nicht interessieren

Ein Übergang, bei welchem Anfangs- und Endwert des Ausgangs-signals gleich sind, heißt statischer Übergang (unabhängig davon,ob ein Hazardfehler eintritt oder nicht).

• Sind Anfangs- und Endwert des Ausgangssignals beide 0, sospricht man von einem statischen 0-Übergang,

• sind sie beide 1, so spricht man von einem statischen 1-Über-gang.

Der Übergang im Beispiel ist ein statischer 1-Übergang.

Hazardfehler Hazard⇒

3τ τ

Hazard ungünstige Verzögerungswerte+ Hazardfehler⇒

1 1 0, ,( ) 1 1 1, ,( )→

289

Ein Übergang, bei welchem Anfangs- und Endwert des Ausgangs-signals verschieden sind, heißt dynamischer Übergang.

• Ist der Anfangswert des Ausgangssignals 0, der Endwert 1, sospricht man von einem dynamischen 01-Übergang,

• im anderen Fall spricht man von einem dynamischen 10-Über-gang.

Analog zu den Übergängen werden auch die Hazards als statischoder dynamisch bezeichnet, je nachdem, bei welcher Art vonÜbergang sie auftreten:

• Ein Hazard in einem statischen 0-Übergang heißt statischer 0-Hazard.

• Ein Hazard in einem statischen 1-Übergang heißt statischer 1-Hazard.

• Ein Hazard in einem dynamischen 01-Übergang heißt dynami-scher 01-Hazard.

• Ein Hazard in einem dynamischen 10-Übergang heißt dynami-scher 10-Hazard.

290

Unabhängig von den bisherigen Unterscheidungskriterien unter-scheidet man Hazards auch nach ihrer Ursache in

• Funktionshazards und

• Strukturhazards.

Ein Funktionshazard ist ein Hazard, dessen Ursache in der zu rea-lisierenden Funktion liegt (und deshalb in jedem möglichen Schalt-netz mit dieser Funktion auftreten muß). Ein Funktionshazard istnicht behebbar.

Für ein konkretes Schaltnetz kann evtl. der Funktionshazardfehlerbehoben werden (durch geeignete Wahl der Verzögerungszeiten),nie aber der Hazard selbst.

Ein Strukturhazard ist ein Hazard, dessen Ursache in der Strukturdes realisierten Schaltnetzes liegt. Ein Strukturhazard ist grund-sätzlich behebbar durch Änderung der Struktur des Schaltnetzesunter Beibehaltung der Funktion.

Zum Erkennen v.... benötigt man ...

Funktion desSchaltnetzes

Struktur desSchaltnetzes

konkrete Ver-zögerungen

Funktions-hazardsStruktur-hazardsFunktions-hazardfehlerStruktur-hazardfehler

Tab. 12. Überblick über Hazards und Hazardfehler

291

Erkennen eines Funktionshazards:

• Man stelle das KV-Diagramm der Funktion auf und markieredas Feld der Anfangsbelegung und das der Endbelegung desbetrachteten Eingabewechsels.

• Man stelle fest, welche Eingangsvariable am Wechsel beteiligtsind.

• Für jeden der möglichen Pfade vom Feld der Eingangsbele-gung zum Feld der Ausgangsbelegung, der nur durch Ände-rung jeweils einer am Eingabewechsel beteiligtenEingangsvariable gebildet wird, wird geprüft:

• ob bei diesem Pfad die Folge der zugehörigen Funktions-werte (0 oder 1 im KV-Diagramm) nicht monoton ist, d.h.der Funktionswert mindestens zweimal wechselt.

Existiert ein solcher Pfad mit mehrfachem Wechsel des Funktions-wertes, so besitzt die Funktion einen Funktionshazard.

Beispiele monotoner Folgen von Funktionswerten:

0-0-0-0, 0-0-1-1, 1-1-1-0, 1-1-1-1

Beispiele nicht-monotoner Folgen von Funktionswerten:

0-0-1-0, 0-1-0-1, 1-0-1-0, 1-0-0-1

Ein beliebiger Übergang ist genau dann hazardbehaftet, wenn diesauch für den Übergang in umgekehrter Richtung gilt.

Dies kann man jedoch nicht für Hazardfehler sagen!

n!

292

Beispiel: Man betrachte wieder den Übergang :

Es ändert sich nur die Variable . Daher gibt es nur einen Weg,der gerade aus Anfangs- und Endwert des Übergangs besteht. DieFolge der zugehörigen Funktionswerte muß monoton sein, da eshöchstens einen Wechsel geben kann. Die Folge heißt hier 1-1.Dieser Übergang enthält also keinen Funktionshazard.

Dies bedeutet nicht, daß überhaupt kein Hazard existiert. Tatsäch-lich besitzt der Übergang einen Strukturhazard.

Allgemein gilt: Ein Übergang, bei dem nur eine Eingangsvariablewechselt, enthält keinen Funktionshazard!

Man betrachte den Übergang : .Hier sind die Variable und am Übergang beteiligt. Es gibt 2Wege:

e3 e2 e1, ,( )1 1 0, ,( ) 1 1 1, ,( )→

e1

e3 e2 e1, ,( ) 0 1 0, ,( ) 1 1 1, ,( )→e1 e3

293

Der erste dieser Wege liefert als Folge der Funktionswerte dienicht-monotone Folge 1-0-1. Dies bedeutet: der Übergang ist miteinem Funktionshazard behaftet. Daß der zweite Weg eine mono-tone Folge liefert, spielt keine Rolle mehr.

Im zuvor betrachteten Schaltnetz führt gerade der Übergang, beidem sich der Wechsel von von 0 auf 1 schneller über den oberenPfad auf den Ausgang a auswirkt, als auf dem unteren Pfad, zueinem Hazardfehler.

Abb. 185: Hazardfehler.

Man kann einem Impulsdiagramm von alleine nicht ansehen, obder entstandene Hazardfehler einem Funktionshazard entspringtoder einem Strukturhazard.

e1

294

Beseitigung eines Strukturhazards

Man erreicht die Beseitigung eines statischen 1-Strukturhazardsdurch eine zusätzliche Realisierung desjenigen Terms, der genauaus der Konjunktion (UND) derjenigen Variablen besteht, die sichim betrachteten Übergang nicht ändern (negiert bzw. nicht negiert,je nach der Belegung), und durch die ODER-Verknüpfung desErgebnisses mit dem Ausgang.

Begründung:

• Die Felder dieses Terms im KV-Diagramm der Funktion beste-hen aus der Menge all derjenigen Felder, die entlang einesWeges von der Anfangs- zur Endbelegung des betrachtetenÜbergangs durchlaufen werden können (Übergangsbereich).

Diese müssen alle den Funktionswert 1 erhalten, da es sichnicht um einen Funktionshazard handelt. Also ist die Realisie-rung dieses Terms möglich.

• Hat man diesen Term realisiert, so liegt sowohl der Mintermder Anfangsbelegung als auch der der Endbelegung in diesemTerm: der Term liefert zu Beginn und am Ende den Wert 1.

Alle Eingangsvariablen dieses Termes sind - per Konstruktion -nicht von dem Eingangswechsel betroffen, also behält dieserTerm während des gesamten Übergangs den Wert 1. Daherliegt der Ausgang des dazugehörigen UND-Gatters ebenfallsständig auf 1, wodurch der Ausgang der Funktion nie 0 werdenkann.

Auf duale Weise kann man auch statische 0-Hazards beseitigen,indem man einen zusätzlichen Disjunktionsterm (ODER) realisiert,der den Übergangsbereich umfaßt, und diesen durch UND mit demAusgang verknüpft.

295

Beispiel zur Beseitigung eines Strukturhazards:

Für das Schaltnetz des Beispiels ist der Übergang : behaftet mit einem Strukturhazard. Dieser

soll wie angegeben behoben werden.

Nur die Variablen und bleiben konstant, und zwar auf 1. Derzusätzliche Term lautet daher , wobei keine der Variablennegiert wird. Er wird mit den schon vorhandenen Termen vor demAusgang durch das ODER-Gatter verknüpft (siehe Abb. ).

Abb. 186: Schaltnetz ohne Strukturhazard für

Man sieht: das untere Verknüpfungsglied, das den Term reali-siert, bleibt während des Übergangs ständig auf dem Wert 1, daherauch das Ausgangssignal, unabhängig von den Verzögerungswer-ten der Verknüpfungsglieder.

e3 e2 e1, ,( )1 1 0, ,( ) 1 1 1, ,( )→

e2 e3e2e3

1 1 0, ,( ) 1 1 1, ,( )→

e2e3

296

Erkennen von Strukturhazards

Ähnlich, wie man mit Hilfe des KV-Diagramms Funktionshazardserkennen kann, soll dies auch für Strukturhazards getan werden.

Hierzu ist es notwendig die Struktur des Schaltnetzes in die Über-legungen einzubeziehen.

Vorgehen:

• Man stelle die Funktionsgleichung so auf, daß sie genau derStruktur des realisierten Schaltnetzes entspricht, d.h. der Aus-druck darf nicht vereinfacht werden.

• Dann indiziere man jede Eingangsvariable im Ausdruck: jedesAuftreten einer Eingangsvariablen wird numeriert (auch, wennsie nur einmal auftritt). Die indizierten Variablen nennt manPfadvariablen.

In dem nun erhaltenen Ausdruck (Strukturausdruck) kommtjede Pfadvariable nur einmal vor. Jede dieser Pfadvariablenentspricht genau einem Pfad und umgekehrt!

• Für diesen Strukturausdruck stelle man das KV-Diagramm auf:anstelle der Eingangsvariablen treten jetzt die Pfadvariablen.

• Man markiere wieder die beiden Felder der Anfangs- und End-belegung. In diesen müssen die Werte aller Pfadvariablen einerEingangsvariablen gleich sein.

• Wie bei den Funktionshazards betrachtet man auch hier allemöglichen Wege von der Anfangs- zur Endbelegung. Es gilt:

• Der Übergang ist genau dann mit einem Strukturhazard behaf-tet, wenn es (mindestens) einen Weg gibt, für den die Folge derzugehörigen Funktionswerte im neuen KV-Diagramm nichtmonoton ist.

297

Beispiel zur Erkennung von Strukturhazards

Wir verwenden wieder unser Beispiel mit der Funktionsgleichung

Dieser Ausdruck darf nicht vereinfacht werden, selbst wenn diesmöglich wäre, weil dies einer anderen Struktur entspräche. Mansieht: Änderungen an und breiten sich jeweils nur über einenPfad aus, Änderungen an jedoch über zwei Pfade:

der erste Pfad verläuft durch das obere UND-Gatter,

der zweite Pfad durch das untere UND-Gatter.

Zur Identifikation der Pfade mit ihren Pfadvariablen werden dieEingangsvariablen der Gleichung, wie oben beschrieben, indiziert:

Die neuen Pfadvariablen sind also . Jede ent-spricht genau einem Pfad.

Das strukturspezifische KV-Diagramm sieht wie folgt aus:

Diejenigen Felder, die nur während eines Übergangs eingenommenwerden können (für die also gilt), sind grau hinter-

a e1e2 e1e3∨=

e2 e3e1

a e11e21 e12e31∨=

e11 e21 e12 e31, , ,

e12e21 e12e21∨

298

legt. Weiß bleiben genau so viele Felder, wie das Diagramm ent-hält, das die Funktion in “normalen” Variablen darstellt.

Es soll wieder der Übergang :betrachtet werden.

In der Darstellung der Pfadvariablen lautet dieser Übergang: . Er ist im KV-Dia-

gramm eingezeichnet.

Man erkennt mit der gleichen Methode wie bei den Funktionsha-zards zwei mögliche Wege vom Start- zum Zielpunkt:

Wird der zweite Weg eingeschlagen, so erhält man einen statischen1-Hazardfehler. Also ist dieser Übergang hazardbehaftet.

e3 e2 e1, ,( ) 1 1 0, ,( ) 1 1 1, ,( )→

e31 e21 e12 e11, , ,( ) 1 1 0 0, , ,( ) 1 1 1 1, , ,( )→

299

Nun soll der Übergang : betrach-tet werden.

Mit Pfadvariablen lautet dieser Übergang :.

Im KV-Diagramm ergibt dies.

Man erkennt 6 Wege, wovon einer eine nicht-monotone Ausgangs-folge liefert. Es handelt sich hier um einen dynamischen 01-Hazard:

e3 e2 e1, ,( ) 1 0 0, ,( ) 1 1 1, ,( )→

e31 e21 e12 e11, , ,( )1 0 0 0, , ,( ) 1 1 1 1, , ,( )→

300

Veranschaulichung des Verfahrens zum Erkennen vonStrukturhazards

Was bedeutet ein Weg in einem solchen KV-Diagramm der Pfadva-riablen? Das Wandern zu einem benachbarten Feld bedeutet hier:

• Zum Zeitpunkt des Feldwechsels wirkt sich die Änderung derzugehörigen Eingangsvariablen über genau diesen Pfad amAusgang aus.

• Dies bewirkt, daß der Ausgang den Wert annimmt, der in demFeld steht, das durch den Wechsel erreicht wurde. Ändert sichdieser Wert im Verlauf des Weges, so ändert sich auch der Aus-gang in gleicher Weise.

Wodurch ist der Zeitpunkt bestimmt, zu welchem sich ein Ein-gangssignal über einen bestimmten Pfad am Ausgang auswirkt?

• Dieser Zeitpunkt ist, vom Zeitpunkt des Eingabewechsels ausgerechnet, genau durch die Zeitdauer gegeben, die das Signalbraucht, um von der Eingangsvariablen aus den betrachtetenPfad bis zum Ausgang zu durchlaufen.

• Diese Zeitdauer nennt man die Pfadverzögerung des betrachte-ten Pfades.

Entscheidend dafür, ob ein Hazardfehler eintritt, ist also die Rei-henfolge, in der sich die Eingangssignale über bestimmte Pfade amAusgang auswirken.

• Im Beispiel : Wirkt sich zuerst überden unteren Pfad ( ) und dann über den oberen ( ) aus, soentsteht nach dem Symmetriediagramm kein Hazardfehler. Imumgekehrten Fall tritt einer auf.

1 1 0, ,( ) 1 1 1, ,( )→ e1e12 e11

301

Erkennen von Hazardfehlern

Für ein gegebenes Schaltnetz mit konkreten Verzögerungenmöchte man wissen, ob bei einem bestimmten Eingabewechsel einHazardfehler am Ausgang auftritt.

Durch Änderung der Verzögerungszeiten (Einfügen von Verzöge-rungsgliedern) kann man dann evtl. den Hazardfehler beheben.

Hierzu benötigt man die Struktur der Schaltung (erweitertes KV-Diagramm und Strukturausdruck) und die konkreten Verzöge-rungswerte der Gatter.

• Für jede Pfadvariable im Strukturausdruck bestimmt man diePfadverzögerung vom Eingang zum Ausgang durch Additionder Verzögerungszeiten der verwendeten Gatter.

• Diese Pfadverzögerung ist diejenige Zeit, die verstreicht, bisein Wechsel an der entspr. Eingangsvariablen sich über diesenPfad am Ausgang auswirkt.

• Nun spielt man im zeitlichen Ablauf im erweiterten KV-Dia-gramm den Weg durch (zum Zeitpunkt findet der Einga-bewechsel statt). Für alle Pfadvariablen, die am Wechselbeteiligt sind, gilt:

Zum Zeitpunkt der Pfadverzögerung findet eine Spiegelung ander Achse der Pfadvariablen statt. Sind zwei Pfadverzögerun-gen gleich, so finden beide Spiegelungen gleichzeitig statt.

• Damit ist der tatsächliche Weg im erweiterten KV-Diagrammbestimmt.

• Ist die Folge der Zustände nicht-monoton, so ist ein Hazardfeh-ler aufgetreten, anderfalls nicht.

t 0=

302

Beispiele für die Erkennung von Hazardfehlern

Abb. 187: Erkennung von Hazardfehlern am Beispiel.

Wir bestimmen die Pfadverzögerungen der einzelnen Pfade:

• : Pfadverzögerung .

• : Pfadverzögerung .

• : Pfadverzögerung .

• : Pfadverzögerung .

a) Wechsel : , mit Pfadvariablen: .

Es ändern sich nur und , und zwar zuerst nachZeitverzögerung, dann nach .

Die Spiegelung findet zuerst an der Achse von statt, dannan der Achse von . Dies entspricht dem linken Bild vonAbb. 188. Es findet also ein Hazardfehler statt.

e11 3τe12 4τe21 2τe31 4τ

e3 e2 e1, ,( ) 1 1 0, ,( ) 1 1 1, ,( )→e31 e21 e12 e11, , ,( ) 1 1 0 0, , ,( ) 1 1 1 1, , ,( )→

e11 e12 e11 3τe12 4τ

e11e12

303

Abb. 188: Verfahren zur Erkennung von Hazardfehlern miterweiterten KV-Diagrammen.

a) Wechsel : , mit Pfadvariablen: .

Es ändern sich , und , und zwar zuerst nachZeitverzögerung, dann nach , dann nach .

Die Spiegelung findet zuerst an der Achse von , dann von, dann von statt. Dies entspricht dem rechten Bild von

Abb. 188. Es tritt also ebenfalls ein Hazardfehler auf.

Es gibt zwei Möglichkeiten, für ein gegebenes Schaltnetz mit kon-kreten Verzögerungen den genauen zeitlichen Verlauf der Aus-gangsgröße zu bestimmen:

1. Einführung von Zwischenvariablen im Schaltnetz und sukzes-sive Berechnung der zeitlichen Verläufe aller Zwischengrößenbis zum Ausgang.

2. Trennung von Verzögerungsteil und Verknüpfungsteil durchVerschiebung aller Totzeiten nach vorne zu den Eingangsvaria-blen.

e3 e2 e1, ,( ) 1 0 0, ,( ) 1 1 1, ,( )→e31 e21 e12 e11, , ,( ) 1 0 0 0, , ,( ) 1 1 1 1, , ,( )→

e11 e12 e21 e21 2τe11 3τ e12 4τ

e21e11 e12

304

• Verzögerungsteil: Die Eingänge werden aufgespalten in allePfade. Für jeden Pfad kommt dann als erstes ein Summen-Tot-zeitglied, das die Summe aller Totzeitglieder eines Pfadesbeinhaltet.

• Verknüpfungsteil: Dieser enthält das Schaltnetz ohne Verzöge-rungsglieder. Da jede Pfadvariable genau einmal vorkommt,gibt es innerhalb dieses Schaltnetzes keine Verzweigungenmehr: Es hat Baumstruktur.

Abb. 189: Trennung von Verzögerungsteil und Verknüpfungs-teil.

Die Wegsuche im erweiterten KV-Diagramm geschieht ganz genauwie vorher, mit den gleichen Ergebnissen: Das Betreten einesneuen Feldes (Ändern der Pfadvariablen) geschieht genau zu demZeitpunkt, an dem nach dem Eingangswechsel die entspr. Pfadver-zögerung abgelaufen ist.

Man beachte: Hätte es hier auch Verzweigungen hinter Gatterngegeben, so würden sie in Abb. 189 vervielfacht auftreten!

305

Satz von Eichelberger: Ein Schaltnetz, das die Disjunktion allerPrimimplikanten einer gegebenen Funktion realisiert, ist frei von

• allen statischen Strukturhazards,

• allen dynamischen Strukturhazards, falls nur eine Eingangsva-riable wechselt.