Die VICP-Signalverarbeitungsbibliothek von Texas Instruments ist eine Sammlung hochabgestimmter SW-Algorithmen, die auf dem VICP-Hardwarebeschleuniger ausgeführt werden. Mit der Bibliothek können Anwendungsentwickler die VICP-Leistung effektiv nutzen, ohne viel Zeit in die Entwicklung von Software für den Beschleuniger investieren zu müssen. Die Verfügbarkeit von gut getesteten, leistungsoptimierten Algorithmen mit der VICP-Signalverarbeitungsbibliothek verkürzt die Anwendungsentwicklungszeit erheblich. Durch die auf dem DSP freiwerdenden MIPS können Anwendungsentwickler weitere Differenzierungsfunktionen in die Endanwendung einbinden.
Bei dem VICP-Hardwarebeschleuniger handelt es sich um eine parallele MAC-Engine. Aufgrund seiner flexiblen Architektur erweist sich der Beschleuniger bei der Verbesserung der DSP-Leistung als sehr effektiv, da er verschiedene rechenintensive Aufgaben übernimmt.
VICP unterstützt verschiedene Algorithmen für zusätzliche DSP-Ressourcen
- Matrixoperationen/Arrayoperationen:
- Beispiele: Multiplikation/Transponierung von Matrizen Addition/Durchschnitt/Abweichung von Blöcken
- Beispiele: Multiplikation/Addition/Speicherfüllung von Arrays Skalare Arrayoperationen
- Beispiele: Nachschlagetabelle
- Digitale Signalverarbeitungsoperationen:
- Beispiele: 1D- und 2D-FIR-Filterung
- Beispiele: Faltung, Korrelation
- Digitale Bild- und Videoverarbeitungsfunktionen
- Beispiele: Alpha Blending, Farbraumumwandlung
- Beispiele: Bilddrehung, Packen/Entpacken von Bildern
- Beispiele: Medianfilterung
Die VICP-Signalverarbeitungsbibliothek bietet zudem Systemfunktionen, welche die Integration des VICP-Hardwarebeschleunigers in die Anwendung vereinfachen. Zu diesen Merkmalen zählen:
- Die APIs können entweder im synchronen oder im asynchronen Modus ausgeführt werden. Im synchronen Modus wird jeder Aufruf der Bibliotheks-API blockiert, solange die Verarbeitung durch den VICP nicht abgeschlossen ist. Dagegen wird der Aufruf der Bibliotheks-API im asynchronen Modus sofort erwidert. Der DSP wird durch einen Interrupt über den Abschluss der Verarbeitung benachrichtigt.
- Die VICP-Signalverarbeitungsbibliothek ist intern mit der DMA-Systemverwaltung verbunden, um die VICP-DMA-Anforderungen zu erfüllen. Dadurch wird die Komplexität der Systemintegration reduziert.
- Die Bibliothek verarbeitet außerdem den On-Chip-Cache und die externe Speichersynchronisierung, um die Datenkorrektheit zu gewährleisten.
Die VICP-Signalverarbeitungsbibliothek beinhaltet eine zu C äquivalente Implementierung aller unterstützten APIs. Die zu C äquivalente Implementierung kann von den Anwendungsentwicklern verwendet werden, um die von jeder API implementierten Signalverarbeitungsfunktionen besser zu verstehen. Für jede API wird ein Referenz-Prüfstand bereitgestellt. Der Prüfstand ermöglicht es dem Benutzer, die korrekte Verwendung dieser APIs zu verstehen. Der Prüfstand baut auf dem DSP-BIOS-Echtzeitbetriebssystem auf. Somit kann jeder der Prüfstände sogar als Ausgangspunkt für die Anwendungsentwicklung mit VICP genutzt werden.
Ab v3.0 werden zusätzliche Funktionen und Anpassungen bereitgestellt durch:
- Zugriff auf die VICP-Recheneinheit und die VICP-Planungseinheit (in v2.0 bisher nicht verfügbar)
- Die Bibliothek mit den VICP-Berechnungseinheiten bietet mehr als 30 Funktionen, die der Kunde miteinander verknüpfen kann, um maßgeschneiderte Algorithmen zu erstellen
- Die Bibliothek mit den VICP-Planungseinheiten bietet die erforderliche Infrastruktur, um mehrere Funktionen zu verknüpfen, ohne DMA-Bandbreite hinzuzufügen und gleichzeitig die Einrichtung einzuschränken