Filter checks

Passed  
Failed  
Warning  
Not Run  
   

Navigation

Code Generation Advisor

View

Scroll to top
Show check details
Code Generation Advisor Report - Blinky.slx
Simulink version: 10.1 Model version: 1.145
System: Blinky Current run: 26-Nov-2022 13:09:13
Treat as Referenced Model: off  

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


Code Generation Advisor


  Check model configuration settings against code generation objectives (26-Nov-2022 13:09:01)


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 (26-Nov-2022 13:09:01)

Passed


  Identify questionable blocks within the specified system (26-Nov-2022 13:09:01)

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 (26-Nov-2022 13:09:01)

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 (26-Nov-2022 13:09:01)

Passed


  Identify questionable code instrumentation (data I/O) (26-Nov-2022 13:09:01)

Passed


  Identify blocks that generate expensive rounding code

Check for expensive rounding operations in multiplication and division

Passed
_________________________________________________________________________________________

Check Optimization and Hardware Implementation settings (Lookup Blocks)

Passed
_________________________________________________________________________________________

Check for expensive rounding in a data type conversion

Passed
_________________________________________________________________________________________

Check for expensive rounding modes in the model

Passed
_________________________________________________________________________________________


  Identify questionable fixed-point operations

Check for multiword operations

Passed
_________________________________________________________________________________________

Check for expensive multiplication code

Passed
_________________________________________________________________________________________

Check for expensive division code

Passed
_________________________________________________________________________________________

Identify lookup blocks with uneven breakpoint spacing

Passed
_________________________________________________________________________________________

Check for expensive pre-lookup division

Passed
_________________________________________________________________________________________

Check for expensive data type conversions

Passed
_________________________________________________________________________________________

Check for fixed-point comparisons with predetermined results

Passed
_________________________________________________________________________________________

Check for expensive binary comparison operations

Passed
_________________________________________________________________________________________

Check for expensive fixed-point types

Passed
_________________________________________________________________________________________


  Identify blocks using one-based indexing (26-Nov-2022 13:09:01)

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 (26-Nov-2022 13:09:01)

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 (26-Nov-2022 13:09:01)

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 (26-Nov-2022 13:09:01)

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


_________________________________________________________________________________________