Applikations-Know-how ins FPGA bringen

FPGA-Prototypen in MATLAB entwickeln – Teil 2

< zurück

Seite: 2/2

Anbieter zum Thema

Eingrenzung von Fehlerquellen & schnelle Regression-Tests

Gerade in der MATLAB-lastigen Domäne der Signalverarbeitung sind Fehler nicht immer einfach erkennbar. Der Implementationsspezialist kann zwar Daten an diversen Stellen innerhalb des FPGAs aufzeichnen, aber ob diese korrekt sind oder in einem bestimmten Frequenzbereich zu viel Rauschen aufweisen, ist für ihn ohne Hilfe des zuständigen Applikationsspezialisten nicht erkennbar. Der Applikationsspezialist hingegen kann üblicherweise kaum selbständig direkt auf interne Signale zugreifen.

FPGA-Implementation – Make or Buy?

Da FPGAs in immer mehr Anwendungsbereiche vordringen, sind viele Entwickler gezwungen, sich mit der Materie auseinanderzusetzen. Eine Auslagerung der FPGA-Implementation an einen Dienstleister wird oft als schwierig betrachtet, da dieser zwar vertieftes Wissen im Bereich FPGA hat, aber oftmals kaum Applikations-Know-how mitbringt. Dank MATLAB-basierten Prototypen können Kunden (Applikationsspezialisten) und Dienstleister (Implementationsspezialisten) auch in dieser Situation effizient und risikoarm zusammenarbeiten. So wird Outsourcing in vielen Bereichen realistisch und effizient, was den Umstieg auf die neue Technologie deutlich vereinfacht.

FPGA-basierte Prototypen erlauben es dem Applikationsspezialisten hingegen, mit minimalem Zusatzaufwand Zugriff auf diverse interne Signale zu geben. So kann er die Fehlerquelle relativ schnell eingrenzen. Als sehr angenehm erweist sich dabei der direkte Zugriff auf die umfassenden Analysefunktionen von MATLAB, da diese dabei helfen können zu entscheiden, ob ein Signal sich wie erwartet verhält. Der FPGA-Spezialist wird zur exakten Lokalisierung und Behebung des Fehlers zwar nach wie vor benötigt, allerdings nur noch für einen sehr kleinen und klar eingegrenzten Teil der Schaltung.

Bei der Entwicklung von Embedded Software werden Unit Tests gewöhnlich auf Desktop-PCs ausgeführt, da diese über mehr Rechenleistung verfügen. So laufen die Tests normalerweise sogar schneller ab als die reale Implementation auf dem Zielprozessor. Im Gegensatz dazu laufen Simulationen von FPGA-Designs um ein vielfaches langsamer ab als die reale Implementation. Die Simulation von einigen Millisekunden kann unter Umständen Stunden in Anspruch nehmen, was etwa die sinnvolle Ausführung von Test-Suiten vor jedem Release unmöglich macht.

Auch hier können MATLAB-basierte Prototypen Abhilfe schaffen: In MATLAB erzeugte und schon während des Algorithmus-Designs verwendete Daten können einfach an das FPGA übertragen und die Resultate aufgezeichnet werden. Die aufgezeichneten Daten können dann mit den Resultaten der MATLAB-Simulation verglichen werden um zu überprüfen, ob die Performance im erwarteten Bereich liegt.

Dass die tatsächliche Implementation des Algorithmus anstelle einer Simulation verwendet wird, führt neben den Vorteilen in Bezug auf die Geschwindigkeit auch dazu, dass mögliche Synthese-Fehler oder andere in der Simulation nicht abgebildete Effekte ebenfalls mitgetestet werden.

Die in diesem Artikel beschriebenen Beispiele zeigen deutlich, dass MATLAB-basierte Prototypen nicht nur die einfache Analyse eines kompletten FPGA-Designs ermöglichen, sondern auch dabei helfen, Applikationsspezialisten früher und direkter in den Entwicklungsprozess einzubeziehen. Das Risiko für Fehler, die lange Zeit unentdeckt bleiben und dadurch am Ende des Projektes hohe Kosten verursachen, kann so drastisch reduziert werden und die Erfahrung zeigt, dass die ständige Mitarbeit der Applikationsspezialisten auch zu qualitativ besseren Endergebnissen führt.

(ID:44503480)

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung