Intel® Stratix® 10精度可调DSP块用户指南

ID 683832
日期 10/22/2019
Public
文档目录

2.11. 浮点运算的异常处理

Intel® Stratix® 10浮点运算支持乘法器和加法器模块的异常处理。

表 9.  支持的异常标记
异常标记 宽度 说明
乘法运算
mult_overflow 1

该信号表明乘法器结果是否大于可表示的最大值。

1:如果乘法器的值大于可表示的最大值,则该结果被转换为正无穷。

0:如果乘法器结果未大于可表示的最大值。

此信号在Adder or Subtract Mode(加法或减法模式)下不可用。

mult_underflow 1

此信号表明乘法器结果是否小于可表示的最小值。

1:如果乘法器结果小于可表示的最小值,则该结果表示为0。

0:如果乘法器结果大于可表示的最小值。

此信号在Adder or Subtract Mode下不可用。

mult_inexact 1

此信号表明乘法器结果是否是一个确切的表示。

1:如果乘法器结果是:
  • 舍入值(a rounded value)
  • 比可表示的最小值更小的值或
  • 比可表示的最大值更大的值。

0:如果乘法器结果不符合以上任何条件。

此信号在Adder or Subtract Mode下不可用。

mult_invalid 1

此信号显示乘法器操作是否有问题并产生无效结果。

1:如果乘法器结果无效则转换为qNaN。

0:如果乘法器结果为一个无效数字。

此信号在Adder or Subtract Mode下不可用。

加法运算
adder_overflow 1

此信号表明是否加法器结果大于可表示的最大值。

1:如果加法器结果大于可表示的最大值,则该结果转换为正无穷。

0:如果加法器结果未大于可表示的最大值。

此信号在Multiplication Mode(乘法模式)下不可用。

adder_underflow 1

此信号表明加法器结果是否小于可表达的最小值。

1:如果加法器结果小于可表示的最小值,则该结果表示为0。

0:如果加法器结果大于可表示的最小值。

此信号在Multiplication Mode下不可用。

adder_inexact 1

此信号表明加法器结果是否是一个确切的表示。

1:如果加法器结果是:
  • 舍入值(a rounded value)
  • 比最小可显示值更小的值或
  • 比最大可显示值更大的值。

0:如果加法器结果不符合上述任何条件。

此信号在Multiplication Mode下不可用。

adder_invalid 1

此信号显示加法器操作是否有问题并产生无效结果。

1:如果加法器结果无效并转换为qNaN。

0:如果加法器结果不是无效数字。

此信号在Multiplication Mode下不可用。

表 10.  乘法器异常处理可能的结果
输入A 输入B 结果 4

标记

上溢/下溢/不准确/无效

标准化 标准化 标准化的值 0/0/0/0
标准化的(近似)值 0/0/1/0
正/负无穷值 1/0/1/0
亚正常(非正常)值 0/1/1/0
0或亚正常(非正常) 标准化 0值 0/0/0/0
正/负无穷 标准化 正/负无穷值 0/0/0/0
Quiet Not A Number(qNaN) 标准化 qNaN值 0/0/0/0
0或亚正常(非正常) 0或亚正常(非正常) 0值 0/0/0/0
正/负无穷 0或亚正常(非正常) qNaN值 0/0/0/1
Quiet Not A Number(qNaN) 0或亚正常(非正常) qNaN值 0/0/0/0
正/负无穷 正/负无穷 正/负无穷值 0/0/0/0
Quiet Not A Number(qNaN) 正/负无穷 qNaN值 0/0/0/0
Quiet Not A Number(qNaN) Quiet Not A Number(qNaN) qNaN值 0/0/0/0
表 11.  加法器异常处理可能的结果
输入A 输入B 结果: 4

标记

上溢/下溢/不准确/无效

标准化 标准化 标准化的值 0/0/0/0
标准化(近似)值 0/0/1/0
正/负无穷值 1/0/1/0
0值

Sign bit = 0

0/0/0/0
亚正常(非正常)值

符号被保留

0/1/1/0
0或亚正常(非正常) 标准化 输入b 0/0/0/0
正/负无穷 标准化 正/负无穷值 0/0/0/0
Quiet Not A Number(qNaN) 标准化 qNaN值 0/0/0/0
0或亚正常(非正常) 0或亚正常(非正常) 0值

对于(-0 + (-0))公式, sign bit = 1。对于其他任何公式,sign bit = 0。

0/0/0/0
正/负无穷 0或亚正常(非正常) 正/负无穷值 0/0/0/0
Quiet Not A Number(qNaN) 0或亚正常(非正常) qNaN值 0/0/0/0
正/负无穷 正/负无穷

无效情况下的qNaN值

有效情况下的正/负无穷值

0/0/0/1代表无效情况

0/0/0/0代表有效情况

有效情况是:
  • 正无穷值+正无穷值
  • 负无穷值+负无穷值
  • 负无穷值-正无穷值
  • 正无穷值-负无穷值
Quiet Not A Number(qNaN) 正/负无穷 qNaN值 0/0/0/0
Quiet Not A Number(qNaN) Quiet Not A Number(qNaN) qNaN值 0/0/0/0
4 输出异常标志。如果是输入值中的异常,则这些标签不会改变。