20 Jahre VisualApplets

Könnten Sie uns bitte kurz erläutern was VisualApplets ist?

428094 hoefle kevin 1800x1800px 4c

Kevin Höfle: VisualApplets ist ein graphenbasiertes, grafisches No-Code- bzw. Low-Code-Tool zur Programmierung von FPGAs. Es verfügt über eine integrierte, bitgetreue Simulation und ist speziell auf Bildverarbeitung sowie auf die Framegrabber-Plattformen von Basler ausgerichtet. Damit lassen sich FPGA-basierte Bildverarbeitungsfunktionen visuell entwickeln, simulieren und anschließend effizient auf der Zielhardware einsetzen.

Wie kam man bereits vor 20 Jahren auf die Idee eine grafische FPGA-Entwicklungsumgebung zu entwickeln? War man seinerzeit eventuell sogar seiner Zeit (zu) weit voraus?

Betrachtet man den Markt, so gab es auch andere Anbieter, die damals grafische Programmierwerkzeuge angeboten haben. Dieser Ansatz lag in der Luft, denn der entscheidende Vorteil einer grafischen FPGA-Entwicklungsumgebung ist folgender: Menschen lesen Text normalerweise sequenziell, also in einer festen Reihenfolge. FPGA-Designs und Bildverarbeitungspipelines bestehen jedoch sehr häufig aus parallel ablaufenden Datenpfaden. Diese Parallelität ist in rein textbasierter Form oft schwerer zu erfassen. Ein grafischer Ansatz macht solche Strukturen deutlich intuitiver sichtbar. Vor 20 Jahren war ich selbst leider noch nicht dabei. Aus Gesprächen mit Kolleginnen und Kollegen habe ich jedoch immer wieder mitgenommen, dass genau diese Herausforderung im Zentrum stand: Es sollte ein einfacher Weg geschaffen werden, der es ermöglicht, FPGA-basierte Customizations auch bei steigender Nachfrage schnell und anwenderfreundlich umzusetzen.

Aktuell bieten Sie VisualApplets – je nach Erfahrungsgrad der Anwender – in zwei Service-Versionen an: als Full-Service- oder Support-Lösung. Wird dies zukünftig so bleiben?

Ja, diese Aufteilung hat sich bewährt und wird von unseren Kunden geschätzt. Deshalb werden wir VisualApplets auch in Zukunft so anbieten. Die Services sind dabei flexibel anpassbar und nicht starr abgegrenzt. Im Full-Service entwickeln wir als Dienstleister maßgeschneiderte Lösungen für die Anwendungen unserer Kunden. Dank der integrierten Simulation in VisualApplets haben wir dabei sehr kurze Abstimmungswege: Ergebnisse können frühzeitig präsentiert, überprüft und gemeinsam diskutiert werden. So profitieren unsere Kunden von effizienten Implementierungszyklen und einem schnellen Proof-of-Concept.

Wenn Kunden VisualApplets eigenständig einsetzen, können sie ebenfalls von den Vorteilen der integrierten Simulation profitieren. Zusätzlich haben sie aber die Möglichkeit, Anpassungen vorzunehmen und ihre Lösungen intern weiterzuentwickeln. Mit unserem Support und einem großen Angebot an Schulungen unterstützen wir diese Kunden dabei, das volle Potenzial des Tools selbstständig auszuschöpfen. Selbstverständlich können wir auf Wunsch unserer Kunden auch hybride Lösungen vereinbaren; also etwa die Erstellung eines Proof-of-Concept für eine Anwendung von unserer Seite mit anschließender eigenständiger Entwicklung durch den Kunden. Insgesamt werden wir unser Portfolio zukünftig weiter ausbauen, insbesondere durch mehr direkt verfügbare Lösungen. Gleichzeitig ist es uns aber wichtig, die Flexibilität zu erhalten, die Anwenderinnen und Anwender schätzen, die VisualApplets eigenständig nutzen.

Haben Sie zusätzliche Erweiterungen bei den Operatoren und Framegrabber Features eingeführt?

Ein großer Meilenstein war die Erneuerung unserer Blob-Operatoren. Diese erreichen inzwischen mehr als 25.000 Megapixel pro Sekunde auf unserer neuesten CXP-over-Fiber-Plattform und 20.000 Megapixel pro Sekunde auf unserer CXP-12-Plattform. Darüber hinaus lassen sich unsere CXP-12- und CXP-over-Fiber-Framegrabber auch als Co-Prozessoren verwenden, d.h. dass Daten über PCIe auf den Framegrabber übertragen und dort weiterverarbeitet werden können. Ein besonderes Highlight ist dabei unser Data-Forward-ing-Prinzip. Dabei werden Daten nicht einfach weitergeleitet, sondern können zuvor direkt auf dem FPGA vorverarbeitet werden. Dadurch lassen sich intelligente Processing-Pipelines realisieren, die zu geringeren Gesamtsystemkosten beitragen können, beispielsweise durch effiziente Bildverbesserung, Vorverarbeitung oder Datenreduktion.

Welche Art von Anwendungen profitieren konkret von diesen Neuerungen?

Alle Applikationen, die mit großen Datenmengen umgehen müssen, z.B. Batterie-, Wafer-, Display- und PCB-Inspektionen. Kameras liefern heute eine enorme Datenmenge. Aber nicht jeder Bildbereich und nicht jeder Dynamikbereich ist für die Analyse in einer Anwendung relevant. Wer Bilddaten früh auf die wesentlichen Informationen reduziert – etwa durch Bereinigung, Komprimierung und gezielte Vorverarbeitung mittels Blob-Detektion, JPEG-Komprimierung oder Algorithmen wie HDR und Histogramm-Equalisierung – spart auf Systemebene erhebliche Kosten. Denn geringere Anforderungen an Rechenleistung und Datenspeicher ermöglichen den Einsatz günstigerer Hardware – oder bei gleicher Hardware einen höheren Durchsatz.

Wie sieht es mit der Usability von Visual-Applets aus? Werden sich hier Änderungen ergeben?

Auch bei VisualApplets selbst haben wir uns stetig weiterentwickelt. VisualApplets kann inzwischen über Python gesteuert werden. Das erleichtert die Automatisierung von Aufgaben und die Verifikation von Algorithmen. Zusätzlich steht bald eine Signalsimulation zur Verfügung. Damit lassen sich z.B. Custom Encoder, Trigger oder andere Signalabläufe testen – ähnlich wie bisher bereits bei der Bildsimulation, jedoch ohne, dass dafür Hardware benötigt wird. Für die Zukunft planen wir, den Bereich der Usability noch weiter zu optimieren. Ein Schwerpunkt liegt darauf, eine höhere Abstraktionsebene zu schaffen, sodass wiederkehrende typische Aufgaben und Bildverarbeitungsfunktionen noch einfacher zugänglich werden.