与本地浮点数值方面的考虑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
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 |
|
∞gydF4y2Ba |
xgydF4y2Ba | 0 xffgydF4y2Ba | 一个非零值gydF4y2Ba | 值=南gydF4y2Ba |
不是一个数字gydF4y2Ba |
xgydF4y2Ba | 0 x00gydF4y2Ba | 0 x00000000gydF4y2Ba | 值= 0gydF4y2Ba |
零gydF4y2Ba |
xgydF4y2Ba | 0 x00gydF4y2Ba | 一个非零值gydF4y2Ba |
|
DenormalgydF4y2Ba |
xgydF4y2Ba | 0 x00 < E < 0 xffgydF4y2Ba | xgydF4y2Ba |
|
正常的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如果你计算一个负数的平方根或对数,高密度脂蛋白与本机浮点仿真结果gydF4y2Ba
0gydF4y2Ba
。这个结果与仿真结果验证时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 ,仿真结果在本机浮点模式是零。这样的数字之间的显著差异的大小gydF4y2Ba
一个gydF4y2Ba
和gydF4y2BabgydF4y2Ba
,这种实现目标FPGA设备上保存区。gydF4y2Ba如果gydF4y2Ba ,仿真结果在本机浮点模式可能会有所不同从MATLAB仿真结果。gydF4y2Ba
另请参阅gydF4y2Ba
FPToleranceStrategygydF4y2Ba
|gydF4y2BaFPToleranceValuegydF4y2Ba
|gydF4y2Bahdlcoder.createFloatingPointTargetConfiggydF4y2Ba