ADAS-zentriertes Verarbeitungsmodell

Da der Fusion mehrerer Bildverarbeitungs-Systeme eine zentrale Bedeutung für Fahrzeuge mit assistierenden und selbstfahrenden autonomen Fahrfunktionen zugemessen wird, behält die ADAS-Funktionalität ihre zentrale Rolle in künftigen Automobilarchitekturen. Die Echtzeit-Bildverarbeitung mit DSP- und Ganzzahl-intensiven Aufgaben stellte ursprünglich ein Problem dar, bei dem es um das Extrahieren von Informationen aus Stand- und Bewegtbildern geht, um Art, Ort und Geschwindigkeit von Objekten zu bestimmen. Während sich die Designer für die autonomen Fahrzeuge rüsten, hat die Rolle des ADAS-Prozessors an Umfang zugenommen und schließt jetzt Bilder im sichtbaren Bereich, sowie Infrarot-, Ultraschall-, Lidar- und Radarbilder ein.

In traditionellen Kombinationen aus SoCs und Coprozessoren geschieht die Vorverarbeitung der Bilder separat durch die CPU, wobei die Anbindung an die CPU über einen oder mehrere High-Speed-Busse erfolgt. Trotz der Verbesserungen der Bus-Latenz bei ADAS-Architekturen muss doch eine gewisse zusätzliche Latenz in Kauf genommen werden, wenn Coprozessoren in separaten Chips implementiert sind. Das Kombinieren von E-FPGA-IP mit einer CPU zu einer durchgängigen ADAS-Architektur kann sich deshalb als die effizienteste Möglichkeit erweisen, eine schnelle Reaktion auf rasch wechselnde Verkehrsbedingungen zu gewährleisten.

Bild 2: Speedcore-IP gibt dem Kunden die Möglichkeit, eine individuell programmierbare Struktur in eine standardisierte ASIC-Plattform mit speziellen Rechen-Ressourcen einzubetten.

Bild 2: Speedcore-IP gibt dem Kunden die Möglichkeit, eine individuell programmierbare Struktur in eine standardisierte ASIC-Plattform mit speziellen Rechen-Ressourcen einzubetten. Achronix

Die Integration mehrerer Sensorquellen in einen ADAS-Core ist ein idealer Fall, in dem sich Speedcore-IP neben einer CPU einbetten lässt. Speedcore-IP gibt dem Kunden die Möglichkeit, eine individuell programmierbare Struktur in eine standardisierte ASIC-Plattform mit speziellen Rechen-Ressourcen einzubetten (Bild 2). In der Praxis ist es dank dieser Integration möglich, die von den verschiedenen Bildquellen gesammelten Daten in den Cache einer CPU anstatt in ein eigenständiges SDRAM zu schreiben. Das Reduzieren des Interruptaufkommens der CPU ermöglicht die Echtzeit-Reaktion auf Objekte, die sich im Sichtfeld eines fahrenden Autos befinden.

Speedcore Custom Blocks sind eine zusätzliche Möglichkeit zum Optimieren einer Speedcore-E-FPGA-Instanz, insbesondere für Bildverarbeitungs-Algorithmen. Zum Beispiel ist Yolo (You Only Look Once) ein aktueller, echtzeitfähiger und mit neuronalen Netzwerken arbeitender Objekterkennungs-Algorithmus, der deutlich leistungsfähiger ist als frühere Methoden. Grundlage dieses Algorithmus ist eine große Zahl von Matrix-Multiplizierern. In einem FPGA implementiert, werden diese Matrix-Multiplizierer mit DSP- und RAM-Blöcken gebildet.

Das Problem entsteht durch die Diskrepanz zwischen der optimalen Konfiguration der DSP- und RAM-Blöcke, wie Yolo sie benötigt, und der Konfiguration einer typischen FPGA-Struktur. Zum Beispiel kann eine FPGA-Struktur DSP-Blöcke mit 18 × 27 Multiplikation/Akkumulation und 32 × 128 RAMs bieten, während die optimale Lösung eine Struktur aus 16 × 8 DSP-Blöcken mit 48 × 1024 RAMs wäre. Durch das Erstellen kundenspezifischer Blöcke, die die optimale Konfiguration aus DSP- und RAM-Blöcken ergeben, belegt die resultierende Speedcore-Struktur 40 Prozent weniger Chipfläche, um dieselbe Funktionalität zu implementieren.

 

Auf der nächsten Seite beschreibt der Beitrag, warum aktuell die dezentrale Intelligenz im Fokus steht.

Seite 3 von 41234