RA Flexible Software Package Documentation  Release v5.3.0

 
CMSIS DSP H/W Acceleration (rm_cmsis_dsp)

Middleware to implement Arm CMSIS DSP by using 32-bit Multiply-Accumulator (MACL).

Overview

The 32-bit Multiply-Accumulator (MACL) provides hardware acceleration for calculation of CMSIS DSP functions. After initializing this module, refer to the Arm documentation to use the file system: https://www.keil.com/pack/doc/CMSIS/DSP/html/index.html

Features

The MACL module supports the following features:

NoMACL APIFeature
1arm_mult_q31Q31 vector multiplication
2arm_scale_q31Multiplies a Q31 vector by a scalar
3arm_mat_mult_q31Q31 matrix multiplication
4arm_mat_vec_mult_q31Q31 matrix and vector multiplication
5arm_mat_scale_q31Q31 matrix scaling
6arm_biquad_cascade_df1_q31Processing function for the Q31 Biquad cascade filter
7arm_conv_partial_q31Partial convolution of Q31 sequences
8arm_conv_q31Convolution of Q31 sequences
9arm_correlate_q31Correlation of Q31 sequences
10arm_fir_decimate_q31Processing function for the Q31 FIR decimator
11arm_fir_interpolate_q31Processing function for the Q31 FIR interpolator
12arm_fir_q31Processing function for Q31 FIR filter
13arm_fir_sparse_q31Processing function for the Q31 sparse FIR filter
14arm_lms_norm_q31Processing function for Q31 normalized LMS filter
15arm_lms_q31Processing function for Q31 LMS filter
Note
The MACL hardware acceleration when executing 5 APIs including arm_scale_q31, arm_mat_scale_q31, arm_correlate_q31, arm_fir_q31, and arm_lms_q31 with 1-element input on IAR compiler will not be better than ARM CMSIS software. The MACL hardware is useful when executing with larger amounts of input.

Configuration

CMSIS DSP Acceleration Configuration

To enable hardware acceleration for Arm CMSIS DSP, the stack "Arm CMSIS5 DSP Acceleration" of CMSIS DSP must be filled with MACL (rm_cmsis_dsp). Otherwise the CMSIS DSP functions will perform the calculation by using software. This can be done at the Stack Configuration.

Usage Notes

Hardware Support

MACL module is required for using this middleware. Refer to the MCU hardware user's manual or datasheet to determine if it has MACL support.

Examples

Basic Example

About examples, how to use the CMSIS DSP APIs refer to the link: https://github.com/ARM-software/CMSIS-DSP/tree/main/Examples/ARM.