Lectures

All lectures are held at the University of Bremen and focus on digital logic circuit design and parallel systems.

Lectures

[HWP10]

Stefan Bosse

High-Level-RTL-Synthese mit einem Multi-Prozess-Modell

Von der imperativen algorithmischen Ebene zu der Register-Transfer Digitallogik-Ebene

[High-Level-RTL Synthesis using a multi-process model]

1. edition (2010)

[Slides, German, PDF]

[PDL07]

Stefan Bosse

Anwendungsspezifische (programmierbare) Digitallogik und VHDL-Synthese

[Application Specific (programmable) Digitallogic and VHDL-Synthesis]

2. edition (2007)

[Script, German, PDF]

[Slides, German, PDF]

[HWP06]

Stefan Bosse

Hardware-Entwurf von parallelen Systemen, Logik- & High-Level-Synthese

[Hardware-Design of parallel Systems, Logik- & High-Level-Synthesis]

1. edition (2006)

[Slides, German, PDF]

[GDIA06]

Stefan Bosse

Grundlagen der Informatik - Einführung, Rechnerarchitektur, Betriebssysteme, Programmiersprachen

[Basics of Informatics - Introduction, Computerarchitecture, Operating Systems, Programming Languages]

2. edition (2006)

[Slides, German, PDF]

[GDIB07]

Stefan Bosse

Grundlagen der Informatik - Compilerbau, Algorithmen und Datenstrukturen

[Basisc of Informatics - Compilerconstruction, Algorithms and Datastructures]

2. edition (2007)

[Script, German, PDF]

[Slides, German, PDF]

Application Specific (programmable) Digitallogic and VHDL-Synthesis

Einführung in den Hardware- und Systementwurf mit anwendungsspezifisch konfigurierbarer Digitallogik mittels VHDL-Synthese und deren Anwendungen. Hardware-Synthese ist ein automatischer Prozeß, um aus einer Verhaltens- und Strukturbeschreibung logische Schaltungen und Netzlisten zu erhalten, die direkt technologisch umsetzbar sind. Die verwendete Hardware-Beschreibungssparche sollte dabei unabhängig von der Zieltechnologie sein. Beim Hardware-Entwurf spielen System-On-Chip-Methoden eine wesentliche Rolle.

   1.  Motivation und Einführung

      1.1 Einsatz und Grenzen von klassischen Mikroprozessoren in der 
          digitalen Signalverarbeitung

      1.2 Digital Signalverarbeitung und Anwendungen

      1.3 Daten- und Kontrollfluß in der digitalen Signalverarbeitung

      1.4 Sequentielle Systeme und Parallelität

      1.5 Vorteile von benutzerdefinierten parallelen Systemen

      1.6 Konfigurierbare Prozessoren als Alternative

      1.7 Zustandsautomaten und Register-Transfer-Logik

   2. Einführung in Grundlagen der Digitallogik und Boolesche Algebra

      2.1 Logische Grundfunktionen und technische Umsetzung

      2.2 Transistorlogik

      2.3 Boolesche Algebra, Normalformen und Logikminimierung

      2.4 KV-Diagramme und Verfahren nach Quine und McCluskey

      2.5 Kombinatorische Logik - Arithmetische Funktionen

   3. "Programmierbare" Logikbausteine: Einzelgatter, GAL, PAL, CPLD, FPGA, ASIC

   4. Einfache Digitalsysteme mit kombinatorischer Logik

   5. Register-Transfer basierte sequentielle Systeme

   6. Zustandsautomaten: ihre Anwendung und Realisierung

   7. Einführung in VHDL (parallel zu obigen Inhalten)

          * Schnittstellenbeschreibung
          * Architektur
          * Konfiguration
          * Datenobjekte, Kontrollelemente

   8. Grundlagen der Digitallogiksynthese und Syntheseverfahren

   9. Ebenen beim Digitalelektronik-Entwurf

          * Systemebene
          * Algorithmische Ebene
          * Register-Transfer-Ebene
          * Logikebene
          * Schaltkreisebene


Hardware-Design of parallel Systems, Logik- & High-Level-Synthesis

Diese Vertiefungsvorlesung soll die zunehmende Bedeutung der Parallelen Datenverarbeitung in der Informatik und beim Hardware-Chip-Entwurf verdeutlichen. Parallele Verarbeitungskonzepte sind in der Algorithmik und Software-Technik schon seit einigen Jahrzenten bekannt. Dabei wird ein Algorithmus in Teilprozesse partitioniert die auf meheren Prozessoren nebenläufig ausgeführt werden. Anwendungen von parallelen und verteilten Algorithmen lagen bisher aber häufig im Bereich der rechenintensiven Numerik. Die Entwicklung tendiert zu immer leistungsfähigeren Mikroprozessoren, mit der Folge zunehmender Komplexität und viel bedeutender mit einer Zunahme der elektrischen Leistungsaufnahme. Dabei kann man zeigen, daß die Zerlegung eines komplexen Systems in ein System kooperierender weniger komplexer Systeme bei gleicher gesamter Rechenleistung deutliche Vorteile hat:

  • Geringere Komplexität der Einzelsysteme und reguläre Strukturen vereinfacht den Hardware-Entwurf.

  • Die Leistungsaufnahme des Gesamtsystems ist i.A. geringer als die eines monolithischen Einprozessor-Systems.

  • Bestehende System-Entwürfe können durch reguläre Struktur erweitert werden.

Die aus der klassischen Mehrprozessor-Technik bekannten Strukturen und Algorithmen können beim Entwurf von digitalen Logik-Systemen unter gewissen Randbedingungen übertragen werden, so daß ein Hardware-Entwurf mit Modellen aus der Software-Technik erfolgen kann, z.B. Mehrprozess-Modelle mit Interprozess-Kommunikations- Primitiven wie Semaphore oder Queues. Der Trend beim Hardware-Entwurf geht daher in Richtung der Sea-of-Processor Konzepte mit bis zu 1000 (einfachen) Prozessorkernen auf einem einzigen Chip. Bei diesem Hardware-Entwurf spielen daher Systempartitionierung und Kommunikation eine zentrale Rolle. Ein kombiniertes Hardware-Software-Codesign ist hier unumgänglich.

   1.  Motivation und Einführung

      * Einsatz und Grenzen von Einprozessor-Systemen
      * Architektur eines Einprozessor-Systems
      * Programmgesteuerter Ablauf

   2. Multiprozeß-Modell

      * Mit generischen Prozessoren
      * Skalierung auf anwendungsspezifische Digitallogiksysteme

   3. Multiprozessor-Architekturen

      * Mit generischen Prozessoren
      * Skalierung auf anwendungsspezifische Digitallogiksysteme

   4. Interpozeß-Kommunikation {Mutex, Semaphore, Event, Queue,Barrier}

      * Software
      * Hardware

   5. Parallele Algorithmen

      * Software
      * Hardware

   6. Parallele Architekturen

      * System-On-Chip-Architektur
      * Verwendung von FPGAs & ASICs

   7. Logik-Synthese und High-Level Synthese für die Verhaltensmodellierung 
      des Systems
   8. Pipeline-Architekturen

      * in Funktionalen Systemen
      * in Reaktiven Systemen