文档gydF4y2Ba

与本地浮点数值方面的考虑gydF4y2Ba

本机浮点技术可以从你的浮点设计生成HDL代码。浮点设计有更好的精度,更高的动态范围,更短的开发周期比定点设计。如果你的设计复杂的数学和三角操作,使用本机浮点技术。gydF4y2Ba

高密度脂蛋白编码器™生成代码符合ieee - 754标准的浮点运算。高密度脂蛋白编码器原生浮点支持:万博1manbetxgydF4y2Ba

  • 最近的舍入模式gydF4y2Ba

  • Denormal数字gydF4y2Ba

  • 例外,如南(不是一个数字),正无穷,零gydF4y2Ba

  • ULP定制(单位最后)和相对精度gydF4y2Ba

最近的舍入模式gydF4y2Ba

高密度脂蛋白编码器原生浮点使用轮甚至最近的舍入模式。这种模式解决所有关系,甚至四舍五入到最近的数字。gydF4y2Ba

这舍入方法需要至少三个尾数的后位后23位。MSB叫警卫,中间位叫做圆位,LSB称为粘贴位。表显示了HDL编码器的舍入行为执行基于不同的值的三个比特。gydF4y2BaxgydF4y2Ba代表一个gydF4y2Ba不关心gydF4y2Ba价值,可以采取一个0或1。gydF4y2Ba

舍入位gydF4y2Ba 舍入操作gydF4y2Ba
0 xxgydF4y2Ba

不执行操作。gydF4y2Ba

One hundred.gydF4y2Ba 一个领带。如果一点一点之前卫兵尾数是1,围捕,否则不执行操作。gydF4y2Ba
101年gydF4y2Ba 围捕。gydF4y2Ba
11 xgydF4y2Ba 围捕。gydF4y2Ba

Denormal数字gydF4y2Ba

Denormal数字数字有一个指数字段等于零和一个非零尾数。领先的尾数是零。gydF4y2Ba

vgydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba ugydF4y2Ba egydF4y2Ba =gydF4y2Ba (gydF4y2Ba −gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba 年代gydF4y2Ba 我gydF4y2Ba ggydF4y2Ba ngydF4y2Ba *gydF4y2Ba (gydF4y2Ba 0gydF4y2Ba +gydF4y2Ba ΣgydF4y2Ba 23gydF4y2Ba 我gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba bgydF4y2Ba 23gydF4y2Ba −gydF4y2Ba 我gydF4y2Ba 2gydF4y2Ba −gydF4y2Ba 我gydF4y2Ba )gydF4y2Ba *gydF4y2Ba 2gydF4y2Ba −gydF4y2Ba 126年gydF4y2Ba

Denormal数量大小小于最小的浮点数可以表示尾数没有前导零。denormal数字的存在表明损失的有效数字积累对后续操作,最终导致意外的值。gydF4y2Ba

逻辑处理denormal数字包括计数的前导零的数目和执行左移操作获取归一化表示。除了这个逻辑增加面积的足迹在目标设备上,可以影响你的设计的时间。gydF4y2Ba

使用原生浮点支持时,您可以指定是否HDL编码处理denormal数万博1manbetx字在你的设计。默认情况下,代码生成器不检查denormal数字,可以节省面积在目标平台上。gydF4y2Ba

异常处理gydF4y2Ba

如果你执行操作,如除零个或计算一个负数的对数,高密度脂蛋白编码器检测和报告例外。表总结了映射的浮点数编码的各种异常的数量值。gydF4y2BaxgydF4y2Ba代表一个gydF4y2Ba不关心gydF4y2Ba价值,可以采取一个0或1。gydF4y2Ba

标志gydF4y2Ba 指数gydF4y2Ba SignificandgydF4y2Ba 价值gydF4y2Ba 描述gydF4y2Ba
xgydF4y2Ba 0 xffgydF4y2Ba 0 x00000000gydF4y2Ba

vgydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba ugydF4y2Ba egydF4y2Ba =gydF4y2Ba (gydF4y2Ba −gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba 年代gydF4y2Ba ∞gydF4y2Ba

∞gydF4y2Ba
xgydF4y2Ba 0 xffgydF4y2Ba 一个非零值gydF4y2Ba

值=南gydF4y2Ba

不是一个数字gydF4y2Ba
xgydF4y2Ba 0 x00gydF4y2Ba 0 x00000000gydF4y2Ba

值= 0gydF4y2Ba

零gydF4y2Ba
xgydF4y2Ba 0 x00gydF4y2Ba 一个非零值gydF4y2Ba

vgydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba ugydF4y2Ba egydF4y2Ba =gydF4y2Ba (gydF4y2Ba −gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba 年代gydF4y2Ba 我gydF4y2Ba ggydF4y2Ba ngydF4y2Ba *gydF4y2Ba (gydF4y2Ba 0gydF4y2Ba +gydF4y2Ba ΣgydF4y2Ba 23gydF4y2Ba 我gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba bgydF4y2Ba 23gydF4y2Ba −gydF4y2Ba 我gydF4y2Ba 2gydF4y2Ba −gydF4y2Ba 我gydF4y2Ba )gydF4y2Ba *gydF4y2Ba 2gydF4y2Ba −gydF4y2Ba 126年gydF4y2Ba

DenormalgydF4y2Ba
xgydF4y2Ba 0 x00 < E < 0 xffgydF4y2Ba xgydF4y2Ba

vgydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba ugydF4y2Ba egydF4y2Ba =gydF4y2Ba (gydF4y2Ba −gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba 年代gydF4y2Ba 我gydF4y2Ba ggydF4y2Ba ngydF4y2Ba *gydF4y2Ba (gydF4y2Ba 1gydF4y2Ba +gydF4y2Ba ΣgydF4y2Ba 23gydF4y2Ba 我gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba bgydF4y2Ba 23gydF4y2Ba −gydF4y2Ba 我gydF4y2Ba 2gydF4y2Ba −gydF4y2Ba 我gydF4y2Ba )gydF4y2Ba *gydF4y2Ba 2gydF4y2Ba (gydF4y2Ba egydF4y2Ba −gydF4y2Ba 127年gydF4y2Ba )gydF4y2Ba

正常的gydF4y2Ba

相对精度和ULP考虑gydF4y2Ba

的表示无限与有限数量的实数部分需要一个近似。这个近似可以导致浮点舍入误差计算。舍入误差来衡量,浮点标准使用相对误差和ULP(单位最后)错误。gydF4y2Ba

通过使用浮点公差检查设置,您可以指定是否要检查浮点基于相对误差或ULP错误的宽容。你可以输入自定义公差值。有关更多信息,请参见gydF4y2BaFPToleranceStrategygydF4y2Ba和gydF4y2BaFPToleranceValuegydF4y2Ba。gydF4y2Ba

ULPgydF4y2Ba

如果指数范围没有上限,单位的最后一名(ULP)浮点数x是两个最亲密的横跨浮点数之间的距离最近的a和b x。ieee - 754标准要求您正确地轮基本算术运算的结果如加法、乘法和除法。正确的结果意味着全面的结果是在0.5 ulp确切的结果。gydF4y2Ba

ULP 1意味着增加一个十进制值的数字。表显示了π的近似值的九个小数位数和ULP如何改变了近似值。gydF4y2Ba

浮点数gydF4y2Ba 在十进制值gydF4y2Ba ieee - 754表示gydF4y2Ba ULPgydF4y2Ba
3.141592741gydF4y2Ba 1078530011gydF4y2Ba 0 | 10000000 | 10000000gydF4y2Ba 0gydF4y2Ba
3.141592979gydF4y2Ba 1078530012gydF4y2Ba 0 | 10000000 | 10000000gydF4y2Ba 1gydF4y2Ba

两个连续的差距可表示的浮点数根据大小不同。gydF4y2Ba

浮点数gydF4y2Ba 在十进制值gydF4y2Ba ieee - 754表示gydF4y2Ba ULPgydF4y2Ba
1234567gydF4y2Ba 1234613304gydF4y2Ba 0 | 10010011 | 10010011gydF4y2Ba 0gydF4y2Ba
1234567.125gydF4y2Ba 1234613305gydF4y2Ba 0 | 10010011 | 10010011gydF4y2Ba 1gydF4y2Ba

相对误差gydF4y2Ba

相对误差的措施之间的区别一个浮点数的近似实数。相对误差返回的距离从1.0到下一个大单精度数。这个表显示的实际价值变化的相对精度。gydF4y2Ba

浮点数gydF4y2Ba 在十进制值gydF4y2Ba ieee - 754表示gydF4y2Ba ULPgydF4y2Ba 相对误差gydF4y2Ba
8388608gydF4y2Ba 1258291200gydF4y2Ba 0 | 10010110 | 10010110gydF4y2Ba 0gydF4y2Ba 1gydF4y2Ba
8388607gydF4y2Ba 1258291198gydF4y2Ba 0 | 10010101 | 10010101gydF4y2Ba 1gydF4y2Ba 0.5gydF4y2Ba
1gydF4y2Ba 1065353216gydF4y2Ba 0 | 01111111 | 01111111gydF4y2Ba 0gydF4y2Ba 1.1920929 e-07gydF4y2Ba
2gydF4y2Ba 1073741824gydF4y2Ba 0 | 10000000 | 10000000gydF4y2Ba 1gydF4y2Ba 2.3841858 e-07gydF4y2Ba

相对误差的大小取决于浮点数的真正价值。gydF4y2Ba

在MATLABgydF4y2Ba®gydF4y2Ba,gydF4y2Ba每股收益gydF4y2Ba措施的相对精度浮点数的函数。有关更多信息,请参见gydF4y2Ba每股收益gydF4y2Ba。gydF4y2Ba

ULP浮点运算符gydF4y2Ba

此表包含操作符有一个非零的ULP值ULP本机浮点误差模式。gydF4y2Ba

数学函数gydF4y2Ba

万博1manbetx®gydF4y2Ba块gydF4y2Ba 单位最后(ULP)的错误gydF4y2Ba
高密度脂蛋白互惠gydF4y2Ba 5gydF4y2Ba
经验值gydF4y2Ba 1gydF4y2Ba
日志gydF4y2Ba 3gydF4y2Ba
log10gydF4y2Ba 1gydF4y2Ba
10 ^你gydF4y2Ba 1gydF4y2Ba
战俘gydF4y2Ba 1gydF4y2Ba
函数的gydF4y2Ba 1gydF4y2Ba

三角函数gydF4y2Ba

万博1manbetx仿真软件模块gydF4y2Ba 单位最后(ULP)的错误gydF4y2Ba
罪gydF4y2Ba 2gydF4y2Ba
因为gydF4y2Ba 2gydF4y2Ba
棕褐色gydF4y2Ba 3gydF4y2Ba
印度历的7月gydF4y2Ba 2gydF4y2Ba
这些“可信赖医疗组织”gydF4y2Ba 2gydF4y2Ba
:gydF4y2Ba 2gydF4y2Ba
量化gydF4y2Ba 5gydF4y2Ba
sinhgydF4y2Ba 1gydF4y2Ba
coshgydF4y2Ba 1gydF4y2Ba
双曲正切gydF4y2Ba 1gydF4y2Ba
的作用gydF4y2Ba 3gydF4y2Ba
作用是gydF4y2Ba 3gydF4y2Ba
atanhgydF4y2Ba 4gydF4y2Ba
要求gydF4y2Ba 2gydF4y2Ba

注意事项gydF4y2Ba

对于某些浮点输入值,一些街区产生仿真结果,可以从不同的MATLAB仿真结果。看到不同的结果,在您生成代码之前,使一代的验证模型。在配置参数对话框,gydF4y2BaHDL代码生成gydF4y2Ba窗格中,选择gydF4y2Ba生成验证模型gydF4y2Ba复选框。gydF4y2Ba

  • 如果你执行计算,涉及复杂的数字和异常等gydF4y2Ba正gydF4y2Ba或gydF4y2Ba南gydF4y2Ba,高密度脂蛋白与本机浮点仿真结果可能会有所不同从仿真软件仿真结果。万博1manbetx例如,如果您将一个复杂的输入gydF4y2Ba正gydF4y2Ba仿真软件仿真万博1manbetx结果gydF4y2Ba不定式gydF4y2Ba而高密度脂蛋白的仿真结果gydF4y2Ba南+不定式gydF4y2Ba。gydF4y2Ba

  • 如果你计算一个负数的平方根或对数,高密度脂蛋白与本机浮点仿真结果gydF4y2Ba0gydF4y2Ba。这个结果与仿真结果验证时SystemVerilog DPI试验台的设计。在仿真万博1manbetx软件中,所获得的结果gydF4y2Ba南gydF4y2Ba。根据ieee - 754标准,如果你计算一个负数的平方根或对数,结果是这个数字本身。gydF4y2Ba

  • 如果输入的gydF4y2Ba直接查找表(一天)gydF4y2Ba是gydF4y2Ba单gydF4y2Ba数据类型,但表使用一个较小的元素数据类型等gydF4y2Bauint8gydF4y2Ba,生成的HDL代码可能不正确。获得准确的高密度脂蛋白仿真结果,对输入信号使用相同的数据类型和查找表的元素。gydF4y2Ba

  • 如果你使用gydF4y2Ba余弦gydF4y2Ba块的输入gydF4y2Ba-7.729179 e28gydF4y2Ba或gydF4y2Ba7.729179 e28gydF4y2Ba,生成的HDL代码有ULP 4。对于所有其他投入,ULP是2。gydF4y2Ba

  • 当你使用gydF4y2Ba数学函数gydF4y2Ba块来计算gydF4y2Ba国防部(a, b)gydF4y2Ba或gydF4y2Ba快速眼动(a, b)gydF4y2Ba,在那里gydF4y2Ba一个gydF4y2Ba股息和gydF4y2BabgydF4y2Ba是除数,仿真结果在本机浮点点模式从MATLAB仿真结果在这种情况下:gydF4y2Ba

    • 如果gydF4y2Ba bgydF4y2Ba 是整数,gydF4y2Ba 一个gydF4y2Ba bgydF4y2Ba >gydF4y2Ba 2gydF4y2Ba 32gydF4y2Ba ,仿真结果在本机浮点模式是零。这样的数字之间的显著差异的大小gydF4y2Ba一个gydF4y2Ba和gydF4y2BabgydF4y2Ba,这种实现目标FPGA设备上保存区。gydF4y2Ba

    • 如果gydF4y2Ba 一个gydF4y2Ba bgydF4y2Ba 接近gydF4y2Ba 2gydF4y2Ba 23gydF4y2Ba ,仿真结果在本机浮点模式可能会有所不同从MATLAB仿真结果。gydF4y2Ba

另请参阅gydF4y2Ba

|gydF4y2Ba|gydF4y2Ba

相关的例子gydF4y2Ba

更多关于gydF4y2Ba

这个主题有帮助吗?gydF4y2Ba