VisualApplets

Echtzeit-Vision individuell realisieren

VisualApplets ist die integrierte Entwicklungsumgebung für Echtzeit-Applikationen auf FPGA-Prozessoren in der Bildverarbeitung. Die Lösung wird für zahlreiche Industrie-Anwendungen in einer Vielzahl von Branchen eingesetzt. VisualApplets eröffnet den Zugriff auf die FPGA-Prozessoren der Bildverarbeitungs-Hardware wie Framegrabber, Industriekameras und Bildverarbeitungsgeräte, um individuelle Bildverarbeitungs-Applikationen zu realisieren.

img-prd-vaprc01-375 Erstellung eines Designs über Flußdiagramme

img-prd-vaprc02-375 In nur 15 Minuten zum ersten Design

img-prd-vaprc03-375 Ressourcenabschätzung des Designs

img-prd-vaprc04-375 Design-Parametrisierung

img-prd-vaprc05-375 High-Level-Simulation und Vorschau des visuellen Ergebnisses

img-prd-vaprc06-375 Bandbreitenabschätzung des Designs

img-prd-vaprc07-375 Durchführung des Design Rule Checks

img-prd-vaprc08-375 Einbinden in ein SDK-Projekt

img-prd-vaprc09-375

Live-Vorschau und Konfiguration in microDisplay

Der Ansatz, FPGA-Programmierungen über Datenfluss-Modelle auf einer grafischen Benutzeroberfläche abzubilden, macht es neben Hardware- ebenso Softwareentwicklern und Anwendungsingenieuren einfach, Applet-Designs für komplexe Bildverarbeitungs-Abläufe intuitiv in kurzer Zeit zu erstellen – selbst ohne Hardware-Programmierkenntnisse. Alle programmierten Applikationen werden auf der FPGA-Hardware in Echtzeit ausgeführt.

Designs entstehen durch Kombination von Operatoren, Filterfunktionen und Transportlinks

Im Jahr der Veröffentlichung wurde VisualApplets mit dem International Vision Award 2006 ausgezeichnet und blickt auf eine erfolgreiche Geschichte zurück.

Die programmierbaren Silicon Software Framegrabber der V-Serie sind für die Verwendung mit VisualApplets vorlizensiert. Sie lassen sich mit Bildverarbeitungs-Applikationen ausstatten, die direkt auf dem Framegrabber hochparallel und mit minimalen Latenzen ausgeführt werden. Die Baumer LX VisualApplets-Kameraserie ist bereits mit VisualApplets 3 Kompatibilität erhältlich.

Grafische FPGA-Programmierung für Echtzeit-Anwendungen – Ihre Vorteile

Eigenschaft

Vorteile

Grafische Benutzeroberfläche für einfaches Erstellen von Applet-Designs per Drag&Drop Selbst komplexe Anwendungen für FPGAs lassen sich einfach über Datenfluss-Modelle erzeugen

Eigenschaft

Vorteile

Über 200 in Bibliotheken gruppierte Operatoren Zugriff auf vielfältige Operatoren, um Applet-Designs für fast alle Anforderungen in der Bildverarbeitung zu generieren

Eigenschaft

Vorteile

Eigene Bibliotheken lassen sich für häufig verwendete Bildverarbeitungs-Schritte anlegen oder aus vorhandenem Hardware-Code importieren Flexible Entwicklung und Wiederverwendung von benötigten Funktionen

Eigenschaft

Vorteile

Leichte Portierung von Applet-Designs auf andere Framegrabber oder Bildverarbeitungs-Geräte durch integrierte Konvertierungsfunktion Rapid Prototyping lässt sich auf einem Hochleistungs-Framegrabber beginnen und nach Fertigstellung des Designs auf die ökonomischste Plattform konvertieren

Eigenschaft

Vorteile

