Iterative Fixed-Point Conversion in Simulink

Floating-point model conversion to fixed point using a guided workflow

The Fixed-Point Tool is a user interface that automates the task of specifying fixed-point data types in a Simulink® model. The tool collects range data for model objects based on simulation, derived, or design ranges. In the Iterative Fixed-Point Conversion workflow, the tool then proposes fixed-point data types that maximize precision and cover the range. You can then review the data type proposals and apply them selectively to objects in your model. If design requirements are not met, you can adjust data type proposal settings, visualize their effects, and iterate until the system meets your requirements.

To convert your model to fixed point, follow the steps in Autoscaling Using the Fixed-Point Tool. For an example of the complete conversion process, see Convert Floating-Point Model to Fixed Point.

The DataTypeWorkflow.Converter object and its associated object functions are a command-line alternative to the Iterative Fixed-Point Conversion in the Fixed-Point Tool.

Tools

Fixed-Point ToolConvert floating-point model to fixed-point

Functions

fxptdlgStart Fixed-Point Tool

Classes

DataTypeWorkflow.ConverterCreate fixed-point converter object
DataTypeWorkflow.DiffRunResultResults from comparing two simulation runs
DataTypeWorkflow.DiffSignalResultResults from comparing two signals
DataTypeWorkflow.findDecoupledSubsystemsGet a list of subsystems to replace with an approximation
DataTypeWorkflow.ProposalSettingsProposal settings object for data type proposals
DataTypeWorkflow.ResultObject containing run result information
DataTypeWorkflow.VerificationResultVerification results after converting a system to fixed point

Topics

Iterative Fixed-Point Conversion Workflow Overview

Best Practices for Fixed-Point Conversion Workflow

Use best practices when converting a model to fixed point.

Autoscaling Using the Fixed-Point Tool

Use the Fixed-Pint Tool to convert a system from floating point to fixed point.

Convert Floating-Point Model to Fixed Point

Use the Fixed-Point Tool to convert a floating-point model to fixed point.

Rescale a Fixed-Point Model

Use the Fixed-Point Tool to autoscale fixed-point data types in a feedback model.

The Command-Line Interface for the Fixed-Point Tool

Learn the differences between the command-line interface workflow and the Fixed-Point Tool workflow.

Prepare System for Conversion

Use the Fixed-Point Tool to Prepare a System for Conversion

Use the Fixed-Point Tool to check the system under design for compatibility with the conversion process.

Specify Behavioral Constraints

Use signal tolerances and model verification blocks to verify behavior of fixed-point implementation.

Collect Ranges

Fixed-Point Instrumentation and Data Type Override

Fixed-point instrumentation and data type override settings for gathering range information on your model.

Choosing a Range Collection Method

Choose from three methods for collecting ranges on which to base data type proposals.

How Range Analysis Works

Learn how the static analysis derives range information.

Prevent the Fixed-Point Tool from Overriding Integer Data Types

Maintain integer data types in your model when using data type override.

Propose Data Types

How the Fixed-Point Tool Proposes Data Types

Learn how the Fixed-Point Tool proposes data types based on collected ranges and proposal settings.

Propose Data Types For Merged Simulation Ranges

Use the Fixed-Point Tool to merge results from multiple simulations, and propose data types based on the merged results.

How Hardware Implementation Settings Affect Data Type Proposals

Use the Fixed-Point Tool to propose word lengths for a model that implements a simple moving average algorithm.

Convert Data Types

Convert a Referenced Model to Fixed Point

Use the Fixed-Point Tool to log simulation minimum and maximum values for referenced models and proposes data types based on a union of the collected ranges.

Bus Objects in the Fixed-Point Workflow

Learn how data type override behaves with bus objects, and how data types are determined for bus objects.

Autoscaling Data Objects Using the Fixed-Point Tool

Use the Fixed-Point Tool to convert a model that uses data objects for data type specification to fixed point.

Convert MATLAB Function Block to Fixed Point

Use the Fixed-Point Tool to convert a MATLAB® Function block to fixed-point.

Verify Results

Control Views in the Fixed-Point Tool

Information filtering, sorting, and analysis in the Fixed-Point Tool.

View Simulation Results

Use the Simulation Data Inspector to view simulation results and compare runs to verify your fixed-point design.

Explore Multiple Floating-Point to Fixed-Point Conversions

Iteratively explore different proposal settings to find the best floating point to fixed-point conversion.

Model Multiple Data Type Behaviors Using a Data Dictionary

Example showing how to use referenced data dictionaries to store multiple sets of data types for a model.

Troubleshooting

Blocks That Do Not Support Fixed-Point Data Types

Troubleshoot blocks that are not supported for fixed-point conversion.

Models That Might Cause Data Type Propagation Errors

Know which modeling practices could cause data type propagation errors after autoscaling.

Resolve Range Analysis Issues

Troubleshoot range analysis issues.

Fixing Design Range Conflicts

Avoid specifying conflicting design minimum and maximum values in your model.

Insufficient Design Range Information

Troubleshoot errors caused by insufficient design range information by providing additional input design minimum and maximum values.

Providing More Design Range Information

Troubleshoot insufficient design range information that prevents successful derived range analysis.

Troubleshoot Range Analysis of System Objects

Reconfigure a System Object, if necessary, so that ranges can be derived for the model.

The Fixed-Point Tool did not Propose Data Types

Troubleshoot when the Fixed-Point Tool does not propose data types.

Data Type Mismatch and Structure Initial Conditions

Example showing how to replace a structure initial condition with a Simulink.Parameter object.

Data Type Propagation Errors After Applying Proposed Data Types

Troubleshoot when the Fixed-Point Tool proposes data types that are not compatible with the model.

Featured Examples