Passed | |
Failed | |
Warning | |
Not Run | |
Model Advisor Report | |
Simulink version: 9.2 | Model version: 1.1 |
System: embedded_coder_fixedstep_multirate | Current run: 26-Feb-2021 08:25:50 |
Treat as Referenced Model: off |
Pass | Fail | Warning | Not Run | Total |
---|---|---|---|---|
146 | 24 | 260 | 0 | 430 |
Identify Variant Model blocks at model level.
Passed
No Variant Model blocks found.
Identify unconnected lines, input ports, and output ports in the model
Passed
There are no unconnected lines, input ports, and output ports in this model.
Check the model for blocks configured for one-based indexing
Passed
All blocks in the model use zero-based indexing.
_________________________________________________________________________________________
Check for constructs in the model that are not recommended for production code generation
Identify blocks that are not recommended to be used for code generation.
Passed
Constructs that are not recommended for production code generation were not found in the model or subsystem
_________________________________________________________________________________________
Check for usage of Gain blocks
Identify Gain blocks whose value equals 1
Passed
There are no Gain blocks whose value equals 1 in the model or subsystem
Identify blocks not supported by code generation.
Passed
Blocks not supported by code generation were not found in the model or subsystem.
Identify blocks not supported by code generation or not recommended for C/C++ production code deployment.
Passed
Blocks not recommended for C/C++ production code deployment were not found in the model or subsystem.
These settings can lead to inefficient code generation when inputs always fall within the range of valid breakpoint values for lookup table blocks, including Lookup Table blocks, Prelookup blocks and Interpolation blocks.
Passed
The lookup table blocks have been configured to generate range-checking free code.
Identify logic blocks that are outputting non-Boolean data types.
Passed
There are no logic blocks in the model or subsystem.
Check 'Byte ordering' and 'Signed integer division rounds to' parameters
Identify inconsistencies or underspecification of hardware attributes that can lead to incorrect and inefficient generated code.
Passed
Target specification is consistent.
_________________________________________________________________________________________
Check whether 'Production hardware' and 'Test hardware' match
Search for 'Test hardware is the same as production hardware' in the Configuration Parameters dialog box and check if it is selected. If it is cleared, identify whether target specifications match.
Passed
'Test hardware is the same as production hardware' is selected or is cleared and the target specifications match.
Check for optimizations that can lead to non-optimal code generation and simulation.
Warning
Parameter | Current Value | Recommended Values |
---|---|---|
Pass reusable subsystem outputs as (PassReuseOutputArgsAs) | Structure reference | Individual arguments |
Ignore test point signals (IgnoreTestpoints) | off | on |
Search for blocks that have data type parameters specified by using slDataTypeAndScale().
Required Replacement Cases
Identify calls to slDataTypeAndScale() that are no longer supported and thus should be replaced. Such calls always can be automatically replaced.
See Also
Recommended Replacement Cases
Identify unnecessary calls to slDataTypeAndScale() that the model advisor can automatically replace.
See Also
Manual Inspection Cases
Identify calls to slDataTypeAndScale() that might be unnecessary.
See Also
Passed
Identify configurable subsystem blocks at the model or subsystem level. You can convert these blocks to variant subsystems.
Passed
No configurable subsystem blocks found.
Check 'Invalid function-call connection' setting
Verify that the Invalid function-call connection diagnostic is set to error.
Passed
Diagnostics > Connectivity > Invalid function-call connection is set to error.
Recommended Action
_________________________________________________________________________________________
Check 'Context-dependent inputs' setting
Verify that the Context-dependent inputs diagnostic is set to error.
Passed
Diagnostics > Connectivity > Context-dependent inputs is set to error.
Recommended Action
Searches libraries created before R2011b for masked blocks that should be updated to use promoted parameters. Since R2011b, if a block parameter is not promoted, its value in the linked block is locked to its value in the library block. This check excludes blocks of type Subsystem, Model reference, S-Function and M-S-Function.
Passed
This check only applies to libraries created before R2011b.
Identify masks using an image display commands with unnecessary calls to imread(). Since 2013a, a performance and memory optimization is available for mask images specified via image path instead of RGB triple matrix.
Passed
No masked block found with unnecessary imread() calls in image display commands.
Sets 'RunInitForIconRedraw' to 'on' if mask icon drawing commands have mask workspace dependency otherwise sets it to 'off'. Setting 'RunInitForIconRedraw' to 'off' optimizes the performance by not running the mask initialization code before drawing the block icon.
Passed
No masked block found to set 'RunInitForIconRedraw'.
Passed
No inefficient algorithms found in the model.
Verify 'Code interface packaging' setting
Check whether Code Generation > Interface > Code interface packaging is set to Nonreusable function or Reusable function.
Passed
Code Generation > Interface > Code interface packaging is set to Nonreusable function or Reusable function.
_________________________________________________________________________________________
Verify 'Use dynamic memory allocation for model initialization' setting
Check whether Code Generation > Interface > Use dynamic memory allocation for model initialization is cleared.
Passed
Code Generation > Interface > Use dynamic memory allocation for model initialization is cleared.
_________________________________________________________________________________________
Verify 'Shared code placement' setting
Check whether Code Generation > Interface > Shared code placement is set to Shared location.
Warning
Code Generation > Interface > Shared code placement is not set to Shared location .
Recommended Action
Set Code Generation > Interface > Shared code placement to Shared location .
_________________________________________________________________________________________
Verify 'Source file' setting
Check whether Code Generation > Custom Code > Source file is set to "" (i.e. unspecified).
Passed
Code Generation > Custom Code > Source file is set to "".
_________________________________________________________________________________________
Verify 'Header file' setting
Check whether Code Generation > Custom Code > Header file is set to "" (i.e. unspecified).
Passed
Code Generation > Custom Code > Header file is set to "".
_________________________________________________________________________________________
Verify 'Initialize function' setting
Check whether Code Generation > Custom Code > Initialize function is set to "" (i.e. unspecified).
Passed
Code Generation > Custom Code > Initialize function is set to "".
_________________________________________________________________________________________
Verify 'Terminate function' setting
Check whether Code Generation > Custom Code > Terminate function is set to "" (i.e. unspecified).
Passed
Code Generation > Custom Code > Terminate function is set to "".
_________________________________________________________________________________________
Verify 'Disable incompatible optimizations' setting
Check whether Code Generation > Optimization > Disable incompatible optimizations is set to -SLCI.
Warning
Code Generation > Optimization > Disable incompatible optimizations is not set to -SLCI .
Recommended Action
Set Code Generation > Optimization > Disable incompatible optimizations to -SLCI .
_________________________________________________________________________________________
Verify 'Combine signal/state structures' setting
Check whether Code Generation > Interface > Combine signal/state structures is cleared.
Warning
Code Generation > Interface > Combine signal/state structures is selected.
Recommended Action
Clear the Code Generation > Interface > Combine signal/state structures checkbox.
_________________________________________________________________________________________
Verify 'Remove reset function' setting
Check whether Code Generation > Interface > Remove reset function is selected.
Passed
Code Generation > Interface > Remove reset function is selected.
_________________________________________________________________________________________
Verify 'Remove disable function' setting
Check whether Code Generation > Interface > Remove disable function is cleared.
Passed
Code Generation > Interface > Remove disable function is cleared.
_________________________________________________________________________________________
Verify 'Remove code from floating-point to integer conversions that wraps out-of-range values' setting
Check whether Code Generation > Optimization > Remove code from floating-point to integer conversions that wraps out-of-range values is selected.
Passed
Code Generation > Optimization > Remove code from floating-point to integer conversions that wraps out-of-range values is selected.
_________________________________________________________________________________________
Verify 'Remove code from floating-point to integer conversions with saturation that maps NaN to zero' setting
Check whether Code Generation > Optimization > Remove code from floating-point to integer conversions with saturation that maps NaN to zero is cleared.
Warning
Code Generation > Optimization > Remove code from floating-point to integer conversions with saturation that maps NaN to zero is selected.
Recommended Action
Clear the Code Generation > Optimization > Remove code from floating-point to integer conversions with saturation that maps NaN to zero checkbox.
_________________________________________________________________________________________
Verify 'Include comments' setting
Check whether Code Generation > Comments > Include comments is selected.
Passed
Code Generation > Comments > Include comments is selected.
_________________________________________________________________________________________
Verify 'Preserve condition expression in if statement' setting
Check whether Code Generation > Code Style > Preserve condition expression in if statement is selected.
Warning
Code Generation > Code Style > Preserve condition expression in if statement is cleared.
Recommended Action
Select the Code Generation > Code Style > Preserve condition expression in if statement checkbox.
_________________________________________________________________________________________
Verify 'Code replacement library' setting
Check whether Code Generation > Interface > Code replacement library is set to None.
Passed
Code Generation > Interface > Code replacement library is set to None.
_________________________________________________________________________________________
Verify 'Standard math library' setting
Check whether Code Generation > Interface > Standard math library is set to C89/C90 (ANSI) or C99 (ISO).
Passed
Code Generation > Interface > Standard math library is set to C89/C90 (ANSI) or C99 (ISO).
_________________________________________________________________________________________
Verify 'Classic call interface' setting
Check whether Code Generation > Interface > Classic call interface is cleared.
Passed
Code Generation > Interface > Classic call interface is cleared.
_________________________________________________________________________________________
Verify 'Terminate function required' setting
Check whether Code Generation > Interface > Terminate function required is cleared.
Passed
Code Generation > Interface > Terminate function required is cleared.
_________________________________________________________________________________________
Verify 'Remove code that protects against division arithmetic exceptions' setting
Check whether Code Generation > Optimization > Remove code that protects against division arithmetic exceptions is cleared.
Warning
Code Generation > Optimization > Remove code that protects against division arithmetic exceptions is selected.
Recommended Action
Clear the Code Generation > Optimization > Remove code that protects against division arithmetic exceptions checkbox.
_________________________________________________________________________________________
Verify 'MAT-file logging' setting
Check whether Code Generation > Interface > MAT-file logging is cleared.
Passed
Code Generation > Interface > MAT-file logging is cleared.
_________________________________________________________________________________________
Verify 'Maximum stack size (bytes)' setting
Check whether Code Generation > Optimization > Maximum stack size (bytes) is set to inf.
Warning
Code Generation > Optimization > Maximum stack size (bytes) is not set to inf .
Recommended Action
Set Code Generation > Optimization > Maximum stack size (bytes) to inf .
_________________________________________________________________________________________
Verify 'Pack Boolean data into bitfields' setting
Check whether Code Generation > Optimization > Pack Boolean data into bitfields is cleared.
Passed
Code Generation > Optimization > Pack Boolean data into bitfields is cleared.
_________________________________________________________________________________________
Verify 'Use bitsets for storing state configuration' setting
Check whether Code Generation > Optimization > Use bitsets for storing state configuration is cleared.
Passed
Code Generation > Optimization > Use bitsets for storing state configuration is cleared.
_________________________________________________________________________________________
Verify 'non-finite numbers' setting
Check whether Code Generation > Interface > non-finite numbers is cleared.
Passed
Code Generation > Interface > non-finite numbers is cleared.
_________________________________________________________________________________________
Verify 'absolute time' setting
Check whether Code Generation > Interface > absolute time is cleared.
Warning
Code Generation > Interface > absolute time is selected.
Recommended Action
Clear the Code Generation > Interface > absolute time checkbox.
_________________________________________________________________________________________
Verify 'Default parameter behavior' setting
This check applies only to referenced models. Top models are compatible for all possible values of 'Default parameter behavior'.
Passed
'Default parameter behavior' setting is compatible.
_________________________________________________________________________________________
Verify 'Remove error status field in real-time model data structure' setting
Check whether Code Generation > Interface > Remove error status field in real-time model data structure is selected.
Passed
Code Generation > Interface > Remove error status field in real-time model data structure is selected.
_________________________________________________________________________________________
Verify 'Create block' setting
Check whether Code Generation > Verification > Create block is set to none.
Passed
Code Generation > Verification > Create block is set to none.
_________________________________________________________________________________________
Verify 'Measure function execution times' setting
Check whether Code Generation > Verification > Measure function execution times is set to off.
Passed
Code Generation > Verification > Measure function execution times is set to off.
_________________________________________________________________________________________
Verify 'Signal naming' setting
Check whether Code Generation > Symbols > Signal naming is set to None.
Passed
Code Generation > Symbols > Signal naming is set to None.
_________________________________________________________________________________________
Verify 'Parameter naming' setting
Check whether Code Generation > Symbols > Parameter naming is set to None.
Passed
Code Generation > Symbols > Parameter naming is set to None.
_________________________________________________________________________________________
Verify 'TLC options' setting
Check whether Code Generation > TLC options is set to "" (i.e. unspecified).
Passed
Code Generation > TLC options is set to "".
_________________________________________________________________________________________
Verify 'variable-size signals' setting
Check whether Code Generation > Interface > variable-size signals is cleared.
Passed
Code Generation > Interface > variable-size signals is cleared.
_________________________________________________________________________________________
Verify 'Single output/update function' setting
Check whether Code Generation > Interface > Single output/update function is selected.
Passed
Code Generation > Interface > Single output/update function is selected.
_________________________________________________________________________________________
Verify 'Generate an example main program' setting
Check whether Code Generation > Templates > Generate an example main program is selected.
Passed
Code Generation > Templates > Generate an example main program is selected.
_________________________________________________________________________________________
Verify 'Use bitsets for storing Boolean data' setting
Check whether Code Generation > Optimization > Use bitsets for storing Boolean data is cleared.
Passed
Code Generation > Optimization > Use bitsets for storing Boolean data is cleared.
_________________________________________________________________________________________
Verify 'Casting modes' setting
Check whether Code Generation > Code Style > Casting modes is set to Nominal or Standards.
Passed
Code Generation > Code Style > Casting modes is set to Nominal or Standards.
_________________________________________________________________________________________
Verify 'Suppress generation of default cases for Stateflow switch statements if unreachable' setting
Check whether Code Generation > Code Style > Suppress generation of default cases for Stateflow switch statements if unreachable is cleared.
Warning
Code Generation > Code Style > Suppress generation of default cases for Stateflow switch statements if unreachable is selected.
Recommended Action
Clear the Code Generation > Code Style > Suppress generation of default cases for Stateflow switch statements if unreachable checkbox.
_________________________________________________________________________________________
Verify 'Optimize using the specified minimum and maximum values' setting
Check whether Code Generation > Optimization > Optimize using the specified minimum and maximum values is cleared.
Warning
Code Generation > Optimization > Optimize using the specified minimum and maximum values is selected.
Recommended Action
Clear the Code Generation > Optimization > Optimize using the specified minimum and maximum values checkbox.
_________________________________________________________________________________________
Verify 'Existing shared code' setting
Check whether Code Generation > Interface > Existing shared code is set to "" (i.e. unspecified).
Passed
Code Generation > Interface > Existing shared code is set to "".
_________________________________________________________________________________________
Verify 'parameters' setting
Check whether Code Generation > Interface > parameters is cleared.
Passed
Code Generation > Interface > parameters is cleared.
_________________________________________________________________________________________
Verify 'signals' setting
Check whether Code Generation > Interface > signals is cleared.
Passed
Code Generation > Interface > signals is cleared.
_________________________________________________________________________________________
Verify 'states' setting
Check whether Code Generation > Interface > states is cleared.
Passed
Code Generation > Interface > states is cleared.
_________________________________________________________________________________________
Verify 'root-level I/O' setting
Check whether Code Generation > Interface > root-level I/O is cleared.
Passed
Code Generation > Interface > root-level I/O is cleared.
_________________________________________________________________________________________
Verify 'External mode' setting
Check whether Code Generation > Interface > External mode is cleared.
Passed
Code Generation > Interface > External mode is cleared.
_________________________________________________________________________________________
Verify 'ASAP2 interface' setting
Check whether Code Generation > Interface > ASAP2 interface is cleared.
Passed
Code Generation > Interface > ASAP2 interface is cleared.
_________________________________________________________________________________________
Verify 'Rate Transition block code' setting
Check whether Code Generation > Code Placement > Rate Transition block code is set to Inline.
Passed
Code Generation > Code Placement > Rate Transition block code is set to Inline.
Verify 'Initial state' setting
Check whether Data Import/Export > Initial state is cleared.
Passed
Data Import/Export > Initial state is cleared.
Verify 'Multitask data store' setting
Check whether Diagnostics > Data Validity > Multitask data store is set to error.
Passed
Diagnostics > Data Validity > Multitask data store is set to error.
_________________________________________________________________________________________
Verify 'Multitask rate transition' setting
Check whether Diagnostics > Sample Time > Multitask rate transition is set to error.
Warning
Diagnostics > Sample Time > Multitask rate transition is not set to error .
Recommended Action
Set Diagnostics > Sample Time > Multitask rate transition to error .
_________________________________________________________________________________________
Verify 'Multitask conditionally executed subsystem' setting
Check whether Diagnostics > Sample Time > Multitask conditionally executed subsystem is set to error.
Passed
Diagnostics > Sample Time > Multitask conditionally executed subsystem is set to error.
_________________________________________________________________________________________
Verify 'Algebraic loop' setting
Check whether Diagnostics > Algebraic loop is set to error.
Warning
Diagnostics > Algebraic loop is not set to error .
Recommended Action
Set Diagnostics > Algebraic loop to error .
_________________________________________________________________________________________
Verify 'Detect write after write' setting
Check whether Diagnostics > Data Validity > Detect write after write is set to EnableAllAsError.
Warning
Diagnostics > Data Validity > Detect write after write is not set to EnableAllAsError .
Recommended Action
Set Diagnostics > Data Validity > Detect write after write to EnableAllAsError .
_________________________________________________________________________________________
Verify 'Underspecified initialization detection' setting
Check whether Diagnostics > Data Validity > Underspecified initialization detection is set to Simplified.
Warning
Diagnostics > Data Validity > Underspecified initialization detection is not set to Simplified .
Recommended Action
Set Diagnostics > Data Validity > Underspecified initialization detection to Simplified .
_________________________________________________________________________________________
Verify 'Non-bus signals treated as bus signals' setting
Check whether Diagnostics > Connectivity > Non-bus signals treated as bus signals is set to error.
Warning
Diagnostics > Connectivity > Non-bus signals treated as bus signals is not set to error .This incompatibility is fatal and will prevent execution of the Code Inspector
Recommended Action
Set Diagnostics > Connectivity > Non-bus signals treated as bus signals to error .
_________________________________________________________________________________________
Verify 'Detect downcast' setting
Check whether Diagnostics > Data Validity > Detect downcast is set to error.
Passed
Diagnostics > Data Validity > Detect downcast is set to error.
_________________________________________________________________________________________
Verify 'Detect overflow' setting
Check whether Diagnostics > Data Validity > Detect overflow is set to error.
Passed
Diagnostics > Data Validity > Detect overflow is set to error.
_________________________________________________________________________________________
Verify 'Wrap on overflow' setting
Check whether Diagnostics > Data Validity > Wrap on overflow is set to error.
Warning
Diagnostics > Data Validity > Wrap on overflow is not set to error .
Recommended Action
Set Diagnostics > Data Validity > Wrap on overflow to error .
_________________________________________________________________________________________
Verify 'Saturate on overflow' setting
Check whether Diagnostics > Data Validity > Saturate on overflow is set to error.
Warning
Diagnostics > Data Validity > Saturate on overflow is not set to error .
Recommended Action
Set Diagnostics > Data Validity > Saturate on overflow to error .
_________________________________________________________________________________________
Verify 'Detect underflow' setting
Check whether Diagnostics > Data Validity > Detect underflow is set to error.
Warning
Diagnostics > Data Validity > Detect underflow is not set to error .
Recommended Action
Set Diagnostics > Data Validity > Detect underflow to error .
_________________________________________________________________________________________
Verify 'Detect loss of tunability' setting
Check whether Diagnostics > Data Validity > Detect loss of tunability is set to error.
Warning
Diagnostics > Data Validity > Detect loss of tunability is not set to error .
Recommended Action
Set Diagnostics > Data Validity > Detect loss of tunability to error .
_________________________________________________________________________________________
Verify 'Allow symbolic dimension specification' setting
Check whether Diagnostics > Allow symbolic dimension specification is cleared.
Passed
Diagnostics > Allow symbolic dimension specification is cleared.
_________________________________________________________________________________________
Verify 'Invalid root Inport/Outport block connection' setting
Check whether Diagnostics > Model Referencing > Invalid root Inport/Outport block connection is set to error.
Warning
Diagnostics > Model Referencing > Invalid root Inport/Outport block connection is not set to error .
Recommended Action
Set Diagnostics > Model Referencing > Invalid root Inport/Outport block connection to error .
_________________________________________________________________________________________
Verify 'Unexpected backtracking' setting
Check whether Diagnostics > Stateflow > Unexpected backtracking is set to error.
Warning
Diagnostics > Stateflow > Unexpected backtracking is not set to error .
Recommended Action
Set Diagnostics > Stateflow > Unexpected backtracking to error .
_________________________________________________________________________________________
Verify 'Invalid input data access in chart initialization' setting
Check whether Diagnostics > Stateflow > Invalid input data access in chart initialization is set to error.
Warning
Diagnostics > Stateflow > Invalid input data access in chart initialization is not set to error .
Recommended Action
Set Diagnostics > Stateflow > Invalid input data access in chart initialization to error .
_________________________________________________________________________________________
Verify 'No unconditional default transitions' setting
Check whether Diagnostics > Stateflow > No unconditional default transitions is set to error.
Warning
Diagnostics > Stateflow > No unconditional default transitions is not set to error .
Recommended Action
Set Diagnostics > Stateflow > No unconditional default transitions to error .
_________________________________________________________________________________________
Verify 'Transition outside natural parent' setting
Check whether Diagnostics > Stateflow > Transition outside natural parent is set to error.
Warning
Diagnostics > Stateflow > Transition outside natural parent is not set to error .
Recommended Action
Set Diagnostics > Stateflow > Transition outside natural parent to error .
_________________________________________________________________________________________
Verify 'Unreachable execution path' setting
Check whether Diagnostics > Stateflow > Unreachable execution path is set to error.
Warning
Diagnostics > Stateflow > Unreachable execution path is not set to error .
Recommended Action
Set Diagnostics > Stateflow > Unreachable execution path to error .
_________________________________________________________________________________________
Verify 'Undirected event broadcasts' setting
Check whether Diagnostics > Stateflow > Undirected event broadcasts is set to error.
Warning
Diagnostics > Stateflow > Undirected event broadcasts is not set to error .
Recommended Action
Set Diagnostics > Stateflow > Undirected event broadcasts to error .
_________________________________________________________________________________________
Verify 'Transition action specified before condition action' setting
Check whether Diagnostics > Stateflow > Transition action specified before condition action is set to error.
Warning
Diagnostics > Stateflow > Transition action specified before condition action is not set to error .
Recommended Action
Set Diagnostics > Stateflow > Transition action specified before condition action to error .
_________________________________________________________________________________________
Verify Bus signal treated as vector setting
Check whether Diagnostics > Connectivity > Bus signal treated as vector is set to 'error'
Warning
Diagnostics > Connectivity > Bus signal treated as vector is not set to error.This incompatibility is fatal and will prevent execution of the Code Inspector
Recommended Action
Set Diagnostics > Connectivity > Bus signal treated as vector to error.
Verify 'char' setting
Check whether Hardware Implementation > char is set to 8.
Passed
Hardware Implementation > char is set to 8.
_________________________________________________________________________________________
Verify 'short' setting
Check whether Hardware Implementation > short is set to 16.
Passed
Hardware Implementation > short is set to 16.
_________________________________________________________________________________________
Verify 'int' setting
Check whether Hardware Implementation > int is set to 32.
Passed
Hardware Implementation > int is set to 32.
_________________________________________________________________________________________
Verify 'long' setting
Check whether Hardware Implementation > long is set to 32.
Passed
Hardware Implementation > long is set to 32.
_________________________________________________________________________________________
Verify 'float' setting
Check whether Hardware Implementation > float is set to 32.
Passed
Hardware Implementation > float is set to 32.
_________________________________________________________________________________________
Verify 'double' setting
Check whether Hardware Implementation > double is set to 64.
Passed
Hardware Implementation > double is set to 64.
_________________________________________________________________________________________
Verify 'pointer' setting
Check whether Hardware Implementation > pointer is set to 32.
Warning
Hardware Implementation > pointer is not set to 32 .
Recommended Action
Set Hardware Implementation > pointer to 32 . Select a compatible device with attributes matching those listed in the SLCI Hardware Implementation checks and the SLCI documentation.
_________________________________________________________________________________________
Verify 'size_t' setting
Check whether Hardware Implementation > size_t is set to 32.
Warning
Hardware Implementation > size_t is not set to 32 .
Recommended Action
Set Hardware Implementation > size_t to 32 . Select a compatible device with attributes matching those listed in the SLCI Hardware Implementation checks and the SLCI documentation.
_________________________________________________________________________________________
Verify 'ptrdiff_t' setting
Check whether Hardware Implementation > ptrdiff_t is set to 32.
Warning
Hardware Implementation > ptrdiff_t is not set to 32 .
Recommended Action
Set Hardware Implementation > ptrdiff_t to 32 . Select a compatible device with attributes matching those listed in the SLCI Hardware Implementation checks and the SLCI documentation.
_________________________________________________________________________________________
Verify 'native' setting
Check whether Hardware Implementation > native is set to 32.
Warning
Hardware Implementation > native is not set to 32 .
Recommended Action
Set Hardware Implementation > native to 32 . Select a compatible device with attributes matching those listed in the SLCI Hardware Implementation checks and the SLCI documentation.
_________________________________________________________________________________________
Verify 'Signed integer division rounds to' setting
Check whether Hardware Implementation > Signed integer division rounds to is set to Zero.
Passed
Hardware Implementation > Signed integer division rounds to is set to Zero.
_________________________________________________________________________________________
Verify 'Shift right on a signed integer as arithmetic shift' setting
Check whether Hardware Implementation > Shift right on a signed integer as arithmetic shift is selected.
Passed
Hardware Implementation > Shift right on a signed integer as arithmetic shift is selected.
_________________________________________________________________________________________
Verify 'Support long long' setting
Check whether Hardware Implementation > Support long long is cleared.
Passed
Hardware Implementation > Support long long is cleared.
_________________________________________________________________________________________
Verify 'Test hardware is the same as production hardware' setting
Check whether Hardware Implementation > Test hardware is the same as production hardware is selected.
Passed
Hardware Implementation > Test hardware is the same as production hardware is selected.
_________________________________________________________________________________________
Verify 'Device vendor' setting
Identify whether Hardware Implementation > Device vendor is not set to ASIC/FPGA->ASIC/FPGA .
Passed
Hardware Implementation > Device vendor is not set to ASIC/FPGA->ASIC/FPGA .
Verify 'Implement logic signals as Boolean data (vs. double)' setting
Check whether Math and Data Types > Implement logic signals as Boolean data (vs. double) is selected.
Passed
Math and Data Types > Implement logic signals as Boolean data (vs. double) is selected.
_________________________________________________________________________________________
Verify 'Use algorithms optimized for row-major array layout' setting
Check whether Math and Data Types > Use algorithms optimized for row-major array layout is cleared.
Passed
Math and Data Types > Use algorithms optimized for row-major array layout is cleared.
Verify 'Type' setting
Check whether Solver > Type is set to Fixed-step.
Passed
Solver > Type is set to Fixed-step.
_________________________________________________________________________________________
Verify 'Solver' setting
Check whether Solver > Solver is set to FixedStepDiscrete.
Passed
Solver > Solver is set to FixedStepDiscrete.
_________________________________________________________________________________________
Verify 'Periodic sample time constraint' setting
Check whether Solver > Periodic sample time constraint is set to Unconstrained or STIndependent.
Passed
Solver > Periodic sample time constraint is set to Unconstrained or STIndependent.
_________________________________________________________________________________________
Verify 'Automatically handle rate transition for data transfer' setting
Check whether Solver > Automatically handle rate transition for data transfer is cleared.
Warning
Solver > Automatically handle rate transition for data transfer is selected.
Recommended Action
Clear the Solver > Automatically handle rate transition for data transfer checkbox.
_________________________________________________________________________________________
Verify 'Allow tasks to execute concurrently on target' setting
Check whether Solver > Allow tasks to execute concurrently on target is cleared.
Passed
Solver > Allow tasks to execute concurrently on target is cleared.
Check for blocks not supported by Simulink Code Inspector
Identify blocks that are not supported by Simulink Code Inspector
Passed
There are no unsupported blocks in this model or subsystem.
Check for unconnected objects
Identify unconnected lines, input ports, and output ports in the model or subsystem
Passed
There are no unconnected lines, input ports, or output ports in the model or subsystem.
Verify System target file setting
Check whether Code Generation > System target file is ert.tlc or a System target file derived from ERT
Passed
The target is ERT or derived from ERT.
Check model interface settings
Check whether the Configure arguments for Step function prototype setting in the Configure C Step Function Interface dialog box is cleared.
Passed
The Configure arguments for Step function prototype setting in the Configure C Step Function Interface dialog box is cleared.
All Stateflow data must be parented by a Stateflow chart
Simulink Code Inspector does not support Stateflow data of machine scope
Passed
No Stateflow data is of machine scope.
All Stateflow events must be parented by a Stateflow chart
Simulink Code Inspector does not support Stateflow events of machine scope
Passed
No Stateflow events are of machine scope.
Verify conditional input branch execution setting
Check whether 'Signal storage reuse' and 'Enable local block outputs' are set when conditional input branch execution is set
Passed
Conditional input branch execution setting is compatible.
Check for instrumented signals in the model
Identify signals in the model that are instrumented
Passed
There are no instrumented signals in the model
Check the code generation folder structure for the model
Check that the code generation folder structure for the model is supported
Passed
The code generation folder structure for the model is supported
Check for unsupported usage of Storage Class on the Data Defaults tab of the Code Mapping Editor.
Identify unsupported Storage Class settings for model element categories on the Data Defaults tab of the Code Mapping Editor.
Passed
There is no unsupported Storage Class setting for model element categories on the Data Defaults tab of the Code Mapping Editor.
No Code in MATLAB Functions were found
_________________________________________________________________________________________
Check MATLAB code used in MATLAB Function blocks
Passed
No MATLAB Function blocks found
_________________________________________________________________________________________
Check MATLAB functions defined in Stateflow charts
Passed
No MATLAB functions defined in Stateflow charts found
_________________________________________________________________________________________
Check called MATLAB functions
Passed
No external MATLAB functions found
_________________________________________________________________________________________
Check model for Aerospace Blockset legacy 3DoF or 6DoF blocks
Your model does not contain legacy 3DoF or 6DoF blocks.
_________________________________________________________________________________________
Check model for Aerospace Blockset navigation blocks
Your model does not contain Three-Axis Inertial Measurement Unit, Three-Axis Gyroscope, or Three-Axis Accelerometer blocks prior to 3.21 (R2018a).
_________________________________________________________________________________________
Current Objectives: Execution efficiency, Traceability
The following parameter values are not optimized for the selected objectives.
To automatically fix the warning, click the 'Modify Parameters' button and then rerun the check. To manually fix the warning, click the parameter hyperlink to open the Configuration Parameters dialog box, and manually apply the recommended value.
Parameter | Current Value | Recommended Value |
---|---|---|
Pass reusable subsystem outputs as | Structure reference | Individual arguments |
Support long long | off | on |
Optimize block operation order in the generated code | off | speed |
Name | Value |
---|---|
Library file name: | |
Maximum number of different parameters: | 0 |
Name | Value |
---|---|
New library file name: | graphicalCloneLibFile |
Maximum number of different parameters: | 0 |
Passed
Model is configured to use the toolchain approach.
Check and update embedded target model to use ert.tlc system target file. Only the models whose system target file is set to idelink_ert.tlc, idelink_grt.tlc, or realtime.tlc and whose board matches one of the supported hardware boards can be updated. If the model can be updated, the model parameters will be converted to support use of ert.tlc system target file.
Passed
No update required: the model is either not configured to use an embedded target or is using the latest version of the target.
Check optimization settings in the model configuration that might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Warning | Block reduction (BlockReduction) | on | off |
Warning | Application lifespan (days) (LifeSpan) | 1 | Inf |
Warning | Remove root level I/O zero initialization (ZeroExternalMemoryAtStartup) * | off | on |
Warning | Remove internal data zero initialization (ZeroInternalMemoryAtStartup) * | off | on |
Warning | Remove code that protects against division arithmetic exceptions (NoFixptDivByZeroProtection) | on | off |
Warning | Optimize using the specified minimum and maximum values (UseSpecifiedMinMax) | on | off |
Check optimization settings in the model configuration that might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values | Not Recommended Values | Prerequisites |
---|---|---|---|---|---|
Warning | absolute time (SupportAbsoluteTime) | on | off | SystemTargetFile | |
Warning | Parentheses level (ParenthesesLevel) | Nominal | Maximum | SystemTargetFile | |
Warning | Preserve operand order in expression (PreserveExpressionOrder) | off | on | SystemTargetFile | |
Warning | Preserve condition expression in if statement (PreserveIfCondition) | off | on | SystemTargetFile | |
Warning | Minimum mangle length (MangleLength) | 1 | 1, 2, 3 | SystemTargetFile |
Check for math operators that require non-finite number support.
Passed
There are no Math blocks in the model.
Configuration Parameters Settings (Diagnostics > Data Validity) | ||
Settings | Current | Recommended |
---|---|---|
Detect downcast | error | warning |
Detect overflow | error | warning |
Configuration Parameters Settings (Diagnostics > Data Validity) | ||
Settings | Current | Recommended |
---|---|---|
Simulation range checking | none | warning |
Failed
Dot indexing is not supported for variables of this type.
himl_0001: Usage of standardized MATLAB function headers
Identify usage of standardized function headers in MATLAB function.
Passed
No MATLAB function blocks found without standardized function headers.
Identify MATLAB Functions that have inputs, outputs, or parameters with inherited complexity or data type properties.
Passed
No MATLAB Functions found in the model or subsystem.
Identify MATLAB Functions that violate complexity limits.
Passed
No MATLAB Functions were found.
Name | Value |
---|---|
Maximum effective lines of code per function | 60 |
Minimum density of comments | 0.2 |
Maximum cyclomatic complexity per function | 15 |
Check MATLAB code used in MATLAB Function blocks
Passed
No MATLAB Function blocks found
_________________________________________________________________________________________
Check MATLAB functions defined in Stateflow charts
Passed
No MATLAB functions defined in Stateflow charts found
_________________________________________________________________________________________
Check called MATLAB functions
Passed
No external MATLAB functions found
_________________________________________________________________________________________
Identify if/elseif/else patterns without appropriate else conditions in embedded MATLAB code
Passed
No inappropriate if/elseif/else patterns found.
Identify inappropriately used switch statements in embedded MATLAB code
Passed
No inappropriately used switch statements found.
hisf_0001: State Machine Type
Identify Stateflow Charts whose State Machine Type differs from the type set in the Model Advisor Configuration Editor.
Passed
No Stateflow Charts found that deviate from recommended state machine type.
Identify Stateflow charts that do not use explicit ordering of parallel states and transitions.
Passed
No Stateflow Charts found that deviate from recommended state/transition execution order settings.
Verify configuration settings for strong data typing on the boundaries between Simulink and Stateflow
Passed
No Stateflow charts found that set 'Use Strong Data Typing with Simulink I/O' to off.
Identify whether the following Stateflow debugging options are cleared: Detect wrap on overflow , Detect Cycles, and Simulation range checking
Passed
No Stateflow charts were found.
Identify transition paths that cross parallel state boundaries in Stateflow charts.
Passed
No transition paths crossing parallel state boundaries were found in Stateflow charts.
hisf_0014: Usage of transition paths (passing through states)
Identify transition paths that go into and out of a state without ending on a substate.
Passed
No transition paths found that go into and out of a state without ending on a substate.
Identify mismatches between names of Stateflow ports and associated signals
Passed
There are no name mismatches between Stateflow ports and associated signals
Check Stateflow data object scoping
Identify Stateflow data objects with local scope that are not scoped at the chart level or below
Passed
No Stateflow charts were found.
_________________________________________________________________________________________
Check usage of Math Function - Remainder after division blocks
Identify Math Function - Remainder after division blocks that might result in non-finite output signals.
Passed
No Math Function - Remainder after division blocks found.
_________________________________________________________________________________________
Check usage of Math Function - Reciprocal blocks
Identify Math Function - Reciprocal blocks that might result into non-finite signals at their outputs.
Passed
No Math Function - Reciprocal blocks found.
Check usage of Math Function - Natural logarithm blocks
Identify Math Function - Natural logarithm blocks that might result in non-finite output signals.
Passed
No Math Function - Natural logarithm blocks found.
_________________________________________________________________________________________
Check usage of Math Function - Common (base 10) logarithm blocks
Identify Math Function - Common (base 10) logarithm blocks that might result in non-finite output signals.
Passed
No Math Function - Common (base 10) logarithm blocks found.
Identify While Iterator blocks that do not have a positive value for the maximum number of iterations
Passed
No While Iterator blocks found that might cause infinite loops
Check sample time-dependent blocks
Identify sample time-dependent blocks in While and For Iterator subsystems.
Passed
No For or While Iterator subsystems found.
Check diagnostic settings in the model configuration that apply to data store memory and might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Warning | Detect read before write (ReadBeforeWriteMsg) | UseLocalSettings | EnableAllAsError |
Warning | Detect write after read (WriteAfterReadMsg) | UseLocalSettings | EnableAllAsError |
Warning | Detect write after write (WriteAfterWriteMsg) | UseLocalSettings | EnableAllAsError |
Warning | Duplicate data store names (UniqueDataStoreMsg) | none | error |
Identify blocks not supported by code generation or not recommended for C/C++ production code deployment.
Passed
Blocks not recommended for C/C++ production code deployment were not found in the model or subsystem.
Check consistent usage of vector indexing methods across the model or subsystem
Passed
No blocks using vector indexing were found
No variant blocks with "Generate preprocessor conditionals" on were found.
Identify Inport blocks in the top-level of the model with missing or inherited sample times, data types, or port dimensions. Inport block properties are specified with block parameters or Simulink signal data objects that explicitly resolve to the connected signal lines.
Passed
There are no Inport blocks in the top-level of the model with missing or inherited sample times, data types, or port dimensions
Identify inappropriate characters and length issues in model file name
Passed
No issues found with model file name.
Check for Lookup Table blocks, Prelookup blocks and Interpolation blocks that do not generate out-of-range checking code.
Passed
There are no Lookup Table blocks, Prelookup blocks and Interpolation blocks in the model.
Check diagnostic settings in the model configuration that apply to saving model files.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Warning | Block diagram contains disabled library links (SaveWithDisabledLinksMsg) | warning | error |
Warning | Block diagram contains parameterized library links (SaveWithParameterizedLinksMsg) | warning | error |
Check model referencing settings in the model configuration that might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Rebuild (UpdateModelReferenceTargets) | IfOutOfDateOrStructuralChange | AssumeUpToDate, IfOutOfDateOrStructuralChange |
Pass | Pass fixed-size scalar root inputs by value for code generation (ModelReferencePassRootInputsByReference) * | on | on |
Pass | Minimize algebraic loop occurrences (ModelReferenceMinAlgLoopOccurrences) | off | off |
This check ensures that model Start time is set to 0 and Stop time is less than the Application Life Span.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Start time (StartTime) | 0 | 0 |
Pass | Stop time (StopTime) | 10 | 10 |
Check solver settings in the model configuration that apply to solvers and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Type (SolverType) | Fixed-step | Fixed-step |
Pass | Solver (SolverName) | FixedStepDiscrete | FixedStepDiscrete |
Check solver settings in the model configuration that apply to tasking and sample-time constraints and might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Not Recommended Values |
---|---|---|---|
Warning | Automatically handle rate transition for data transfer (AutoInsertRateTranBlk) | on | on |
Check diagnostic settings in the model configuration that apply to solvers and might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Warning | Algebraic loop (AlgebraicLoopMsg) | warning | error |
Warning | Minimize algebraic loop (ArtificialAlgebraicLoopMsg) | warning | error |
Warning | Block priority violation (BlockPriorityViolationMsg) | warning | error |
Warning | Automatic solver parameter selection (SolverPrmCheckMsg) | none | error |
Warning | State name clash (StateNameClashWarn) | none | warning |
Check diagnostic settings in the model configuration that apply to sample time and might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Warning | Source block specifies -1 sample time (InheritedTsInSrcMsg) | warning | error |
Warning | Multitask rate transition (MultiTaskRateTransMsg) | warning | error |
Warning | Enforce sample times specified by Signal Specification blocks (SigSpecEnsureSampleTimeMsg) | warning | error |
Warning | Single task rate transition (SingleTaskRateTransMsg) | none | error |
Warning | Tasks with equal priority (TasksWithSamePriorityMsg) | warning | error |
Warning | Unspecified inheritability of sample time (UnknownTsInhSupMsg) | warning | error |
Check optimization settings in the model configuration that apply to loop unrolling threshold and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Not Recommended Values |
---|---|---|---|
Pass | Loop unrolling threshold (RollThreshold) | 5 | 0, 1 |
Identifies local data identifiers that are defined in multiple scopes within a chart.
Passed
No Stateflow charts were found.
hisl_0062 : Global variables in graphical functions
Identify expressions that both read and write to the same global data.
Passed
No expressions found that both read and write to the same global data.
Identify Gain blocks with value which resolves to 1
Passed
No Gain blocks found with value which resolves to 1.
Check for model elements that do not link to a requirements document
Warning
The following model elements do not link to a requirements document:
Identify model elements with number of requirement links more than the threshold.
Passed
No model elements found that exceed the threshold for number of requirement links.
_________________________________________________________________________________________
Identify linked model elements which exceed the threshold for number of children.
Passed
No components found that exceed the threshold for number of children.
Check diagnostic settings in the model configuration that affect compatibility and might impact safety
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Warning | S-function upgrades needed (SFcnCompatibilityMsg) | none | error |
Check diagnostic settings in the model configuration that apply to parameters and might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Warning | Detect underflow (ParameterUnderflowMsg) | none | error |
Warning | Detect precision loss (ParameterPrecisionLossMsg) | warning | error |
Warning | Detect loss of tunability (ParameterTunabilityLossMsg) | warning | error |
Check diagnostic settings in the model configuration that apply to Merge blocks and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Detect multiple driving blocks executing at the same time step (MergeDetectMultiDrivingBlocksExec) | error | error |
Check whether Configuration Parameters > Underspecified initialization detection is set to Simplified. If it is set to Classic check that the sub-parameters are selected.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Warning | Check runtime output of execution context (CheckExecutionContextRuntimeOutputMsg) | off | on |
Check diagnostic settings in the model configuration that apply to data used for debugging and might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Warning | Model Verification block enabling (AssertControl) | UseLocalSettings | DisableAll |
Check diagnostic settings in the model configuration that apply to signal connectivity and might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Warning | Signal label mismatch (SignalLabelMismatchMsg) | none | error |
Warning | Unconnected block input ports (UnconnectedInputMsg) | warning | error |
Warning | Unconnected block output ports (UnconnectedOutputMsg) | warning | error |
Warning | Unconnected line (UnconnectedLineMsg) | warning | error |
Check diagnostic settings in the model configuration that apply to bus connectivity and might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Warning | Unspecified bus object at root Outport block (RootOutportRequireBusObject) | warning | error |
Warning | Element name mismatch (BusObjectLabelMismatch) | warning | error |
Warning | Bus signal treated as vector (StrictBusMsg) | ErrorLevel1 | ErrorOnBusTreatedAsVector |
Warning | Non-bus signals treated as bus signals (NonBusSignalsTreatedAsBus) | none | error |
Check diagnostic settings in the model configuration that apply to function-call connectivity and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Invalid function-call connection (InvalidFcnCallConnMsg) | error | error |
Pass | Context-dependent inputs (FcnCallInpInsideContextMsg) | error | error |
Check diagnostic settings in the model configuration that apply to type conversions and might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Warning | Unnecessary type conversions (UnnecessaryDatatypeConvMsg) | none | warning |
Warning | Vector/matrix block input conversion (VectorMatrixConversionMsg) | none | error |
Check diagnostic settings in the model configuration that apply to model referencing and might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Warning | Port and parameter mismatch (ModelReferenceIOMismatchMessage) | none | error |
Warning | Invalid root Inport/Outport block connection (ModelReferenceIOMsg) | none | error |
Warning | Unsupported data logging (ModelReferenceDataLoggingMessage) | warning | error |
Check diagnostic settings in the model configuration that apply to Stateflow and might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Warning | Unexpected backtracking (SFUnexpectedBacktrackingDiag) | warning | error |
Warning | Invalid input data access in chart initialization (SFInvalidInputDataAccessInChartInitDiag) | warning | error |
Warning | No unconditional default transitions (SFNoUnconditionalDefaultTransitionDiag) | warning | error |
Warning | Transition outside natural parent (SFTransitionOutsideNaturalParentDiag) | warning | error |
Warning | Unreachable execution path (SFUnreachableExecutionPathDiag) | warning | error |
Warning | Undirected event broadcasts (SFUndirectedBroadcastEventsDiag) | warning | error |
Warning | Transition action specified before condition action (SFTransitionActionBeforeConditionDiag) | warning | error |
Check optimization settings in the model configuration that apply to logic signals and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Implement logic signals as Boolean data (vs. double) (BooleanDataType) | on | on |
Check block reduction optimization settings in the model configuration that might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Warning | Block reduction (BlockReduction) | on | off |
Check optimization settings in the model configuration that might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Warning | Application lifespan (days) (LifeSpan) | 1 | Inf |
Check optimization settings in the model configuration that apply to data initialization and might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values | Prerequisites |
---|---|---|---|---|
Warning | Remove root level I/O zero initialization (ZeroExternalMemoryAtStartup) * | off | on | SystemTargetFile |
Warning | Remove internal data zero initialization (ZeroInternalMemoryAtStartup) * | off | on | SystemTargetFile |
Check optimization settings in the model configuration that might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Pass | Remove code from floating-point to integer conversions that wraps out-of-range values (EfficientFloat2IntCast) | on | on |
Check optimization settings in the model configuration that might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values | Prerequisites |
---|---|---|---|---|
Warning | Remove code that protects against division arithmetic exceptions (NoFixptDivByZeroProtection) | on | off | SystemTargetFile |
Check optimization settings in the model configuration that might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values | Prerequisites |
---|---|---|---|---|
Warning | Optimize using the specified minimum and maximum values (UseSpecifiedMinMax) | on | off | SystemTargetFile |
Check code generation settings in the model configuration that apply comments and might impact safety.
Passed
All constraints on model configuration parameters have been met.
Status | Parameter | Current Value | Recommended Values | Prerequisites |
---|---|---|---|---|
Pass | Include comments (GenerateComments) | on | on | |
Pass | Simulink block comments (SimulinkBlockComments) | on | on | GenerateComments |
Pass | Show eliminated blocks (ShowEliminatedStatement) | on | on | GenerateComments |
D - Pass | System target file (SystemTargetFile) | ERT based target | ERT based target | |
Pass | Verbose comments for 'Model default' storage class (ForceParamTrailComments) | on | on | GenerateComments |
D - Pass | Include comments (GenerateComments) | on | on | |
Pass | Requirements in block comments (ReqsInCode) | on | on | SystemTargetFile, GenerateComments |
Check code generation interface settings in the model configuration that might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values | Prerequisites |
---|---|---|---|---|
Warning | absolute time (SupportAbsoluteTime) | on | off | SystemTargetFile |
Check code generation settings in the model configuration that apply to code style and might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values | Prerequisites |
---|---|---|---|---|
Warning | Parentheses level (ParenthesesLevel) | Nominal | Maximum | SystemTargetFile |
Warning | Preserve operand order in expression (PreserveExpressionOrder) | off | on | SystemTargetFile |
Warning | Preserve condition expression in if statement (PreserveIfCondition) | off | on | SystemTargetFile |
Check code generation symbols settings in the model configuration that might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Not Recommended Values | Prerequisites |
---|---|---|---|---|
Warning | Minimum mangle length (MangleLength) | 1 | 1, 2, 3 | SystemTargetFile |
Check diagnostic settings in the model configuration that apply to signal data and might impact safety.
Warning
The model configuration parameters are not set to the recommended values specified in the data file.
Status | Parameter | Current Value | Recommended Values |
---|---|---|---|
Warning | Division by singular matrix (CheckMatrixSingularityMsg) | none | error |
Warning | Underspecified data types (UnderSpecifiedDataTypeMsg) | none | error |
Warning | Wrap on overflow (IntegerOverflowMsg) | warning | error |
Warning | Saturate on overflow (IntegerSaturationMsg) | warning | error |
Warning | Inf or NaN block output (SignalInfNanChecking) | none | error |
Warning | Simulation range checking (SignalRangeChecking) | none | error |
Display number of elements and name, level, and depth of subsystems for the model or subsystem
Model metrics information
Display number of elements for Simulink blocks and Stateflow constructs
Summary
Element Type | Count |
---|---|
Inport | 2 |
Outport | 1 |
Simulink
Block Type | Count |
---|---|
Inport | 2 |
Sum | 1 |
Outport | 1 |
Model complexity information
Display name, level, and depth of subsystems
No subsystems found.
Identify unconnected lines, input ports, and output ports in the model
Passed
There are no unconnected lines, input ports, and output ports in this model.
Check for constructs in the model that are not recommended for production code generation
Identify blocks that are not recommended to be used for code generation.
Passed
Constructs that are not recommended for production code generation were not found in the model or subsystem
Name | Value |
---|---|
Specify system constant cell array | e.g. system_consts |
Prefix of transformed model name | gen0_ |
There are no eligible candidates.
_________________________________________________________________________________________
Name | Value |
---|---|
Prefix of refactored model | gen1_ |
Display number of blocks in the model or subsystem.
Component | Blocks |
---|---|
embedded_coder_fixedstep_multirate | 4 |
Display number of Subsystems in the model or subsystem.
Component | Subsystems |
---|---|
embedded_coder_fixedstep_multirate | 0 |
Display number of library links in the model or subsystem.
Component | Library Links |
---|---|
embedded_coder_fixedstep_multirate | 0 |
Display number of effective lines of MATLAB code.
No metric data available. The component scope of the metric algorithm is not applicable.
Passed
Display number of Stateflow objects in each chart.
No metric data available. The component scope of the metric algorithm is not applicable.
Passed
Display number of code lines for Stateflow blocks.
No metric data available. The component scope of the metric algorithm is not applicable.
Passed
Display non-descriptive names of Inport, Outport and Subsystem blocks.
Component | Nondescriptive Names |
---|---|
embedded_coder_fixedstep_multirate | 1 |
Display data and structure layer separation, defined by MAAB modeling guideline db_0143.
Component | Non-conforming Blocks |
---|---|
embedded_coder_fixedstep_multirate | 0 |
Display depth of subsystems in the model or subsystem.
Component | Subsystem Level | Subsystem Depth |
---|---|---|
embedded_coder_fixedstep_multirate | 0 | 0 |