Def. Schaltwerke sind Realisierungen von schaltalgebraischen Ausdrücken, in denen Rückkopplungen vorkommen. Dadurch sind diese Ausdrücke nicht mehr so umformbar, dass die Ausgabevariablen durchweg als Funktionen der Inputvariablen erscheinen. Wenigstens an einer Stelle hängt die Ausgabe einer logischen Verknüpfung ausser von den momentanen Werten der Inputvariablen auch von seiner Ausgabe ab. Mathematisch kann dies zum Widerspruch führen oder zu mehrdeutigen Lösungen. Die einfachsten Fälle ohne Inputvariablen sind:
Widerspruch: x = x'
Mehrdeutigkeit: x = (x')'
Ein Beispiel mit zwei Inputvariablen ist:
x = (a∩y)' ; y = (b∩x)'
Wegen der Rückkopplungen kann das Verhalten von Schaltwerken nur unter
Berücksichtigung des Zeitverhaltens der Verknüpfungen beschrieben werden.
Schon bei Schaltwerken aus wenigen Verknüpfungen wird das unüberschaubar.
Man modelliert Schaltwerke durch ein zeitloses Schaltnetz und Rückkopplungen, die über Zeitglieder laufen:
drawswmodell
Zwei prinzipiell verschiedene Zeitglieder werden dabei betrachtet, die zu grundsätzlich verschiedenen Schaltwerken führen:
(1) Verzögerungen → Nichtgetaktete Schaltwerke
(2) Getaktete Zeitglieder → Getaktete Schaltwerke
Man benutzt nur wenige Typen der nicht-getakteten Schaltwerke (sog. Flipflops) aus meistens 4 bis 6 logischen Verknüpfungen, deren Verhalten wir im nächsten Kapitel 10 behandeln. Getaktete Schaltwerke sind auch bei hoher Komplexität prinzipiell beherrschbar. Sie werden aus Schaltnetzen und getakteten Zeitgliedern aufgebaut. Die getakteten Zeitglieder selbst bestehen aus nicht-getakteten Schaltwerken (Flipflops).
Das Schaltnetz innerhalb des Schaltwerks berechnet einerseits die Ausgabe und andererseits jene logischen Werte, die über die Zeitglieder wieder auf den Eingang des Schaltnetzes zurückgeführt werden. Letztere bezeichnen wir als den Zustand bzw. den Folgezustand. Es ist sinnvoll, die beiden Teile des Schaltnetzes im Modell zu trennen in zwei Schaltnetze. Dies soll nur die Übersichtlichkeit fördern. Bei einer Realisierung würde man selbstverständlich eine Bündelminimierung beider Schaltnetze zusammen vornehmen.
Bei der Auftrennung ist zu unterscheiden, ob die Ausgabe direkt vom Input abhängt oder nur vom Zustand. Dem entsprechend gibt es zwei Modelle:
Moore-Modell : die Ausgabe hängt nur vom Zustand ab
Mealy-Modell : die Ausgabe hängt vom Zustand und vom momentanen Input ab
Die Modelle werden in folgendem Bild graphisch dargestellt. Zwischen den Modellen kann mit Mausklick gewechselt werden.
drawmealymoore
Folgende Bezeichnungen sind üblich:
(a) Ausgabefunktion y = λ(z) (Moore) bzw. y = λ(z,x) (Mealy)
(b) Überführungsfunktion znext = δ(z,x) (Moore und Mealy)
Zum Schaltwerkmodell gehört natürlich wesentlich die Angabe der Art der Zeitglieder.