Übersicht Leseproben Inhaltsverzeichnis CD-ROM Ergänzungen&Druckfehler Buch bestellen

Das FPGA-Kochbuch

4.4 Entwurfsablauf

Die ingenieurmäßige Entwicklung eines Produkts besteht im allgemeinen aus folgenden Schritten:

Das Ziel einer Entwicklung ist es, ein Produkt zu erhalten, das die festgelegten Eigenschaften aufweist. Derartige Eigenschaften sind vor allem technische Spezifikationen, die Funktion und Leistungsdaten festlegen. Es sind aber auch nichttechnische Randbedingungen zu beachten, wie z.B. Entwicklungskosten, Entwicklungsdauer, Materialkosten, Fertigungsaufwand, Wartbarkeit und Nachbauschutz.

Die Spezifikation des Entwurfs wird zumeist informell in natürlicher Sprache erstellt und zu einem Pflichtenheft zusammengefaßt. Da kommerzielle Werkzeuge für eine Systemsynthese noch nicht erhältlich sind und formale Beschreibungsmittel fehlen, muß die Implementierung auf dieser Stufe noch von Hand stattfinden. Die Nachteile dieser Vorgehensweise liegen auf der Hand: Die Spezifikation kann unvollständig und mißverständlich sein. Zudem ist damit eine automatisierte Validierung dieses Entwurfschritts nicht möglich.

Im Folgenden werden zwei typische Entwurfsabläufe (engl.: Design Flow) betrachtet und im Anschluß daran die einzelnen Entwurfsschritte dargestellt. Abbildung 4.4 zeigt den Ablauf des FPGA-Entwurfs mittels Schaltplaneingabe (engl.: Schematic Entry). Die Eingabe des Entwurfs erfolgt dabei mittels eines graphischen Schaltplaneditors. Aus der graphischen Darstellung wird eine Netzliste generiert. Die Netzliste beschreibt den Schaltplan in Textform. Dabei erhält jedes Signal (Netz), jedes Bauteil und auch jeder Bauteilanschluß (Pin) einen eindeutigen Namen. Die Netzliste gibt an, wie die einzelnen Netze und Pins miteinander verknüpft sind.

GIF-Bild, 4,5 kB

Abbildung 4.4 Ablauf des FPGA-Entwurfs mit Schaltplaneingabe

Die so erstellte Netzliste enthält zumeist noch keine Informationen über das zeitliche Verhalten der einzelnen Komponenten und Verbindungsleitungen. Wird die Schaltung auf der Grundlage dieser Netzliste mit einem Digitalsimulator simuliert, so spricht man von einer funktionalen Simulation. Es wird dabei nur die Funktion, jedoch nicht das zeitliche Verhalten untersucht. Enthält die Netzliste Informationen über die Durchlaufzeiten der aus den Herstellerbibliotheken stammenden Schaltungselemente, so kann bereits an dieser Stelle eine Timing-Simulation durchgeführt werden. Es wird dann von einer Pre-Layout-Simulation gesprochen. Da die Verzögerungszeiten der Verbindungsleitungen erst nach dem Layout der Schaltung bekannt sind, liefert diese Simulation nur einen angenäherten Eindruck über das zeitliche Verhalten der Schaltung.

Werden bei der Simulation Entwurfsfehler entdeckt, so werden diese im Schaltplan korrigiert. Ist das Ergebnis der Simulation zufriedenstellend, so können die Elemente der Schaltung in dem FPGA plaziert und verdrahtet werden (engl.: Place&Route). Dazu werden zumeist automatische Werkzeuge benutzt, die über Vorgaben (engl.: Constraints) gesteuert werden können. Nach dem Plazieren und Verdrahten werden die endgültigen Laufzeiten der Signale berechnet. Diese Laufzeiten und auch die Angaben darüber, wo die einzelnen Logikfunktionen auf dem FPGA plaziert wurden, können automatisch in den Schaltplan bzw. die diesem entsprechende Netzliste eingetragen werden. Dieser Vorgang wird Backannotation genannt.

Unter Verwendung der endgültigen Laufzeiten der Signale kann mit einer erneuten Timing-Simulation, der Post-Layout-Simulation, das zeitliche Verhalten der Schaltung genau untersucht werden. Ist dieses noch nicht zufriedenstellend, so können die Vorgaben für das Place&Route-Werkzeug verändert werden, oder entsprechende Änderungen in den Schaltplan eingebracht werden. Entspricht das Entwurfsergebnis jedoch den Erwartungen, so werden die Konfigurationsdaten für das FPGA in Form eines Bitstreams erstellt. Werden bei Tests mit dem konfigurierten Baustein weitere Entwurfsfehler entdeckt, so müssen nochmals die Place&Route-Vorgaben oder der Schaltplan verändert werden.

Wie bereits beschrieben, stößt der schaltplanbasierte Entwurf schnell an seine Grenzen. Spätestens dann ist der Übergang zu einem Entwurf mit einer Hardwarebeschreibungssprache notwendig. Im Bereich der programmierbaren Logik hat sich vor allem die Sprache VHDL (VHSIC Hardware Description Language) etabliert. Abbildung 4.5 zeigt den entsprechenden Entwurfsablauf. Die VHDL-Schaltungsbeschreibung wird als VHDL-Modell oder auch als VHDL-Programm bezeichnet und wird wie ein Software-Programm mit einem Texteditor als reine Textdatei erstellt. Mittlerweile stehen auch graphische Eingabe- und Konvertierungswerkzeuge zur Verfügung.

GIF-Bild, 4,8 kB

Abbildung 4.5 Ablauf des FPGA-Entwurfs mit VHDL

Die VHDL-Beschreibung oder auch ein einzelnes Modul der Beschreibung kann unmittelbar simuliert werden. Es können sowohl Beschreibungen auf einer hohen Abstraktionsebene simuliert werden als auch detaillierte Beschreibungen entsprechender Verfeinerungsstufen. Dabei werden in der Regel zunächst Einheitsverzögerungszeiten angenommen, was einer funktionalen Simulation entspricht. Sind die Ergebnisse der Simulation zufriedenstellend, so wird aus dem VHDL-Modell mittels Synthese eine Entwurfsdarstellung auf Logikebene erzeugt. Dies kann eine Netzliste in einem Format des entsprechenden FPGA-Herstellers oder wiederum eine VHDL-Beschreibung sein. Das weitere Vorgehen ist analog zum Entwurf mittels Schaltplaneingabe.

Die beiden dargestellten Entwurfsabläufe sind typisch. Der genaue Ablauf hängt jedoch von den Möglichkeiten der benutzten EDA-Werkzeuge ab. Einige Werkzeuge erlauben z.B. Mischformen von Schaltplaneingabe und VHDL-Eingabe. Die Resultate beider Eingabeformate werden in einer gemeinsamen Projektdatenbasis gespeichert. Aus dieser wird dann eine Netzliste der Schaltung erzeugt. Auch gibt es Programme, die aus VHDL-Modellen Schaltpläne generieren können und umgekehrt. Der VHDL-Text beinhaltet im ersten Fall nur strukturale Modelle und keine Verhaltensbeschreibungen. Anhand der verfügbaren Werkzeuge ist im Einzelfall festzulegen, welcher Entwurfsablauf am geeignetsten ist. In der Regel wird es jedoch bei den hier skizzierten Abläufen bleiben.



... Es folgen die Abschnitte 4.4.1 bis 4.4.4 und 4.5


Zurück zu: [ Übersicht der Leseproben | Inhaltsverzeichnis ]
© Copyright 1998 Markus Wannemacher   Kontakt