Question
In dieser Aufgabe implementieren Sie einen kombinatorischen 4-Bit-Multiplizierer in SystemVerilog. Machen Sie sich dazu zunchst klar, wie die schriftliche Multiplikation zweier Zahlen im Dezimalsystem durchgefhrt
In dieser Aufgabe implementieren Sie einen kombinatorischen 4-Bit-Multiplizierer in SystemVerilog. Machen Sie sich dazu zunchst klar, wie die schriftliche Multiplikation zweier Zahlen im Dezimalsystem durchgefhrt wird und wie sich dies auf das Binrsystem bertragen lsst. Die gesamte Aufgabe nutzt vorzeichenlose (unsigned) 'Zahlen. In dieser Aufgabe ist es nicht erlaubt, arithmetische Operationen und Shifts wie z.B. <<, *, + zu nutzen, diese mssen stattdessen selbststndig implementiert werden falls notwendig. Weiterhin sind keine always_comb-Blcke und kein ternrer Operator (.?.:.) erlaubt.
Hausaufgabe 5.1 1-Bit-Multiplexer [1 Punkt) Implementieren Sie zunchst das SystemVerilog Modul multiplexer1bit Der Multiplexer erhlt zwei 4 Bit breite Eingabewerte mO und m1 und ein 1 Bit breites Steuersignal s. Ist der Input s = 0, so soll Eingabe- wert mO an den Ausgang angelegt werden, ist der Input s = 1, so soll Eingabewert m1 an den Ausgang angelegt werden. Hinweis: Diese und die nchste Teilaufgabe teilen sich eine Testbench. Kommandos zum Testen: Windows: /sim.bat multiplexer, Sonst: ./sim.sh multiplexer multiplexer.av module multiplexer1bit ( input logic [7:01 mO, mi, // data inputs input logic s, // selection input output logic (7:0] out); // output INSERT CODE HERE 10 12 endmodule
Hausaufgabe 5.2 2-Bit-Multiplexer [1 Punktl Implementieren Sie als nchstes das SystemVerilog Modul multiplexer2bit. Im Vergleich zum 1-Bit-Multiplexer erhlt der 2-Bit-Multiplexer vier 4 Bit breite Eingabewerte mO, m1, m2 und m3 und ein 2 Bit breites Steuersignal s. Bei s = 2 soll zum Beispiel m2 ausgegeben werden. Hinweis: Sie knnen den zuvor implementierten 1 Bit Multiplexer nutzen.
Hausaufgabe 5.3 Shifter
[1 Punkt]
Beim schriftlichen Multiplizieren mssen manche Zahlen um eine oder mehrere Stellen verschoben wer-den. Ein Shifter stellt diese Funktionalitt bereit. Implementieren Sie das SystemVerilog Modul shifter.
Der Shifter erhlt eine 4 Bit Zahl in und eine Steuergre s als Eingabe und gibt die um s Stellen
arithmetisch nach links verschobene Zahl aus: in <<< s.
Hinweis: Nutzen Sie den 2 Bit Multiplexer fr eine Fallunterscheidung, um wie viele Stellen die Zahl verschoben werden soll. Weiterhin drfen Sie Konkatenation nutzen
Hinweis: Denken Sie beim Testen daran, auch die Datei des Multiplexers einzubinden. Automatisch funktioniert das mit folgendem Kommando zum Kompilieren und Testen:
Windows: ./sim.bat shifter, Sonst: ./sim.sh shifter
timescale ins ins
shtter
input
input
logic 3:01 in.
logic [1:0]
logic
out);
shitt
set to input shift
INSERT CODE
Hausaufgabe 5.4 Multiplizierer
3* Punkte]
Bonusaufgabe: Diese Aufgabe ist optional und kann bis zu drei zustzliche Punkte geben, um einen fehlenden Punkt zur Studienleistung auszugleichen.
Implementieren Sie unter Zuhilfenahme der zuvor implementierten SystemVerilog Module den Multi-plizierer im Modul multiplier.
Hinweis: Die entsprechende Datei enthlt auch ein Modul fr die Addition von zwei Zahlen, welches
Sie nutzen knnen.
Hinweis: Denken Sie beim Testen daran, alle notwendigen Dateien aus Voraufgaben einzubinden.
Automatisch funktioniert das mit folgendem Kommando zum Kompilieren und Testen:
Windows: /sim.bat multiplier, Sonst: ./sim.sh multiplier
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started