Methoden der FPGA-Entwicklung

Die Anzahl der Logic Cells bei Xilinx-FPGAs reicht von ca. 16.000 bis über 1 Million. Abhängig von der Komplexität der Schaltung, aber auch von der Aufgabenstellung, muss flexibel entschieden werden, welche Methode in Verbindung mit den Zielvorgaben die richtige ist. Zielvorgaben können z.B. sein: Betriebssicherheit, Kosten, Entwicklungszeit, Flexibilität.

In der nachfolgenden Aufstellung wird beispielhaft aufgezeigt welche Tools und Methoden man einsetzten könnte, wenn die Schaltungskomplexität im Mittelpunkt steht.

Geringe und mittlere Komplexität

Schaltungseingabe

Schaltbild und / oder HDL-Beschreibung.

Simulation und Verifikation

Eingangsdaten aus einer HDL-Beschreibung und Ausgabe der Ergebnisse als Waveform oder Tabelle.

Synthese, Place & Route

Verwendung des Hersteller Synthesetools, Eingabe von Constraints per GUI oder Textfile

Inbetriebnahme

Nachweis der Funktion auf Basis der Kundenhardware durch den Entwickler oder Kunden.

Hohe Komplexität

    Schaltungseingabe

Schaltbild und System-Verilog/VHDL-Beschreibung und/oder C/C++ Beschreibung. Verwendung von IPs. Aufteilung des FPGAs in unabhängige Partitions.

Simulation und Verifikation

Eingangsdaten aus einer HDL-Beschreibung und der Ausgabe als Waveform. Erzeugung von Eingangsstimuli durch C/C++ Programm, Überwachung der Ergebnisse durch „Expected Data“, Assertions und Fault Coverage.

Synthese, Place & Route

Verwendung von Synthesetools des FPGA-Herstellers oder unabhängiger Toolhersteller, Eingabe von Constraints per GUI oder Textfile. Einsatz von Floorplaning.

Inbetriebnahme

Nachweis der Funktion auf Basis der Kundenhard- und Software durch den Entwickler in enger Zusammenarbeit mit dem Kunden.

Sehr hohe Komplexität

Typischerweise ist hier der Einsatz von sehr teurer Hard- und Software notwendig. Die Entwicklung kann nur in enger (auch räumlicher ) Verbindung mit den Systementwicklern und den verschiedenen spezialisierten Abteilungen erfolgen. Die Entwicklung von sehr komplexen FPGAs wird daher von Array Electronics nicht unterstützt.