FPGAs bieten die nötige Flexibilität zur Skalierung durch verschiedene Bausteinfamilien, wenn unterschiedliche Komplexitätsgrade gefragt sind

1 Bewertungen

Vom Prototypen zur Serienfertigung Auf die Zutaten kommt es an

04.11.2019

FPGAs sind in elektronischen Schaltungen immer dann gesetzt, wenn es darum geht, viele unterschiedliche und oft sehr exotische Funktionen in einer Schaltung zu realisieren. Neben der Auswahl des richtigen FPGAs sind eine Vielzahl weiterer Aspekte zu betrachten, um das Entwicklungsprojekt gut umzusetzen und verfügbare Ressourcen optimal zu nutzen.

FPGAs sind beliebte Arbeitstiere, wenn es gilt, produktspezifische Funktionen in einer elektronischen Schaltung abzubilden. Sie bieten gerade dann die nötige Flexibilität zur Skalierung durch verschiedene Bausteinfamilien, wenn unterschiedliche Komplexitätsgrade gefragt sind.

Die Implementierung zusätzlicher individueller Schnittstellen ist ebenso machbar, wie die Vorverarbeitung von Messdaten, die Umsetzung nahezu beliebiger digitaler Schnittstellen bis hin zur Implementierung komplexer digitaler Schaltungen wie zum Beispiel kompletter Microcontroller, Speicherschnittstellen oder Codecs. Die Vielzahl an verfügbaren, fertig entwickelten IP-Cores nehmen dem Entwickler in der Praxis bereits Arbeit ab und sind der Grundstock zur schnellen Projektumsetzung.

Die Komplexität des zu implementierenden Logik-Designs, daraus resultierend die Anzahl der bereitzustellenden Logikelemente, die maximal möglichen Taktfrequenz des FPGAs, die Geschwindigkeit und Anzahl von Transceivern für differentielle Datenverbindungen und nicht zuletzt die Verlustleistung sind die Kriterien, die bei der Bausteinauswahl wichtig sind. Sind diese Fragen im Vorfeld geklärt, kann man zum nächsten Schritt übergehen.

Make-or-Buy

Nach der Auswahl des richtigen FPGAs stellt sich schnell die Frage, wie die Hard-, Software und IP möglichst reibungsfrei umgesetzt werden können. Damit ist bei der Entwicklung von FPGA-Schaltungen immer häufiger die Frage ‚Make-or-Buy‘ verbunden: Soll das Produkt von Grund auf neu entwickelt werden, oder lässt sich das Entwicklungsprojekt durch zugekaufte Komponenten optimieren?

Ähnlich wie in der Welt der kommerziellen CPU-Module gibt es im FPGA-Bereich ein stetig wachsendes Angebot kommerziell erhältlicher Evaluationboards und FPGA-Module. Die Spanne der Produkte reicht von sehr einfachen Architekturen für wenige Euros, die beispielsweise gerne in der Makerszene verwendet werden, bis hin zu mehrere Tausend Euros teuren High-End-Produkten, die überwiegend in professionellen Applikationen zum Einsatz kommen.

Die Entscheidung für ein FPGA-Modul soll dem Entwickler das Leben erleichtern. Oft steht der Entwickler vor der Herausforderung, innerhalb kurzer Zeit die Machbarkeit technischer Anforderungen zu belegen, oder aber einen Funktionsprototypen vorzustellen. Das Hauptinteresse der Projektbeteiligten besteht also eher selten darin, DDR4-Speicher anzubinden, oder eine andere technische Herausforderung auf der Ebene der Schaltungstechnik zu lösen, vielmehr soll, auf einem höheren System-Layer, eine abstraktere Funktionalität für ein mögliches Produkt realisiert werden.

Um bereits zu diesem frühen Zeitpunkt Zeit und Kosten zu sparen, das Designrisiko zu minimieren und die Komplexität der Aufgabe zu reduzieren, empfiehlt sich der Einsatz eines bereits von der Stange verfügbaren FPGA-Boards. Die meisten kommerziellen Lösungen lassen sich skalieren, sodass mit Bezug auf verschiedene Speed-Grades, Bausteingrößen oder den Temperaturbereich ohne viel Aufwand auf ein anderes FPGA-Derivat gewechselt werden kann.

