Model Configuration Changes Made During Data Type Optimization
Data type optimization seeks to minimize an objective function while maintaining the
original system behavior within a specified tolerance. You can optimize data types by using
fxpopt
at the
command line, or by using the Optimized Fixed-Point Conversion
workflow in the Fixed-Point Tool.
During the optimization process, the software changes the settings and model configuration
parameters described below. You can restore these parameter settings after the optimization is
complete in the Configuration Parameters dialog box or by using the
set_param
function. You can also use the
KeepOriginalModelParameters
option of explore
to
maintain the original values of model parameters.
Reason for Parameter Change | Parameter | Default Value | Optimization Changes Value to |
---|---|---|---|
Suppress Diagnostics | ParameterDowncastMsg | 'error' | 'none' |
ParameterUnderflowMsg | 'none' | 'none' | |
FixptConstUnderflowMsg | 'none' | 'none' | |
ParameterPrecisionLossMsg | 'none' | 'none' | |
FixptConstPrecisionLossMsg | 'none' | 'none' | |
ParameterOverflowMsg | 'error' | 'none' | |
FixptConstOverflowMsg | 'none' | 'none' | |
IntegerOverflowMsg | 'warning' | 'none' | |
IntegerSaturationMsg | 'warning' | 'none' | |
Logging with the Simulation Data Inspector | SignalLogging | 'on' | 'on' |
ReturnWorkspaceOutputs | 'on' | 'on' | |
SaveFormat | 'Dataset' | 'Dataset' | |
Reduce memory consumption of result | SaveTime | 'on' | 'off' |
SaveOutput | 'on' | 'off' | |
Model validity | SignalRangeChecking | 'none' | 'error' |
Understand result | ShowPortDataTypes | 'off' | 'on' |
Accelerate optimization | SimulationMode | 'normal' | 'accelerator' |
Data type override | DataTypeOverride | 'UseLocalSettings' | 'Off' |
You can use the showContents
method of the OptimizationSolution
object to print a summary of the changes made during data
type optimization to the MATLAB® Command Window. For example, after optimizing data types according to the
example Optimize Fixed-Point Data Types use
showContents
to view the model parameter changes that were made during data
type
optimization:
solution = result.Solutions(1); showContents(solution)
ModelName: 'ex_auto_gain_controller' ModelParameters: Index Name Value _____ __________________________ _____________ 1 SignalLogging 'on' 2 ReturnWorkspaceOutputs 'on' 3 SaveFormat 'Dataset' 4 ShowPortDataTypes 'on' 5 SignalRangeChecking 'error' 6 ParameterDowncastMsg 'none' 7 ParameterUnderflowMsg 'none' 8 ParameterPrecisionLossMsg 'none' 9 ParameterOverflowMsg 'none' 10 FixptConstPrecisionLossMsg 'none' 11 FixptConstOverflowMsg 'none' 12 FixptConstUnderflowMsg 'none' 13 IntegerOverflowMsg 'none' 14 IntegerSaturationMsg 'none' 15 SaveTime 'off' 16 SaveOutput 'off' 17 SimulationMode 'accelerator' 18 DataTypeOverride 'off' ...
Detect downcast
Take no action when a parameter downcast occurs during simulation. Quantization effects, including downcasts, are expected during optimization. Optimized data types will meet all specified behavioral constraints. For more information, see Detect downcast.
Parameter:
ParameterDowncastMsg |
Value:
'none' |
Default:
'error' |
Detect underflow
Take no action when parameter quantization causes a non-zero value to underflow to zero during simulation. Take no action when a fixed-point constant underflow occurs during simulation. Quantization effects, including underflow, are expected during optimization. Optimized data types will meet all specified behavioral constraints. For more information, see Detect underflow and Detect underflow.
Parameter:
ParameterUnderflowMsg |
Value:
'none' |
Default:
'none' |
Parameter:
FixptConstUnderflowMsg |
Value:
'none' |
Default:
'none' |
Detect precision loss
Take no action when parameter precision loss or fixed-point constant precision loss occurs during simulation. Quantization effects, including precision loss, are expected during optimization. Optimized data types will meet all specified behavioral constraints. For more information, see Detect precision loss and Detect precision loss.
Parameter:
ParameterPrecisionLossMsg |
Value:
'none' |
Default:
'warning' |
Parameter:
FixptConstPrecisionLossMsg |
Value:
'none' |
Default:
'none' |
Detect overflow
Take no action if a parameter overflow or fixed-point constant overflow occurs during simulation. Quantization effects, including overflow, are expected during optimization. Optimized data types will meet all specified behavioral constraints. For more information, see Detect overflow and Detect overflow.
Parameter:
ParameterOverflowMsg |
Value:
'none' |
Default:
'error' |
Parameter:
FixptConstOverflowMsg |
Value:
'none' |
Default:
'none' |
Wrap on overflow
Take no action if the value of a signal overflows the signal data type and wraps around. Quantization effects, including overflow, are expected during optimization. Optimized data types will meet all specified behavioral constraints. For more information, see Wrap on overflow.
Parameter:
IntegerOverflowMsg |
Value:
'none' |
Default:
'warning' |
Saturate on overflow
Take no action if the value of a signal is too large to be represented by the signal data type, resulting in saturation. Quantization effects, including overflow, are expected during optimization. Optimized data types will meet all specified behavioral constraints. For more information, see Saturate on overflow.
Parameter:
IntegerSaturationMsg |
Value:
'none' |
Default:
'warning' |
Signal logging
Globally enable signal logging to the workspace for this model. Optimization requires this setting to log specified signals to the Simulation Data Inspector. For more information, see Signal logging.
Parameter:
SignalLogging |
Value:
'on' |
Default:
'on' |
Single simulation output
Enable the single-output format of the sim
command to return the
simulation result as a Simulink.SimulationOutput
object. Optimization
requires this setting to log signals with the Simulation Data Inspector. For more
information, see Single simulation output.
Parameter:
ReturnWorkspaceOutputs |
Value:
'on' |
Default:
'on' |
Format
Store each logged state and output in a
Simulink.SimulationData.Dataset
object. Optimization requires this
setting for signal logging with the Simulation Data Inspector. For more information, see
Log Data to Persistent Storage.
Parameter: SaveFormat |
Value:
'Dataset' |
Default:
'Dataset' |
Time
Do not export time data to the MATLAB workspace during simulation. Optimization requires this setting to avoid unnecessary memory consumption. For more information, see Time.
Parameter: SaveTime |
Value:
'off' |
Default:
'on' |
Output
Do not export root outport signal data to a specified MATLAB variable during simulation. Optimization requires this setting for signal logging with the Simulation Data Inspector. For more information, see Output.
Parameter: SaveOutput |
Value:
'off' |
Default:
'on' |
Simulation range checking
Terminate the simulation when signals exceed specified minimum or maximum values. Optimization requires this setting to ensure that the simulation ranges of the model with optimized data types applied honors the specified design ranges. For more information, see Simulation range checking.
Parameter:
SignalRangeChecking |
Value:
'error' |
Default:
'none' |
Show port data types
Show data types of ports on the model block diagram. Optimization requires this setting to allow you to easily inspect the optimized data types applied to your model. For more information, see Programmatic Model Editor Appearance Parameters.
Parameter:
ShowPortDataTypes |
Value:
'on' |
Default:
'off' |
Simulation mode
Simulate the model in accelerator mode. Optimization uses accelerator mode to reduce the amount of time required to optimize data types on your model. For more information, see What Is Acceleration?.
Parameter:
SimulationMode |
Value:
'accelerator' |
Default:
'normal' |
Data type override
By default, optimization turns off any data type override set on your model so that the
effect of optimized data types on model behavior is accurately represented during
simulation. You can customize this behavior by using the advanced options of fxpOptimizationOptions
. For more information, see Fixed-Point Instrumentation and Data Type Override.
Parameter:
DataTypeOverride |
Value:
'Off' |
Default:
'UseLocalSettings' |
See Also
fxpopt
| Specify Behavioral Constraints