Forum: PC-Programmierung Volladdierer auf Basis eines 4x1 Multiplexers mit vhdl simulieren?


von LuisBaatz (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich studiere technische Informatik im ersten Semester und soll einen 
Volladdierer auf Basis eines 4x1 Multiplexers in VHDL simulieren.
Ein Schaltbild befindet sich im Anhang.

Den 4x1 Mux und die Testbench dafür habe ich bereits auf Basis eines 2x1 
Mux gebaut(Dateien im Anhang).

Ich habe den Volladdierer auf Logisim simuliert (.circ Datei) aber 
verstehe nicht, wie man das in VHDL umsetzt.
In meinem Ansatz(Adr4x1MUX.vhd) befinden sich Kommentare, die 
beschreiben wie es theoretisch funktionieren sollte aber ich kenne nicht 
die passenden Befehle.

Könnt ihr mir helfen?

von Gustl B. (-gb-)


Lesenswert?

Hm ... MyMUX4x1.vhd sieht mir reichlich kompliziert aus. Dir ist klar, 
dass s (das steht für Select) das auszugebende Bit adressiert?

m <= Daten(s)

Du musst dann nur noch die Daten und s zusammenstöpseln und ein paar NOT 
Gatter einbauen.

PS.:
Gibt es in Logisim keinen fertigen MUX? Du hast in Logisim deutlich mehr 
NOT als benötigt werden.
Die Schaltung ist korrekt, also das Bild.

Edit:
Schade, dass sowas nicht geht:

s <= std_logic_vector'(c & not c & not c & 
c)(to_integer(unsigned(std_logic_vector'(x & y))));

: Bearbeitet durch User
von Gustl B. (-gb-)


Angehängte Dateien:

Lesenswert?

Gut, hier kommt glaube ich nichts mehr, also mal zwei Lösungsversuche
MUX_ADDER_0.vhd und MUX_ADDER_1.vhd
in
MUX_ADDER_U.vhd
werden mehrere dieser Volladdierer zu einem Addierer mit mehreren Bits 
zusammengeschaltet. Die beiden Eingangsvektoren müssen gleich lang sein, 
das Ergebnis ist dann 1 Bit länger.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.