Synthesis of Digital Systems
| Vortragende/r (Mitwirkende/r) | |
|---|---|
| Nummer | 0000004312 |
| Art | Vorlesung mit integrierten Übungen |
| Umfang | 3 SWS |
| Semester | Wintersemester 2025/26 |
| Unterrichtssprache | Englisch |
| Stellung in Studienplänen | Siehe TUMonline |
- 15.10.2025 08:45-11:15 2999, Seminarraum
- 22.10.2025 08:45-11:15 2999, Seminarraum
- 22.10.2025 16:45-18:15 2999, Seminarraum
- 05.11.2025 08:45-11:15 2999, Seminarraum
- 12.11.2025 08:45-11:15 2999, Seminarraum
- 19.11.2025 08:45-11:15 2999, Seminarraum
- 19.11.2025 16:45-18:15 2999, Seminarraum
- 03.12.2025 08:45-11:15 2999, Seminarraum
- 10.12.2025 08:45-11:15 2999, Seminarraum
- 10.12.2025 16:45-18:15 2999, Seminarraum
- 17.12.2025 08:45-11:15 2999, Seminarraum
- 07.01.2026 08:45-11:15 2999, Seminarraum
- 14.01.2026 08:45-11:15 2999, Seminarraum
- 14.01.2026 16:45-18:15 2999, Seminarraum
- 21.01.2026 08:45-11:15 2999, Seminarraum
- 28.01.2026 08:45-11:15 2999, Seminarraum
- 04.02.2026 08:45-11:15 2999, Seminarraum
Teilnahmekriterien
Siehe TUMonline
Anmerkung: Anmerkung: Die max. Anzahl Teilnehmer beträgt 100. Anmeldung zur gesamten Veranstaltung erfolgt ab dieses Semester über die Reihungsverfahren Masterpraktika. Man kann nur zusammen an Vorlesung und Praktikum teilnehmen. Teilnahme an den gemeinsamen Praktikumsterminen ist Pflicht. Bei Nichterscheinen wird der Platz anhand der Warteliste weitervergeben.
Anmerkung: Anmerkung: Die max. Anzahl Teilnehmer beträgt 100. Anmeldung zur gesamten Veranstaltung erfolgt ab dieses Semester über die Reihungsverfahren Masterpraktika. Man kann nur zusammen an Vorlesung und Praktikum teilnehmen. Teilnahme an den gemeinsamen Praktikumsterminen ist Pflicht. Bei Nichterscheinen wird der Platz anhand der Warteliste weitervergeben.
Lernziele
Nach der Teilnahme kennen die Studierenden die grundlegenden Schritte des Entwurfsprozesses für digitale Systeme. Sie verstehen den Unterschied zwischen einer Software- und einer Hardware-Implementierung.
Sie verstehen die Grundlagen der statischen Code-Analyse und Optimierung.
Die Studierenden verstehen die Schritte der High-level Hardware Synthese. Sie können diese auf kleine C-Algorithmen anwenden und die zugehörige RTL Beschreibung synthetisieren. Zudem erlernen die Studierenden die HW Synthese mit einem industriellen High-level Synthese Tool praktisch umzusetzen.
Die Teilnehmer kennen die Grundlagen der SW Kompilierung und können für kleine C-Funktionen das zugehörige ARM Assembler Programm erstellen. Auf Basis der ARM Prozessoren lernen sie HW-abhängige Optmierungsschritte kennen und können die Ausführungszeiten für SW Programme abschätzen. Zusätzlich lernen die Teilnehmer die Grundlagen des HW/SW Schnittstelle kennen und können dieses Wissen praktisch umsetzen, um ein SW/HW System auf einem FPGA Board zu synthetisieren.
Sie verstehen die Grundlagen der statischen Code-Analyse und Optimierung.
Die Studierenden verstehen die Schritte der High-level Hardware Synthese. Sie können diese auf kleine C-Algorithmen anwenden und die zugehörige RTL Beschreibung synthetisieren. Zudem erlernen die Studierenden die HW Synthese mit einem industriellen High-level Synthese Tool praktisch umzusetzen.
Die Teilnehmer kennen die Grundlagen der SW Kompilierung und können für kleine C-Funktionen das zugehörige ARM Assembler Programm erstellen. Auf Basis der ARM Prozessoren lernen sie HW-abhängige Optmierungsschritte kennen und können die Ausführungszeiten für SW Programme abschätzen. Zusätzlich lernen die Teilnehmer die Grundlagen des HW/SW Schnittstelle kennen und können dieses Wissen praktisch umsetzen, um ein SW/HW System auf einem FPGA Board zu synthetisieren.
Beschreibung
Abhaltungsformen:
- Wintersemester: Vorlesung und Übung in Präsenz (Englisch),
- Sommersemester: Vorlesung und Übung in Präsenz (Deutsch),
- Prüfung in Präsenz (zweisprachig; Angaben auf Englisch und Deutsch),
- Praktikum virtuell/remote (eduVPN)
- Unterlagen Englisch
Die folgenden Inhalte werden in der Vorlesung behandelt und zudem in einem praktischem Teil bei der Entwicklung eines HW/SW Systems auf einem FPGA Board angewendet:
- Entwurfsprozess digitaler Systeme
- Grundlagen der statischen Code Analyse und Optimierung
- High-Level Hardware Synthese mit Scheduling, Binding und Allokation zur Synthese einer RTL Beschreibung eines Hardware Blocks ausgehend von einem C Algorithmus
- Grundlagen der SW Compilierung
- ARM Instruction Set und RISC Pipeline
- Abschätzung der SW Ausführungszeiten
- On-chip bus Systeme und das HW/SW Interface
Medienformen:
- Skriptum,
- Slides,
- Moodle,
- Tafelarbeit,
- Übungsaufgabensammlung
- Praktische Übungen im Labor
- Wintersemester: Vorlesung und Übung in Präsenz (Englisch),
- Sommersemester: Vorlesung und Übung in Präsenz (Deutsch),
- Prüfung in Präsenz (zweisprachig; Angaben auf Englisch und Deutsch),
- Praktikum virtuell/remote (eduVPN)
- Unterlagen Englisch
Die folgenden Inhalte werden in der Vorlesung behandelt und zudem in einem praktischem Teil bei der Entwicklung eines HW/SW Systems auf einem FPGA Board angewendet:
- Entwurfsprozess digitaler Systeme
- Grundlagen der statischen Code Analyse und Optimierung
- High-Level Hardware Synthese mit Scheduling, Binding und Allokation zur Synthese einer RTL Beschreibung eines Hardware Blocks ausgehend von einem C Algorithmus
- Grundlagen der SW Compilierung
- ARM Instruction Set und RISC Pipeline
- Abschätzung der SW Ausführungszeiten
- On-chip bus Systeme und das HW/SW Interface
Medienformen:
- Skriptum,
- Slides,
- Moodle,
- Tafelarbeit,
- Übungsaufgabensammlung
- Praktische Übungen im Labor
Inhaltliche Voraussetzungen
Grundlagen des Entwurfs digitaler Schaltungen sollten bekannt sein. Es wird empfohlen, ein VHDL Prakikum vor oder neben dem Kurs zu absolvieren. Grundlagen der Programmierung mit C werden vorausgesetzt.
Lehr- und Lernmethoden
Ein wöchentlicher Präsenztermin besteht aus Vorlesung und Übung. Vorlesung (rezeptive Methoden) und Übung (aktivierende Methoden) werden in mehreren Teileinheiten pro Lehreinheit im Wechsel gehalten. Die Vorlesung verwendet rezeptive Lehrmethoden. Theoretische Grundlagen werden in Form einer Powerpoint Präsentation eingeführt. Algorithmen werden an Beispielen erläutert, die Schritt für Schritt und unter Beteiligung der Lernenden an der Tafel durchgerechnet werden. Die Übungsaufgaben werden mittels aktivierender und kooperativer Lernmethoden, wie Partner- und Gruppenarbeiten, behandelt. Die Studierenden bereiten sich auf Vorlesung und Übung durch Studium der Unterlagen vor, und bereiten durch Selbststudium den durchgenommenen Stoff nach.
Die praktischen Arbeiten finden in Gruppen statt. Der praktische Teil besteht aus mehreren Präsenzterminen und selbstständiger Arbeit mit freier Zeiteinteilung. An den Präsenzterminen wird die grundlegende Bedienung der Software und FPGA Boards erklärt. Je Präsenztermin wird ein neues Praxis-Modul eingeführt, sowie die Lösung des vorangegangenen Moduls nachbereitet. Insgesamt werden drei Module bearbeitet.
Die Teilung der Prüfung in schriftlich (Endterm) und semesterbegleitende Praktikumsaufgaben erleichtert den Vorbereitungsaufwand am Semesterende und fokussieren die Fähigkeiten in Vorlesung,Übung und Praktikum.
Die praktischen Arbeiten finden in Gruppen statt. Der praktische Teil besteht aus mehreren Präsenzterminen und selbstständiger Arbeit mit freier Zeiteinteilung. An den Präsenzterminen wird die grundlegende Bedienung der Software und FPGA Boards erklärt. Je Präsenztermin wird ein neues Praxis-Modul eingeführt, sowie die Lösung des vorangegangenen Moduls nachbereitet. Insgesamt werden drei Module bearbeitet.
Die Teilung der Prüfung in schriftlich (Endterm) und semesterbegleitende Praktikumsaufgaben erleichtert den Vorbereitungsaufwand am Semesterende und fokussieren die Fähigkeiten in Vorlesung,Übung und Praktikum.
Studien-, Prüfungsleistung
Die Prüfung besteht aus zwei Teilen:
a) Schriftliche Prüfung mit Fragen und Problemstellungen zum gelehrten Stoff in Vorlesung, Übung und Praktikum. Nachgewiesen wird, dass die theoretischen Grundlagen für den automatischen Entwurf von Hard- und Software-Lösungen im SoC-Kontext verstanden wurden und die formellen Verfahren auf Datenfluss-orientierte Probleme angewendet werden können.
b) Drei Praktikumsaufgaben während des Semesters zum Prüfen der praktischen Fähigkeiten. Geprüft wird die Fähigkeit, Querverbindungen mit den in Vorlesung und Übung gelehrten Theorien in der Anwendung von industriellen Tools herzustellen.
Die Endnote setzt sich zusammen aus:
a) 80 % Note der schriftlichen Prüfung (90 min., mit Unterlagen)
b) 20 % Note für die drei Praktikumsaufgaben
a) Schriftliche Prüfung mit Fragen und Problemstellungen zum gelehrten Stoff in Vorlesung, Übung und Praktikum. Nachgewiesen wird, dass die theoretischen Grundlagen für den automatischen Entwurf von Hard- und Software-Lösungen im SoC-Kontext verstanden wurden und die formellen Verfahren auf Datenfluss-orientierte Probleme angewendet werden können.
b) Drei Praktikumsaufgaben während des Semesters zum Prüfen der praktischen Fähigkeiten. Geprüft wird die Fähigkeit, Querverbindungen mit den in Vorlesung und Übung gelehrten Theorien in der Anwendung von industriellen Tools herzustellen.
Die Endnote setzt sich zusammen aus:
a) 80 % Note der schriftlichen Prüfung (90 min., mit Unterlagen)
b) 20 % Note für die drei Praktikumsaufgaben
Empfohlene Literatur
* Philippe Coussy, Adam Morawiec: High-level synthesis from Algorithm to digital circuit, Springer 2008
* Alfred Aho, Monica Lam, Ravi Sethi, Jeffrey Ullman: Compilers Principles, Techniques & Tools, Pearson Education 2007
* Alfred Aho, Monica Lam, Ravi Sethi, Jeffrey Ullman: Compilers Principles, Techniques & Tools, Pearson Education 2007
Links
Vollständiges Lehrangebot
Bachelorbereich: BSc-EI, BSES, BSEDE
| SS | Diskrete Mathematik für Ingenieure (BSEI, EI00460) (Schlichtmann) | |
| WS | Discrete Mathematics for Engineers (BSEDE) (Schlichtmann) | |
| WS | Grundlagen der Elektrotechnik I (BSES, EI10014) (Schlichtmann) | |
| WS | SS | Entwurf digitaler Systeme mit VHDL u. System C (BSEI, EI0690) (Ecker) |
| SS | Entwurfsverfahren für integrierte Schaltungen (BSES, EI43811) (Schlichtmann) | |
| SS | Schaltungssimulation (BSEI, EI06691) (Schlichtmann/ Leibl) |
Masterbereich: MSc-EI, MSCE, ICD
| SS | Advanced Topics in Communication Electronics (MSCE, EI79002) | ||
| SS | Electronic Design Automation (MSMCD, MSCE, MSEI, EI70610) (Schlichtmann, Tseng) | ||
| WS | Design Methodology and Automation (ICD) (Schlichtmann) | ||
| WS | Embedded System Design for Machine Learning (MSCE, MSEI, EI71040) (Ecker) | ||
| SS | Simulation and Optimization of Analog Circuits (ICD) (Gräb) | ||
| SS | Mixed Integer Programming and Graph Algorithms in Engineering Problems (MSMCD, MSCE, MSEI, EI71059) (Tseng) | ||
| WS | SS | Numerische Methoden der Elektrotechnik (MSEI, EI70440) (Schlichtmann/ Truppel) | |
WS WS | SS | Seminar VLSI-Entwurfsverfahren (MSEI, EI7750) (Schlichtmann) Seminar on Topics in Electronic Design Automation (MSMCD, MSCE, EI77502) (Schlichtmann) | |
| WS | SS | Synthesis of Digital Systems (MSCE, MSEI, EI70640) (Geier) | |
| WS | Testing Digital Circuits (MSMCD, MSCE, MSEI, EI50141) (Otterstedt) | ||
| WS | SS | VHDL System Design Laboratory (MSCE, MSEI, EI7403) (Schlichtmann) | |
| WS | SS | HDL Chip Design Laboratory (MSMCD, CIT431016) (Schlichtmann) |
BSES: Bachelor of Science Engineering Science (TUM-ED)
BSEDE: Bachelor of Science in Electronics and Data Engineering (TUM-Asia)
ICD: Master of Science in Integrated Circuit Design (TUM-Asia)
MSMCD: Master of Science in Microelectronics and Chip Design (TUM)
MSCE: Master of Science in Communications Engineering (TUM)
MSEI: Master of Science in Elektrotechnik und Informationstechnik
BSEI: Bachelor of Science in Elektrotechnik und Informationstechnik