Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
Type (SolverType ) | Must be set to Fixed-step . | Nonfatal | Check solver settings > Verify 'Type' setting |
Solver (Solver ) | Must be set to discrete (no
continuous states) (equivalent to FixedStepDiscrete specified
at the command line). | Nonfatal | Check solver settings > Verify 'Solver' setting |
Periodic sample time
constraint (SampleTimeConstraint ) | Must be set to Unconstrained or Ensure sample time
independent . | Nonfatal | Check solver settings > Verify 'Periodic sample time constraint’ setting |
Treat
each discrete rate as a separate task (EnableMultiTasking ) | Must be selected (set to on ) for model with
multiple discrete rates. | Nonfatal | Check Treat each discrete rate as a separate task setting > Verify ‘Treat each discrete rate as a separate task’ setting |
Automatically
handle rate transition for data transfer (AutoInsertRateTranBlk ) | Must be cleared. | Nonfatal | Check solver settings > Verify 'Automatically handle rate transition for data transfer’ setting |
Allow
tasks to execute concurrently on target (ConcurrentTasks ) | Must be cleared. This parameter check box is visible only if you convert an existing configuration set to one for concurrent execution. | Nonfatal | Check solver settings > Verify ‘Allow tasks to execute concurrently on target’ setting |
Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
Initial
state (LoadInitialState ) | Must be cleared (set to off ). | Nonfatal | Check data import/export settings > Verify 'Initial state' setting |
Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
Implement
logic signals as Boolean data (vs. double) (BooleanDataType ) | Must be selected (set to on ). | Nonfatal | Check math and data type settings > Verify 'Implement logic signals as Boolean data (vs. double)' setting |
Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
Allow symbolic dimension
specification
(AllowSymbolicDim ) | Must be cleared (set to off). | Nonfatal | Check diagnostic settings > Verify 'Allow symbolic dimension specification' setting |
Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
Multitask rate transition (MultiTaskRateTransMsg ) | Must be set to error . | Nonfatal | Check diagnostic settings > Verify 'Multitask rate transition' setting |
Multitask
conditionally executed subsystem (MultiTaskCondExecSysMsg ) | Must be set to error . | Nonfatal | Check diagnostic settings > Verify 'Multitask conditionally executed subsystem' setting |
Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
Detect
downcast (ParameterDowncastMsg ) | Must be set to error . | Nonfatal | Check diagnostic settings > Verify 'Detect downcast' setting |
Parameters > Detect
overflow (ParameterOverflowMsg ) | Must be set to error . | Nonfatal | Check diagnostic settings > Verify 'Detect overflow' setting |
Signals > Wrap
on overflow (IntegerOverflowMsg ) | Must be set to error . | Nonfatal | Check diagnostic settings > Verify 'Detect overflow' setting |
Saturate on overflow (IntegerSaturationMsg ) | Must be set to error . | Nonfatal | Check diagnostic settings > Verify 'Saturate on overflow‘ setting |
Detect
underflow (ParameterUnderflowMsg ) | Must be set to error . | Nonfatal | Check diagnostic settings > Verify 'Detect underflow' setting |
Detect loss of tunability (ParameterTunabilityLossMsg ) | Must be set to error . | Nonfatal | Check diagnostic settings > Verify 'Detect loss of tunability' setting |
Underspecified
initialization detection (UnderspecifiedInitializationDetection ) | Must be set to Simplified . Configuring the
model to initialize block initial conditions using simplified behavior
can improve the consistency of model results. | Nonfatal | Check diagnostic settings > Verify 'Underspecified initialization detection' setting |
Multitask data store (MultiTaskDSMMsg ) | Must be set to error . | Nonfatal | Check diagnostic settings > Verify 'Multitask data store’ setting |
Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
Bus signal treated as
vector (StrictBusMsg ) | Must be set to error (equivalent to ErrorOnBusTreatedAsVector specified at the command line). | FATAL | Check diagnostic settings > Verify Bus signal treated as vector setting |
Non-bus signals
treated as bus signals (NonBusSignalsTreatedAsBus ) | Must be set to error . | FATAL | Check diagnostic settings > Verify 'Non-bus signals treated as bus signals' setting |
Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
Unexpected backtracking (SFUnexpectedBacktrackingDiag ) | Must be set to error . | Nonfatal | Check diagnostic settings > Verify 'Unexpected backtracking' setting |
Invalid
input data access in chart initialization (SFInvalidInputDataAccessInChartInitDiag ) | Must be set to error . | Nonfatal | Check diagnostic settings > Verify 'Invalid input data access in chart initialization' setting |
No unconditional
default transitions (SFNoUnconditionalDefaultTransitionDiag ) | Must be set to error . | Nonfatal | Check diagnostic settings > Verify 'No unconditional default transitions' setting |
Transition outside
natural parent (SFTransitionOutsideNaturalParentDiag ) | Must be set to error . | Nonfatal | Check diagnostic settings > Verify 'Transition outside natural parent' setting |
Unreachable execution
path (SFUnreachableExecutionPathDiag ) | Must be set to error . | Nonfatal | Check diagnostic settings > Verify 'Unreachable execution path' setting |
Undirected event broadcasts (SFUndirectedBroadcastEventsDiag ) | Must be set to error . | Nonfatal | Check diagnostic settings > Verify 'Undirected event broadcasts' setting |
Transition
action specified before condition action (SFTransitionActionBeforeConditionDiag ) | Must be set to error . | Nonfatal | Check diagnostic settings > Verify 'Transition action specified before condition action' setting |
Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
Number of bits: char (ProdBitPerChar ) | Must be set to 8 . | Nonfatal | Check hardware implementation settings > Verify 'char' setting |
Number of bits: short (ProdBitPerShort ) | Must be set to 16 . | Nonfatal | Check hardware implementation settings > Verify 'short' setting |
Number of bits: int (ProdBitPerInt ) | Must be set to 32 . | Nonfatal | Check hardware implementation settings > Verify 'int' setting |
Number of bits: long (ProdBitPerLong ) | Must be set to 32 . | Nonfatal | Check hardware implementation settings > Verify 'long' setting |
Number of bits: float (ProdBitPerFloat ) | Must be set to 32 . | Nonfatal | Check hardware implementation settings > Verify 'float' setting |
Number of bits: double (ProdBitPerDouble ) | Must be set to 64 . | Nonfatal | Check hardware implementation settings > Verify 'double' setting |
Number of bits: native (ProdWordSize ) | Must be set to 32 . | Nonfatal | Check hardware implementation settings > Verify 'native' setting |
Number of bits: pointer (ProdBitPerPointer ) | Must be set to 32 . | Nonfatal | Check hardware implementation settings > Verify 'pointer' setting |
Signed integer division rounds to (ProdIntDivRoundTo ) | Must be set to Zero . | Nonfatal | Check hardware implementation settings > Verify 'Signed integer division rounds to' setting |
Shift right on a signed integer as arithmetic shift (ProdShiftRightIntArith ) | Must be selected (set to on ). | Nonfatal | Check hardware implementation settings > Verify 'Shift right on a signed integer as arithmetic shift' setting |
Test hardware is the same as production hardware (ProdEqTarget ) | Must be selected (set to on ). | Nonfatal | Check hardware implementation settings > Verify 'Test hardware is the same as production hardware' setting |
| Must not be set to ASIC/FPGA . | Nonfatal | Check hardware implementation settings>Verify 'Device vendor->Device type‘ setting |
Support long long (ProdLongLongMode ) | Must not be selected (set to off ). | Nonfatal | Check hardware implementation settings>Verify 'Support long long‘ setting |
Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
System
target file (Simulink Coder) (SystemTargetFile ) | Must be set to ert.tlc or the system target
file for an ERT-derived target. | FATAL | Check system target file setting |
Language (Simulink Coder) (TargetLang ) | Must be set to C or C++ . | FATAL | Check code generation settings > Verify 'Language' setting |
TLCOptions | Must be set to ''
(unspecified) or
-aMaxStackVariableSize=inf . | Nonfatal | Check code generation settings > Verify 'TLC options' setting |
Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
Simplify array
indexing (Embedded Coder)
(StrengthReduction ) | Must be cleared (set to
off ). | Nonfatal | Check code generation settings > Verify 'Simplify array indexing' setting |
Pack
Boolean data into bitfields (Embedded Coder)
(BooleansAsBitfields ) | Must be cleared (set to
off ). | Nonfatal | Check code generation settings > Verify 'Pack Boolean data into bitfields' setting |
Default
parameter behavior (Simulink Coder)
(DefaultParameterBehavior ) | For referenced models, must be set to
Inlined . | Nonfatal | Check code generation settings > Verify 'Default parameter behavior' setting |
Loop
unrolling threshold (Simulink Coder)
(RollThreshold ) | Must be set to a value that does not result in partially unrolled loops in the generated code. | Nonfatal | Check loop unrolling threshold setting > Verify loop unrolling threshold setting |
Pass
reusable subsystem outputs as: (Embedded Coder)
(PassReuseOutputArgsAs ) | Must be set to Structure
reference if referenced model has
root outports with non-auto storage class. | Nonfatal | Check for root Outport blocks that have non-auto storage class > Verify that the storage class of root outports is supported |
Use
bitsets for storing state
configuration (Simulink Coder)
(StateBitsets ) | Must be cleared (set to
off ). | Nonfatal | Check code generation settings > Verify ‘Use bitsets for storing state configuration’ setting |
Use
bitsets for storing Boolean data (Simulink Coder)
(DataBitsets ) | Must be cleared (set to
off ). | Nonfatal | Check code generation settings > Verify ‘Use bitsets for storing Boolean data’ setting |
Optimize
using the specified minimum and maximum
values (Embedded Coder)
(UseSpecifiedMinMax ) | Must be cleared (set to
off ). | Nonfatal | Check code generation settings > Verify ‘Optimize using the specified minimum and maximum values’ setting |
Remove
code from floating-point to integer conversions
that wraps out-of-range values (Simulink Coder)
(EfficientFloat2IntCast ) | Must be selected (set to
on ). | Nonfatal | Check code generation settings > Verify 'Remove code from floating-point to integer conversions that wraps out-of-range values' setting |
Remove
code from floating-point to integer conversions
with saturation that maps NaN to
zero (Simulink Coder)
(EfficientMapNaN2IntZero ) | Must be cleared (set to
off ). | Nonfatal | Check code generation settings > Verify 'Remove code from floating-point to integer conversions with saturation that maps NaN to zero' setting |
Remove
code that protects against division arithmetic
exceptions (Embedded Coder)(NoFixptDivByZeroProtection ) | Must be cleared (set to
off ). | Nonfatal | Check code generation settings > Verify 'Remove code that protects against division arithmetic exceptions' setting |
AdvancedOptControl | Must be set to -SLCI .
This setting disables optimizations that are
incompatible with Simulink®
Code Inspector™. When you use this setting, the
generated code can differ from code generated
without the '-SLCI' setting.
However, the differences do not
affect the
behavior of the generated code. | Nonfatal | Check code generation settings > Verify 'Disable incompatible optimizations' setting |
Operator to represent Bitwise and
Logical Operator blocks (Embedded Coder)
(BitwiseOrLogicalOp ) | Must be set to Same as
modeled or Bitwise
operator . | Nonfatal | Check code generation settings > Verify 'Operator to represent Bitwise and Logical Operator' setting |
Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
Include
comments (Simulink Coder) (GenerateComments ) | Must be selected (set to on ). The Simulink
Code Inspector parses
autogenerated comments to obtain traceability information about model
data. | FATAL | Check code generation settings > Verify 'Include comments' setting |
Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
Generate scalar inlined parameter
as (Embedded Coder)
(InlinedPrmAccess ) | Must be set to Literals . | Nonfatal | Check code generation settings > Verify 'Generate scalar inlined parameter as' setting |
Signal
naming (Embedded Coder)
(SignalNamingRule ) | Must be set to None . | Nonfatal | Check code generation settings>Verify 'Signal naming' setting |
Parameter
naming (Embedded Coder)
(ParamNamingRule ) | Must be set to None . | Nonfatal | Check code generation settings>Verify 'Parameter naming' setting |
Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
Source
file (Simulink Coder) (CustomSourceCode ) | Must be unspecified (set to '' ). | Nonfatal | Check code generation settings > Verify 'Source file' setting |
Header file (Simulink Coder) (CustomHeaderCode ) | Must be unspecified (set to '' ). | Nonfatal | Check code generation settings>Verify ‘Header file’ setting |
Initialize
function (Simulink Coder) (CustomInitializer ) | Must be unspecified (set to '' ). | Nonfatal | Check code generation settings > Verify 'Initialize function' setting |
Terminate
function (Simulink Coder) (CustomTerminator ) | Must be unspecified (set to '' ). | Nonfatal | Check code generation settings > Verify 'Terminate function' setting |
Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
Code interface packaging (Simulink Coder) (CodeInterfacePackaging ) | Must be set to Nonreusable function or Reusable
function . | FATAL | Check code generation settings > Verify 'Code interface packaging’ setting |
Use dynamic
memory allocation for model initialization (Embedded Coder) (GenerateAllocFcn ) | Must be cleared (set to off ). | Nonfatal | Check code generation settings > Verify 'Use dynamic memory allocation for model initialization' setting |
Code replacement library (Simulink Coder) (CodeReplacementLibrary ) | Must be set to None . You can also use Supported Functions and Operations in Code Replacement Libraries. | Nonfatal | Check code generation settings > Verify 'Code replacement library' setting |
Standard
math library (Simulink Coder) (TargetLangStandard ) | Must be set to C89/C90 (ANSI) or C99
(ISO) . | Nonfatal | Check code generation settings > Verify 'Standard math library' setting |
Shared
code placement (Simulink Coder) (UtilityFuncGeneration ) | Must be set to Shared location . Using a
shared location for utility functions, macros, and user-defined data
types promotes debugging and traceability of generated code. | Nonfatal | Check code generation settings>Verify 'Shared code placement' setting |
Support: non-finite numbers (Simulink Coder) (SupportNonFinite ) | Must be cleared (set to off ). | Nonfatal | Check code generation settings > Verify 'non-finite numbers' setting |
Support:
absolute time (Embedded Coder)
(SupportAbsoluteTime ) | Must be cleared (set to off ). | Nonfatal | Check code generation settings > Verify 'absolute time' setting |
Classic
call interface (Simulink Coder) (GRTInterface ) | Must be cleared (set to off ). | Nonfatal | Check code generation settings > Verify 'Classic call interface' setting |
Single output/update
function (Simulink Coder) (CombineOutputUpdateFcns ) | Must be selected (set to on ). | Nonfatal | Check code generation settings>Verify 'Single output/update function' setting |
Terminate function required (Embedded Coder) (IncludeMdlTerminateFcn ) | Must be cleared (set to off ). | Nonfatal | Check code generation settings > Verify 'Terminate function required' setting |
Remove error status field in real-time
model data structure (Embedded Coder)
(SuppressErrorStatus ) | Must be selected (set to on ). This helps
prevent generation of the rtModel data structure,
which is not supported for code inspection. | Nonfatal | Check code generation settings > Verify 'Remove error status field in real-time model data structure' setting |
Combine signal/state
structures (Embedded Coder) (CombineSignalStateStructs ) | Must be cleared (set to off ). | Nonfatal | Check code generation settings > Verify 'Combine signal/state structures' setting |
Array layout (Simulink Coder)
(ArrayLayout ) | Must be set to
column-major . | Nonfatal | Check code generation settings > Verify 'Array layout' setting |
MAT-file
logging (Simulink Coder) (MatFileLogging ) | Must be cleared (set to off ). | Nonfatal | Check code generation settings > Verify 'MAT-file logging' setting |
Support: variable-size
signals (Embedded Coder)
(SupportVariableSizeSignals ) | Must be cleared (set to off ). | FATAL | Check code generation settings > Verify 'variable-size signals' setting |
Generate
C API for: parameters (Simulink Coder) (RTWCAPIParams ) | Must be cleared (set to off ). | Nonfatal | Check code generation settings > Verify ‘parameters’ setting |
Generate
C API for: signals (Simulink Coder) (RTWCAPISignals ) | Must be cleared (set to off ). | Nonfatal | Check code generation settings > Verify ‘signals’ setting |
Generate
C API for: states (Simulink Coder) (RTWCAPIStates ) | Must be cleared (set to off ). | Nonfatal | Check code generation settings > Verify ‘states’ setting |
Generate
C API for: root-level I/O (Simulink Coder) (RTWCAPIRootIO ) | Must be cleared (set to off ). | Nonfatal | Check code generation settings > Verify ‘root-level I/O’ setting |
External
mode (Simulink Coder) (ExtMode ) | Must be cleared (set to off ). | Nonfatal | Check code generation settings > Verify ‘External mode’ setting |
ASAP2
interface (Simulink Coder) (GenerateASAP2 ) | Must be cleared (set to off ). | Nonfatal | Check code generation settings > Verify ‘ASAP2 interface’ setting |
Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
Create
block (Embedded Coder) (CreateSILPILBlock ) | Must be set to None . | Nonfatal | Check code generation settings > Verify 'Create block' setting |
Measure function
execution times (Embedded Coder) (CodeProfilingInstrumentation ) | Must be cleared (set to off ). | Nonfatal | Check code generation settings > Verify 'Measure function execution times' setting |
Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
Preserve
condition expression in if statement (Embedded Coder) (PreserveIfCondition ) | Must be selected (set to on ). | Nonfatal | Check code generation settings > Verify 'Preserve condition expression in if statement' setting |
Suppress
generation of default cases for Stateflow switch statements if unreachable (Embedded Coder) (SuppressUnreachableDefaultCases ) | Must be cleared (set to off ). | Nonfatal | Check code generation settings > Verify 'Suppress generation of default cases for Stateflow switch statements if unreachable' setting |
Casting
Modes (Embedded Coder)(CastingMode ). | Must be set to Nominal or
Standards . | Nonfatal | Check code generation settings > Verify 'Casting Modes' setting |
Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
Generate an example main
program (Embedded Coder)
(GenerateSampleERTMain ) | Must be selected (set to
on ). | Nonfatal | Check code generation settings > Verify 'Generate an example main program' setting |
Parameter | Constraint | FATAL / Nonfatal | Compatibility Check |
---|---|---|---|
Rate Transition block code (Embedded Coder)
(RateTransitionBlockCode ) | Must be set to
Inline . | Nonfatal | Check code generation settings > Verify 'Rate Transition block code' setting |