主要内容

SoC模型设计系统的作曲家

System Composer™与SoC Blockset™相结合,使您能够定义和设计在片上系统(SoC)设备上运行的软件应用程序。这允许对您的设计进行初步分析,例如,分析应用程序中的软件任务是否可以在您选择的硬件上调度。有关在System Composer中创作架构模型的一般工作流,请参见使用体系结构模型组合和分析系统(系统作曲家)

软件系统的作者架构模型

首先作者为SoC设备软件系统的系统作曲器架构模型。例如,考虑一个具有两个软件任务的应用程序。

  1. 创建一个新的体系结构。来自Simulink®工具条上的模拟选项卡上,选择>体系结构

  2. Simulink开始页面中,选择系统的作曲家>软件架构模型

  3. 应用soc_blockset_profile概要文件。在建模选项卡上,选择概要文件编辑器>进口.导航并选择XML文件< matlabroot > /工具箱/ soc /处理器/工具/ soc_blockset_profile.xml

  4. 添加两个组件(系统作曲家)对象添加到体系结构模型。

  5. 将组件指定为周期性和非周期性软件任务。右键单击组件,并选择应用原型>soc_blockset_profile。PeriodicSoftwareTask而且应用原型>soc_blockset_profile。AperiodicSoftwareTask,分别。

  6. 在每个组件中,指定任务的属性,例如MeanExecutionTime而且CoreAffinity

该图显示了SoC软件系统的最终架构模型。

软件体系结构模型

硬件系统的结构模型

作者提出了硬件系统的系统结构模型,特别是SoC设备的处理器系统。例如,考虑具有两个核心的硬件。

  1. 创建一个新的体系结构。的Simulink工具条上模拟选项卡上,选择>体系结构

  2. Simulink开始页面中,选择系统的作曲家>体系结构模型

  3. 应用soc_blockset_profile概要文件。在建模选项卡上,选择概要文件编辑器>进口.导航并选择XML文件< matlabroot > /工具箱/ soc /处理器/工具/ soc_blockset_profile.xml

  4. 添加两个组件(系统作曲家)对象添加到体系结构模型。

  5. 将每个组件指定为一个处理器核心。右键单击组件,并选择应用原型>soc_blockset_profile。ProcessorCore

  6. 在每个组件中,分配核心属性设置为处理器中可用的核心。

该图显示了SoC处理器系统的最终架构模型。

软件体系结构模型

分配处理器资源

使用在前几节中定义的处理器和软件体系结构模型,在System Composer中创建一个规范,其中将软件任务分配给处理器中的特定核心。规范可以包括多个实现场景,其中任务以各种组合分配到核心。然后,SoC Blockset可以分析这些场景是否可以通过给定的任务属性来实现。

  1. 打开配置编辑器(系统作曲家)应用程序。从Simulink工具条,在的观点选项卡上,单击配置编辑器

  2. 创建分配集窗口中,指定分配集的名称,例如MyAllocation,设置源模型到软件体系结构模型,并设置目标模型到处理器体系结构模型。

  3. 在场景表中,单击之间的交集Task1而且Core1.下配置属性,选择分配复选框。重复此步骤Task2而且嵌件.得到的分配图应该类似于所示的图像。

    将软件任务分配到核心

  4. 保存分配集。在工具条中,单击保存分配集按钮,生成MLDATX文件。

您可以对任意数量的任务和核心重复此过程,将多个任务分配给单个核心。

分析调度约束

软件任务的分配集及其分配的处理器核心可以帮助您确定软件系统是否有足够的处理时间来调度任务。使用socTaskSchedulability函数从SoC Blockset,你可以得到指标,表明整个系统和个别任务是否可以调度。使用前面为软件任务组件定义的默认任务规范,socTaskSchedulability生成这些统计信息。

(可调度、任务、核心)=...socTaskSchedulability (“MyAllocation.mldatx”“场景1”);
>>任务(1)ans = struct与字段:名称:'Task1'可调度:1
>> cores(1) ans = struct with fields: name: '0' usage: 1.0000 -04

结果表明,该系统可调度,仅占用处理器核心时间的0.01%。根据此结果,您可以确定是否需要更改系统规范以满足设计需求。例如,您可以将软件任务重新分配到核心,以实现更均衡的核心使用。

将软件系统架构转换为SoC Blockset模型

在系统编写器中编写系统后,您可以使用socCreateModel函数。使用您之前创建的软件和体系结构模型,socCreateModel函数创建所示的顶级和处理器SoC模型。

socCreateModel (“MyAllocation.mldatx”“场景1”

顶级SoC模型

处理器SoC模型

然后,您可以连接和修改生成的SoC模型,以创建可部署的SoC模型应用程序。

另请参阅

||||

相关的例子

更多关于

Baidu
map