主要内容

自动生成内存映射与单个地址的选择

这个例子强调了使用自动生成的内存映射的个人地址选项时生成一个SystemC™/ TLM组件从一个仿真软件使用tlmgenerator®模型仿真软件编码器或嵌入式程序员™的目标。万博1manbetx

在仿真万博1manbetx软件中,每个组件输入或输出绑定点对点到另一个组件。SystemC / TLM,每个组件通过TLM套接字通信。这个套接字处理所有传入和传出的通信格式TLM内部事务。因为每个系统处理通信不同,我们必须定义一个通信接口SystemC / TLM组件从仿真软件模型时生成的。万博1manbetx根据这个SystemC / TLM组件的用途,这种通信接口可能需要建立一个内存映射(或地址)为每一个输入/输出组件。这种内存映射可能简单或详细。

自动生成内存映射与单个地址选项生成TLM组件与一个读寄存器每模型输出和写寄存器模型输入与单个地址。每个仿真软万博1manbetx件模型输入绑定到其相应的写寄存器,每个输出绑定到其相应的读取寄存器。当使用这个选项,创建TLM组件可以用于生成一个虚拟平台(VP)作为一个独立的组件在一个试验台也可以被附加到一个通信通道。

在这个例子中,我们使用仿真软件模型的冷杉过滤器Sys万博1manbetxtemC / TLM生成的基础。

要求运行这个例子:

  • SystemC 2.3.1(包括TLM库)

注意:示例包含一个代码生成构建过程。万博1manbetx仿真软件MATLAB不允许您构建项目安装区域。如有必要,更改工作目录,不是开始任何之前在MATLAB安装区域构建。

1。打开预配置模型

打开冷杉滤波器模型自动生成内存映射与单个地址,单击开放模式按钮。

下面的模型在仿真软件。万博1manbetx

2。将选项设置为自动生成内存映射与单个地址

配置参数对话框中,选择TLM代在左边的窗格中。在TLM映射选项卡,在套接字映射中,选择一个结合TLM插座输入数据、输出数据和控制。下结合TLM插座中,选择自动生成的内存映射单独的输入和输出的地址偏移量如下图所示。

3所示。设置其他选项

将剩下的TLM代根据你的喜好选择(或保留默认值),然后单击好吧应用这些设置并退出配置参数对话框。

4所示。构建模型

在模型窗口中,右键单击DualFilter块并选择C / c++代码>为这个子系统生成的代码在上下文菜单中启动TLM组件代。或者你可以在MATLAB命令窗口中执行以下命令:

> > slbuild (' tlmgdemo_aimem / DualFilter ');

完成一代当以下消息出现在MATLAB命令窗口:

# # #开始仿真软件编码万博1manbetx器模型构建过程:DualFilter # # #成功完成仿真软件编码器模型构建过程:DualFilter模型建立目标:总结构建模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = DualFilter代码生成。代码生成信息文件不存在。1 1模型的建立(0模型已经更新)构建持续时间:0 h 0米24.197秒

5。打开生成的文件

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

6。观察生成的代码

发现下面的代码行。这些线代表冷杉滤波器的输入和输出定义生成作为TLM组件时个人地址内存映射。

提供一套输入生成的TLM组件,一个TLM发起人应该把两个写TLM事务:

  • 有一个包含数据类型的负载input_1_REG_T在的地址DualFilter_combined_IN_BANK_ADDR+input_1_REG_ADDR

  • 有一个包含数据类型的负载input_2_REG_T在的地址DualFilter_combined_IN_BANK_ADDR+input_2_REG_ADDR

获得一组输出从生成的TLM组件,一个TLM发起人应该发送三个读TLM事务:

  • 有一个包含数据类型的负载output_1_REG_T在的地址DualFilter_combined_OUT_BANK_ADDR+output_1_REG_ADDR

  • 有一个包含数据类型的负载output_2_REG_T在的地址DualFilter_combined_OUT_BANK_ADDR+output_2_REG_ADDR