Addierer und Halbaddierer in Digital Logic Simulator?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Ich kenne mich nicht mit Digital Logic Simulator aus.

Trotzdem hier eine kleine Erklärung, was Halb- und Volladdierer jeweils sind.

Ziel beider Addierer ist es, wie der Name schon sagt, Informationen zu addieren und das entsprechende Ergebnis auszugeben.

Ein Halbaddierer addiert hierbei zwei Bits, also zwei Signale, die jeweils entweder eine 0 oder eine 1 repräsentieren können. Das Ganze funktioniert nach folgender Logik:

  • Werden 0 und 0 addiert muss auch das Ergebnis 00 sein.
  • Werden 0 und 1 (oder 1 und 0) addiert muss das Ergebnis 01 sein.
  • Werden 1 und 1 addiert muss das Ergebnis 10 sein. (Wir arbeiten hier ja mit dem Binärsystem, eine 10 in binär entspricht einer 2 im Dezimalsystem.)

Das bedeutet, dass ein Halbaddierer zwei Logikgatter besitzen muss. Er muss ein XOR Gatter besitzen, welches Wahr ist, wenn der Input 0 und 1/1 und 0 ist und er muss ein AND Gatter besitzen, welches wahr ist, wenn der Inpuit 1 und 1 ist. Diese Gatter sind so geschaltet, das beide Gatter mit beiden Eingängen verbunden sind und das AND Gatter mit dem Carry Ausgang und das XOR Gatter mit dem Sum Ausgang verbunden sind. (Bei Netzwerken aus mehreren Addierern ist der Sum Ausgang jeweils ein Bit des Gesamtergebnisses und der Carry Ausgang immer der Übertrag für den nächsten Addierer. Ähnlich wie wenn du 9+9 per Hand rechnest und 8 (Sum Ausgang) das Ergebnis der einer Stelle ist und 1 (Carry Ausgang) der Übertrag für die zehner Stelle.)

Ein Volladdierer besteht aus zwei Halbaddierern. Er addiert auch zwei Input Bits, allerdings berücksichtigt er im Gegensatz zum Halbaddierer auch das Übertrag Bit von einem (potentiell) vorgeschalteten Addierer, besitzt also zusätzlich zu den beiden Inputs auch noch einen Carry input.

Ein Volladdierer benötigst du immer dann, wenn die beiden Zahlen die du addieren möchtest größer als ein Bit sind. Angenommen du möchtest also Zahl A und B addieren und beide sind zwei Bit groß. Du verbindest dann einen Halbaddierer mit den bei jeweils dem ersten Bit von A und B. Der Sum Ausgang deines Halbaddierers stellt dann das erste Bit deines Gesamtergebnisses dar. Nun verbindest du einen Volladdierer mit jeweils dem zweiten Bit von A und B und dem Carry Ausgang des Halbaddierers. Nun stellen Sum Ausgang und Carry Ausgang des Volladdierers Bit 2 und 3 deines Endergebnisses dar.

Wenn du weitere Links haben willst, empfehle ich dir die Wikipedia Artikeln zu beiden Addierern.