Models That Might Cause Data Type Propagation Errors
When the Fixed-Point Tool proposes changes to the data types in your model in
the Iterative Fixed-Point Conversion
workflow, it alerts you to
potential issues. If the Fixed-Point Tool alerts you to data type errors, you
must diagnose the errors and fix the problems. For more information, see Examine Results to Resolve Conflicts.
The Fixed-Point Tool does not detect all potential data type issues. If the tool does not report any issues for your model, it is still possible to experience subsequent data type propagation errors. Before you use the Fixed-Point Tool, back up your model to ensure that you can recover your original data type settings. For more information, see Best Practices for Fixed-Point Conversion Workflow.
The following model components are likely to cause data type propagation issues.
Model Uses... | Fixed-Point Tool Behavior | Data Type Propagation Issue |
---|---|---|
Simulink® parameter objects | The Fixed-Point Tool is not able to detect when a parameter object must be integer only, such as when using a parameter object as a variable for dimensions, variant control, or a Boolean value. | Fixed-Point Tool might propose data types that are inconsistent with the data types for the parameter object or generate proposals that cause overflows. |
User-defined S-functions | Cannot detect the operation of user-defined S-functions. |
|
User-defined masked subsystems | Has no knowledge of the masked subsystem workspace and cannot take this subsystem into account when proposing data types. | Fixed-Point Tool might propose data types that are inconsistent with the requirements of the masked subsystem, particularly if the subsystem uses mask initialization. The proposed data types might cause data type mismatch errors or overflows. |
Linked subsystems | Does not include linked subsystems when proposing data types. | Data type mismatch errors might occur at the linked subsystem boundaries. |
Subsystem references | Proposes data types for subsystem reference instances independently and cannot apply data types to multiple instances in the same context. | When proposed data types are applied to one subsystem reference instance, all the other instances are locked and cannot have data types applied. You can apply data types to one instance and the changes are synchronized to all referenced instances, which might cause data type mismatch errors. Any applied changes propagate to the subsystem reference model and are visible everywhere the subsystem is referenced. |