kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




Echtzeitanwendungen auf Basis von HDL im Sommersemester 2026

(EN google-translate)

(PL google-translate)

  • Nachfolgend wird im Verlauf des Semesters chronologisch vermerkt, welche Inhalte wann im Semester durchgenommen wurden.
  • Sie finden die Lehrinhalte entweder direkt hier, oder es werden hier Links auf die Inhalte angegeben.
  • Obwohl die Inhalte zum Kurs hier stehen, wird darum gebeten sich trotzdem im entsprechenden Moodle-Kurs der THB anzumelden, um besser kommunizieren zu können.
  • Beachten Sie auch die Angaben zur Prüfung hier:

04_SoSe2026 -- Einstiegsseite zum Sommersemester 2026 mit Angaben zu Räumen, Zeiten und den Prüfungen der einzelnen Fächer.

#1 Di, 24.03.2026


THEMEN HEUTE

  1. Worum geht es?
  2. Motivation -- Warum ist das wichtig?
  3. Welche Themen werden behandelt?
  4. Welche Leistungen sollten Sie erbringen? / Organisatorisches
  5. Einstieg
  6. Hands on -- Die erste Übung

1. Worum geht es?

  • Es soll erlernt werden, was FPGAs, also Field Programmable Gate Arrays sind und wie sie programmiert werden.
  • Die Entwicklung von FPGAs und eines zugehörigen Compilers wurde in den 1980ern durch die amerikanische Militärbehörde DARPA in Auftrag gegeben, um folgendes Problem zu lösen:

Sollte eine Steuereinheit oder ein regelungstechnisches System sehr schnell arbeiten, so musste es als elektronische Schaltung ausgeführt werden. Das Problem damit: Auch kleine Änderungen erfordern den Austausch der ganzen Schaltung und die Kombination mehrerer solcher Schaltungen gestaltet sich schwierig, da oft Ein- und Ausgänge unterschiedliche Impedanzen haben, oder schlicht die Datenblätter, die dies dokumentieren fehlen.

Ein FPGA arbeitet grob gesagt genau so wie eine digitale Schaltung, ist auch annähernd so schnell, jedoch wird die Schaltung, die auf dem FPGA laufen soll als Programmquelltext in einer besonderen Programmiersprache vorgegeben. Ein Compiler übernimmt dann die Aufgabe, die Logik dieses Programms in Verknüpfungen elementarer Logikbausteine auf dem FPGA umzusetzen und auf den FPGA zu übertragen.

2. Motivation -- Warum ist das wichtig?

FPGA finden ein breites Einsatzfeld in zivilen und militärischen Anwendungen, bei denen ein eingebettes System mit einer sehr hohen Performance gebraucht wird, um beispielsweise eine regelungstechnische Aufgabe zu lösen. Man findet FPGA-Lösungen in den eingebetteten Systemen von...

  • Satelliten
  • Raketen
  • Flugzeugen
  • schnellen, kleinen, autarken KI-Systemen
  • Emulationen alter Rechnerarchitekturen (Atari, Spielekonsolen u.ä.)
  • Bild- und Audiosignalverarbeitung

BEISPIEL ARTIKEL ZU fpga-von-xilinx-ermoeglicht-machine-learning-im-weltraum

3. Welche Themen werden behandelt?

  • Umgang mit der Entwicklungsumgebung Vivado
  • Einführung in die Programmiersprache VHDL
  • Aufbau einfacher Testschaltungen mit einem FPGA-Board

4. Welche Leistungen sollten Sie erbringen? / Organisatorisches

Die Prüfung ist semesterbegleitend, heißt, es gibt einen E-Test (elektronische Klausur) mit Praxiselementen: Sie beantworten als Prüfung einerseits theoretische Fragen, lösen andererseits aber auch eine praktische Aufgabe, bei der eine Schaltung aufgebaut und ein VHDL-Programm geschrieben und getestet werden soll. Diese Prüfung findet am letzten Vorlesungstermin statt. Im Vorfeld besteht ausraichend Zeit, die notwendigen Fertigkeiten zu erlernen.

5. Einstieg

  • Wie ist ein FPGA aufgebaut und wie programmiert man ihn?
