Zum Inhalt springen

Laborpraktikum EDSS

Praktikum zur Veranstaltung Entwurf digitaler Systeme und Entwurf

Auf dieser Seite erfahren Sie mehr über den Inhalt des Praktikums Entwurf digitaler Systeme und Entwurf im Studienschwerpunkt Mikroelektronische Systeme und Entwurf.

Folgende Schritte werden beim Entwurf eines elektrischen Systems im Rahmen des Praktikums durchlaufen:

1. Entwurf

Zur Beherrschung der Komplexität elektrischer Systeme geht man beim Entwurf gemäß dem Prinzip "teile und herrsche" ("divide and conquer") vor, d. h. man teilt das System in Teilsysteme auf, die wiederum in Teilsysteme zerlegt werden können. Diese Vorgehensweise bezeichnet man als hierarchischen Entwurf.

Beim häufig verwendeten Top-Down-Entwurf wird das System ausgehend von der Spezifikation "von oben" in einfachere Teilsysteme zerlegt, bis ein Verfeinerungsgrad erreicht ist, der es erlaubt, die Teilsysteme direkt mit verfügbaren Basisfunktionen zu realisieren.

2. HW-Modelle

Nachdem in einem ersten Schritt die grundlegenden Charakeristika des Systems mittels einer Spezifikation erfasst sind, wird diese in eine alghorithmische Beschreibung des Systemverhaltens umgesetzt.

Anschließend erfolgt eine sehr hardwarenahe Beschreibung auf der Register-Transfer-Ebene (RTL-Beschreibung) mit Registern und den zwischen den Registern nötigen Datentransformationen. So entstehen ALUs (Arithmetic Logig Units), Zähler, Zustandsautomaten, usw. . Hauptkennzeichen der RTL-Beschreibung ist die Existenz eines Systemtakts und die Zuordnung von Operationen zu den einzelnen Takten. Die Beschreibung der Spezifikation, die algorithmische Beschreibung und die RTL-Beschreibung erfolgen manuell.

  • VHDL-Code auf Register-Transfer-Ebene.

    VHDL-Code auf RTL-Ebene

3. Validierung und Verifikation

Die im vorherigen Schritt erzeugten HW-Modelle müssen auf ihre Korrektheit überprüft werden. Dies geschieht in einer Verifikation, die mit Hilfe einer Simulation das HW-Modell überprüft. Durch Anlegen von Werten an den Eingängen (Eingangsstimuli) können die durch die Simulation erzeugten Werte an den Ausgängen mit den tatsächlich erwarteten Werten verglichen werden. Stimmen diese Werte überein, so geht man davon aus, dass das HW-Modell der Spezifikation genügt.

Eine Verifikation wird ebenfalls durch die Simulation nach den folgenden Schritten ("Synthese" und "Platzierung und Verdrahtung") durchgeführt.

Signalverläufe, die bei der Validierung entstehen, können grafisch angezeigt werden.

  • Signalverläufe bei der Validierung

    Signalverläufe bei der Validierung

4. Synthese

Ziel der Logiksynthese ist es, ausgehend von einer synthetisierbaren RTL-Beschreibung eine Gatternetzliste zu erzeugen. Die Gatternetzliste kann dabei z. B. bezüglich der Fläche, der Geschwindigkeit, des Leistungsverbrauchs oder der Testbarkeit optimiert werden. Bei der Logiksynthese wird aus einer technologieunabhängigen VHDL-Beschreibung eine technologieabhängige, strukturelle VHDL-Beschreibung in Form einer Netzliste gewonnen. Die Logiksynthese und alle folgenden Schritte sind technologieabhängig und müssen bei einer Änderung der Technologie erneut durchgeführt werden.

  • Ziel der Logiksynthese ist eine Gatternetzliste zu erzeugen.

    Logiknetzwerk

5. Platzierung und Verdrahtung

Platzierungs- und Verdrahtungswerkzeuge werden benutzt, um die die Gatternetzliste, die die Synthese geliefert hat, auf einem FPGA zu implementieren. Hierbei wird die Netzliste zusammen mit eventuell vorhandenen Platzierungs- und Laufzeitnebenbedingungen eingelesen und in einem internen Datenformat abgelegt.

Danach folgt die Platzierung und Verdrahtung. Während der Platzierung wird den physikalischen Einheiten ein geometrischer Platz auf dem FPGA zugewiesen. Anschließend werden die Signale, die die Einheiten entsprechend der Netzliste verbinden, durch ein Verdrahtungswerkzeug realisiert.

  • Beispielhafte Platzierung und Verdrahtung

    Beispielhafte Platzierung und Verdrahtung

6. Realisierung

Nach den vorhergehenden Schritten wird eine Datei erzeugt, mit der das FPGA programmiert wird. Meistens befindet sich das FPGA auf einer Leiterplatte mit anderen Bausteinen. Nun kann das komplette System überprüft werden.