Main Content

Check safety-related optimization settings for division arithmetic exceptions

mathworks.hism.hisl_0054

Dependencies: Simulink® Check™

Usage: High-Integrity System Modeling

Guideline: hisl_0054: Configuration Parameters > Optimization > Remove code that protects against division arithmetic exceptions

Description

This check verifies that model optimization configuration parameters are set optimally for generating code for a safety-related application. Although highly optimized code is desirable for most real-time systems, some optimizations can have undesirable side effects that impact safety.

Recommended Actions and Results

Review the violations that are flagged by the check and the recommended action for fixing the issue. After applying the changes, save the model and rerun the check analysis.

If you consider the flagged violation to either not be relevant or not feasible for your design, use the Justify button to provide rationale as to why the violation is either not relevant or not feasible for your design.

You can use the Fix button to allow the Model Advisor to fix all flagged violations. For this check, the Model Advisor configures model code generation settings that can impact safety.

Modeling ConditionRecommended Action
The optimization that suppresses generation of code that guards against division by zero for fixed-point data is selected. You must avoid division-by-zero exceptions in safety-related code.If you have an Embedded Coder® license and are using an ERT-based system target file, clear Configuration Parameter Remove code that protects against division arithmetic exceptions (Embedded Coder) or set the parameter NoFixptDivByZeroProtection to off.

Subchecks depend on the results of the subchecks noted with D in the results table in the Model Advisor window.

Capabilities and Limitations

  • Does not require model compilation

  • Does not run on library models

  • Does not allow exclusions of blocks or charts

  • Does not highlight parameter names in report without Embedded Coder

Version History

Introduced in R2020a