69_FPGA/01_Einfuehrung -- Wie ist ein FPGA aufgebaut und wie programmiert man ihn?
Übersicht zum CMOD S7: 69_FPGA/23_VIVADO
Einstiegsprojekt mit VIVADO Schritt für Schritt: 69_FPGA/23_VIVADO/02_Startprojekt
6. Hands on -- Die erste Übung
  • Vollziehen Sie alle hier dargestellten Schritte für das Startprojekt praktisch nach:
Einstiegsprojekt mit VIVADO Schritt für Schritt: 69_FPGA/23_VIVADO/02_Startprojekt


#2 Di, 31.03.2026

Themen heute:

  1. Quiz
  2. Anmerkungen zur VHDL-Syntax
  3. Bitvergleicher mit dem CMOD S7
  4. Blinkende LED mit dem CMOD S7

1. Quiz

  1. In welchen Bereichen liegen Anwendungsgebiete für FPGAs?
  2. Wofür steht die Abkürzung FPGA?
  3. Was ist der elementare Unterschied zwischen einem FPGA und einem Mikrocontroller?
  4. Welche Programmiersprache steht neben VHDL noch zur Verfügung?
  5. Ist es möglich mit FPGAs zeitliche Prozesse zu realisieren?

2. Anmerkungen zur VHDL-Syntax


VHDL-Syntax: 69_FPGA/11_VHDL

3. Bitvergleicher mit dem CMOD S7

Unter nachfolgendem Link ist ein Bitvergleicher mit 2 mal 2 Eingängen dargestellt, wie er mit dem DSP FPGA realisiert wurde:

69_FPGA/05_Beispiele/03_Mustervergleich
  • Das Beispiel soll im Unterricht gemeinsam untersucht werden.
  • Im Anschluss soll gemeinsam überlegt werden, wie das Beispiel auf den CMOD S7 übertragen werden kann.
ÜBUNG
  • Setzen Sie den Mustervergleicher wie besprochen auf dem CMOD S7 um.

4. Blinkende LED mit dem CMOD S7

In dem Beispielfile für alle möglichen Constraint Varianten, findet sich ein Eintrag für die Aktivierung einer 12MHz Taktquelle:

# 12 MHz System Clock
set_property -dict { PACKAGE_PIN M9    IOSTANDARD LVCMOS33 } [get_ports { clk }]; #IO_L13P_T2_MRCC_14 Sch=gclk
create_clock -add -name sys_clk_pin -period 83.33 -waveform {0 41.66} [get_ports { clk }];

Code 0-1: Eintrag für die Aktivierung einer 12MHz Taktquelle.

Im Pinlayout des Datenblatts für den CMOD S7 ist sichtbar, wo die 12MHz Taktquelle in den FPGA geführt wird:

Auszug aus dem Pinlayout des Datenblatts für den CMOD S7.

Bild 0-1: Auszug aus dem Pinlayout des Datenblatts für den CMOD S7.

Auf der Basis des DSP FPGA sah eine Blinkschaltung folgendermaßen aus:

69_FPGA/05_Beispiele/01_Blinkende_LED
ÜBUNG
  • Übertragen Sie das beim DSP FPGA realisierte Konzept zur Realisierung einer blinkenden LED auf den CMOD S7 unter Ausnutzung der 12MHz Taktquelle.
  • Als LED kann die vom Eingangsbeispiel bei J1 verwendet werden, vergl.:
69_FPGA/23_VIVADO/02_Startprojekt


Di, 07.04.2026 -- keine Lehrveranstaltung wegen Ostern

#3 Di, 14.04.2026

#4 Di, 21.04.2026

#5 Di, 28.04.2026

#6 Di, 05.05.2026

#7 Di, 12.05.2026

#8 Di, 19.05.2026

#9 Di, 26.05.2026

#10 Di, 02.06.2026

#11 Di, 09.06.2026

#12 Di, 16.06.2026 -- SONDERFORMAT wg. Konferenz

#13 Di, 23.06.2026 -- PROBE E-Test

#14 Di, 30.06.2026 -- semesterbegleitende PRÜFUNG (E-Test)