主要内容

准备导入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编写模型的总线定义。适用的权限如下:

  • 输入寄存器-只写或读写

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

  • 参数寄存器-只读、只写或读写,取决于您的需求

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

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

金宝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> <精神:字段定义。

    <烈酒:字段> <烈酒:名称b> OUTPUT_1 <烈酒:bitOffset>32 <烈酒:bitWidth>32 <烈酒:访问>只读 <烈酒:参数> <烈酒:参数> <烈酒:名称>MWMapOutput <烈酒:值>OUTPUT_1   
  4. 若要从Simulink映射中选择排除寄存器,请添加金宝app<精神:参数>属性中的名称-值对<精神:注册>定义。指定名称为MWMap值为将寄存器从内存映射中排除。

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

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

     EXCLUDED_BANK 0x00030000 128 64 register   EXCLUDED_REG_2 0x00read-only  <烈性酒:名称>EXCLUDED_REG_3 <烈性酒:addressOffset>0x08 <烈性酒:大小>64 <烈性酒:访问>只读  <烈性酒:参数> <烈性酒:参数> <烈性酒:名称>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在一个 标签。

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

相关的话题

外部网站