2902 views
# AER Gedächtnisprotokoll Wise 2020/2021 *Ein kollaborativ erstelltes Gedächtnisssprotokoll für die AER Klausur im WiSe 2020/2021.* ## Aufgabe 1 (10 Punkte) - Geben Sie ein kleines (<= 5 Zeilen) Beispiel für die Benutzung des Bluespec Zuweisungsoperators <=. - Geben Sie ein kurzes Beispiel als Bluespec-Code für die typkorrekte Zuweisung von UInt#(32) a zu UInt#(64) b an - Über eine Bluespec Action erhalten Sie einen Bit#(32) Wert. Sie wissen, dass dieser direkt als Uint#(32) interpretiert werden kann. Geben Sie Bluespec-Code an, um diesen Wert in ein Register Reg#(Uint#(32) a speichern Reg#(UInt#(32)) a; method Action put(Bit#(32) v); ... hier ausfüllen ... endmethod - Worin unterscheiden sich implizite und explizite Guards? - Was ist die fundamentale Eigenschaft einer Bluespec Regel? Beschreiben Sie zwei Bedingungen, die sich daraus ergeben. ## Aufgabe 2 (12 Punkte) 2 Server Module miteinander verbunden und eine Testbench mittels StmtFSM mit for Schleife und mkautofsm realisieren ## Aufgabe 3 (12 Punkte) Bluespec Code um das [Unary Coding](https://en.wikipedia.org/wiki/Unary_coding) aus einem UInt zu erhalten. Das Modul FIFO war importiert und konnte verwendet werden. (Es wurde eine vorzeichenlose Zahl über eine Methode eingegeben und es sollten die einzelnen Bits des Unary Codings über eine andere Methode wieder einzeln abgefragt werden.) ## Aufgabe 4 (11 (4 + 3 + 4) Punkte) - Aus einem IP-Block die Methoden eines Bluespec Interfaces bestimmen - Ausführungsreihenfolge von Regeln bestimmen (Reg, DWire) - Gegeben sei die Bluespec-Regel Calc. Berechnen Sie anhand der angegebenen Gatterlaufzeit den längsten Pfad durch die Regel. Pfad berechnen, Formel um kritischen Pfad in Frequenzen umzurechnen angeben. Welche Taktfrequenz in MHz erreicht die Regel höchstens? Maximale Steigerung durch hinzufügen einer weiteren Registerstufe ## Aufgabe 5 (8 (2 + 6) Punkte) - Erklären Sie die Funktionsweise des Handshake-Mechanismus bei AXI - AXI Transfer ausfüllen - Flussrichtung von WReady angeben - Weitere Theoriefragen? glaube da waren keine weiteren ## Aufgabe 6 (17 Punkte) - Irgendwelche Theoriefragen? müssten 4 Stück sein - Literally 1:1 die Aufgabe aus der Altklausur, wo man einen Full Adder aus Verilog als LUT schreiben muss (mit d als don't care statt x) ## Aufgabe 7 (10 Punkte) - Welche Art von Zugriff wird als Memory-Mapped-IO bezeichnet. Welche Alternativen zu M-M-I-O gibt es? - Speicherhierarchie aus der Perspektive eines Zynq Kerns - Was ist HLS? + Funktion in Hardwareentwurf - 2 Komponenten eines PS nennen und erklären - 3 Komponenten von FPGAs/PL nennen (CLB, BRAM, DSP) - Unterschied Soft-/Hardcoreprozessor ## Aufgabe 8 (10 Punkte) - Welche physikalische Größe hat den stärksten Einfluss auf den Leistungsumsatz von CMOS Chips? Welche weiteren Einflüsse gibt es? - Wann nutzt man OCM? - Nennen Sie drei grundsätzliche Bestandteile aus denen ein FPGA aufgebaut ist - Wie ist der kritische Pfad auf einem FPGA definiert? Welche Auswirkungen hat dieser? - Unterschiede zwischen COTS FPGAs - pattersons wall erklären/ bzw. die einzelen Wände aufzählen und erklären.