准备导入的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一六八五年至2009年。

如果你想使用的Simulink万博1manbetx®所有包含Simulink映射的总线接口必须是从属接口。万博1manbetx

每个没有内存映射的总线接口必须有一个以下元素安排的Simulink映射:万博1manbetx

  • 没有到Simulink的映射万博1manbetx

  • 映射到的Simulin万博1manbetxk输入,Simulink的输出,或输入和输出的混合

  • 映射到Simulink万博1manbetx的可调参数

虽然每个总线接口只能有一种安排,但是IP-XACT文件可以包含多个总线接口定义,每个定义都有不同的安排。

万博1manbetx无记忆地图映射

每一个<精神:busInterface>包含Simulink映射的定义被映射到TLM目标万博1manbetx套接字。内<精神:参数>标签,添加<精神:参数>定义Simulink映射的名称-值对。万博1manbetx例如:

<精神:参数> <精神:名称> MWMapInput  <精神:值> INPUT_1  

此图像显示被映射到的Simulink的输入的某些总线接口。万博1manbetx

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

或者,可以在一个单一的总线接口定义中定义的输入和输出在一起。然而,滤波器系数必须保持自己独立的总线接口定义。

总线接口定义与内存映射

一般准则

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

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

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

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

使每个寄存器的spirit大小(以比特为单位)大于或等于那个Simulink输入、输出或参数的大小。万博1manbetx

如果您希望使用Simulink映射,那么包含S万博1manbetximulink映射的所有总线接口都必须是从属接口。

万博1manbetx在内存映射内的映射

如果在总线接口中有一个内存映射引用,那么必须在内存映射中表示Simulink映射,而不是在总线接口中。万博1manbetx

Simu万博1manbetxlink的映射用于每个寄存器可以包括这些元件的安排:

  • 没有到Simulink的映射万博1manbetx(也就是说,寄存器中不需要映射信息)

  • 映射到的Simulin万博1manbetxk输入,Simulink的输出,或输入和输出的混合

  • 映射到Simulink万博1manbetx的可调参数

寄存器不能有多个输入 - 输出。然而,总线接口可以映射到多个寄存器,每个具有不同的布置。

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

  1. 每一个<精神:busInterface>包含Simulink映射的定义被映射到TLM目标万博1manbetx套接字。添加一个<精神:参数>名称 - 值对,其指示到TLM发生器存在在存储器映射中的Simulink映射。万博1manbetx

    <精神:参数> <精神:名称> MWMap  <精神:值>真 
  2. 在每一个<精神:memoryMap>部分,在每一个<精神:注册>定义,内<精神:参数>标签,添加一个<精神:参数>名称-值对与Simulink映射。万博1manbetx

    <精神:参数> <精神:名称> MWMapInput  <精神:值> INPUT1  

    该图演示了Simulink中输入这个安排。万博1manbetx

  3. 到任选的寄存器内指定字段的位置,指定一个> <精神:字段定义的<精神:注册>。使用<精神:位宽><精神:bitOffset>定义每个> <精神:字段。包括<精神:参数>名称 - 值对与在Simulink的映射万博1manbetx> <精神:字段定义。

    <精神:字段> <精神:名称> OUTPUT_1  <精神:bitOffset> 32  <精神:位宽> 32  <精神:访问>只读 <精神:参数><精神:参数><精神:名称>MWMapOutput<精神:值>出put_1   
  4. 要从Simulink映射中选择性地排除寄存器,请添加万博1manbetx<精神:参数>名称 - 值对的<精神:注册>定义。将名称指定为MWMap和值从内存映射中排除寄存器。

    <精神:寄存器> <精神:名称> EXCLUDED_REG_1  <精神:addressOffset> 0x38  <精神:大小> 64  <精神:访问>只读 <精神:参数><精神:参数> <精神:名称>MWMap <精神:值>假  

    为了排除在Simulink存储器映射的地址块中,添加一个万博1manbetx<精神:参数>名称 - 值对的<精神:addressblock>定义。将名称指定为MWMap和值从内存映射中排除地址块。

    <精神:addressBlock > <精神:名称> EXCLUDED_BANK < /精神:名称> <精神:baseAddress精神:id =“EXCLUDED_BANK_ADDR”精神:解决= "用户" > 0 x00030000 < /精神:baseAddress > <精神:范围> 128 < /精神:范围> <精神:宽度> 64 < /精神:宽度> <精神:使用>注册> < /精神:使用<精神:注册> <精神:名称> EXCLUDED_REG_2 < /精神:名称> <精神:addressOffset > 0 x00 < /精神:addressOffset > <精神:大小> 64 < /精神:大小> < >精神:访问只读< /精神:访问> < /精神:注册> <精神:注册><精神:名称> EXCLUDED_REG_3 < /精神:名称> <精神:addressOffset >(< /精神:addressOffset > <精神:大小> 64 < /精神:大小> < >精神:访问只读< /精神:访问> < /精神:注册> <精神:参数> <精神:参数> <精神:名称> MWMap < /精神:名称> <精神:价值>假< /精神:值> < /精神:参数> < /精神:参数> < /精神:addressBlock >

对于Simulink的存储器映射到一个TLM部件的一万博1manbetx个完整的例子,请参见进口IP-XACT带记忆地图

映射到信号端口

您可以生成一个未注册sc_signal端口。当执行步骤功能,它读取的电流值sc_in端口,它们都传递给阶跃函数,执行所述步骤的功能和在写入步骤函数结果侦察端口。

要添加输入和输出端口,指定您的IP-XACT文件如下:

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

  2. 将端口方向指定为> <精神:方向。设置方向,生成sc_in端口。设置方向生成一个侦察端口。

  3. 默认情况下,端口的数据类型与子系统的输入或输出相同。可以通过在。中描述端口来定义该端口的数据类型<精神:wireTypeDef>

  4. 要定义TLM端口到Simulink输入或输出的映射,请指定名称-值对万博1manbetxMWMapInput要么MWMapOutput在一个<精神:vendorExtension> <精神:参数> <精神:参数>标签。

此图像显示映射到端口的一个例子。

相关话题

外部网站