TU Wien:Digital Design and Computer Architecture LU (Polzer)

Aus VoWi
Zur Navigation springen Zur Suche springen
Ähnlich benannte LVAs (Materialien):

Daten[Bearbeiten | Quelltext bearbeiten]

Diese LVA wird nicht mehr von dieser Person angeboten, ist ausgelaufen, oder läuft aus und befindet sich daher nur noch zu historischen Zwecken im VoWi.
Vortragende Jürgen Maier, Florian Huemer und Florian Kriebel
ECTS 7,5
Ersetzt Digitales Design LU (Steininger)
Links tiss:182695 , Homepage
Zuordnungen
Bachelorstudium Technische Informatik

Mattermost: Channel "digital-design-and-computer-architecture0"RegisterMattermost-Infos

Inhalt[Bearbeiten | Quelltext bearbeiten]

Diese LVA ist eine Zusammenführung der ehemaligen LVAs TU Wien:Digitales Design LU (Steininger) und TU Wien:Hardware-Modellierung VL (Lechner) aus dem alten (2009-2011) Studienplan.

Das Stoffgebiet ist Hardware-Design mittels VHDL. Es wird erlernt, wie man VHDL schreibt, wie man diesen Code in Testbenches simuliert und wie man den fertigen Code mit einem Logic Analyzer debuggt.

Es gibt 2 Übungen, bei denen die Grundlagen der Entwicklung erlernt werden, und am Ende gibt es 2 große Übungen, bei denen ein MIPS Prozessor implementiert wird, der am Ende auch Code ausführen kann.

Ablauf[Bearbeiten | Quelltext bearbeiten]

Die ersten drei Aufgaben sind in Einzelarbeit zu erledigen, für die beiden fortgeschrittenen Aufgaben sind Dreiergruppen zu bilden. Die Aufgaben können daheim oder im Labor gelöst werden, vor der Abgabe sollten die fertigen Aufgaben einem Tutor gezeigt werden. Man kann allerdings auch bis eine Woche nach Deadline bei einem Tutor abgeben.

Nach den ersten 3 Aufgaben gibt es einen Midterm-Test, bei dem mit dem Logic Analyzer Messungen durchgeführt werden und eine einfache vorgegebene State-Machine implementiert wird.

Nach den 2 MIPS Prozessor Aufgaben gibt es einen Final Test, bei dem Theoriefragen über den MIPS Prozessor beantwortet werden, eine einfache Pipeline und eine kleine ALU implementieren.

Edit für WS2015: Es gibt insgesamt 4 Übungen und eine Bonusaufgabe, in den ersten beiden Übungen werden die Grundlagen erlernt (Modelsim, Quartus, Testbenches, Logic Analyzer). Die nächsten 2 Übungen werden in Gruppen zu maximal 3 Leuten durchgeführt und beschäftigen sich mit der MIPS-Architektur und deren Implementierung. Nach den ersten zwei Übungen findet ein Midterm Test statt (Testbench, Modelsim, Logic Analyzer, State Machine implementieren), am Ende der LU gibt es einen großen Test mit Theorie-Fragen.

Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten | Quelltext bearbeiten]

Die Vorlesung ist empfehlenswert, aber nicht notwendig.

Übungen[Bearbeiten | Quelltext bearbeiten]

Es gibt 5 Übungsaufgaben von denen die ersten 3 in Einzelarbeit und die letzten beiden in Gruppenarbeit zu lösen sind.

Einzelarbeit[Bearbeiten | Quelltext bearbeiten]

  1. Fertige VHDL Designs mit ModelSim simulieren, auf dem Development Board testen und mit dem Logic Analyzer Messungen durchführen.
  2. Verschiedene vorgegebene VHDL Entities miteinander verknüpfen und diese simulieren und testen + Eine vorgegebene State Machine implementieren, mit der UART über eine serielle Schnittstelle zum PC möglich ist.
  3. Eine eigene State Machine entwickeln, mit der der zweizeilige LCD-Bildschirm angesprochen werden kann.

Gruppenarbeit[Bearbeiten | Quelltext bearbeiten]

  1. Eine einfache MIPS Pipeline wird implementiert
  2. Hazard Behandlung für den MIPS Prozessor, anschließend wird MIPS Assembler auf dem Prozessor ausgeführt.

Prüfung, Benotung[Bearbeiten | Quelltext bearbeiten]

Wenn man bei der Lösung der Aufgaben mitgeholfen hat und sie verstanden hat, dann sind die 2 Tests absolut kein Problem mehr. Die Benotung erscheint sehr fair.

Dauer der Zeugnisausstellung[Bearbeiten | Quelltext bearbeiten]

ca. 4 Wochen

Zeitaufwand[Bearbeiten | Quelltext bearbeiten]

Der Zeitaufwand ist sehr hoch, für die ersten 3 Beispiele hat man jeweils 2 Wochen Zeit. Das geht sich nur knapp aus und man sollte definitiv öfter als 2 mal die Woche (so viele Slot-Termine bekommt man) im Labor sein.

Die Implementierung der MIPS Pipeline ist sich nur bei 2 Gruppen innerhalb der vorgesehenen 4 Wochen ausgegangen, mit der Verlängerung hatten ein paar mehr Gruppen eine Chance abzugeben.

Das Problem an der letzten Aufgabe war das sie auf die MIPS Pipeline aufsetzt, einige Gruppen konnten diese Aufgabe nicht mehr abgeben.

Ich war sicher 4-5 mal die Woche im TILAB für ~1-2 Stunden.

Unterlagen[Bearbeiten | Quelltext bearbeiten]

Tipps[Bearbeiten | Quelltext bearbeiten]

  • Die Beispiele auf keinen Fall unterschätzen! Die Gruppenmitglieder möglichst gut einbinden, es erspart viel Arbeit.
  • Man kann im Verzeichnis, wo man die Dateien für die Nightly Testbench ablegt, die Datei version.txt anlegen. Wenn man den Testbericht zugeschickt bekommt, wird der Inhalt von version.txt auch ausgegeben. Man kann hier z.B. den Hash vom dazugehörigem Git-Commit ablegen. (Thread im Informatik-Forum [1])

Verbesserungsvorschläge / Kritik[Bearbeiten | Quelltext bearbeiten]

noch offen