主要内容

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

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

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

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

  • 定点数据类型及比例(偏见)的功能输入和输出

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

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

模型属性 get_param (bdroot NoFixptDivByZeroProtection)

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

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

显示的文件名是生成的定点实用程序文件的示例。文件中的函数名或宏名与文件名相同,但没有扩展名。

FIX2FIX_U12_U16.c FIX2FIX_S9_S9_SR99.c ACCUM_POS_S30_S30.h 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 _ _ _, _ 年代
输入位 16 9 30. 30 [16] 32
转变方向 SR99
饱和模式 _sat
圆的方式 _floor _floor

相关的话题