Main Content

Supported DSP System Toolbox Blocks with CMSIS Library for ARM Cortex-A Processors

DSP System Toolbox™ Simulink® blocks that work with the Embedded Coder® Support Package for ARM® Cortex®-A Processors support code replacement with the CMSIS library only under specific conditions. You use this code replacement when generating C code from a model. The support package does not support multi-rate DSP blocks in the ARM CRL library.

Note

The DSP System Toolbox blocks configured for code replacement using the CMSIS library throw an error when there is an overflow in the SRAM buffer on the PIL or hardware.

The DSP System Toolbox blocks support code replacement using the CMSIS library when you configure the blocks as shown in the following table.

DSP blockSupported Data TypesInput/Output SpecificationsParameter SpecificationsWrapper Calling CMSIS Functions
Discrete FIR Filter
  • double

  • single

  • fixdt(true,32,31)

  • fixdt(true,16,15)

  • fixdt(true,8,7)

  • Real inputs

  • Real outputs

  • Input and output must be of the same data type.

  • Input and output and coefficients must be of the same data type.

  • Filter structure: 'Direct Form'

  • Input processing: Columns as channels (frame based).

  • Coefficients source: Dialog parameters or Input port.

  • For fixed-point inputs, you must enable Saturate on integer overflow. For floating-point inputs, you can enable or disable this option.

Direct Form structure:

  • mw_arm_fir_f64

  • mw_arm_fir_init_f64

  • mw_arm_fir_f32

  • mw_arm_fir_init_f32

  • mw_arm_fir_init_q31

  • mw_arm_fir_q31

  • mw_arm_fir_init_q15

  • mw_arm_fir_q15

  • mw_arm_fir_init_q7

  • mw_arm_fir_q7

FIR Decimation (DSP System Toolbox)
  • single

  • fixdt(true,32,31)

  • fixdt(true,16,15)

  • Real inputs

  • Real outputs

  • Input and output must be of the same data type.

  • Input and output and coefficients must be of the same data type.

  • Coefficients source: Dialog parameters or Input port.

  • Filter structure: Direct Form

  • Input processing: Columns as channels (frame-based).

  • Rate options: Enforce single-rate processing.

  • Allow arbitrary frame length for fixed-size input signals: Clear the parameter.

  • For fixed-point inputs, you must enable Saturate on integer overflow. For floating-point inputs, you can enable or disable this option.

Direct Form structure:

  • mw_arm_fir_decimate_init_f32

  • mw_arm_fir_decimate_f32

  • mw_arm_fir_decimate_init_q31

  • mw_arm_fir_decimate_q31

  • mw_arm_fir_decimate_init_q15

  • mw_arm_fir_decimate_q15

Second-Order Section Filter (DSP System Toolbox)
  • double

  • single

  • Real inputs

  • Real outputs

  • Input and output must be of the same data type.

  • Input and output and coefficients must be of the same data type.

  • Coefficients source: Dialog parameters or Input port.

    • Restriction: If Coefficient source is Input port, replacement occurs only when Scale value mode is set to Assume all are unity and optimize.

  • Filter structure: Direct Form I or Direct Form II transposed.

  • Input processing: Columns as channels (frame based).

Direct Form I structure:

  • mw_arm_biquad_cascade_df1_init_f64

  • mw_arm_biquad_cascade_df1_f64

  • mw_arm_biquad_cascade_df1_init_f32

  • mw_arm_biquad_cascade_df1_f32

'Direct Form II Transposed' structure:

  • mw_arm_biquad_cascade_df2T_init_f64

  • mw_arm_biquad_cascade_df2T_f64

FFT (DSP System Toolbox)
  • double

  • single

  • Single or multi channel

  • Input length must be equal to FFT length.

  • Inputs must be complex.

  • FFT implementation: Radix-2.

  • Output in bit-reversed order: off.

  • Normalize: off.

  • FFTLength: 16, 32, 64, 128, 256, 512, or 1024.

  • mw_arm_cfft_init_f64

  • mw_arm_cfft_f64

  • mw_arm_cfft_init_f32

  • mw_arm_cfft_f32

IFFT (DSP System Toolbox)
  • double

  • single

  • Single or multi channel

  • Input length must be equal to FFT length.

  • Inputs must be complex.

  • FFT implementation: Radix-2.

  • Input is in bit-reversed order: off.

  • Normalize: off.

  • FFTLength: 16, 32, 64, 128, 256, 512, or 1024.

  • mw_arm_cfft_init_f64

  • mw_arm_cfft_f64

  • mw_arm_cfft_init_f32

  • mw_arm_cfft_f32

FIR Interpolation (DSP System Toolbox)
  • single

  • fixdt(true,16,*)

  • Single channel

  • Real inputs

  • Real outputs

  • Inputs, coefficients, and outputs must be of the same data type.

  • Coefficients source: Dialog parameters or Input port.

  • Input processing : Columns as channels (frame based).

  • Rate options: Enforce single-rate processing.

For q15 fixed-point inputs:

  • Set the Product output Data Type parameter to fixdt(1,32,30).

  • Set the Coefficient Data Type parameter to fixdt(1,16,15).

  • Set the Accumulator Data Type parameter to fixdt(1,64,30).

  • Set the Output Data Type parameter to fixdt(1,16,15).

  • Set the Rounding mode parameter to Floor.

  • Enable the Saturate on integer overflow parameter.

  • mw_arm_fir_interpolate_init_f32

  • mw_arm_fir_interpolate_f32

  • mw_arm_fir_interpolate_init_q15

  • mw_arm_fir_interpolate_q15