性能
在开发Simulink时金宝app®您打算从中生成代码的模型,使用配置选项和优化来提高性能。这些选项减少了RAM和ROM的消耗,加快了代码执行速度。如果您想要更多的防御性代码,以牺牲一些效率为代价,您可以禁用这些选项中的一个或多个。
您可以配置代码执行概要,以确定生成的代码是否满足需要性能改进的目标硬件和代码部分的实时需求。您还可以使用代码生成顾问来检查模型的当前配置是否为调试或代码执行进行了优化。
金宝appSimulink配置参数
主题
防御性编程
尽量减少由于低于正常数字计算延迟而导致的执行速度减慢或溢出的可能性。
如果应用程序中的输入值在输出类型的范围内,请删除超出范围的浮点到整数转换的代码。
如果输入值为南
在您的应用程序中不存在,请指定代码生成器删除映射的代码南
到整数0。
使用代码替换库(CRL)自定义条目有选择地禁用数学函数的非有限检查和数学函数的内联。
减少数据拷贝
代码生成器将块计算折叠成单个表达式,而不是为模型中的每个块生成单独的代码语句和存储声明。
表达式折叠代码,最大限度地减少块输出时中间结果的计算,并将这些结果存储在临时缓冲区或变量中。
在可能的情况下,代码生成器将块输出声明为局部变量,这样它就可以重用这些变量。
建模总线以最大化所生成代码的效率。
在生成的代码中使用不变信号的数值,而不是它们的符号名称。
代码生成器通过替换来优化生成的向量赋值代码为
循环与memcpy
函数调用。
建模总线以最大化所生成代码的效率。
内存使用情况
代码生成器通过用局部变量替换临时本地数组来减少堆栈内存。
减少存储状态配置变量和的内存量布尔
变量。
的memset
函数将内部存储空间(无论类型)清除到整数位模式0(即所有位都关闭)。
控制允许的最大堆栈大小,以在生成的代码中控制数据是在本地定义还是全局定义。
从默认值5开始,代码生成器开始使用为
循环,而不是单独的语句来为信号或参数数组的元素赋值。
生成浮点数据类型只有单精度的代码,例如,针对单精度处理器。
要生成更高效的代码,请将参数数据类型与信号数据类型匹配,或将参数存储在更小的数据类型中。
代码生成器通过将逻辑信号存储为来优化生成的代码布尔
数据类型。
优化代码生成器为运行时间或绝对时间分配的内存。
执行速度
代码生成器使用数据依赖分析进行组合为
构造来减少静态代码大小和运行时分支。
从默认值5开始,代码生成器开始使用为
循环,而不是单独的语句来为信号或参数数组的元素赋值。
代码生成器从生成的代码中消除死的(即未使用的)代码路径。
对于支持高效乘法的处理器,可以通过使用浮金宝app点乘法处理净斜率修正来提高代码效率。
代码生成器通过删除不影响计算结果的代码来提高执行速度并减少ROM消耗。
通过内联块参数的文字数值来减少全局RAM使用。
使用Simulink®、Stateflow®和MATLAB®使用定点数据优化生成的代码金宝app
在Simulink、statflow中生成定点代码金宝app®, MATLAB®.
使用特定于目标的优化自定义生成的算法代码。
为开关而且多端口切换块,Simuli金宝appnk只执行计算控制输入和控制输入选择的数据输入的块。
代码生成器对所生成代码中表示信号的结构执行各种优化。
生成LAPACK调用的某些线性代数函数在MATLAB函数块。指定要使用的LAPACK库。
为某些低级矩阵操作生成BLAS调用。指定要使用的BLAS库。
生成FFTW库调用快速傅里叶变换MATLAB函数块。指定FFTW库。
实现FFT库回调类方法,并提供支持的C代码,以防止并行访问FFTW规划。金宝app
禁用动态内存分配或指定动态内存分配阈值MATLAB函数块。