主要内容

中的半精确数据类型金宝app

信号和块输出可以指定半精度数据类型。半精度数据类型用于参数和块子集的模拟和代码生成。金宝app

半精确数学运算

在仿真金宝app软件®,执行算术操作、关系操作和二进制操作的块的半精度输入总是转换为单精度,并且操作以单精度执行。如果块的输出数据类型被设置为一半时,块的输出被强制转换回半精度数据类型。

在MATLAB®,但是,有些函数通过模拟半精度浮点运算来执行半精度输入的算术运算。例如,在MATLAB中,以下代码是使用半精度浮点算法执行的。

Y = mod(1 / 2 u1, 1 / 2 u2)

在Si金宝appmulink中,使用国防部的函数数学函数块,通过将输入转换为单精度并在单精度浮点数学中执行操作,可以执行相同的操作。然后将算术运算的结果转换回半精度。

Y = 1 / 2 (mod), 1 / 2 (u1), 1 / 2 (u2))))

半精度支持的软件特性金宝app

  • 在Normal、Accelerator和Rapid Accele金宝apprator模式下,模拟支持半精度数据类型。SIL、PIL和外部模式也支持半精度数据类型。金宝app

  • 支持C/ c++代码生成的半精度金宝app.ert目标。

    在生成的代码中,半精度变量存储在模拟值的位模式的类中。

  • 对于本地支持半精度特殊类型的嵌入式硬件目标,支持本地半精度C代码生成。金宝app有关更多信息,请参见从Simulink模型生成本地半精度C代码金宝app

  • 使用HDL Coder™生成HDL代码。

    有关更多信息,请参见开始使用HDL编码器原生浮点支持金宝app(高密度脂蛋白编码器)

  • 在Si金宝appmulink中,半精度数据类型只支持真实值。金宝app复杂值不能具有半精度数据类型。

支持半精度块金宝app

要查看支持半精度的块,请在命令行输入:金宝app

showblockdatatypetable

支持半精度的块显示金宝appX在标签栏中一半

为半精度系统生成代码

您可以生成C代码目标.ert目标为使用半精度数据类型金宝app的Simulink模型。代码生成的.erttargets需要Embedded Coder®许可证。

打开ex_half_arithmetic模型。该模型执行几个算术运算。所有参数值和输出数据类型指定半精度数据类型。

open_system (“ex_half_arithmetic”);

要为模型生成C代码,请按Ctrl + B.在代码生成报告中,打开ex_half_arithmetic.c文件。在生成的代码中,半精度变量的类型为real16_T.例如,请参见rtb_Gain变量。

在生成的代码中,半精度变量存储在模拟值的位模式的结构中。

算术运算的半精度输入变量被转换为单精度,算术运算在单精度中执行。如果块的输出数据类型被设置为一半时,操作的结果被强制转换回半精度数据类型。例如,请参阅计算增益块输出的代码。

另请参阅

相关的话题