Main Content

Simulation behavior for denormal numbers

Description

Specify the desired behavior for denormal results from arithmetic operations. Denormal numbers are any non-zero numbers whose magnitude is smaller than the smallest normalized floating-point number (see realmin). Some hardware targets flush denormal results from arithmetic operations to zero. You can emulate this behavior by setting the parameter to Flush To Zero (FTZ).

Settings

Default: Gradual Underflow

Gradual Underflow

Denormal numbers are used in the results from arithmetic operations. This setting is supported by all simulation modes.

Flush To Zero (FTZ)

Emulates flush-to-zero behavior for denormal numbers. This setting is supported for Accelerator, SIL, and PIL modes. This setting is not supported during normal mode simulation.

  • For x86 processors, denormal results from arithmetic operations are set to zero.

  • For ARM® processors, all denormal numbers are treated as zero, including denormal values used as inputs to arithmetic operations. This behavior is known as denormals-are-zero (DAZ) on x86 processors.

Tips

In a model reference hierarchy, you can simulate a top model using gradual underflow with any simulation mode. Models referenced by the top model can simulate the flush-to-zero behavior only if the instance of the referenced model uses an accelerated simulation mode and has the Simulation behavior for denormal numbers parameter set to Flush to zero (FTZ).

Command-Line Information

Parameter: DenormalBehavior
Value: 'GradualUnderflow' | 'FlushToZero'
Default: 'GradualUnderflow'

Dependency

This parameter requires a Fixed-Point Designer™ license only when both of these conditions are met:

  • The DenormalBehavior parameter is set to 'FlushToZero'.

  • The model is simulated in Accelerator, SIL, or PIL mode. SIL and PIL simulations require an Embedded Coder® license.

When the DenormalBehavior parameter is set to 'GradualUnderflow' for all models in the model hierarchy, then no license is required.

Related Topics