文档

优化工具和技术

使用模型顾问来优化代码生成的模型

您可以使用代码生成的模型顾问分析模型和识别方面的模型,阻碍生产部署或限制代码效率。你可以选择从一组检查运行在一个模型的当前配置。模型顾问分析模型并生成检查结果为每个区域的改善提供建议。大多数模型顾问诊断模型不需要编译状态;那些做的注意。

在运行模式顾问之前,选择您计划使用的目标代码生成。模型顾问工作最有效和ERT ERT-based系统目标文件。

用下面的例子来探讨优化代码生成的模型使用模型顾问:

请注意

示例模型rtwdemo_advisor2rtwdemo_advisor3需要Stateflow®和定点设计师™软件。

有关使用模型的更多信息顾问,明白了运行模型检查(万博1manbetx模型)。关于检查的更多信息,请参阅万博1manbetx仿真软件编码器检查(万博1manbetx仿真软件编码器)。

优化Stateflow对象生成的代码的设计技巧

不访问Machine-Parented数据在图形函数

这个限制可以防止长参数列表出现在代码生成的图形功能。你可以访问本地数据驻留在相同的图表图形功能。有关更多信息,请参见使用图形函数复用逻辑模式(Stateflow)。

明确的内联选择图形的功能

当你使用一个图形化功能Stateflow图表,选择内联函数的财产内联函数的选择。否则,代码生成的图形函数可能不会出现。有关更多信息,请参见指定图形函数的属性(Stateflow)。

避免使用多个边沿触发事件Stateflow图表

当你使用总线对象,减少参数的生成函数的参数列表。这条指导原则也适用于图的输出信号。有关更多信息,请参见定义Stateflow结构(Stateflow)。

结合图表到单个总线对象的输入信号

当你使用总线对象,减少参数的生成函数的参数列表。这条指导原则也适用于图的输出信号。有关更多信息,请参见定义Stateflow结构(Stateflow)。

使用图表离散样本

为离散图生成的代码没有在触发或启用子系统使用整数计数器跟踪时间而不是模型万博1manbetx®提供时间。这允许更有效的代码生成方面的开销和内存,以及使这段代码用于Software-in-the-Loop(银)和Processor-in-the-Loop(公益诉讼)模拟模式。

额外的优化技术

您可以应用以下技术来优化代码生成一个模型:

  • 对于嵌入式编码器®用户,如果您的应用程序只使用整数运算,清除万博1manbetx支持浮点数参数软件环境部分的接口窗格,这样生成的代码不包含浮点数据或操作。清除这个参数时,如果noninteger数据或表达式,是抛出一个错误在代码生成中遇到。错误消息报道的块和参数。

  • 禁用配置参数>代码生成>接口>先进的参数>MAT-file日志参数。取消勾选此参数消除额外的代码和初始化内存使用情况,更新和把记录变量。此外,生成的代码来支持MAT-file日志调用万博1manbetxmalloc为您的应用程序,它可以不受欢迎的。

  • 使用升级顾问升级旧机型(保存旧版本或当前版本)使用当前功能。有关详细信息,请参见模型的升级(万博1manbetx模型)。

  • 在建设之前,编译器设置优化标志(例如,- 02海湾合作委员会,微软®Visual c++®编译器)。

  • 直接嵌入C / c++ S-functions到生成的代码编写TLC文件功能。有关更多信息,请参见加速模拟,重用代码,或保护知识产权利用s函数的目标(万博1manbetx仿真软件编码器)看看内联C墨西哥人S-Functions(万博1manbetx仿真软件编码器)。

  • 使用仿真软件万博1manbetx以外的数据类型在可能的情况下。可用的数据类型布尔签署和unsigned 8 - 16 - 32位整数,32位和64位浮点数(a是一个64位的浮动)。有关更多信息,请参见仿真软件的数据类型万博1manbetx(万博1manbetx模型)。一个总结,点击showblockdatatypetable或在命令窗口中输入命令。

  • 为可调参数块配置存储在内存中生成的代码,您可以匹配参数数据类型与信号数据类型,以消除不必要的类型转换和C的变化。在可能的情况下,参数值存储在小整数数据类型。看到参数数据类型在生成的代码中

  • 在查找表数据删除重复值。

  • 使用Merge块尽可能合并的输出信号。这一块是特别有用,当你需要控制的执行函数调用子系统Stateflow图表。下面的模型显示了如何使用合并块的一个例子。

    当一个以上的信号连接到一个街区有一个非合并汽车存储类,所有非汽车信号连接块必须是相同的标记有相同的存储类。当合并模块直接连接,这些规则适用于合并的信号连接到任何块。

相关的话题

这个主题有帮助吗?