Forum Discussion
Hi,
you are referring to the difference between qNaN (quiet NaN) and NaN in Intel documents. In my view, this is just a clarification, not a difference. When FP user manual talks about NaN results, it should write qNaN, because qNaN (NaN with mantissa MSB, respectively bit 22 set) is the required response of illegal arithmetic operations according to IEEE 754.
See also: floating point - What is the difference between quiet NaN and signaling NaN? - Stack Overflow
I guess, most FPGA users don't know the difference between NaN codes, interestingly even ModelSim and QuestaSim are confusing the different NaN codes. They are displaying qNaN (bit 22 set) as "NAN" and sNaN (signalling NaN, bit 22 cleared) as "QNAN", I just tried out of curiosity. Reading Stratix DSP user manual strictly, it doesn't tell how sNaN input is propagated, but I assume that the hardware follows IEEE 754 also in this point and outputs qNaN (vulgo NaN).
I believe that the shown subtile differences are another reason why we should have an explicite specification of Arria 10 DSP block exception behaviour. For my part, the issue can be closed in expectation of a complete Arria 10 DSP block specification.
Best regards
Frank