文档

为定点函数生成共享实用程序代码

模型构建放在共享实用程序文件夹中的一组重要的生成函数是定点支持函数。金宝app基于模型和块属性,有许多可能的定点实用程序函数版本,这使得以静态文件的形式提供完整的集合变得不切实际。在代码生成过程中只生成所需的定点实用程序函数是一种有效的替代方法。

共享工具校验和机制确保使用共享工具的模型的几个关键属性是相同的。对于定点函数,还有其他属性决定函数的行为。该机制将这些属性编码到函数和文件名中以维护需求。附加属性包括:

类别 函数/属性
块的属性
  • 块执行的定点操作

  • 定点数据类型和缩放(偏见)的函数输入和输出

  • 溢位处理模式(饱和包装

  • 舍入模式(地板上装天花板

模型属性 get_param (bdroot NoFixptDivByZeroProtection)

基于属性的定点实用程序命名约定如下:

操作+[零保护]+输出数据类型+输出位+ [input1数据]+ input1位+ [input2数据类型+ input2位]+[移位方向]+[饱和模式]+ [round模式]

所显示的文件名是生成的定点实用程序文件的示例。文件中的函数名或宏名与不带扩展名的文件名相同。

MUL_S30_S30_S16.h div_nzp_s16s32_floor.c div_s32_sat_floor.c

对于这些示例,表中显示了各自字段的对应关系。

ACCUM_POS示例使用输出变量作为输入变量之一。因此,文件和宏名称只包含输出和第二个输入。

第二个div示例的输入和输出具有相同的数据类型和位。因此,文件和函数名只包括输出。

操作 FIX2FIX FIX2FIX ACCUM_POS MUL div div
零保护 _nzp
输出数据类型 _U _ _ _ _ _
输出位 12 9 30. 30. 16 32
输入数据类型 _U _ _ _S[和_S] 年代
输入位 16 9 30. 30[和16] 32
转变方向 SR99
饱和模式 _sat
圆的方式 _floor _floor

相关的话题

这个话题有用吗?