主要内容

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

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

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

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

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

要求运行这个例子:

  • SystemC 2.3.1(包括TLM库)

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

1。打开预配置模型

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

下面的模型在仿真软件。金宝app

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

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

3所示。设置其他选项

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

4所示。构建模型

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

> > slbuild (' tlmgdemo_asmem / DualFilter ');

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

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

5。打开生成的文件

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

6。观察生成的代码

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

提供一套输入生成的TLM组件,一个TLM发起人应该发送一个写TLM事务的有效载荷包含一个数据类型DualFilter_combined_IN_BANK_T在的地址DualFilter_combined_IN_BANK_ADDR

获得一组输出从生成的TLM组件,一个TLM发起人应该读TLM事务发送一个包含数据类型的负载DualFilter_combined_OUT_BANK_T在的地址DualFilter_combined_OUT_BANK_ADDR