„Design Rules Check“ überprüft automatisch die Konformität des erstellten Applet-Designs mit den Designregeln. Lösungswege werden angeboten (visuelles Debugging). Anwender konzentrieren sich auf ihre eigentlichen Aufgaben und müssen sich nicht mit Debugging auseinandersetzen

Eigenschaft

Vorteile

Parameter-Änderungen werden über Vererbung im gesamten Design korrigiert Automatisierte Adaption des Applet-Designs bei Parameter-Änderungen

Eigenschaft

Vorteile

Anzeige des Verbrauchs einzelner Operatoren und Designelemente an den zur Verfügung stehenden FPGA-Ressourcen bei jeder Designänderung Bandbreiten-Analysen weisen auf Flaschenhälse im Design hin, die sich zum Beispiel in einer grafischen Konfiguration durch Erhöhung der Parallelität beheben lassen

Eigenschaft

Vorteile

Anzeige der benötigten Bandbreite der Transportlinks Für alle Links sind dezidierte Informationen zur verfügbaren und benötigten Bandbreite kontextsensitiv verfügbar

Eigenschaft

Vorteile

Überprüfung der Funktionalität des erstellten Applet-Designs per High-Level-Simulation. Diese berechnet an jeder Stelle das visuelle Zwischenergebnis in Bit-Genauigkeit für ein visuelles Debugging. Leichte Kontrolle des Design-Ergebnisses durch unmittelbares Vorschaubild an jeder Stelle des Designs, um erstellte Algorithmen und Bildverarbeitungs-Schritte pixelgenau zu überprüfen

Eigenschaft

Vorteile

Ermöglicht die Kommunikation und Steuerung von Kameras und der angeschlossenen Peripherie Datensignale und Verbindungen zu externen Schnittstellen (Peripherie) lassen sich grafisch programmieren und verarbeiten

Eigenschaft

Vorteile

SDK-Ausgabe generiert einen funktionsfähigen Beispiel-Code in C++ inklusive Parameter Bildverarbeitungs-Anwendung ist aus der eigenen Software heraus zu steuern

Eigenschaft

Vorteile

VisualApplets ist unabhängig von der Zielhardware Bildverarbeitungs-Funktionen sind unabhängig vom Kamerahersteller umsetzbar

Jede VisualApplets-Auslieferung enthält unter anderem arithmetische und morphologische Operatoren für Pixel-Manipulation, logische Operatoren für Klassifizierungs-Aufgaben, komplexe Module für Farbverarbeitung, Operatoren für eine statistische Bildanalyse und Verarbeitung von Bildsequenzen. Zusätzliche Operatoren sind verantwortlich für Formatkonvertierung, Kompression oder Konvertierung in Pixellisten. Spezielle Features sind die Programmierung der Kontrollsignale, um die Trigger-Funktionalität zu individualisieren sowie die Segmentierungs- und Klassifizierungsfunktionen im Blob-Analyse-Operator.
Lesen Sie mehr über die VisualApplets-Bibliotheken und -Operatoren (User Documentation)

Anwender erhalten einen schnellen und erfolgreichen Einstieg in die Hardware-Programmierung über ein erweitertes Angebot an Beispielanwendungen. In den Workshops von Silicon Software (und inzwischen auch in Workshops bei Stemmer Imaging) werden die essenziellen technischen und anwendungsbezogenen Fragen beantwortet.

Viele Partner und Distributoren haben sich für VisualApplets zertifizieren lassen. Die Zertifizierung als VisualApplets Design Center (VADC) befähigt sie, Kunden zu beraten, den Support durchzuführen und Applet-Designs zu erstellen.

Für Entwickler

Wie können Sie Ihr Projekt beschleunigen?

