FPGA-Design „Design is Documentation“
Design-Methodik bei der Entwicklung großer FPGA-SoC-Lösungen mit Highspeed-Datenübertragung, schnellen DDR3-Speicherschnittstellen und schnellen seriellen Schnittstellen
Anbieter zum Thema
Waren vor 20 Jahren ASICs noch die angesagte Lösung für komplexe anwendungsspezifische ICs, so findet man große ASIC-Designs heute überwiegend nur noch in Anwendungen mit riesigen Stückzahlen. Dagegen sind FPGAs (Field Programmable Gate Arrays), die früher vorwiegend nur für einfachere Funktionen zum Einsatz kamen, inzwischen meist die bevorzugte Lösung bei der Realisierung hochkomplexer digitaler Schaltungen mit Stückzahlen bis zu einigen tausend Exemplaren.
Obwohl bei der Entwicklung von FPGAs mehr Flexibilität und Korrekturmöglichkeiten gegeben sind, setzen die Ingenieure bei Heitec auf eine äußerst strukturierte und systematische Herangehensweise beim FPGA-Design und verwenden dazu eine Methodik, wie sie bei der ASIC-Entwicklung unverzichtbar ist.
Die Möglichkeiten und Anforderungen großer FPGAs für High-Speed-Anwendungen sind inzwischen sehr anspruchsvoll und umfassen beispielsweise sehr schnelle Speicher-Interfaces, High-Speed Serial-Transceiver Interfaces, umfangreiche DSP-Logik, Embedded-Prozessoren und vieles mehr. Mit Embedded Prozessoren für Steuerungs- und Debug-Aufgaben lassen sich auch hochkomplexe SoC-Lösungen realisieren, was dann auf Board-Ebene schnell ein 20-Layer-PCB erforderlich machen kann.
Hochkomplexe FPGAs anstatt von ASICs
Für große FPGA-SoC-Lösungen kommen dabei in der Regel High-End-FPGA-Typen der Familien Stratix-V von Altera oder Virtex-7 von Xilinx in Frage, um die Anforderungen bezüglich der Anzahl von IOs, High-Speed IOs, internen Logik- und Gatterfunktionalitäten (z.B. DSP für Bildverarbeitung, internes Memory) und der hohen Datenübertragungs-Geschwindigkeiten erfüllen zu können. Vor allem im Bereich der Echtzeitverarbeitung kommt man schnell an die Grenzen des heute Machbaren: 64 Bit DDR3 Memory-Interfaces mit 933 MHz und 1866 Mbps pro Pin, PCIe x 8 Gen.2 und High-Speed-Serial-Interfaces mit 16 x 8.5 Gbps, etc. sind durchaus reale Anforderungen.
Die Entwicklung ging in den letzten 10 Jahren so rasant voran, dass mit FPGAs hochkomplexe Designs realisierbar sind, wie sie früher nur mit ASICs machbar waren. Was liegt deshalb näher, als auch bei FPGAs auf die beim Design großer ASICs bewährten Methoden und Konzepte zurückzugreifen? Schließlich waren beim ASIC-Design systematische Herangehensweisen und umfangreiche Simulationen schon immer entscheidend, während bei kleineren FPGAs eine Entwicklung in wesentlich kürzerer Zeit erfolgen konnte und dann die Funktionen im Labor überprüft und ggf. geändert wurden. Aber so wie sich FPGAs bezüglich ihrer Komplexität an die Funktionalität von ASICs angenähert haben, muss auch die Design-Methodik angepasst werden.
Die optimale Methodik führt zum Erfolg
Voraussetzung bei großen FPGA-Designs ist generell eine enge Zusammenarbeit und ein intensiver Informationsaustausch zwischen Kunde, Entwicklern, PCB-Hersteller, Board-Fertigung und FPGA-Hersteller. Für die Umsetzung solcher Aufgaben hat Heitec daher eine Methodik definiert, die besonders schon in der Anfangsphase solcher Projekte größten Wert auf klare Definitionen, umfassende Dokumentation und laufende Reviews legt.
„Das Konzept muss von Anfang an festgelegt sein und die geforderten Funktionalitäten und die Architektur müssen eindeutig definiert sein, damit der Entwicklungsprozess effizient und ohne große Redesigns ablaufen kann,“ erläutert Markus Kirchmayer, Regionalleiter Südbayern bei Heitec, die Strategie. „Mit unserem Slogan ‚Design is Documentation’ drücken wir genau das aus, was uns wichtig ist, nämlich jede Phase des Projekts im Detail zu dokumentieren.“
Die Vorgespräche mit dem Kunden sind die Grundlage für das Requirement-based Design. Sie haben die Requirement-Spezifikation zum Ziel, das heißt Erfassen aller Anforderungen auf Basis eines Pflichtenhefts oder durch Ausarbeitung einer Requirement-Tabelle bezüglich der Funktionen und Leistungsparameter, sowie der elektrischen, mechanischen und thermischen Eigenschaften. Die nächsten Schritte sind Konzept-Spezifikation, Funktions-Spezifikation, Entwicklung und Implementierung sowie Verifikation und Validierung der Funktionen mittels System-Simulation.
Konzept-Spezifikation
Einer der ersten Schritte ist die Konzept-Spezifikation, bei der alle Requirements, das Realisierungskonzept, die FPGA-Auswahl und das Datenübertragungsmodell definiert werden. Dies kann sich bei hochkomplexen Projekten über Wochen oder gar Monate erstrecken und führt zu einem ausführlichen Dokument mit teilweise über 100 Seiten Beschreibung, High-Level-Blockschaltbildern und Tabellen. Hier wird die funktionale Partitionierung festgelegt, das heißt die Festlegung welche Funktionen in Hardware oder Software realisiert werden sowie welche Hardware-Komponenten (CPU, FPGA, ASIC, SoC) zum Einsatz kommen. Für unterschiedliche Lösungsansätze wird eine Entscheidungsmatrix erstellt, um die wesentlichen Komponenten wie CPU, SoC, High Speed I/O Interfaces, Memory-Interfaces etc. auswählen zu können.
Artikelfiles und Artikellinks
(ID:42290285)