Die Reihe zur Schaltungssimulation PiiRi
Ein Rechenwerk mit PiiRi: Wie addiert man zwei Bit mit einem Halb-Addierer?
Der erste Schritt auf dem Weg zu einem Addierwerk ist der sogenannte Halbaddierer: zwei Bits werden addiert.
PiiRi ist in einer Demo-Version verfügbar unter kursbegleiter.de/piiri
Die Grundidee beim Rechnen mit `0` und `1` ist, dass man es auf logische Verknüpfungen zurückführen kann nach dem Prinzip »Wenn das und das aber nicht das, dann das…«. Es wird also genau genommen gar nicht gerechnet, sondern nur alle möglichen Fälle durch Verschaltung von Signalen abgebildet. Um ein Rechenwerk zu bauen überlegst du dir zuerst, wie man zwei Bit addiert:
Du kannst nun diese Tabelle betrachten und eine Schaltung aufbauen, die sich genau so verhält. Dem ersten Summanden-Bit geben ich den Namen `a`. Dem zweiten Summanden-Bit den Namen `b`. Die Summe heißt `s` und der Übertrag soll `ddot u` sein.
`a` | `b` | `ddot u` | `s` |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 |
1 | 1 | 1 | 0 |
Schau dir jetzt an, wie der Ausgang `s` aus den Eingängen `a` und `b` ergibt. Falls du schon etwas geübt bist, kannst du erkennen, dass dies genau die xor-Funktion ist. Die xor-Funktion verhält sich genau so, wie man es für das Summieren zweier Bits benötigt. Es bleibt nur noch, den Übertrag zu ermitteln: Vielleicht erkennst du, dass es einen Übertrag genau dann gibt, wenn beide Eingänge `1` sind. Das bekommen wir mit dem logischen »Und«. Am Ende überprüfe ich die Schaltung mit der automatisch erzeugten Wertetabelle.
Damit du diese Schaltung im Weiteren wiederverwenden kannst, spreichere sie unter »ha« für Halb-Addierer ab.