Systematischer Entwurf eines Speichers
Problemstellung:
Entwirf ein Bauteil, das sich eine Information (0 oder 1) merkt.
- "Setze 1" wird durch kurzzeitiges a=0 (
) des Eingangsignals a signalisiert.
- "Setze 0" ("Setze zurück") wird durch kurzzeitiges b=0 (
) des Eingangsignals b signalisiert.
- "Ändere nichts (halte)" wird durch a=1 und B=1 bewirkt.
Lösung:
Das Verhalten des Bauteils wird in einer Tabelle beschrieben.
Es hängt von den Eingangsgrößen a und b und – wegen "Ändere nichts (halte)" – von der aktuellen Ausgabe des Bausteins ab.
Der Vollständigkeit halber wird auch der Fall a=0 und b=0 eingetragen, obwohl er nicht
benutzt werden wird.
a b Q │ Q' 0 0 0 │ ? verboten 0 0 1 │ ? verboten Setze 0 1 0 │ 1 Q von 0 auf 1 (wird gesetzt) Setze 0 1 1 │ 1 Q von 1 auf 1 (bleibt gesetzt) Setze zurück 1 0 0 │ 0 Q von 0 auf 0 (bleibt zurückgesetzt) Setze zurück 1 0 1 │ 0 Q von 1 auf 0 (wird zurückgesetz) Halte1 1 1 0 │ 0 Q bleibt unverändert Halte 1 1 1 │ 1 Q bleibt unverändert
Als Schaltfunktion ergibt sich
Q' = a∧b∧Q ∨ a∧b∧Q ∨ a∧b∧Q ohne Klammern; ∧ vor ∨= a∧b∧Q ∨ (a∨a)∧(b∧Q)
= a∧b∧Q ∨ b∧Q
= a∧b∧Q ∧ a∧b∧Q ∨ b∧Q weil dieser Term nicht vorkommt, können wir ihn fordern: ∧
= (b∨b)∧(a∧Q) ∨ b∧Q damit vereinfacht sich Term
= a∧Q ∨ b∧Q
Simulation mit LogiSim (animiert)
Weil das Speichern erfolgt, wenn die Eingabe (a oder b) auf 0 geht, werden die Eingänge besser S und R genannt.
- Wenn S wahr ist (gleich 1), dann ist der Eingang S gleich 0 und der Speicher wird gesetzt.
- Wenn R wahr ist (gleich 1), dann ist der Eingang R gleich 0 und der Speicher wird zurückgesetzt.
- S und R (Setzen und Rücksetzen) zugleich ist nicht erlaubt.
Weil vielleicht nützlich, kann man auch Q aus dem Bausteil herausführen.