Verbindung IP-Core mit FPGA
Um die neuen Bildsensoren mit einer leistungsfähigen Onboard-Verarbeitung zu kombinieren, sind für die FPGAs aber Spezialkenntnisse und erfahrene Entwickler vonnöten. Darüber hinaus bedeutet die komplexere SLVS-EC-Schnittstelle aufgrund der erforderlichen Byte-zu-Pixel-Konvertierung und korrekten Transceiver-Konfiguration einen höheren Aufwand und einen größeren Overhead für die allgemeine Sensorimplementierung. Die meisten Anwender fokussieren sich allerdings auf ihre Core-Spezialisierung bzw. USP-Anwendung und müssen die Entwicklungszyklen kurzhalten. Um diese Ziele zu erreichen, stehen ihnen nun hilfreiche Entwicklungswerkzeuge und SDKs zur Verfügung.
Spezielle IP-Cores haben die Aufgabe, die Signalumwandlung innerhalb des FPGA oder SoC zu übernehmen, indem sie die Sensordaten auf einer gut dokumentierten Schnittstelle empfangen und einen vorentwickelten Logikblock bereitstellen. Der SLVS-EC RX IP Core für Xilinx-FPGAs und SoCs ist eine bewährte Implementierung von SLVS-EC als Sonys bevorzugter Schnittstelle für deren Bildsensoren. Als On-Chip-Funktionsblock verbindet der IP Core die FPGA-Logik mit dem Datenstrom des Bildsensors, nimmt die Schnittstellendaten an und verwaltet die Byte-zu-Pixel-Konvertierung für alle verfügbaren Lane-Konfigurationen. Er bereitet damit einen optimalen und effizienten Verarbeitungsablauf auf dem FPGA vor. Die Software unterstützt SLVS-EC v1.2 mit 1, 2, 4 oder 8 vom Nutzer konfigurierbaren Lanes und liefert Pixelformate zwischen 8 und 14Bit als Rohdaten. Der IP Core unterstützt dynamische Modusänderungen sowie eine AXI4-Kommunikations- und Control-Schnittstelle. Vorimplementierte IPC Cores, die Anwender bei der Erreichung ihrer Ziele unterstützen, werden als Pakete angeboten, die sowohl Konstruktionsdateien, eine Simulationsumgebung (z.B. ModelSim) und als Referenz dienende Implementierungsbeispiele umfassen. Das dazugehörige EVB-Kit bietet Beispiele und Designs, die beim Implementieren und Testen eines SLVS-EC-basierten Sensors unterstützen (inkl. Hard- und Softwareumgebung), sowie dokumentierte Implementierungsbeispiele mit Quellcodes.