银和公益诉讼模拟
银和公益诉讼模拟是什么?
使用嵌入式编码器®,您可以运行software-in-the-loop(银)和processor-in-the-loop(公益诉讼)的模拟模型。这些模拟生成源代码的模型或模型的一部分。SIL仿真编译和运行生成的代码在开发计算机上。公益诉讼模拟交叉编译源代码开发计算机上,然后下载一个目标处理器上运行的目标代码或一个等价的指令集仿真器。
银和公益诉讼模拟,您可以:
测试是否等效数值模型和生成的代码。
观察代码覆盖率。
执行代码的执行概要。
为什么使用硅和公益诉讼
通过硅和公益诉讼,可以在早期测试和修复缺陷。例如,您可以在正常模式模型和测试一个系统组件。然后,您可以重用你的测试套件SIL或公益诉讼仿真运行编译生成的代码。检查数值等价,你比较正常和硅或公益诉讼仿真结果。你不需要离开仿真软件金宝app®环境来测试生成的代码在一个单独的基础设施。
这个表描述的情况下您可以使用硅和公益诉讼。
情况 | 使用 |
---|---|
测试数值之间的等效模型和生成的代码通过重用测试向量为正常模式开发的仿真来验证数值(或遗留)代码生成的输出。看到银/公益诉讼经理验证工作流和测试两个等价的模拟(金宝app仿真软件测试) | 银和公益诉讼 |
收集指标生成的代码:
|
银和公益诉讼 |
(需要一个IEC认证工具包许可证)。 执行验证和确认活动生成的C / c++代码按照整体软件安全生命周期的需求定义的ISO 26262 - 6, IEC 61508 - 3, IEC 62304,在50128年,在50657年功能安全标准。银的详细信息和公益诉讼的验证活动IEC认证工具包基于模型的设计流程,请参阅参考工作流嵌入式C / c++应用程序( |
银和公益诉讼 |
(需要一个做资格工具包许可证)。 测试集成过程的输出满足相关目标- 178 c和- 333做安全标准。有关更多信息,请参见测试输出的集成过程(做资格工具包)。这些信息是可用的基于模型的设计流程做- 178 c( |
银和公益诉讼 |
没有目标硬件,方便替代公益诉讼。 | 银 |
与目标硬件,例如,一个评估板或指令集仿真器:
正常仿真技术不占硬件强加的限制和要求,如有限的内存资源或有针对性的优化的代码的行为。 关于公益诉讼运行模拟具体目标的信息,明白了示例自定义目标。 |
公益诉讼 |
请注意
银和公益诉讼仿真模式并非设计用于减少模型模拟。如果你想加快您的模型的仿真,使用快速加速模式。有关更多信息,请参见加速度是什么?。
银和公益诉讼模拟如何工作的呢
在硅或公益诉讼仿真、代码生成模型顶部或模型的一部分。银,这段代码被编译和执行在您的开发计算机。公益诉讼,交叉编译代码为目标硬件和目标处理器上运行。
刺激信号通过一个通信信道,仿真软件发送的代码在您的计算机上或目标处金宝app理器的每个取样间隔模拟。
对于高级模型,仿真软件使用刺激信号金宝app从基地或模型的工作区。
如果你有指定的模型来模拟在硅或公益诉讼模式,然后是模型的一部分仍在仿真软件和代码不是为这部分模型的生成。金宝app通常,您配置模型提供的这部分测试向量的软件执行硬件。这部分的模型可以代表其他部分的算法或算法运行的环境。
当你的电脑或目标处理器接收信号模型,处理器执行SIL或公益诉讼算法示例步骤。金宝appSIL或公益诉讼算法返回的输出信号通过通信信道模型计算在这一步。金宝app完成一个样品周期的仿真,仿真软件进行到下一个取样间隔。金宝app这个过程不断重演,模拟的进展。银和公益诉讼模拟不实时运行。在每个样本期间,模型和对象代码的I / O数据金宝app交换。
银和公益诉讼的模拟比较
银或公益诉讼类型的模拟 | 发生了什么在SIL模拟 | 发生了什么在公益诉讼模拟 |
---|---|---|
指定通过:
|
|
|
使用硅或公益诉讼阻止创建子系统。 |
|
|
代码接口SIL和公益诉讼
当您执行生成独立的代码,例如,一个顶级模特或右键单击子系统构建为一个单一的可部署组件。你可以编译和链接独立的代码放入一个独立的可执行或与其他代码集成。独立的代码接口的更多信息,看一下配置生成的C函数入口点函数接口模型。
当你引用的模型层次结构生成代码,软件生成独立的可执行代码的模型和库模块称为顶部模型参考目标为每个引用的模型。当代码执行时,独立的可执行文件调用应用模型参考目标计算参考模型输出。有关更多信息,请参见构建模型参考目标。
将生成的代码与遗留代码,使用独立的代码,因为独立的代码接口文档。
请注意
银和公益诉讼模拟不提供直接支持自定义代码接口。金宝app你可以将这些接口合并到模型作为一个功能,例如,使用遗留代码的工具,金宝apps函数生成器,或者手写代码。然后,您可以验证自定义代码通过使用硅和公益诉讼模拟。
这个表提供了银和公益诉讼模拟生成的接口。
银/公益诉讼模拟 | 代码接口 |
---|---|
顶级模特 | 银/公益诉讼模拟生成独立的代码接口。如果代码存在,模拟电话的独立代码模型。如果代码不存在,模拟生成独立的代码。 |
模型块 | 如果你设置代码接口块参数 如果你设置代码接口块参数 |
银或公益诉讼块 | 代码块使用独立的接口。 |
调度的考虑
项 | 信息 |
---|---|
代数循环 | 有代数循环发生在硅和公益诉讼但不以正常模式模拟仿真:
有关更多信息,请参见: |
在反馈循环导出功能 | 如果你的模型函数调用导出一个子系统,子系统和上下文相关的输入(例如,反馈信号),银/公益诉讼的结果模拟生成的代码和正常模式仿真模型的结果可以是不同的。一种方法使硅/公益诉讼和正常模式模拟产生相同的结果函数调用反馈锁在你的模型。你可以成为上下文无关上下文相关的输入。 如果你设置上下文相关的输入配置参数 有关更多信息,请参见: |
进口数据和额外的生成的代码
银或公益诉讼模拟不修改从模型生成的代码。如果你使用进口数据,银或公益诉讼所需模拟生成额外的代码支持SIL或公益诉讼目标应用程序的编译和链接。金宝app产生的额外代码对应接口,在模型中指定。
本节描述:
对进口数据,当硅或公益诉讼模拟定义存储,当你必须定义存储。
接口的SIL或公益诉讼模拟生成额外的代码
进口硅或公益诉讼中的数据模拟
在硅和公益诉讼的模拟,可以使用信号,参数和数据存储与进口指定存储类数据定义。模拟为进口定义存储相关数据:
信号在根级别的组件(在I / O边界)。
参数的基本工作空间或一个数据字典。对模型中参数的工作区:
顶级模特SIL /公益诉讼和硅/公益诉讼块模拟定义存储。
模型块硅/公益诉讼模拟不定义存储。您必须定义存储和指定初始值与MATLAB相匹配的值。
全球数据存储。
银和公益诉讼模拟不定义其他进口数据的存储。例如,模拟不定义存储进口相关的数据:
内部信号(而不是在I / O边界)。注意,如果数据结构内部信号的进口通过使用指针,模拟定义存储。
本地数据存储。
在这些情况下,通过自定义代码定义存储包括被测试的组件或通过公益诉讼rtw.pil.RtIOStreamApplicationFramework
API。
另请参阅可调参数和硅/公益诉讼。
接口,产生额外的生成的代码
此表描述场景SIL或公益诉讼仿真生成额外的代码接口。
场景 | 细节 |
---|---|
GetSet 定制的存储类 |
银和公益诉讼模拟支持金宝app |
自定义类型的存储类其他 |
使硅和公益诉讼支持自定义存储类金宝app类型被设置为 classdef CSCOtherAttributes <仿金宝app真软件。CustomStorageClassAttributes properties(PropertyType = 'logical scalar') SupportSILPIL = true; end end 关于自定义属性的更多信息,请参阅通过编写TLC代码进一步定制生成的代码和精确控制数据表示通过编写TLC存储类的代码。 构建银或公益诉讼程序界面,代码生成器调用 为一个自定义存储类,不是分组:
为一个自定义存储类分组:
确定硅或公益诉讼程序可以访问该变量的代码地址,代码生成器使用返回的元素
代码生成器的假设 您可以构建定制的TLC文件关联到一个自定义类型的存储类 …% "内容" %如果! LibIsAccessingCustomDataForSILPIL(记录)% matlab functionWithSideEffects () % endif %返回LibDefaultCustomStorageContents(记录、idx雷姆)… 另请参阅其他自定义存储类的限制。 |
AUTOSAR运行时环境 | 您可以使用顶级模特模型块硅/公益诉讼和硅/公益诉讼块模拟AUTOSAR软件组件的执行基于模型的测试。AUTOSAR的软件生成的代码链接软件组件与一个基本组件的AUTOSAR运行时环境(RTE)来创建一个测试应用程序。这个应用程序测试AUTOSAR API调用由AUTOSAR软件组件。 对于一个顶级AUTOSAR软件组件,其中包含引用的模型,您可以运行顶级模特模型块(代码接口设置为
您还可以运行模型块(代码接口设置为 |