要自定义要生成组件的TLM接口,您可以导入自己的IP-XACT的XML文件到TLM发生器。
有关导入IP-XACT文件的详细信息,请参阅选择TLM映射选项。
所有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文件可以包含多个总线接口定义,每个定义都有不同的安排。
每一个<精神:busInterface>
包含Simulink映射的定义被映射到TLM目标万博1manbetx套接字。内<精神:参数>
标签,添加<精神:参数>
定义Simulink映射的名称-值对。万博1manbetx例如:
<精神:参数> <精神:名称> MWMapInput 精神:名称> <精神:值> INPUT_1 精神:值> 精神:参数>
此图像显示被映射到的Simulink的输入的某些总线接口。万博1manbetx
输入被映射在一个总线接口定义中。输出在单独的总线接口中。滤波器系数在另一个单独的总线接口中。
或者,可以在一个单一的总线接口定义中定义的输入和输出在一起。然而,滤波器系数必须保持自己独立的总线接口定义。
根据IEEE标准IP-XACT 1685至2009年写总线定义为你的模型。下列权限适用:
输入寄存器-只写或读写
输出寄存器-只读或读写
参数寄存器——只读、只写或读写,这取决于您的需求
使每个寄存器的spirit大小(以比特为单位)大于或等于那个Simulink输入、输出或参数的大小。万博1manbetx
如果您希望使用Simulink映射,那么包含S万博1manbetximulink映射的所有总线接口都必须是从属接口。
如果在总线接口中有一个内存映射引用,那么必须在内存映射中表示Simulink映射,而不是在总线接口中。万博1manbetx
Simu万博1manbetxlink的映射用于每个寄存器可以包括这些元件的安排:
没有到Simulink的映射万博1manbetx(也就是说,寄存器中不需要映射信息)
映射到的Simulin万博1manbetxk输入,Simulink的输出,或输入和输出的混合
映射到Simulink万博1manbetx的可调参数
寄存器不能有多个输入 - 输出。然而,总线接口可以映射到多个寄存器,每个具有不同的布置。
要向IP-XACT文件添加输入、输出或参数,请遵循以下步骤。
每一个<精神:busInterface>
包含Simulink映射的定义被映射到TLM目标万博1manbetx套接字。添加一个<精神:参数>
名称 - 值对,其指示到TLM发生器存在在存储器映射中的Simulink映射。万博1manbetx
<精神:参数> <精神:名称> MWMap 精神:名称> <精神:值>真精神:值> 精神:参数>
在每一个<精神:memoryMap>
部分,在每一个<精神:注册>
定义,内<精神:参数>
标签,添加一个<精神:参数>
名称-值对与Simulink映射。万博1manbetx
<精神:参数> <精神:名称> MWMapInput 精神:名称> <精神:值> INPUT1 精神:值> 精神:参数>
该图演示了Simulink中输入这个安排。万博1manbetx
到任选的寄存器内指定字段的位置,指定一个> <精神:字段
定义的<精神:注册>
。使用<精神:位宽>
和<精神:bitOffset>
定义每个> <精神:字段
。包括<精神:参数>
名称 - 值对与在Simulink的映射万博1manbetx> <精神:字段
定义。
<精神:字段> <精神:名称> OUTPUT_1 精神:名称> <精神:bitOffset> 32 精神:bitOffset> <精神:位宽> 32 精神:位宽> <精神:访问>只读精神:访问> <精神:参数><精神:参数><精神:名称>MWMapOutput精神:名称><精神:值>出put_1
要从Simulink映射中选择性地排除寄存器,请添加万博1manbetx<精神:参数>
名称 - 值对的<精神:注册>
定义。将名称指定为MWMap
和值假
从内存映射中排除寄存器。
<精神:寄存器> <精神:名称> EXCLUDED_REG_1 精神:名称> <精神:addressOffset> 0x38 精神:addressOffset> <精神:大小> 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文件如下:
将端口指定为<精神:端口>
类型的<精神:线>
。
将端口方向指定为> <精神:方向
。设置方向在
,生成sc_in
端口。设置方向出
生成一个侦察
端口。
默认情况下,端口的数据类型与子系统的输入或输出相同。可以通过在。中描述端口来定义该端口的数据类型<精神:wireTypeDef>
。
要定义TLM端口到Simulink输入或输出的映射,请指定名称-值对万博1manbetxMWMapInput
要么MWMapOutput
在一个<精神:vendorExtension> <精神:参数> <精神:参数>
标签。
此图像显示映射到端口的一个例子。