主要内容

模型配置参数:代码生成优化

代码生成>优化Category包含用于提高模型仿真速度和改进生成代码性能的参数。模型配置参数的改进所生成的代码要求金宝app®编码器™或嵌入式编码器®

参数 描述

默认参数行为

在生成的代码中将数值块参数转换为常量内联值。

利用目标硬件指令集扩展 选择指令集为目标硬件生成SIMD(单指令多数据)代码。
优化减少 生成用于约简操作循环的单指令、多数据(SIMD)代码。

传递可重用子系统输出为

指定可重用子系统如何传递输出。

删除根级I/O零初始化

指定是否为设置为0的根级输入和输出生成初始化代码。

删除内部数据零初始化

指定是否为内部工作结构(如块状态和块输出)生成初始化代码为零。

水平

选择要应用于生成代码的优化级别。

优先级

优化生成的代码,以提高执行效率,减少RAM消耗,或在两者之间取得平衡。

指定自定义优化

方法中的优化参数,而不是应用优化级别细节部分。

使用memcpy进行向量赋值

通过替换优化为矢量赋值生成的代码循环与memcpy

Memcpy阈值(字节)

指定最小数组大小(以字节为单位)memcpy而且memset函数调用应该替换生成的代码中用于矢量赋值的循环。

启用本地块输出

指定块信号是局部声明还是全局声明。

重用局部块输出

指定是否金宝app仿真软件编码器软件重用信号存储器。

消除多余的局部变量(表达式折叠)

将块计算分解为单个表达式。

重用全局块输出

为块输出重用全局内存。

重用Model块的输出缓冲区

如果可能,重用引用的模型缓冲区。

执行分配和总线分配块的就地更新

如果可能,重用总线分配和分配块的输入和输出变量。

为数据存储读和写块重用缓冲区

删除数据存储读和写块的临时缓冲区。尽可能直接使用数据存储内存块。

简化数组索引

在循环中访问数组时,替换数组下标中的乘法操作。

将布尔数据打包到位字段中

指定布尔信号是存储为位字段还是存储为布尔数据类型。

位字段声明器类型说明符

选择配置参数时指定位域类型将布尔数据打包到位字段中

重用不同大小和维度的缓冲区

通过重用缓冲区来存储不同大小和维度的数据,减少内存消耗。

优化全局数据访问

选择全局变量优化。

优化生成代码中的块操作顺序

重新排列生成代码中的块操作,以提高代码执行速度。

使用bitset存储状态配置

使用bitset可以减少存储状态配置变量所需的内存量。

使用bitset存储布尔数据

使用bitset来减少存储布尔数据所需的内存量。

最大堆栈大小(字节)

为您的模型指定以字节为单位的最大堆栈大小。

环展开阈值

指定a的最小信号或参数宽度循环生成。

使用指定的最小值和最大值进行优化

使用模型中信号和参数的指定最小值和最大值优化生成的代码。

子系统输出参数的最大数目

将子系统输出的最大数量设置为单独通过。

内嵌不变信号

将不变信号的符号名称转换为常量值。

删除将NaN映射为零的浮点到整数转换的饱和代码

删除处理浮点到整数转换结果的代码值。

使用memset初始化浮点数和双精度值为0.0

指定是否生成显式将浮点数据初始化为0.0的代码。

删除从浮点到整数转换中包装超出范围值的代码

删除处理超出范围的浮点到整数转换结果的包装代码。

从可调参数表达式中删除饱和超出范围值的代码

删除可调参数的包装代码。

删除防止除法算术异常的代码

指定是否生成防止除零和的代码INT_MIN / 1整数和定点数据的运算。

可重用子系统的缓冲区 通过在可重用子系统边界插入缓冲区来提高可重用性。

禁用不兼容的优化

指定是否禁用与Simulink代码检查器不兼容的优化。金宝app

自动创建的枚举的基本存储类型 为使用活动状态输出创建的枚举设置存储类型和大小。
使用信号标签来指导缓冲区重用 对于具有相同标签的信号,代码生成器尝试使用相同的信号存储器。
生成并行的for循环 指定生成代码中的for循环是否应并行实现forMatlab函数Matlab系统或者一个为每一个块。
信号存储重用 指定重用分配来存储块输入和输出信号的内存缓冲区,从而减少实时程序的内存需求
表示按位运算符和逻辑运算符块的运算符 指定生成的代码是否包含按位运算符或逻辑运算符,或两者都包含。

相关的话题