Skip to content

PULP DSP Software Library

Introduction

This user manual describes the PULP DSP software library, a suite of common signal processing functions for use on PULP-based processors.

The library is divided into a number of functions each covering a specific category:

  • Basic math functions
  • Fast math functions
  • Complex math functions
  • Filters
  • Matrix functions
  • Transform functions
  • Motor control functions
  • Statistical functions
  • Support functions
  • Interpolation functions ..

The library has separate functions for operating on 8-bit integers, 16-bit integers, 32-bit integer and 32-bit floating-point values.

The naming scheme of the functions follows the following pattern (for example plp_dot_prod_i32s):

< plp > _ < function name > _ < data type > < precision > < method > _ < isa extension >,

with

  • data type = {f, i, q} respectively for floats, integers, fixed points
  • precision = {32, 16, 8} bits
  • method = {s, p} respectively meaning single core or parallel multicore implementation.
  • isa extension = rv32im, xpulpv2, etc. of which rv32im is the most general one. ..

If the user wants to use a parallel implementation, they can call the glue code functions with '_parallel' in the function name.

The library is released under Apache v2.0 license. More details can be found in LICENSE.


Updated on 2023-03-01 at 16:16:34 +0000