FPGA Programmierung 2021

Vorlesung mit praktischen Übungen

Kursinhalte

Wir besprechen Funktion und Anwendungen von programmierbaren Logikbausteinen (FPGAs). Der Entwurf, die Synthese und die Simulation von digitalen Schaltungen in der Hardwarebeschreibungssprache VHDL werden sowohl in der Vorlesung als auch in praktischen Übungen mit FPGAs behandelt. Die Teilnehmer sollen am Ende des Kurses in der Lage sein, unter Benutzung der entsprechenden Werkzeuge eine eigene Schaltung (z.B. eine einfache CPU) in einem FPGA umzusetzen und die von den Werkzeugen eingesetzten Techniken und Algorithmen zu verstehen. Wir behandeln die Optimierung von Schaltungen im Bezug auf Geschwindigkeit und Ressourcenverbrauch Weitere Themen sind Embedded-Prozessoren sowie Kommunikations- und Bus-Standards.

Vorläufiges Programm

  • Weshalb FPGAs? Weshalb VHDL?
  • CMOS, Gatter, kombinatorische Logik
  • Register, Takt, Pipelines
  • Simulation
  • Synthese
  • Place & Route
  • Schnelle Schaltungen
  • VHDL Design Patterns
  • Synchronisation
  • Speicher und vordefinierte Logikblöcke (IP)
  • Embedded-Prozessoren
  • Programmierung von Embedded-Prozessoren
  • Busse und andere Interfaces
  • Anwendungsbeispiele

Praktisches

Die Vorlesung und Übungen finden bis auf weiteres als Videokonferenz statt, Details auf der uni-internen Seite.

Materialien für Vorlesungen und Übungen auf Ilias (in Vorbereitung)

Die Übungen werden mit Lattice FPGA-Boards (MachXO3LF Starter Kit) durchegführt, die die Teilnehmer per Post/Kurier erhalten - Details dazu in der Vorlesung.
Die Lattice Diamond Software gibt es für Windows und Linux - für unseren FPGA reicht die "Free License" die Sie sich bei Lattice generieren können. Die Übungen in der ersten Woche erklären die Installation der Software und der Lizenz.