icn-prd-cpu-unload Der Einsatz von FPGAs in der Bildverarbeitung führt zu einer weitreichenden Entlastung der CPU: Die rasante Entwicklung neuer Sensoren ermöglicht die Aufnahme immer höher auflösender Bilder in immer kürzerer Zeit. Den entstehenden Datenmengen sind CPUs und sogar GPUs nicht mehr gewachsen. Die Lösung besteht im Einsatz von FPGAs. Diese sind der CPU vorgeschaltet und übernehmen eine Vielzahl von Bildverarbeitungsprozessen (Bildoptimierung, Bildauswertung, Erzeugung von Steuerungssignalen). CPU bzw. GPU werden so ganz wesentlich entlastet.
icn-prd-user-everyone Durch die grafische Benutzeroberfläche sind keine VHDL-Kenntnisse erforderlich. Die Programmierung des FPGA ist daher nicht allein Hardware-Programmierern vorbehalten, sondern kann ebenso von Software-Entwicklern oder Bildverarbeitungsexperten vorgenommen werden.
icn-prd-graph-gui Die Programmierung erfolgt über die Erstellung von Flussdiagrammen. Der Anwender stellt den Datenfluss der Bildverarbeitungslösung mithilfe von Bildverarbeitungsmodulen – den sogenannten Operatoren – und zwischengeschalteten Transportlinks einfach via Drag & Drop zusammen.
icn-prd-team-ability Vielfältige Funktionen unterstützen die Entwicklungsarbeit im Team. Die Projektbeteiligten können sich auf programmiersprachenunabhängiger Ebene austauschen.
icn-prd-operators Zur Definition der Bildverarbeitungslösungen stehen über 200 Operatoren zur Verfügung. Dabei bietet jeder Operator eine ganz bestimmte Funktion innerhalb der Bildverarbeitungskette an. Die Operatoren können je nach anstehender Bildverarbeitungsaufgabe angeordnet und miteinander verbunden werden. Sie sind thematisch in 13 Bibliotheken sortiert.
icn-prd-drc Mit dem zweistufigen Design Rules Check lässt sich die Konformität der erstellten Anwendung mit zugrundeliegenden Kombinations- und Parametrisierungsregeln überprüfen. Die Ergebnisausgabe bietet ein komfortables visuelles Debugging: Beim Klick auf eine Fehlermeldung springt das Programm sofort zur entsprechenden Fehlerstelle im Design.
icn-prd-resource Detaillierte Schätzungen und Berechnungen zeigen an, wie hoch der Verbrauch einzelner Operatoren und Designeinheiten an den zur Verfügung stehenden FPGA-Ressourcen ist. So ist es sehr einfach, Design-Elemente mit hohem Ressourcenverbrauch – sogenannte „Hot Spots“ – ausfindig zu machen und das Design an dieser Stelle zu optimieren.
icn-prd-bandwidth Mittels Datendurchsatzanalyse errechnet VisualApplets® die benötigte Bandbreite für einzelne Transportlinks. Links, deren Bandbreitenparametrisierung angepasst werden muss, zeigt das Programm durch farbliche Hervorhebung an. Für alle Links sind dezidierte Informationen zur verfügbaren und benötigten Bandbreite kontextsensitiv verfügbar.
icn-prd-simulation Eine pixelgenaue Simulation ermöglicht die Überprüfung der Funktionalität der erstellten Anwendung. Einzelne Testbilder oder Testbildsequenzen können an beliebigen Stellen des Designs eingespeist werden. Über ebenfalls beliebig platzierbare Ausgabemodule können die errechneten visuellen Ergebnisse abgerufen werden.
icn-prd-event Mit VisualApplets 2 ist eine ereignisgesteuerte Programmierung von FPGAs möglich. Der Anwender kann für bestimmte Situationen, die während der Bildverarbeitung auf dem FPGA auftreten, die Generierung von Ereignissen festlegen. Diese werden über einen implementierten Mechanismus entsprechend Echtzeitanforderungen an eine angeschlossene Softwaresteuerung weitergegeben. Polling-Vorgänge, die die CPU belasten, entfallen hiermit.
icn-prd-parameter Bei der Erstellung des FPGA-Designs kann bereits festgelegt werden, welche Parameter nach Implementierung des Applets zur Laufzeit verändert werden können. Über SDK oder microDisplay können diese Parameter durch den Nutzer zur Laufzeit angepasst werden, was eine komfortable, softwarebasierte Echtzeitsteuerung ermöglicht.
icn-prd-build Sobald ein Design fertiggestellt ist, kann ein lauffähiges FPGA-Applet per Mausklick erzeugt werden. Für diesen Build-Prozess wird die zuvor installierte Xilinx Place&Route Software automatisch von VisualApplets eingebunden.
icn-prd-imlementation Um das Laufzeitverhalten in Echtzeit zu beobachten, wird das FPGA- Applet in das Konfigurations- und Vorschauprogramm microDisplay geladen. Über die Software kann das Bildverarbeitungsverhalten visuell abgestimmt und konfiguriert werden. Hierüber ist auch die Speicherung einer kompletten Systemumgebung als Konfigurationsdatei vorgesehen.
icn-prd-sdk Mit der Erstellung des FPGA-Codes wird ein individuelles Softwarebeispiel generiert, das die Implementierung in eine Softwareanwendung erleichtert. Die parametrisierbaren Schnittstellen werden aufgelistet und in eine Programmierumgebung für die Bildaufnahme, die Speicherverwaltung und den Bildtransfer eingebettet.
icn-prd-mv Komfortable Schnittstellen zu Bildverarbeitungsprogrammen wie VisionPro® (Cognex), LabVIEW (National Instruments), HALCON (MVTec), CVB (STEMMER IMAGING) und MIL (Matrox) ermöglichen die Implementierung der mit VisualApplets erstellten FPGA-Anwendungen in nahezu alle denkbaren Bildverarbeitungssysteme.

