主要内容GydF4y2Ba

入门GydF4y2BaHDL编码器GydF4y2Ba本机浮点支持金宝appGydF4y2Ba

HDL Coder™中的本机浮点支持使您可以金宝app从浮点设计生成代码。如果您的设计具有复杂的数学和三角运行或具有具有大动态范围的数据,请使用本机浮点。GydF4y2Ba

主要特点GydF4y2Ba

在你的simul金宝appink中GydF4y2Ba®GydF4y2Ba模型:GydF4y2Ba

  • 您可以拥有半精度,单精度和双精度浮点数据类型和操作。GydF4y2Ba

  • 您可以具有整数,固定点和浮点操作的组合。通过使用GydF4y2Ba数据类型转换GydF4y2Ba块,您可以在浮点和定点数据类型之间执行转换。GydF4y2Ba

生成的代码:GydF4y2Ba

  • 符合IEEE-754浮点算术标准。GydF4y2Ba

  • 目标无关。您可以在任何通用FPGA或ASIC上部署代码。GydF4y2Ba

  • 在目标ASIC或FPGA上不需要浮点处理单元或硬浮点DSP块。GydF4y2Ba

HDL编码器支持:金宝appGydF4y2Ba

  • 数学和三角函数GydF4y2Ba

  • Simulink块的大小子集金宝appGydF4y2Ba

  • 基数GydF4y2Ba

  • 自定义浮点运算符的延迟GydF4y2Ba

数字考虑和IEEE-754标准合规性GydF4y2Ba

HDL编码器中的本机浮点技术涉及浮点算法的IEEE标准。对于基本算术运算,例如添加,减法,乘法,划分和互动,当您在本机浮点模式下生成HDL代码时,获得的数字结果与原始Simulink模型匹配。金宝appGydF4y2Ba

某些先进的数学操作,如指数,对数和三角函数具有机器特定的实现行为,因为这些运营商使用了基于重复的泰勒系列和Remez表达的实现。当您在本机浮点模式下使用这些运算符时,生成的HDL代码可以具有与Simulink模型的相对较小的数值差异。金宝app这些数字差异在公差范围内,因此表示符合IEEE-754标准。GydF4y2Ba

要生成符合IEEE-754标准的代码,HDL编码器支持:金宝appGydF4y2Ba

  • 舍入到最近的舍入模式GydF4y2Ba

  • 基数GydF4y2Ba

  • NaN(不是数字),INF和零等例外GydF4y2Ba

  • ULP的定制(最后一个位置的单位)和相对准确性GydF4y2Ba

有关更多信息,请参阅GydF4y2Ba本机浮点数的数字考虑因素GydF4y2Ba。GydF4y2Ba

浮点类型GydF4y2Ba

单精度GydF4y2Ba

在IEEE 754-2008标准中,单精度浮点数为32位。32位数字对1位符号,8位指数和23位尾数进行编码。GydF4y2Ba

该图是浮点数的归一化表示。您可以计算正常数字的实际值为:GydF4y2Ba

V.GydF4y2Ba 一种GydF4y2Ba L.GydF4y2Ba 你GydF4y2Ba E.GydF4y2Ba =GydF4y2Ba (GydF4y2Ba -GydF4y2Ba 1GydF4y2Ba )GydF4y2Ba S.GydF4y2Ba 一世GydF4y2Ba GGydF4y2Ba NGydF4y2Ba *GydF4y2Ba (GydF4y2Ba 1GydF4y2Ba +GydF4y2Ba σ.GydF4y2Ba 23.GydF4y2Ba 一世GydF4y2Ba =GydF4y2Ba 1GydF4y2Ba B.GydF4y2Ba 23.GydF4y2Ba -GydF4y2Ba 一世GydF4y2Ba 2GydF4y2Ba -GydF4y2Ba 一世GydF4y2Ba )GydF4y2Ba *GydF4y2Ba 2GydF4y2Ba (GydF4y2Ba E.GydF4y2Ba -GydF4y2Ba 127.GydF4y2Ba )GydF4y2Ba

指数字段代表指数加上127的偏差。尾数的大小是24位。前导位是1,因此表示对较低的23位进行编码。GydF4y2Ba

使用单精度类型,适用于需要比半精度类型更大的动态范围的应用程序。单精度操作消耗较少的内存并具有比双精度类型更低的延迟。GydF4y2Ba

双精度GydF4y2Ba

在IEEE 754-2008标准中,单精度浮点数为64位。64位数字对1位符号,11位指数和52位尾数进行编码。GydF4y2Ba

双精度浮点位编码。GydF4y2Ba

指数字段代表指数加上1023的偏差。尾数的大小是53位。前导位是1,因此表示对较低的52位进行编码。GydF4y2Ba

使用双重精度类型需要更大的动态范围,准确性和精度的应用。这些操作消耗了FPGA和较低目标频率的较大区域。GydF4y2Ba

半精确度GydF4y2Ba

在IEEE 754-2008标准中,半精确浮点数为16位。16位数字编码1位符号,5位指数和10位尾数。GydF4y2Ba

半精密浮点位编码。GydF4y2Ba

指数字段代表指数加上15的偏差。尾数的大小是11位。前导位是1,因此表示对较低的10位进行编码。GydF4y2Ba

对需要较小动态范围的应用程序使用半精度类型,消耗更少的内存,延迟较低,并节省FPGA资源。GydF4y2Ba

使用时GydF4y2Ba一半GydF4y2Ba类型,您可能希望明确设置GydF4y2Ba输出数据类型GydF4y2Ba块GydF4y2Ba一半GydF4y2Ba而不是默认设置GydF4y2Ba继承:通过内部规则继承GydF4y2Ba。要了解如何以编程方式更改参数,请参阅GydF4y2Ba以编程方式为多个块设置HDL块参数GydF4y2Ba。GydF4y2Ba

数据类型注意事项GydF4y2Ba

通过本机浮点支持,HDL编码器支持从包含浮点信号和定点金宝app信号的Simulink模型的代码生成。金宝app您可能希望使用浮点类型模拟您的设计:GydF4y2Ba

  • 实现具有大型或未知动态范围的算法,该动态范围可以落在可表示的固定点类型的范围之外。GydF4y2Ba

  • 实现复杂的数学和三角操作,这些操作难以在固定点中设计。GydF4y2Ba

  • 获得更高的精度和更好的准确性。GydF4y2Ba

浮点设计可能会占据目标硬件上的更多区域。在Simulin金宝appk模型中,建议在算法控制逻辑中使用算法数据路径和定点数据类型中的浮点数据类型。该图显示了使用的Simulink模型的一部分金宝appGydF4y2Ba单身的GydF4y2Ba和定点类型。通过使用GydF4y2Ba数据类型转换GydF4y2Ba块,您可以在单个和固定点类型之间执行转换。GydF4y2Ba

也可以看看GydF4y2Ba

建模指南GydF4y2Ba

职能GydF4y2Ba

相关例子GydF4y2Ba

更多关于GydF4y2Ba