Main Content

Getting Started with Single Precision Converter

The Single Precision Converter converts your model or a system in your model from double precision to single precision. To open the Single Precision Converter, from the Simulink® Apps tab, select Single Precision Converter.

Select System Under Design

To begin, expand the System Under Design drop-down list and select the system to convert to single precision.

Check Compatibility

To start the conversion, click Convert to Single.

The Single Precision Converter performs these checks:

  • Check that all blocks in the selected system support single precision.

    The Single Precision Converter displays a list of blocks that do not support single precision or are locked against changes by the Fixed-Point Tools. To restart the conversion, replace the blocks that support only double precision and unlock the blocks that are locked against changes by the Fixed-Point Tools. Then click Convert to Single.

  • Check that the system uses a library standard that supports single-precision designs.

    To convert a system to single precision, the language standard must be set to C99 (ISO). If the specified language standard is not set to C99, the Single Precision Converter changes the math library.

  • Check that the solver settings are set to fixed step.

Convert

Following the compatibility check, the Single Precision Converter converts the system to single-precision. The Converter makes these changes:

  • Conversion of user-specified double-precision data types to single-precision data types (applies to block settings, Stateflow® chart settings, signal objects, and bus objects).

  • When the system under design contains a MATLAB® Function block, the converter creates a variant subsystem containing a generated single-precision version of the MATLAB Function block and the original MATLAB Function block.

  • Output signals and intermediate settings using inherited data types that compile to double-precision change to single-precision data types.

The converter does not change Boolean, built-in integer, or user-specified fixed-point data types. When the conversion is finished, the converter displays a table summarizing the compiled and proposed data types of the objects in the system under design.

Verify

Finally, the Single Precision Converter verifies that the model containing the converted system can successfully update the diagram. If the model is not able to update the diagram due to data type mismatch errors at the system boundaries, the Single Precision Converter displays a message.

To resolve the data type mismatch, insert Data Type Conversion blocks at the system boundaries. You can also resolve the data type mismatch errors by changing the output data type of the blocks feeding into the system to single or Inherit: Inherit via back propagation.

Related Topics