Für Entscheider

Wie können Sie Ihr Projekt zum Erfolg führen?

icn-prd-t2m Mit VisualApplets entwickeln Sie Projekte deutlich schneller – der grafische High-Level-Ansatz macht die FPGA-Programmierung einfach und schnell. Der generierte Hardware-Code kann sofort im Zielsystem eingesetzt werden. Eine High-Level-Simulation zeigt das genaue Hardwareverhalten und hilft, die Integrationzeit zu verkürzen. Das Resultat ist eine kürzere und unkompliziertere Integration in die Produktionsautomation.
icn-prd-employees Softwareentwickler und Anwendungsingenieure können es auch – es werden keine Hardwareprogrammierkenntnisse vorausgesetzt, um FPGAs mit VisualApplets zu programmieren. Eine schnelle Lernkurve unterstützt die rasche Integration in den Unternehmens-Workflow – dank der intuitiven Bedienung und Designmethodik. Eine große Anzahl bereichsübergreifender Teamwork-Funktionalitäten helfen, Hardware- und Softwareprogrammierer in gemeinsame Projekte zu integrieren.
icn-prd-roi VisualApplets bietet niedrige Anfangsinvestitionskosten. Die FPGA-Technologie garantiert lange Produktlaufzeiten der Entwicklungsprojekte, da sie durch die Re-Programmierung ständig verbessert und neu angepasst werden können. Die Wartungskosten sinken hierdurch. Das modulare Designkonzept in VisualApplets erleichtert die Wiederverwendung der Designs: eine hohe Portabilität ermöglicht den Wechsel auf eine neue Hardwareplattform in Minuten; bereits vorhandener VHDL-Code kann als Zusatzoption importiert werden.
icn-prd-ip Das Design speziell entwickelter Bildverarbeitungslösungen ist grundsätzlich durch Umwandlung in Binärcode geschützt. Der unbefugten Nutzung von Applets kann durch eine Beschränkung der Ausführbarkeit nur auf definierten FPGAs vorgebeugt werden, d. h. ein durch den Kunden oder im Auftrag des Kunden erstelltes Applet kann nur auf den vom Kunden bestimmten FPGAs laufen.