对块进行分组以创建模型层次结构
万博1manbetxSimulink / Ports &子系统
一种子系统块包含模型或系统中的块的子集。这子系统块可以代表虚拟子系统或非虚拟子系统。
非虚拟子系统——当子系统的内容被评估为单个单元时进行控制(原子执行)。创建有条件执行的子系统,这些子系统只在触发、函数调用、操作或启用输入时发生事件时运行(参见有条件执行的子系统和模型).
虚拟子系统——子系统既不是有条件地执行,也不是原子地执行。虚拟子系统没有校验和。要确定一个子系统是否是虚拟的,请使用get_param
函数的布尔块参数IsSubsystemVirtual
.
原子子系统是子系统Block参数当作原子单位对待选择。
代码重用子系统是一个子系统块与参数当作原子单位对待选择和参数函数包装设置为可重复使用的功能
,指定子系统的函数代码生成格式。
要创建一个子系统,请执行以下操作之一:
复制一个子系统块从Ports &子系统库到您的模型。然后通过打开子系统块和复制块到它。
选择组成子系统的所有块和行,然后在多种的选项卡,单击创建子系统.万博1manbetxSimulink.®用一个替换块子系统块,连同必要的轮廓尺寸和外港反射进出子系统信号的块。
输入端口的数量绘制在子系统块图标对应于数量轮廓尺寸子系统中的块。类似地,在块上绘制的输出端口的数量对应于外港子系统中的块。
这子系统块支持万博1manbetx信号标签传播通过子系统轮廓尺寸和外港块。
请注意
引用子系统是存储在单独文件中的子系统,使用子系统参考块。要重用该子系统,请添加多个子系统子系统参考块参考同一子系统文件。引用的子系统在运行期间的常规子系统的行为相同。
在
- 信号输入到子系统放置一个轮廓尺寸块在子系统中添加一个外部输入端口子系统块。端口标签匹配的名称轮廓尺寸块。
使用轮廓尺寸街区来获取当地环境的信号。
数据类型:一半
|单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|UINT64
|布尔
|固定点
|枚举
|公共汽车
出
- 来自子系统的信号输出放置一个外港块在子系统中添加一个输出端口子系统块。端口标签子系统块的名称外港块。
使用外港块发送信号到本地环境。
数据类型:一半
|单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|UINT64
|布尔
|固定点
|枚举
|公共汽车
代码生成选项卡上的参数需要a万博1manbetx仿真软件编码器™或者嵌入式编码器®执照。
显示端口标签
- 显示端口标签的显示选项fromporticon.
(默认)|FromPortBlockName
|SignalName
选择端口标签显示方式子系统块图标。
没有一个
不要显示端口标签。
fromporticon.
如果对应端口图标显示信号名称,则在“子系统块。否则,如果块名称是默认名称,则显示端口块名称或端口号。
FromPortBlockName
显示相应端口块的名称子系统块。
SignalName
如果连接到该端口的信号被命名,则在子系统块。否则显示对应端口块的名称。
范围:ShowPortLabels |
类型:字符向量 |
价值:'fromporticon' |“FromPortBlockName” |“SignalName” |
默认:'fromporticon' |
读/写权限
—子系统内容的访问级别读写
(默认)|只读的
|noreadorwrite.
控制用户对子系统内容的访问。
读写
允许打开和修改子系统内容。
只读的
允许打开但不允许修改子系统。如果子系统驻留在块库中,则可以创建和打开到子系统的链接,可以创建和修改子系统的本地副本,但不能更改权限或修改原始库实例的内容。
noreadorwrite.
禁止打开或修改子系统。如果子系统驻留在库中,您可以在模型中创建到子系统的链接,但不能打开、修改、更改权限或创建该子系统的本地副本。
请注意
如果试图查看子系统的内容,则不会收到响应读/写权限参数设置为noreadorwrite.
.例如,当双击这样的子系统时,Simulink不会打开子系统,并且不显示任何消息。万博1manbetx
范围:权限 |
类型:字符向量 |
价值:“读写” |“只读” |'noreadorwrite' |
默认:“读写” |
错误回调函数的名称
- 如果发生错误,则要调用的功能名称''
(默认)|函数名称输入在Simulink执行子系统时发生错误时要调用的函数的名称。万博1manbetx
万博1manbetxSimulink向函数传递两个参数:子系统的句柄和指定错误类型的字符向量。如果没有指定函数,当执行子系统导致错误时,Simulink万博1manbetx将显示一个通用错误消息。
范围:ErrorFcn |
类型:字符向量 |
价值:'' |“<函数名称>” |
默认:'' |
允许分层解析
- 工作区变量名称的分辨率全部
(默认)|明确
|没有一个
选择是否解析此子系统引用的工作空间变量的名称。
全部
解析此子系统使用的所有工作空间变量的名称,包括用于指定块参数值和Simulink数据对象的名称(例如,万博1manbetx万博1manbetxsimulink.signal.
对象)。
明确
只解析用于指定块参数值、数据存储内存(不存在块)、信号和标记为“必须解析”的状态的工作空间变量的名称。
没有一个
不要解析任何工作区变量名。
范围:PermitHierarchicalResolution |
类型:字符向量 |
价值:'全部' |“ExplicitOnly” |“没有” |
默认:'全部' |
当作原子单位对待
- 作为一个单位执行子系统的选项导致Simul万博1manbetxink在确定块方法的执行顺序时将子系统视为一个单元。
在确定块方法执行顺序时将子系统中的所有块视为模型层次结构中的模型层次结构中的相同级别。这可能导致子系统中的块中的块方法执行,以便在子系统外部的块的执行执行。
在确定块方法的执行顺序时将子系统视为一个单元。例如,当它需要计算子系统的输出时,Simulink在调用与相同级别的其他块的输出方法之前调用子系统中所有块的输出方法万博1manbetx子系统块。
范围:金目atomicunit. |
类型:字符向量 |
价值:“关闭” |'在' |
默认:“关闭” |
最小化代数循环的发生
-选择消除人工代数循环尝试消除包含原子子系统的任何人工代数循环
不要试图消除任何包含原子子系统的人工代数循环。
尝试消除包含原子子系统的任何人工代数循环。
要启用该参数,请选择当作原子单位对待参数。
范围:MinAlgLoopOccurrences |
类型:字符向量 |
价值:“关闭” |'在' |
默认:“关闭” |
计划是
-调度类型采样时间
(默认)|定期分区
|非周期分区
指定如何调度子系统。
样品时间
指定这个子系统中的所有块是否必须以相同的速率运行,或者可以以不同的速率运行。
定期分区
将子系统安排为一个定期分区。指定分区名称和与分区运行速率对应的示例时间。
非周期分区
将子系统调度为一个非周期分区。请指定分区名称。
要启用该参数,请选择当作原子单位对待参数。
范围:调度 |
类型:字符向量 |
价值:“SampleTime” |“DiscretePartition” |'不计的分裂' |
默认:“SampleTime” |
分区名称
- 分区名称指定子系统的分区的名称。
要启用该参数,请选择当作原子单位对待参数,设置计划是来定期分区
或非周期分区
.
范围:PartitionName |
类型:字符向量 |
价值:'' |
默认:'' |
样品时间
- 时间间隔-1
(默认)|(Ts 0)
指定这个子系统中的所有块是否必须以相同的速率运行,或者可以以不同的速率运行。
如果子系统中的块可以以不同的速率运行,则指定继承的子系统示例时间(-1
).
如果所有块必须以相同的速率运行,则指定与此速率对应的采样时间为样品时间参数。
如果子系统中的任何块指定了不同的采样时间(除了-1
或正
),S万博1manbetximulink在更新或模拟模型时显示错误消息。例如,假设子系统中的所有块必须运行5.
次每秒。为此,将子系统的示例时间指定为0.2
.在此示例中,如果子系统中的任何块指定除此之外的采样时间0.2
那-1
,或正
,当万博1manbetx您更新或模拟模型时,Simulink显示一个错误。
-1
指定Inherited采样时间。如果子系统中的块可以以不同的速率运行,则使用此示例时间。
(Ts 0)
指定定期采样时间。
要启用该参数,请选择当作原子单位对待参数。
范围:SystemSampletime. |
类型:字符向量 |
价值:'-1' |'[ts 0]' |
默认:'-1' |
版本控制
—变量控制(条件)表达式变体
(默认)|逻辑表达式指定执行变量的变量控制(条件)表达式万博1manbetx仿真软件的功能当表达式评估时块真正的
.
有关更多信息,请参见万博1manbetx仿真软件。变体
.
变体
逻辑(布尔)表达式的默认名称。
逻辑(布尔)表达式或万博1manbetx仿真软件。变体
表示逻辑表达式的对象。
当表达式评估时,该函数被激活真正的
.
如果您想为您的模型生成代码,那么将表达式中的变量定义为万博1manbetxSimulink.Parameter.
对象。
通过添加a子系统块内不同的子系统块。
块参数:VariantControl |
类型:字符向量 |
价值:'变体' |“逻辑表达式> <” |
默认值:'变体' |
在传播可变条件时,按分组处理
-当传播可变条件时,选择将子系统作为单元在
(默认)|从
导致Simul万博1manbetxink将子系统视为传播变体条件的单位变异来源块或变体汇块。
万博1manbetxSimulink将子系统作为一个单元,从变异来源块或变体汇块。例如,当Simulink计算子系统的万博1manbetx变体条件时,它将该条件传播到子系统中的所有块。
万博1manbetx当确定子系统的变量条件时,Simulink将子系统中的所有块视为与子系统本身在模型层次结构中的同一层。
范围:TrysAsgroupedWhenAgagationVariantConditions. |
类型:字符向量 |
价值:'在' |“关闭” |
默认:'在' |
函数包装
——代码格式汽车
(默认)|内联
|那种一次性的功能
|可重复使用的功能
选择要为原子(非虚拟)子系统生成的代码格式。
汽车
万博1manbetx仿真软件编码器而Embedded Coder则根据模型中存在的子系统实例的类型和数量为您选择最佳格式。
内联
万博1manbetx仿真软件编码器并无条件地嵌入了子系统的嵌入式编码器。
那种一次性的功能
如果文件名选项被设置为汽车
那万博1manbetx仿真软件编码器和Embedded Coder包在模型文件中分离函数。如果文件名称选项被设置为使用子系统名称
那使用函数名
,或用户指定
使用不同的文件名,万博1manbetx仿真软件编码器和嵌入式编码器包单独的功能在单独的文件。
使用此设置的子系统生成可能具有参数的函数,具体取决于函数接口参数设置。您可以使用参数命名生成的函数和文件函数名和文件名(无扩展名).这些函数是不可重入的。
可重复使用的功能
万博1manbetx仿真软件编码器和Embedded Coder生成一个带有参数的函数,当模型包含子系统的多个实例时,该函数允许重用子系统代码。
此选项还生成具有参数的函数,允许在模型参考层次结构的生成代码中重复使用子系统代码,该代码参考层次结构包括跨引用的模型的子系统的多个实例。在这种情况下,子系统必须在库中。
有关更多信息,请参见:
子系统函数的控制生成(万博1manbetxSimulink编码器)
为单个子系统生成代码和可执行文件(万博1manbetxSimulink编码器)
内联子系统的代码(万博1manbetxSimulink编码器)
生成子系统代码作为独立的函数和文件(万博1manbetxSimulink编码器)
从跨模型共享的库子系统生成可重用代码(万博1manbetxSimulink编码器)
当您希望将一个子系统的多个实例表示为一个可重用功能时,您可以将它们中的每一个指定为汽车
或者可重复使用的功能
.最好使用其中一个或另一个,因为使用这两个都会创建两个可重用函数,每个名称对应一个函数。只有当不能重用时,这些选择的结果才会不同。选择汽车
不允许控制子系统代码的函数或文件名。
这可重复使用的功能
和汽车
选项都尝试确定是否存在子系统的多个实例,并且如果代码可以重用。选项'行为之间的差异是,当不可用时:
汽车
产生内联的代码,或者如果情况禁止内限,每个子系统实例的单独函数。
可重复使用的功能
产生模型中每个子系统实例的参数的单独函数。
如果您选择可重复使用的功能
当您生成的代码处于源代码控制之下时,设置文件名称选项来使用子系统名称
那使用函数名
,或用户指定
.否则,当您修改模型时,代码文件的名称就会更改,这将阻止对文件进行源代码控制。
这个参数要求万博1manbetx仿真软件编码器用于代码生成。
要启用该参数,请选择当作原子单位对待.
范围:RTWSystemCode |
类型:字符向量 |
价值:“汽车” |“内联” |“那种一次性函数” |“可重用函数” |
默认:“汽车” |
功能名称选项
-如何命名生成的函数汽车
(默认)|使用子系统名称
|用户指定
选择如何万博1manbetx仿真软件编码器命名它为子系统生成的函数。
如果您有Embedded Coder许可证,您可以通过配置参数上的选项控制函数名代码生成>标识符窗格。
汽车
使用默认命名约定分配唯一的函数名,
,在那里模型
_子系统
()模型
是模型的名称和子系统
是子系统的名称(或在重用代码时相同子系统的名称)。
如果您选择可重复使用的功能
为函数包装参数,并且在模型引用层次结构中存在可重用子系统的多个实例,为了为子系统生成可重用代码,功能名称选项必须设置为汽车
.
使用子系统名称
使用子系统名作为函数名。默认情况下,函数名使用命名约定
.模型
_子系统
请注意
当子系统处于库块和子系统参数中时函数包装被设置为可重复使用的功能
,如果你设置使用子系统名称
选项时,代码生成器使用库块的名称作为子系统函数名和文件名。
用户指定
启用函数名字段。输入任何合法的C或C ++函数名称,必须是唯一的。
有关更多信息,请参见子系统函数的控制生成(万博1manbetxSimulink编码器).
此参数需要万博1manbetx仿真软件编码器执照。
要启用该参数,请设置函数包装来那种一次性的功能
或可重复使用的功能
.
范围:RTWFcnNameOpts |
类型:字符向量 |
价值:“汽车” |“使用子系统名称” |用户指定的 |
默认:“汽车” |
函数名
- 子系统代码的函数名称''
(默认)|函数名称为子系统代码指定唯一,有效的C或C ++函数名称。
如果要为函数提供特定名称而不是允许此参数,请使用此参数万博1manbetx仿真软件编码器代码生成器分配它自己自动生成的名称或使用子系统名称。有关更多信息,请参见子系统函数的控制生成(万博1manbetxSimulink编码器).
此参数需要万博1manbetx仿真软件编码器执照。
要启用该参数,请设置功能名称选项参数到用户指定
.
范围:RTWFCNAME. |
类型:字符向量 |
价值:'' |“<函数名称>” |
默认:'' |
文件名称选项
- 如何命名生成的文件汽车
(默认)|使用子系统名称
|使用函数名
|用户指定
选择如何万博1manbetx仿真软件编码器将单独的文件命名为其生成子系统的函数。
汽车
根据子系统的配置和模型中有多少实例,汽车
产生不同的结果:
如果代码生成器确实如下不为子系统生成一个单独的文件,子系统代码在由子系统父系统生成的代码模块中生成。如果子系统的父级是模型本身,则在其中生成子系统代码
或模型
.c
.模型
. cpp
如果您选择可重复使用的功能
为函数包装参数,并且生成的代码处于源代码控制之下,可以考虑指定文件名称选项以外的价值汽车
.这可以防止由于不相关的模型修改而更改生成的文件名,这对于使用源代码控制来管理配置是有问题的。
如果您选择可重复使用的功能
为函数包装参数,并且在模型引用层次结构中存在可重用子系统的多个实例,为了为子系统生成可重用代码,文件名称选项必须设置为汽车
.
使用子系统名称
代码生成器使用子系统(或库块)名称作为文件名生成一个单独的文件。
请注意
当文件名称选项被设置为使用子系统名称
,如果模型包含,则子系统文件名被破坏模型块,或者是否为模型生成了模型引用目标。在这些情况下,子系统的文件名由以模型名为前缀的子系统名组成。
使用函数名
代码生成器使用指定的函数名功能名称选项作为文件名。
用户指定
此选项启用文件名(无扩展名)文本输入字段。代码生成器使用您输入的名称作为文件名。输入任意文件名,但不包括.c
或. cpp
(或任何其他)延伸。这个文件名不需要是唯一的。
请注意
虽然子系统源文件名不需要是唯一的,但您必须避免给出导致循环依赖关系的非唯一名称(例如,sys_a.h.
包括sys_b.h
那sys_b.h
包括sys_c.h.
,sys_c.h.
包括sys_a.h.
).
此参数需要万博1manbetx仿真软件编码器执照。
要启用该参数,请设置函数包装来那种一次性的功能
或可重复使用的功能
.
范围:RTWFileNameOpts |
类型:字符向量 |
价值:“汽车” |“使用子系统名称” |“使用函数名” |用户指定的 |
默认:“汽车” |
文件名(无扩展名)
—生成文件的名称''
(默认)|文件名您指定的文件名不必是唯一的。但是,要避免给出导致循环依赖关系的非惟一名称(例如,sys_a.h.
包括sys_b.h
那sys_b.h
包括sys_c.h.
,sys_c.h.
包括sys_a.h.
).
有关更多信息,请参见子系统函数的控制生成(万博1manbetxSimulink编码器).
此参数需要万博1manbetx仿真软件编码器执照。
要启用该参数,请设置文件名称选项来用户指定
.
范围:RTWFileName |
类型:字符向量 |
价值:'' |' <文件名> ' |
默认:'' |
函数接口
-选择与generate函数一起使用参数void_void.
(默认)|允许参数(优化)
|允许参数(匹配图形界面)
选择使用生成函数的参数。
void_void.
生成一个不带参数的函数,并将数据作为全局变量传递。例如:
空白subsystem_function(空白)
允许参数(优化)
生成一个使用参数而不是传递数据作为全局变量的函数。该规范减少了全局RAM。它可能会减少代码大小,提高执行速度,并使代码生成器能够应用额外的优化。例如:
void subsystem_function(real_T rtu_In1, real_T rtu_In2, real_T *rty_Out1)
允许参数(匹配图形界面)
生成一个函数接口,该接口使用与子系统图形块接口匹配的参数。生成的函数接口是可预测的,并且不会改变。可预测的接口对于调试和测试代码以及与外部应用程序集成非常有用。例如,如果一个模型有两个Inports和两个Outports,那么生成的函数接口是:
void subsystem_function(real_T rtu_In1, real_T rtu_In2, real_T *rty_Out1, real_T *rty_Out2)
有关更多信息,请参见:
减少不可重用子系统函数中的全局变量(嵌入式编码)
生成可预测功能界面以匹配图形块接口(嵌入式编码)
为非虚拟子系统生成模块函数代码(嵌入式编码)
此参数需要Embedded Coder和基于ert的系统目标文件。
要启用该参数,请设置函数包装来那种一次性的功能
.
范围:functionterfacespec. |
类型:字符向量 |
价值:'void_void' |'允许参数(优化)' |“允许参数(匹配图形界面)” |
默认:'void_void' |
函数单独的数据
-子系统控制代码生成生成子系统函数代码,其中原子子系统的内部数据与它的父模型分离,并由子系统拥有。
请勿生成子系统函数代码,其中原子子系统的内部数据与其父模型分开,并由子系统拥有。
生成子系统函数代码,其中原子子系统的内部数据与它的父模型分离,并由子系统拥有。子系统数据结构是独立于父模型数据结构声明的。具有独立数据的子系统具有自己的块I/O和DWork
数据结构。因此,为子系统生成的代码更容易跟踪和测试。数据分离还倾向于减少整个模型中全局数据结构的最大大小,因为它们被分割成多个数据结构。
关于如何为原子子系统生成模块函数代码的详细信息,请参见为非虚拟子系统生成模块函数代码(嵌入式编码).
有关如何将内存部分应用于原子子系统的详细信息,请参阅覆盖子系统功能和数据的默认内存放置(嵌入式编码).
该参数需要Embedded Coder许可证和基于ert的系统目标文件。
要启用该参数,请设置函数包装来那种一次性的功能
.
范围:functionwithsepectpectatata. |
类型:字符向量 |
价值:“关闭” |'在' |
默认:“关闭” |
用于初始化/终止函数的内存部分
- 选择如何应用内存部分继承模型
(默认)|默认
|感兴趣的记忆部分
选择Embedded Coder如何将内存段应用于子系统初始化和终止函数。
继承模型
将根模型内存部分应用于子系统功能代码
默认
不应用内存段到子系统系统代码,覆盖任何模型级规范
感兴趣的记忆部分
将模型内存部分之一应用到子系统
可能的值取决于您为模型配置设置的内存段包(如果有的话)。看到通过插入语控制数据和函数在内存中的位置(嵌入式编码)和模型配置参数:代码生成(万博1manbetxSimulink编码器).
如果您没有使用包配置模型,继承模型
是唯一出现的值。否则,该列表包括默认
以及模型包包含的所有内存部分。
这些选项对于覆盖给定子系统的模型内存部分设置非常有用。有关如何将内存部分应用于原子子系统的详细信息,请参阅覆盖子系统功能和数据的默认内存放置(嵌入式编码).
该参数需要Embedded Coder软件的license和基于ert的系统目标文件。
要启用该参数,请设置函数包装来那种一次性的功能
或可重复使用的功能
.
范围:RTWMemSecFuncInitTerm |
类型:字符向量 |
价值:“继承模式” |“默认” |"有趣的记忆部分" |
默认:“继承模式” |
用于执行函数的内存部分
- 选择如何应用内存部分继承模型
(默认)|默认
|感兴趣的记忆部分
选择Embedded Coder如何将内存段应用于子系统执行函数。
继承模型
将根模型内存部分应用于子系统功能代码
默认
不应用内存段到子系统系统代码,覆盖任何模型级规范
感兴趣的记忆部分
将模型内存部分之一应用到子系统
可能的值取决于您为模型配置设置的内存段包(如果有的话)。看到通过插入语控制数据和函数在内存中的位置(嵌入式编码)和模型配置参数:代码生成(万博1manbetxSimulink编码器).
如果您没有使用包配置模型,继承模型
是唯一出现的值。否则,该列表包括默认
以及模型包包含的所有内存部分。
这些选项对于覆盖给定子系统的模型内存部分设置非常有用。有关如何将内存部分应用于原子子系统的详细信息,请参阅覆盖子系统功能和数据的默认内存放置(嵌入式编码).
该参数需要Embedded Coder软件的license和基于ert的系统目标文件。
要启用该参数,请设置函数包装来那种一次性的功能
或可重复使用的功能
.
范围:RTWMEMSECFUNCEXECUTE. |
类型:字符向量 |
价值:“继承模式” |“默认” |"有趣的记忆部分" |
默认:“继承模式” |
常量内存部分
- 选择如何应用内存部分继承模型
(默认)|默认
|感兴趣的记忆部分
选择Embedded Coder如何将内存部分应用于子系统常量。
继承模型
将根模型内存部分应用于子系统数据
默认
不对子系统数据应用内存段,重写任何模型级规范
感兴趣的记忆部分
将模型内存部分之一应用到子系统
您指定的内存部分适用于生成的代码中的相应的全局数据结构。有关为原子子系统生成的全局数据结构的基本信息,请参阅标准的数据结构(万博1manbetxSimulink编码器).
可能的值取决于您为模型配置设置的内存段包(如果有的话)。看到通过插入语控制数据和函数在内存中的位置(嵌入式编码).
如果您没有使用包配置模型,继承模型
是唯一出现的值。否则,该列表包括默认
以及模型包包含的所有内存部分。
这些选项对于覆盖给定子系统的模型内存部分设置非常有用。有关如何将内存部分应用于原子子系统的详细信息,请参阅覆盖子系统功能和数据的默认内存放置(嵌入式编码).
该参数需要Embedded Coder许可证和基于ert的系统目标文件。
要启用该参数,请设置函数包装来那种一次性的功能
并选择这一点函数单独的数据参数。
范围:RTWMemSecDataConstants |
类型:字符向量 |
价值:“继承模式” |“默认” |"有趣的记忆部分" |
默认:“继承模式” |
用于内部数据的内存部分
- 选择如何应用内存部分继承模型
(默认)|默认
|感兴趣的记忆部分
选择嵌入式编码器如何将内存部分应用于子系统内部数据。
继承模型
将根模型内存部分应用于子系统数据
默认
不对子系统数据应用内存段,重写任何模型级规范
感兴趣的记忆部分
将模型内存部分之一应用到子系统
您指定的内存部分适用于生成的代码中的相应的全局数据结构。有关为原子子系统生成的全局数据结构的基本信息,请参阅标准的数据结构(万博1manbetxSimulink编码器).
可能的值取决于您为模型配置设置的内存段包(如果有的话)。看到通过插入语控制数据和函数在内存中的位置(嵌入式编码).
如果您没有使用包配置模型,继承模型
是唯一出现的值。否则,该列表包括默认
以及模型包包含的所有内存部分。
这些选项对于覆盖给定子系统的模型内存部分设置非常有用。有关如何将内存部分应用于原子子系统的详细信息,请参阅覆盖子系统功能和数据的默认内存放置(嵌入式编码).
该参数需要Embedded Coder许可证和基于ert的系统目标文件。
要启用该参数,请设置函数包装来那种一次性的功能
并选择这一点函数单独的数据参数。
范围:RTWMemSecDataInternal |
类型:字符向量 |
价值:“继承模式” |“默认” |"有趣的记忆部分" |
默认:“继承模式” |
参数存储部分
- 选择如何应用内存部分继承模型
(默认)|默认
|感兴趣的记忆部分
选择Embedded Coder如何将内存段应用于子系统参数。
继承模型
将根模型内存部分应用于子系统功能代码
默认
不将内存段应用于子系统系统代码,覆盖任何模型级规范
将模型内存部分之一应用到子系统
您指定的内存部分适用于生成的代码中的相应全局数据结构。有关为原子子系统生成的全局数据结构的基本信息,请参阅标准的数据结构(万博1manbetxSimulink编码器).
可能的值取决于您为模型配置设置的内存段包(如果有的话)。看到通过插入语控制数据和函数在内存中的位置(嵌入式编码).
如果您没有使用包配置模型,继承模型
是唯一出现的值。否则,该列表包括默认
以及模型包包含的所有内存部分。
这些选项对于覆盖给定子系统的模型内存部分设置非常有用。有关如何将内存部分应用于原子子系统的详细信息,请参阅覆盖子系统功能和数据的默认内存放置(嵌入式编码).
该参数需要Embedded Coder许可证和基于ert的系统目标文件。
要启用该参数,请设置函数包装来那种一次性的功能
并选择这一点函数单独的数据参数。
范围:RTWMemSecDataParameters |
类型:字符向量 |
价值:“继承模式” |“默认” |"有趣的记忆部分" |
默认:“继承模式” |
子系统文件名
—所引用子系统的文件名实际数据类型或能力支持取决于块实现。万博1manbetx
HDL Coder™提供了影响HDL实现和合成逻辑的额外配置选项。
体系结构 | 描述 |
---|---|
模块 (默认) |
为子系统生成代码和子系统内的块。 |
黑盒子 |
生成黑匣子接口。生成的HDL代码只包含子系统的输入/输出端口定义。因此,您可以在模型中使用一个子系统来生成现有的、手工编写的HDL代码的接口。 子系统的黑盒接口的生成类似于Model块接口的生成,但是没有时钟信号。 |
|
从生成的代码中删除子系统。但是,您可以使用模拟中的子系统,但是,将其视为HDL代码中的“No-Op”。 |
为黑盒子
架构中,您可以自定义端口名称和设置外部组件接口的属性。看到自定义黑匣子或HDL Cosimulation接口(HDL编码器).
一般 | |
---|---|
AdaptivePipelining | 自动流水线插入基于合成工具,目标频率,和倍增字长。默认为 |
BalanceDelays | 检测沿一条路径引入的新延迟,并在其他路径上插入匹配的延迟。默认为 |
ClockRatepipelining. | 以较快的时钟速率而不是较慢的数据速率插入管道寄存器。默认为 |
ConstrainedOutputPipeline | 通过在设计中移动现有延迟而放置在输出处的寄存器数。分布式管道不会重新分发这些寄存器。默认为 |
DistributedPipelining | 管道寄存器分配,或寄存器重定时。默认为 |
DSPStyle | 乘法器映射的综合属性。默认为 |
FlattenHierarchy | 从生成的HDL代码中删除子系统层次结构。默认为 |
InputPipeline | 要插入生成代码的输入管道阶段的数目。分布式管道和受约束的输出管道可以移动这些寄存器。默认为 |
OutputPipeline | 输出流水线阶段以生成的代码插入。分布式管道和受约束的输出管道可以移动这些寄存器。默认为 |
SharingFactor. | 要映射到单个共享资源的功能等效资源的数量。默认值是0。也可以看看资源共享(HDL编码器). |
StreamingFactor | 并行数据路径或向量的数量,即时间复用以转换为串行标量数据路径。默认值为0,其实现完全并行数据路径。也可以看看流媒体(HDL编码器). |
如果该块不是DUT,则在目标规范选项卡将被忽略。在HDL Workflow Advisor中,如果您使用IP核心代工作流程,这些目标规范块属性值将使用该模型保存。如果指定了这些目标规范块属性值hdlset_param
,打开HDL Workflow Advisor时,将填充相应值的字段。
目标规范 | |
---|---|
AdditionalTargetInterfaces | 附加的目标接口,指定为字符向量。 要在模型上保存此块属性,请在设置目标接口的任务IP核心代工作流程,对应于要添加更多接口的DUT端口,请选择添加更多的…….然后,您可以在“添加新的目标接口”对话框中添加更多的接口。指定接口的类型、附加接口的数量以及每个附加接口的唯一名称。 价值观: 例子: |
ProcessorFPGASynchronization | 处理器/FPGA同步模式,指定为字符向量。 要在模型上保存此块属性,请指定处理器/ FPGA同步在设置目标接口的任务IP核心代工作流程。 价值观: 例子: |
TestPointMapping | 要在模型上保存此块属性,请指定测试点端口的映射到目标平台接口设置目标接口的任务IP核心代工作流程。 价值观: 例子: |
TunableParameterMapping | 要在模型上保存此块属性,请指定可调参数端口的映射到目标平台接口设置目标接口的任务IP核心代工作流程。 价值观: 例子: |
AXI4RegisterReadback | 要在模型上保存此块属性,请指定是否要启用AXI4从写入寄存器上的返回生成RTL代码和IP核心的任务IP核心代工作流程。要了解更多信息,请参阅ax4从接口生成的模型设计(HDL编码器). 价值观: |
axi4slaveidwidth. | 要在模型上保存此块属性,请指定希望通过使用AXI4 Slave ID宽度设置在生成RTL代码和IP核心的任务IP核心代工作流程。要了解更多信息,请参阅在参考设计中定义多个AXI主接口以访问DUT AXI4从接口(HDL编码器). 价值观: |
AXI4SLAVEPORTTOPIPERINEREGISTRATIO. | 要将此块属性保存在模型上,请指定希望为其插入管道寄存器的AXI4从端口的数量AXI4从端口与管道寄存器的比率设置在生成RTL代码和IP核心的任务IP核心代工作流程。要了解更多信息,请参阅ax4从接口生成的模型设计(HDL编码器). 价值观: |
GenerateDefaultAXI4Slave | 要在模型上保存此块属性,请指定是否要在生成RTL代码和IP核心的任务IP核心代工作流程。 价值观: |
IPCoreAdditionalFiles | Verilog®或硬件描述语言(VHDL)®用于设计中的黑盒的文件。指定每个文件的完整路径,文件名用分号(;)分隔。 您可以在HDL Workflow Advisor中设置此属性附加源文件字段。 价值观: 例子: |
IPCoreName | IP核心名称,指定为字符向量。 您可以在HDL Workflow Advisor中设置此属性IP核心名称字段。如果将此属性设置为默认值,则HDL Workflow Advisor将基于DUT的名称构造IP核心名称。 价值观: 例子: |
IPCoreVersion | IP核版本号,指定为字符向量。 您可以在HDL Workflow Advisor中设置此属性IP核心版本字段。如果将此属性设置为默认值,则HDL Workflow Advisor将设置IP核心版本。 价值观: 例子: |
IPDataCaptureBufferSize | FPGA数据捕获缓冲区大小,指定为字符向量。当在FPGA上运行时,使用FPGA数据捕获来观察设计中的信号。 缓冲区大小使用128 * 2 ^ n的值,其中n是整数。默认情况下,缓冲区大小为128(n = 0)。n的最大值为13,这意味着缓冲尺寸的最大值为1048576(= 128 * 2 ^ 13)。 价值观: 例子: |
实际数据类型或能力支持取决于块实现。万博1manbetx
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。