主要内容

带内存映射的导入IP-XACT

这个示例展示了如何使用导入的IP-XACT规范和内存映射,当您从Simulink®模型生成SystemC™或事务级别建模(TLM)组件时万博1manbetxtlmgenerator目标。你可以使用tlmgenerator目标为Simulink Coder™万博1manbetx或Embedded Coder™。

在Si万博1manbetxmulink中,每个块输入或输出点对点地绑定到另一个块。在SystemC或TLM中,每个组件通过一个TLM套接字进行通信。这个套接字处理所有以TLM事务格式传入和传出的通信。因为每个系统处理通信的方式不同,所以当SystemC或TLM组件从Simulink模型生成时,您必须为它定义一个通信接口。万博1manbetx根据SystemC或TLM组件的预期用途,该通信接口可能需要为组件中的每个输入或输出构建内存映射。这个内存映射可以是简单的、详细的,也可以是从IP-XACT规范文件导入的。

导入IP-XACT选项根据IP-XACT规范文件从Simulink模型生成TLM组件。万博1manbetx在本例中,IP-XACT文件为可调参数指定了一个带有内存映射的tlm套接字。每个参数都绑定到这个tlm套接字中相应的读或写寄存器。使用虚拟平台(VP)中生成的TLM组件作为测试台上的独立组件,或者将其附加到通信通道上。

在本例中,我们使用一个FIR滤波器的Simulink万博1manbetx模型作为生成SystemC或TLM的基础。

运行此示例的要求:

  • SystemC 2.3.1(包括TLM库)

注意:这个例子包括一个代码生成构建过程。万博1manbetxSimulink不允许您在MATLAB®安装区域构建程序。如果有必要,在开始任何构建之前,更改到不在MATLAB安装区域中的工作目录。

1.开放预配置模型

打开引入IPXact的FIR滤波器模型(带内存映射),单击开放模式按钮。

下面的模型在Simulink中打开。万博1manbetx

2.打开IP-XACT文件

打开IP-XACT文件在MATLAB编辑器中使用此示例。或者,在MATLAB命令窗口中执行以下命令:

> >开放(“tlmgdemo_ipxactmem.xml”);

IP-XACT文件在MATLAB编辑器中打开。

3.检查IP-XACT文件

这个IP-XACT文件的架构视图和相应的Simulink模型如下所示。万博1manbetx这个IP-XACT包含一个DualFilter组件,它有两个端口(LPF_inputLPHPF_input),两个出口(LPF_outputLPHPF_output),以及一个总线接口(PROCESSOR_BUS).这些输入和输出端口分别映射到DualFilter模型的输入和输出。总线接口(PROCESSOR_BUS)包含一个内存映射(DualFilter_MEM_MAP).在内存映射中,有三个地址块(LP_FILTER_BANK,LPHP_FILTER_BANK,EXCLUDED_BANK).LP_FILTER_BANK包含寄存器,在Simulink模型中映射到LP滤波器系数参数。万博1manbetxLPHP_FILTER_BANK包含映射到Simulink模型中LPHP滤波器系数输入的寄存器。万博1manbetxEXCLUDED_BANK是一个附加的寄存器库,在Simulink模型中没有相应的表示。万博1manbetx

本节(MWMapInput)表示Simulink模型的输入万博1manbetxLPF_input映射到端口的TLM组件LPF_input

同样,本节(MWMapOutput)表示Simulink模型的输出万博1manbetxLPF_output映射到TLM组件输出端口LPF_output

本节(MWMap)表示总线接口PROCESSOR_BUS映射到TLM套接字。这个总线接口包含一个名为DualFilter_MEM_MAP

本节(MWMapParam)表示LP滤波器参数的映射关系LPF_coef_1注册LPF_COEF_1

本节(MWMapInput)表示LPHP过滤器的输入coef_1映射到注册LPHPF_COEF_1

如果你不想从内存映射中为特定的地址块或寄存器生成代码,设置地址块或寄存器的MWMap为false。这一节(MWMap)展示了如何排除名为EXCLUDED_BANK从TLM代码生成

类似地,本节(MWMap)展示了如何排除名为EXCLUDED_REG_1从TLM代码生成

4.设置配置参数选项

要为tlm生成配置此模型,请在配置参数中设置以下选项。

一个。配置参数对话框中,选择TLM发电机在左侧窗格中查看。

b。TLM映射选项卡,在套接字映射中,选择由导入的IP-XACT文件定义

c。IP-XACT文件导入,浏览到IP-XACT文件的位置,如下图所示。

d。(可选)如果你想为在Simulink模型中没有相应表示的寄存器/位域生成代码,在万博1manbetxIP-XACT文件导入中,选择为未映射的IP-XACT寄存器/位域生成代码

5.构建模型

在模型窗口中,右键单击DualFilter块并选择C/ c++ Code >构建这个子系统.在弹出窗口中单击构建.此选项启动TLM组件代.或者,你可以在MATLAB命令窗口中执行以下命令:

> > slbuild (' tlmgdemo_ipxactmem / DualFilter ');

当MATLAB命令窗口中出现如下信息时,表示TLM生成完成:

###成功完成Simuli万博1manbetxnk Coder的模型构建过程:DualFilter build Summary模型重建行动的原因  ============================================================================== DualFilter代码生成的代码生成信息文件不存在。建造时间:0小时0米14.048秒

生成的TLM组件的架构视图如下所示:

6.检查生成的代码

在MATLAB编辑器中打开以下文件:

DualFilter_VP / DualFilter_ipxactmem_tlm / include / DualFilter_ipxactmem_tlm.h

本节描述了FIR滤波器的输入和输出分别到生成的TLM组件的进、出端口的映射关系。

在MATLAB编辑器中打开以下文件:

DualFilter_VP / DualFilter_ipxactmem_tlm / include / DualFilter_ipxactmem_tlm_def.h

介绍IP-XACT文件中指定的LP过滤器和LPHP过滤器系数寄存器的地址映射。

修改已生成的TLM寄存器LPF_COEF_1, TLM启动器应该在该地址发送一个TLM事务LP_FILTER_BANK_ADDR+LPF_COEF_1_ADDR

7.结论

这个例子展示了如何基于导入的IP-XACT规范从Simulink模型中生成TLM组件。万博1manbetx这个IP-XACT包括将Simulink端口映射到TLM端口,将万博1manbetxSimulink参数映射到TLM寄存器,将Simulink输入映射到TLM寄存器。这个示例还演示了如何从内存映射中排除一个地址块(或寄存器)。