Systematischer Entwurf eines Speichers

Problemstellung:

Entwirf ein Bauteil, das sich eine Information (0 oder 1) merkt.

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∧Qa∧b∧Q ∨ a∧b∧Q   ohne Klammern; ∧ vor ∨
= a∧b∧Q ∨ (a∨a)∧(b∧Q)
= a∧b∧Q ∨ b∧Q
= abQ a∧b∧Q ∨ b∧Q   weil dieser Term nicht vorkommt, können wir ihn fordern:
= (b∨b)∧(aQ) ∨ b∧Q   damit vereinfacht sich Term
= aQ ∨ 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.

Weil vielleicht nützlich, kann man auch Q aus dem Bausteil herausführen.