Texas Instruments VICP Signal processing library is a collection of highly tuned SW algorithms that execute on the VICP H/W accelerator. The library allows the application developer to effectively utilize the VICP performance without spending significant time in developing software for the accelerator. The availability of well tested, performance tuned algorithms with the VICP Signal processing library significantly reduces the application development time. The freed-up MIPS on the DSP enable the application developers to include more differentiation features in the final application.
The VICP H/W Accelerator is a parallel MAC engine. Due to its flexible architecture, the accelerator is very effective in enhancing DSP performance by taking over execution of varied computationally intensive tasks.
VICP supports various algorithms to enable additional DSP resource
- Matrix Operations/Array Operations:
- Ex: Matrix Multiplication/Transpose. Block Add/Average/Variance
- Ex: Array Multiplication/Addition/Fillmem. Array scalar operations
- Ex: Look Up Table
- Digital Signal Processing Operations:
- Ex: 1D, 2D FIR filtering
- Ex: Convolution, Correlation
- Digital Image and Video Processing Functions
- Ex: Alpha Blending, Color space Conversion
- Ex: Image rotation, Image Pack/Unpack
- Ex: Median Filtering
The VICP Signal processing library also provides system features to simplify the integration of the VICP H/W accelerator capabilities in the application. These features include:
- Capability to either execute the APIs in synchronous or asynchronous mode. In synchronous mode, any call to the library API is blocked till the time the processing is not completed by the VICP. Whereas in the asynchronous mode, call to the library API returns immediately. The DSP is notified of the completion of the processing using an interrupt.
- The VICP signal processing library internally interfaces with the system DMA manager to service the VICP DMA requirements. This reduces the system integration complexity.
- The library also handles the on-chip cache and external memory synchronization to ensure data correctness.
The VICP signal processing library includes C equivalent implementation of all the APIs that are supported. The C equivalent implementation can be used by the application developers to better understand the signal processing functionality implemented by each API. For each API, a reference test bench is provided. The test bench allows the user to understand the correct usage of these APIs. The test bench is built on top of the DSP-BIOS real time operating system. Thus, any of the test benches can even be used as starting point for application development using VICP.
From v3.0, additional functionality and customization is provided through:
- Access to the VICP computation unit & VICP scheduling unit (previously inaccessible in v2.0)
- VICP computation unit library providing more than 30 functions that the customer can chain together to produce more customized algorithms
- VICP scheduling unit library providing the infrastructure necessary to chain several functions without adding DMA bandwidth and also minimizing setup