Filter checks

Passed  
Failed  
Warning  
Not Run  
   

Navigation

Code Generation Advisor

View

Scroll to top
Show check details
Code Generation Advisor Report - evkmimxrt1010_gpio_polling.mdl
Simulink version: 10.1 Model version: 1.101
System: evkmimxrt1010_gpio_polling Current run: 26-Jun-2022 20:37:06
Treat as Referenced Model: off  

Run Summary
Pass Fail Warning Not Run Total
   10    0    0    2 12


Code Generation Advisor


  Check model configuration settings against code generation objectives


Passed
Current Objectives: Execution efficiency

The following parameters have been checked and confirmed with the recommended value

Parameter Value
non-inlined S-functions off
Remove error status field in real-time model data structure on
MAT-file logging off
Classic call interface off
continuous time off
non-finite numbers off
Single output/update function on
Signal storage reuse on
Conditional input branch execution on
Default parameter behavior Inlined
Implement logic signals as Boolean data (vs. double) on
Block reduction on
Eliminate superfluous local variables (expression folding) on
Generate scalar inlined parameters as Literals
Enable local block outputs on
Remove code from floating-point to integer conversions that wraps out-of-range values on
Inline invariant signals on
Remove root level I/O zero initialization on
Remove internal data zero initialization on
Use memset to initialize floats and doubles to 0.0 on
Use bitsets for storing Boolean data off
Use bitsets for storing state configuration off
Convert if-elseif-else patterns to switch-case statements on
Pack Boolean data into bitfields off
Reuse local block outputs on
Reuse global block outputs on
Pass reusable subsystem outputs as Individual arguments
Combine signal/state structures on
Optimize using the specified minimum and maximum values on
Use floating-point multiplication to handle net slope corrections on
Use memcpy for vector assignment on
Measure task execution time off
Measure function execution times off
Suppress generation of default cases for Stateflow switch statements if unreachable on
Build configuration Faster Runs
Optimize global data access None
Remove code that protects against division arithmetic exceptions on
Support long long on
Perform in-place updates for Assignment and Bus Assignment blocks on
Optimize block operation order in the generated code speed
Reuse buffers for Data Store Read and Data Store Write blocks on
Dynamic memory allocation in MATLAB functions off
Rate Transition block code Inline
Use algorithms optimized for row-major array layout off
Gain parameters inherit a built-in integer type that is lossless on
Remove code from tunable parameter expressions that saturates out-of-range values on
Remove code from floating-point to integer conversions with saturation that maps NaN to zero on
∧ Less


_________________________________________________________________________________________


  Check for optimal bus virtuality

Passed


  Identify questionable blocks within the specified system

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


  Check the hardware implementation

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.


  Identify questionable software environment specifications

Passed


  Identify questionable code instrumentation (data I/O)

Passed


  Identify blocks that generate expensive rounding code

Not Run


  Identify questionable fixed-point operations

Not Run


  Identify blocks using one-based indexing

Check the model for blocks configured for one-based indexing

Passed
All blocks in the model use zero-based indexing.
_________________________________________________________________________________________


  Identify lookup table blocks that generate expensive out-of-range checking code

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.


  Check output types of logic blocks

Identify logic blocks that are outputting non-Boolean data types.

Passed
There are no logic blocks in the model or subsystem.


  Identify blocks that generate expensive fixed-point and saturation code

Identify Sum blocks for questionable fixed-point operations

Passed


_________________________________________________________________________________________

Identify Relational Operation blocks for questionable fixed-point operations

Passed


_________________________________________________________________________________________

Identify Data Type Conversion Inherited blocks for questionable fixed-point operations

Passed


_________________________________________________________________________________________

Identify Switch blocks for questionable fixed-point operations

Passed


_________________________________________________________________________________________

Identify Logic blocks for questionable fixed-point operations

Passed


_________________________________________________________________________________________

Identify Saturate blocks for questionable fixed-point operations

Passed


_________________________________________________________________________________________

Identify Min Max blocks for questionable fixed-point operations

Passed


_________________________________________________________________________________________

Identify Discrete Integrator blocks for questionable fixed-point operations

Passed


_________________________________________________________________________________________

Identify Compare To Constant blocks for questionable fixed-point operations

Passed


_________________________________________________________________________________________

Identify Lookup Table blocks for questionable fixed-point operations

Passed


_________________________________________________________________________________________

Identify blocks that will invoke net slope computation

Passed


_________________________________________________________________________________________

Identify Product blocks that are less efficient

Passed


_________________________________________________________________________________________

Check for expensive saturation code

Passed


_________________________________________________________________________________________