ULP考虑本地的浮点运算符
的表示无限与有限数量的实数部分需要一个近似。这个近似可以导致浮点舍入误差计算。舍入误差来衡量,浮点标准使用相对误差和ULP(单位最后)错误。了解相对误差,看到相对精度和ULP考虑。
如果指数范围没有上限,单位的最后一名(ULP)浮点数x是两个最亲密的横跨浮点数之间的距离最近的a和b x。ieee - 754标准要求小学算术运算的结果如加法、乘法和除法是正确的。正确的结果意味着全面的结果是在0.5 ULP确切的结果。
坚持的本地浮点运营商ieee - 754标准
本机浮点技术在高密度脂蛋白编码器™遵循IEEE标准的浮点运算。基本的算术运算,如加、减、乘法,除法,互惠是由IEEE ULP零误差。当你在本地执行这些操作浮点模式,HDL代码生成的数值结果与原始模型金宝app®模型。
某些高等数学操作,如指数,对数和三角运营商特定于实现的行为,因为这些操作符使用基于循环泰勒级数和雷表达实现。当你使用这些操作符在本机浮点模式中,可以有相对较小的差异之间的数值结果仿真软件模型和生成的HDL代码。金宝app
你可以测量数值的差异结果相对误差或ULP。非零ULP这些运营商并不意味着不遵守IEEE标准。的ULP相当于的相对误差10 ^ 7
。可以忽略这些相对较小的错误通过指定一个自定义ULP公差值在生成一个高密度脂蛋白试验台。例如,您可以指定一个自定义浮点ULP忽略错误当公差验证生成的代码。有关更多信息,请参见浮点公差参数。
ULP浮点运算符的值
表中列举了非零ULP ULP浮点操作符。除了这些运营商高密度脂蛋白互惠块的ULP 5。
数学函数
注意事项
对于某些浮点输入值,一些街区可以产生从MATLAB仿真结果®仿真结果。看到不同的结果,在您生成代码之前,使一代的验证模型。在配置参数对话框,HDL代码生成窗格中,选择生成验证模型复选框。
如果你执行计算,涉及复杂的数字和异常等
正
或南
,高密度脂蛋白与本机浮点仿真结果可能会有所不同从仿真软件仿真结果。金宝app例如,如果您将一个复杂的输入正
仿真软件仿真金宝app结果不定式
而高密度脂蛋白的仿真结果南+不定式
。高密度脂蛋白编码器不生成一个参考和当地人之间的失配误差如果两个值是浮点值
南
不管的迹象。如果你计算一个负数的平方根或对数,高密度脂蛋白与本机浮点仿真结果
0
。这个结果与仿真结果验证时SystemVerilog DPI试验台的设计。在仿真金宝app软件中,所获得的结果南
。根据ieee - 754标准,如果你计算一个负数的平方根或对数,结果是这个数字本身。如果输入的直接查找表(一天)浮点数据类型,但表使用一个较小的元素数据类型,生成的HDL代码可能不正确。例如,输入的
单
使用类型和元素uint8
类型。获得准确的高密度脂蛋白仿真结果,对输入信号使用相同的数据类型和查找表的元素。如果你使用余弦块的输入
-7.729179 e28
或7.729179 e28
,生成的HDL代码有ULP 4。对于所有其他投入,ULP是2。当你使用数学函数块来计算
国防部(a, b)
或快速眼动(a, b)
,在那里一个
股息和b
是除数,仿真结果在本机浮点点模式从MATLAB仿真结果在这种情况下:如果 ,仿真结果在本机浮点模式是零。这样的数字之间的显著差异的大小
一个
和b
,这种实现目标FPGA设备上保存区。如果 ,仿真结果在本机浮点模式可能会有所不同从MATLAB仿真结果。