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?
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.