Die Komplexität des FPGA-Designs wird bereits auf dem Modul abgefangen und der Benutzer muss sich nicht mehr um schnellen DDR-Speicher und die verschiedenen Clock-, und Spannungsdomains kümmern. Damit reduziert sich der Aufwand und das Risiko einer Basisboard-Entwicklung wesentlich. Viele Basisboards lassen sich als simple zweilagige oder vierlagige Leiterplatten realisieren.

Elementare Auswahlkriterien für bestimmte FPGA-Boards sind in erster Linie die zu unterstützende FPGA-Familie, die Komplexität des Bausteins (die Anzahl verfügbarer Logikgatter) und bereits fest implementierte Funktionsblöcke zum Beispiel DSP-Blöcke, Transceiver, Hard-Processor-System. Darüber hinaus spielen der Formfaktor des Boards, der Temperaturbereich und die Entwicklungsumgebung eine sehr wichtige Rolle.

Ein beliebter Formfaktor ist gerade bei leistungsfähigeren Prototypen- und Evalboards die PCIe-Slotkarte, die abhängig von der verwendeten FPGA-Familie dann entweder als PCIe-Device und oft auch als PCIe-Root-Complex verwendet werden können. Kleinere FPGA-Baugruppen werden aus Kostengründen entweder mit einem SO-DIMM-, MXM2- (verwendet im Qseven-Standard) oder dem MXM3- (im SMARC-Standard) Leiterplattensteckverbinder ausgestattet.

Alternativ wird das Einstecken des FPGA-Boards auf die Basisplatine mittels einer oder mehrerer Board-to-Board-Steckverbinder vollzogen. Bis auf die PCIe-Slotkarten haben alle FPGA-Baugruppen miteinander gemein, dass innerhalb nahezu jeder Produktfamilie eine individuelle Signalbelegung verwendet wird. Da sich FPGAs frei programmieren lassen, stellt dies im Regelfall aber kein Problem dar.

Prototypenerstellung leicht gemacht

Voilà, der Funktionsprototyp ist fertig. Nach Auswahl des geeigneten FPGA-Boards wird die Funktion mit Pmod, FMC- oder HSMC-Erweiterungskarten ausgebaut, die Referenz-IP wird auf das Board gespielt und das Board in Betrieb genommen. Funktionserweiterungen werden, bei überschaubarem Umfang, selbst entwickelt, oder aber als kommerzieller IP-Core hinzugefügt und in das Design integriert.

Bleibt noch, die Applikation zu erstellen und das Ganze zu integrieren und für die Kundenpräsentation aufzubereiten. Was sich so einfach und problemlos liest, ist im normalen Projektablauf immer noch mit sehr viel Arbeit verbunden. Aber, vorgefertigte Boards, Tools und IP helfen dem Entwickler, sich zeitnah nach dem Projektstart mit seiner eigentlichen Aufgabe zu beschäftigen und das Projekt bei minimiertem Design-Risiko zu beschleunigen.

Zukunftsfähig und innovativ

Das Verwenden von geeigneten FPGA-Modulen schafft die Voraussetzung für die Realisierung komplexer Projekte, die dem Entwickler hilft, Kosten und Entwicklungsrisiken zu minimieren und mit seinem eigenen Produkt schneller den Markt zu erreichen. Die lange Verfügbarkeit der Produkte, abhängig je nach Hersteller, stellt sicher, dass das Endprodukt ausreichend lange im Markt angeboten werden kann und bietet damit ausreichend Sicherheit für die getätigten Investitionen.

Jenseits des FPGA-Moduls sind aber noch zusätzliche Dienstleistungen, wie sie zum Beispiel die FPGA-Spezialisten von Aries Embedded anbieten, im Bereich Consulting und Entwicklung von Hardware, Software und IP wichtig, um Anpassungen, Updates oder Optimierungen durchzuführen.

Bildergalerie

  • Das SpiderSoM von Aries Embedded stellt als offene Hardwareplattform alle Möglichkeiten zur Verfügung, es in Projekte zu integrieren.

  • Zum SpiderSoM-Modul bietet Aries Embedded einen RISC-V Softcore, der durch FreeRTOS unterstützt wird.

Firmen zu diesem Artikel
Verwandte Artikel