384.088 Labor digitale integrierte Schaltungen
Diese Lehrveranstaltung ist in allen zugeordneten Curricula Teil der STEOP.
Diese Lehrveranstaltung ist in mindestens einem zugeordneten Curriculum Teil der STEOP.

2024S, UE, 2.0h, 3.0EC

Merkmale

  • Semesterwochenstunden: 2.0
  • ECTS: 3.0
  • Typ: UE Übung
  • Format der Abhaltung: Hybrid

Lernergebnisse

Nach positiver Absolvierung der Lehrveranstaltung sind Studierende in der Lage, digitale integrierte Schaltkreise mit modernen Methoden im Team zu entwerfen, zu verifizieren, und für die Wiederverwendbarkeit und Wartbarkeit zu bündeln.

Inhalt der Lehrveranstaltung

In dieser Laborübung lernen wir die RISC-V-Befehlssatzarchitektur kennen. Wir werden die Implementierung des PicoRV32-Mikroprozessors untersuchen und eine benutzerdefinierte Instruktion hinzufügen. Diese benutzerdefinierte Anweisung implementiert eine approximierte Version eines Multiplikators. Wir vergleichen die exakten/approximierten Versionen des Mikroprozessor-Kerns mithilfe der Dhrystone-Benchmarks, indem wir die verschiedenen verfügbaren Compiler-Toolchains für diesen Kern variieren. Am Ende des Kurses präsentieren wir unser Projekt und diskutieren erwartete und unerwartete Ergebnisse.

Methoden

Die Einführungsveranstaltung findet am 7. März 2024, 09:00--11:00, im Computerraum des ICT, CA0208, statt.

In der Laborübung wird ein Hardware-Design-Projekt in Gruppenarbeit durchgeführt. Das Ziel ist es, eine Spezifikation zu implementieren. Die Korrektheit der Implementierung wird durch formale Verifikationsmethoden bewiesen.

Zusammenarbeit mit KollegInnen ist nicht nur erlaubt, sondern auch erwünscht. Allerdings ist es nicht erlaubt, Designs ohne Bedacht zu kopieren, ohne die Funktionalität der Implementierung im Detail zu verstehen. Dieses Lernziel wird im Rahmen der Abgabegespräche überprüft.

Die Lehrinhalten werden durch folgende Methoden ergänzt:

  1. Formulieren einer Problemlösung in einer verhaltensbasierten Hardware-Beschreibungssprache
  2. Lernen, den Code von Dritten einzusetzen
  3. Was ist wichtig bei der Verwendung von Drittcode: Licensing, Coding-Style, Integration in die eigene Code-Base
  4. Erstellen eines in sich abgeschlossenen ("self-contained") Pakets mit Informationen, die von potentiellen BenutzerInnen benötigt werden
  5. Benutzen verschiedener Tools zur Verifikation und Synthese: Yosys, nextpnr, SymbiYosys, GTKWave
  6. Automatisieren von Tasks durch Scripting (Bash scripts, Makefiles, TCL scripts, ...)
  7. Lernen zu kollaborieren (es geht darum, ein Problem zu lösen!), und Nutzen von Tools, die Zusammenarbeit unterstützen (git, Telegram, ...)
  8. Es ist nicht wichtig, ein Problem nur für sich allein zu lösen. Es ist wichtig, zu kommunizieren und zusammenzuarbeiten, um große Probleme zu lösen.
  9. Lernen, dass Spezifikationen niemals vollständig sind (und dass Kommunikation eine Spezifikation teilweise vervollständigen kann)
  10. Lernen, seine eigene Arbeit zu lizenzieren


Prüfungsmodus

Prüfungsimmanent

Weitere Informationen

Bei mehr Anmeldungen als Plätzen werden Studierende mit aktivem relevanten Masterstudium (066 438, 066 439, 066 504, 066 507 und 066 508) bevorzugt gegenüber Studierenden anderer Studienrichtungen zur LVA zugelassen. Innerhalb dieser Gruppen entscheidet das Los über die Platzzuordnung.

 

 

 

Vortragende Personen

Institut

LVA Termine

TagZeitDatumOrtBeschreibung
Do.09:00 - 13:0007.03.2024 - 27.06.2024 Computerlabor ICT CA0208Labor
Labor digitale integrierte Schaltungen - Einzeltermine
TagDatumZeitOrtBeschreibung
Do.07.03.202409:00 - 13:00 Computerlabor ICT CA0208Labor
Do.14.03.202409:00 - 13:00 Computerlabor ICT CA0208Labor
Do.21.03.202409:00 - 13:00 Computerlabor ICT CA0208Labor
Do.11.04.202409:00 - 13:00 Computerlabor ICT CA0208Labor
Do.18.04.202409:00 - 13:00 Computerlabor ICT CA0208Labor
Do.25.04.202409:00 - 13:00 Computerlabor ICT CA0208Labor
Do.02.05.202409:00 - 13:00 Computerlabor ICT CA0208Labor
Do.16.05.202409:00 - 13:00 Computerlabor ICT CA0208Labor
Do.23.05.202409:00 - 13:00 Computerlabor ICT CA0208Labor
Do.06.06.202409:00 - 13:00 Computerlabor ICT CA0208Labor
Do.13.06.202409:00 - 13:00 Computerlabor ICT CA0208Labor
Do.20.06.202409:00 - 13:00 Computerlabor ICT CA0208Labor
Do.27.06.202409:00 - 13:00 Computerlabor ICT CA0208Labor

Leistungsnachweis

Laufende Leistungsbeurteilung. Evaluationskriterien sind:

  1. Verständnis der implementierten Aufgaben
  2. Eleganz der Lösung
  3. Aktivität in der Gruppe
  4. Bereitschaft zu Zusammenarbeit
  5. Einhalten formaler Vorgaben

 

LVA-Anmeldung

Von Bis Abmeldung bis
22.02.2024 00:00 08.03.2024 00:00 15.03.2024 15:00

Curricula

StudienkennzahlVerbindlichkeitSemesterAnm.Bed.Info
066 438 Computertechnik Keine Angabe2. Semester
066 439 Mikroelektronik Keine Angabe2. Semester
066 504 Masterstudium Embedded Systems Pflichtfach2. Semester
066 507 Telecommunications Pflichtfach
066 508 Mikroelektronik und Photonik Pflichtfach2. Semester

Literatur

Die Vortragsunterlagen zur Lehrveranstaltung sind erhältlich. Auf die jeweils aktuellste Version kann im TISS zugegriffen werden.

Vorkenntnisse

Folgende Kenntnisse sind von Vorteil:

  1. Hardware-Bschreibungssprachen: VHDL, Verilog, SystemVerilog Assertions (SVA), C++, Python, Bash
  2. Formale Modellierungssprachen: SystemVerilog
  3. EDA-Konzepten: Modellierung, Synthese, Optimierung, Technologie-Abbildung, Timing-Analyse, funktionale Simulation, etc.
  4. Kenntnisse von EDA-Tools: Yosys, nextpnr, icetime, Icarus Verilog, GHDL
  5. Kenntnisse digitaler System und Computer-Architektur

Weitere Informationen

  • Anwesenheitspflicht!

Sprache

Englisch