Xinlinx开发工具对浮点数和定点数的支持学习笔记

System Generator对浮点数与定点数的支持

1. System Generator对浮点数的支持

Xinlinx开发了专门的浮点数运算IP核,所支持的运算如下表所示:
Xinlinx开发工具对浮点数和定点数的支持学习笔记
在SysGen中,浮点数以XFloat_EW_MW来表示,其中EW为指数字长,MW为尾数字长(包括隐含位)。

SysGen对定点数的支持

SysGen可支持任意精度的定点数。在SysGen中,有符号定点数以Fix_w_wf来显示,无符号数以UFix_w_wf来显示。其中w为字长,wf为小数部分字长。
(1) 定点数据的量化模式
量化模式决定运算结果精度问题的处理,有Truncate和Round两种方法。Truncate是直接截尾;Round方法是原数据加上一个小的数据后在Truncate,对于正数,当舍弃位的最高位为1时,这个小的数据为1,否则为0;对于负数,当舍弃位的最高位为1且舍弃位除最高位之外的其余各位不全为0时,这个小的数据为1,否则为0。
处理方法如图所示:

Xinlinx开发工具对浮点数和定点数的支持学习笔记
(2)定点数据的溢出模式
溢出模式决定运算结果大于定点数所能表示最大值时如何处理。通常有两种方法:Saturate和Wrap。Saturate为饱和处理,一旦溢出就将就是那结果饱和处理为最大值。Wrap为截断处理。其具体处理方式如下图所示:

Xinlinx开发工具对浮点数和定点数的支持学习笔记