Signal Routing
hisl_0013: Usage of data store memory
ID: Title | hisl_0013: Usage of data store memory | ||
---|---|---|---|
Description | When using data store memory,
set these data store memory model configuration parameters to
| ||
Notes | Use input and output signals instead of data store memory to communicate data whenever possible. Using data store memory blocks to communicate data across system boundaries can lead to unexpected results. If you have a Simulink® Design Verifier™ license, you can detect data store memory access violations in a model statically. Select the Design Verifier model configuration parameter Data store access violations. For more information, see Detect Data Store Access Violations in a Model (Simulink Design Verifier). | ||
Rationale | Simulation diagnostics help identify places where data store memory communication invalidates the Simulink signal semantic. | ||
Model Advisor Checks | Check safety-related diagnostic settings for data store memory (Simulink Check) | ||
References |
| ||
Last Changed | R2024a | ||
Examples |
|
hisl_0015: Usage of Merge blocks
ID: Title | hisl_0015: Usage of Merge blocks | ||
---|---|---|---|
Description | To support unambiguous behavior from Merge blocks, | ||
A | Use Merge blocks only with conditionally executed subsystems. | ||
B | Specify execution of the conditionally executed subsystems such that only one subsystem executes during a time step. | ||
C | Clear block parameter Allow unequal port widths. | ||
D | Set the Outport block parameter
Output when disabled to
held for each conditionally executed
subsystem being merged. | ||
Notes | Simulink combines the inputs of the Merge block into a single output. The output value at any time is equal to the most recently computed output of the blocks that drive the Merge block. Therefore, the Merge block output is dependent upon the execution order of the input computations. To provide predictable behavior of the Merge block output, you must have mutual exclusion between the conditionally executed subsystems feeding a Merge block. Merge block
parameter Allow unequal port widths is only
available when configuration parameter Underspecified
initialization detection is set to
| ||
Prerequisites | hisl_0303: Configuration Parameters > Diagnostics > Merge block hisl_0304: Configuration Parameters > Diagnostics > Model initialization | ||
Rationale | A, B, C, D | Avoid ambiguous behavior. | |
Model Advisor Checks | Check usage of Merge blocks (Simulink Check) | ||
References |
| ||
See Also | Merge block in the Simulink documentation | ||
Last Changed | R2018b | ||
Examples |
Recommended | ||
Not Recommended |
hisl_0021: Consistent vector indexing method
ID: Title | hisl_0021: Consistent vector indexing method | ||
---|---|---|---|
Description | Within a model, use: | ||
A | Consistent vector indexing method. | ||
Rationale | A | Reduce the risk of introducing errors due to inconsistent indexing. | |
Model Advisor Checks | Check for inconsistent vector indexing methods (Simulink Check) | ||
References |
| ||
Last Changed | R2024a |
hisl_0022: Data type selection for index signals
ID: Title | hisl_0022: Data type selection for index signals | ||
---|---|---|---|
Description | For index signals, use: | ||
A | An integer or enumerated data type | ||
B | A data type that covers the range of indexed values. | ||
Blocks that use a signal index include:
| |||
Rationale | A | Prevent unexpected results that can occur with rounding operations for floating-point data types. | |
B | Enable access to data in a vector. | ||
Model Advisor Checks | Check data types for blocks with index signals (Simulink Check) | ||
References |
| ||
See Also | Maximum Size Limits of Simulink Models | ||
Last Changed | R2021b |
hisl_0023: Verification of variant blocks
ID: Title | hisl_0023: Verification of variant blocks | ||
---|---|---|---|
Description | When verifying that a model is consistent with generated code, do the following: | ||
A | For each
Variant block, set the Variant
activation time to update
diagram or update diagram
analyze all choices . | ||
Rationale | A | Simplify consistency testing between the model and generated code by restricting the code base to a single variant. | |
Model Advisor Checks | Check usage of variant blocks (Simulink Check) | ||
References |
| ||
Last Changed | R2024a | ||
See Also | Variant Subsystem |
hisl_0034: Usage of Signal Routing blocks
ID: Title | hisl_0034: Usage of Signal Routing blocks | |
---|---|---|
Description | When using Switch
blocks, avoid comparisons using the | |
Note | Due to floating-point precision
issues, do not test floating-point expressions for inequality
( When the model contains a
Switch block computing a relational operator with the
| |
Rationale | Improve model robustness. | |
Model Advisor Checks | Check usage of Signal Routing blocks (Simulink Check) | |
References |
| |
Last Changed | R2021a | |
Examples | Not Recommended Recommended |