CMSIS Conditions for DSP Blocks to Support ARM Cortex Processors
DSP blocks that can be used with the Support Package for ARM® Cortex®-M processors require specific conditions to allow code replacement with the CMSIS Library. You use this code replacement when generating C code from a model. The support package do not support any multi-rate DSP blocks in the ARM CRL library. The CMSIS library supports these DSP blocks only when you set specific properties, as indicated in the following table:
Note
In the Fixed-point mode of the CMSIS DSP functions (FIR and Biquad filters), Wrap is used for intermediate MAC operations if accumulator result overflows. At the end, the accumulator is right shifted and saturated to the output data type. For discrete FIR and Biquad filter blocks, there is only one overflow setting for accumulator and output. So if overflow happens in accumulation, the simulation result will not match the CMSIS library result. If Overflow Mode is set to
'Wrap'
or SaturateOn IntegerOverflow is turned off and only the output overflows, the simulation result will also not match the CMSIS library result.The DSP block implementation causes an error when there is an overflow in the SRAM buffer on the PIL or hardware.
DSP block | Supported data types | Input requirements | Parameter requirements | Wrapper calling CMSIS functions |
---|---|---|---|---|
Discrete FIR Filter |
Note The |
|
For fixed-point Discrete FIR Filter block with
|
|
FIR Decimation |
|
|
|
|
FIR Interpolation |
|
|
|
|
LMS Filter |
|
|
|
If the algorithm is
|
Biquad Filter |
|
|
For fixed-point support for
|
|
FFT |
|
|
|
|
IFFT |
|
|
|
|
Correlation Convolution |
|
|
|
|
Mean RMS Variance Standard deviation |
|
|
|
|