主要内容

准备IP-XACT文件导入

要定制想要生成的组件的TLM接口,可以将自己的IP-XACT XML文件导入TLM生成器。

有关导入IP-XACT文件的详细信息,请参见选择“TLM映射选项”

导入IP-XACT文件所需信息

所有IP-XACT XML文件必须包含特定于MathWorks的信息®,定义在组件中的元素中。如果该信息不存在,TLM生成器将无法解析IP-XACT文件。

需要以下参数名称-值对<精神:组件>

  • <精神:参数>

    <精神:名称>MWVendor< /精神:名称>

    <精神:值>MathWorks> < /精神:价值

    < /精神:参数>

  • <精神:参数>

    <精神:名称>MWVersion< /精神:名称>

    <精神:值>1.0> < /精神:价值

    < /精神:参数>

  • <精神:参数>

    <精神:名称>MWModel< /精神:名称>

    <精神:值>name_of_model> < /精神:价值

    < /精神:参数>

  • <精神:参数>

    <精神:名称>MWBlock< /精神:名称>

    <精神:值>name_of_block> < /精神:价值

    < /精神:参数>

此图像显示了IP-XACT XML文件中的这些必需元素。

没有内存映射的总线接口定义

一般的指导方针

根据IEEE为您的模型编写总线定义®标准:IP-XACT 1685-2009。

如果你想使用Simulink金宝app®所有包含Simulink映射的总线接口必须是从接口。金宝app

每个没有内存映射的总线接口必须具有以下对Simulink映射的元素安排之一:金宝app

  • 没有到Simulink的映射金宝app

  • 映射到Simulink金宝app输入、Simulink输出或输入和输出的混合

  • 映射到Simulink金宝app可调参数

尽管每个总线接口只能有一种排列方式,但IP-XACT文件可以包含多个总线接口定义,每个定义具有不同的排列方式。

金宝app使用无内存映射进行映射

每一个<精神:busInterface >包含Simulink映射的定义映射到TLM目标套金宝app接字。在<精神:参数>标签,添加<精神:参数>定义Simulink映射的名称-值对。金宝app例如:

 MWMapInput input_1 

此图像显示了映射到Simulink输入的一些总线接口。金宝app

输入在一个总线接口定义中映射在一起。输出在一个单独的总线接口中。滤波器系数在另一个单独的总线接口中。

或者,您可以在单个总线接口定义中一起定义输入和输出。但是,过滤器系数必须保留在它们自己的独立总线接口定义中。

带有内存映射的总线接口定义

一般的指导方针

根据IEEE标准的IP-XACT 1685-2009为模型编写总线定义。适用的权限如下:

  • 输入寄存器——仅写或读写

  • 输出寄存器——只读或读写

  • 参数register—只读、仅写或读写,取决于您的要求

使每个寄存器的精神大小(以位为单位)大于或等于该Simulink输入、输出或参数的大小。金宝app

如果要使用Simulink映射,所有包含Sim金宝appulink映射的总线接口都必须是从接口。

金宝app内存映射中的映射

如果您在总线接口中有一个内存映射引用,那么您必须在内存映射中表达Simulink映射,而不是在总线接口中。金宝app

每个寄存金宝app器的Simulink映射可以由以下元素排列组成:

  • 不映射到Simulink(也金宝app就是说,寄存器中不需要映射信息)

  • 映射到Simulink金宝app输入、Simulink输出或输入和输出的混合

  • 映射到Simulink金宝app可调参数

寄存器不能有多个输入输出。但是,总线接口可以映射到多个寄存器,每个寄存器都有不同的安排。

要向IP-XACT文件添加输入、输出或参数,请执行以下步骤。

  1. 每一个<精神:busInterface >包含Simulink映射的定义映射到TLM目标套金宝app接字。添加一个<精神:参数>名称-值对,向TLM生成器表明内存映射中有Simulink映射。金宝app

     MWMap true 
  2. 在每一个<精神:memoryMap >节,在<精神:注册>定义在<精神:参数>标签,添加一个<精神:参数>名称-值对与Simulink映射。金宝app

     MWMapInput input1 

    这张图演示了Simulink输入的这种排列。金宝app

  3. 若要可选地指定寄存器中的字段位置,请指定> <精神:字段的定义<精神:注册>.使用<精神:进行>而且<精神:bitOffset >标记来定义> <精神:字段.包括<精神:参数>中的Simulink映射金宝app> <精神:字段定义。

     OUTPUT_1 32 32 read-only   MWMapOutput  OUTPUT_1   
  4. 若要选择性地从Simulink映射中排除寄存器,请添加一个金宝app<精神:参数>中的名称-值对<精神:注册>定义。将名称指定为MWMap值为从内存映射中排除寄存器。

     EXCLUDED_REG_1 0x38 64 read-only  MWMap false < /精神:参数> < /精神:注册>

    若要从Simulink内存映射中排除地址块,请添加一个金宝app<精神:参数>中的名称-值对<精神:addressblock >定义。将名称指定为MWMap值为从内存映射中排除地址块。

     EXCLUDED_BANK0x00030000 128  64register   0x0064 只读 EXCLUDED_REG_3 0x08 64 read-only    MWMap false   

有关Simulink内存映射到TLM组件的完整示例,金宝app请参见导入IP-XACT与内存映射

映射到信号端口

您可以生成一个未注册的sc_signal端口。方法的当前值sc_in端口,将它们全部传递给步进函数,执行步进函数,并将步进函数的结果写入sc_out港口。

要添加输入和输出端口,请在IP-XACT文件中指定以下内容:

  1. 将端口指定为<精神:端口>类型的<精神:线>

  2. 指定端口方向为> <精神:方向.将方向设置为,以生成sc_in端口。设定方向要生成sc_out端口。

  3. 缺省情况下,端口的数据类型与子系统的输入输出类型相同。中描述端口的数据类型,可以为端口定义数据类型<精神:wireTypeDef >

  4. 要定义TLM端口到Simulink输入或输出的映射,请指定名称-值对金宝appMWMapInputMWMapOutput在一个 标签。

此图像显示了映射到端口的示例。

相关的话题

外部网站