帮助中心帮助中心
由外部输入启用执行的子系统
Simulink /端口和子系统
HDL编码器/端口和子系统
的启用子系统块是一个子系统块,它被预先配置为创建子系统的起点,当控制信号为正值时执行。
使用启用子系统块模型:
不连续
可选功能
选择功能
为一个解释启用子系统块参数,看到子系统.
全部展开
在
信号输入子系统块,指定为标量、向量或矩阵。放置一个轮廓尺寸块中添加一个外部输入端口到子系统块。端口标签与端口的名称相匹配轮廓尺寸块。
使用轮廓尺寸块从本地环境接收信号。
数据类型:一半|单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点|枚举|公共汽车|图像
一半
单
双
int8
int16
int32
int64
uint8
uint16
uint32
uint64
布尔
不动点
枚举
公共汽车
图像
启用
一个启用块中添加一个外部输入端口到子系统块,并使块启用子系统块。
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点
出
信号输出子系统块,作为标量、向量或矩阵返回。放置一个外港块中添加一个外部输出端口到子系统块。端口标签与端口的名称相匹配外港块。
使用外港块向本地环境发送信号。
当正弦波被馈送到一个启用的子系统时会发生什么。运行模拟后,范围显示三个图。
当正弦波被馈送到一个启用的子系统时会发生什么。模型中的四个子系统包含积分器,如子系统名称所示,可以是离散的,也可以是连续的。运行模拟之后,两个范围显示了离散启用子系统(顶部范围)和连续启用子系统(底部范围)的结果。
用MATLAB系统块说明大数定律。
通过使用计数电路,对同一控制信号进行使能子系统和触发子系统之间的对比。运行模拟后,范围显示三个图。
使用有条件执行的子系统和合并块将两个输入合并为单个输出。
使用Simulink®建模和模拟旋转离合器系统。尽管由于锁紧期间系统动力学的拓扑变化,对离合器系统建模很困难,但这个例子显示了Simulink启用的子系统如何轻松处理此类问题。我们说明了如何在离合器仿真的创建中使用重要的Simulink建模概念。设计师可以将这些概念应用到许多具有强不连续性和可能动态变化的约束条件的模型中。
数据类型
布尔一个|公共汽车一个|双一个|枚举一个|不动点一个|一半一个|整数一个|单一个|字符串一个
布尔一个
公共汽车一个
双一个
枚举一个
不动点一个
一半一个
整数一个
单一个
字符串一个
直接引线
没有
多维信号
是的一个
适应信号
讨论二阶导数过零检测
一个实际的数据类型或功能支持取决于块实现。
实际的代码生成支持取决于块实现。
HDL Coder™提供了影响HDL实现和合成逻辑的额外配置选项。
当在面向HDL代码生成的模型中使用启用的子系统时,最好考虑以下几点:
合成结果与Simulink相匹配®结果,Enable端口必须由FPGA上注册的逻辑(带同步时钟)驱动。
在已启用的子系统输出信号上设置单元延迟。这样做可以防止代码生成器在HDL代码中插入额外的旁路寄存器。
启用的子系统可以通过以下方式影响合成结果:
在某些情况下,系统时钟速度会下降一小部分。
生成的代码使用更多的资源,随着所启用的子系统实例的数量和每个子系统的输出端口的数量而扩展。
模块
黑箱
生成一个黑匣子接口。生成的HDL代码只包含子系统的输入/输出端口定义。因此,您可以在模型中使用一个子系统来生成到现有的、手动编写的HDL代码的接口。
子系统的黑箱接口生成类似于没有时钟信号的Model块接口生成。
没有高密度脂蛋白
从生成的代码中删除子系统。您可以在模拟中使用子系统,但是,在HDL代码中将它视为“无操作”。
根据合成工具、目标频率和乘法器字长自动插入管道。默认值是继承.另请参阅AdaptivePipelining(高密度脂蛋白编码器).
继承
检测沿一条路径引入的新延迟,并在其他路径插入匹配的延迟。默认值是继承.另请参阅BalanceDelays(高密度脂蛋白编码器).
以更快的时钟速率而不是较慢的数据速率插入管道寄存器。默认值是继承.另请参阅ClockRatePipelining(高密度脂蛋白编码器).
通过在设计中移动现有的延迟来放置在输出上的寄存器数量。分布式管道不会重新分发这些寄存器。默认值是0.有关更多细节,请参见ConstrainedOutputPipeline(高密度脂蛋白编码器).
0
流水线寄存器分发,或寄存器重计时。默认值是继承.另请参阅DistributedPipelining(高密度脂蛋白编码器).
乘数映射的综合属性。默认值是没有一个.另请参阅DSPStyle(高密度脂蛋白编码器).
没有一个
从生成的HDL代码中删除子系统层次结构。默认值是继承.另请参阅FlattenHierarchy(高密度脂蛋白编码器).
要在生成的代码中插入的输入管道阶段的数量。分布式流水和约束输出流水可以移动这些寄存器。默认值是0.有关更多细节,请参见InputPipeline(高密度脂蛋白编码器).
要在生成的代码中插入的输出管道阶段的数量。分布式流水和约束输出流水可以移动这些寄存器。默认值是0.有关更多细节,请参见OutputPipeline(高密度脂蛋白编码器).
要映射到单个共享资源的功能等效资源的数量。默认值为0。另请参阅资源共享(高密度脂蛋白编码器).
并行数据路径或向量的数目,它们经过时间复用转换为串行标量数据路径。默认值是0,它实现了完全并行的数据路径。另请参阅流媒体(高密度脂蛋白编码器).
目标规范
该块不能是DUT,因此块属性设置在目标规范选项卡将被忽略。
HDL Coder支持为满足以下条件的已启用子系统生成HDL代码:
启用的子系统不是DUT。
子系统不是这两个触发而且启用。
使能信号是一个标量。
使能信号的输入数据类型是布尔值。
如果子系统的输出是总线,则初始条件的值必须为0。
使能子系统的所有输入和输出(包括使能信号)以相同的速率运行。
的显示输出端口参数设置为从.
从
的州时启用参数设置为举行(例如,Enable块在启用时不会重置状态)。
举行
的输出时禁用参数为启用的子系统输出端口设置为举行(即,已启用的子系统在禁用时不会重置输出值)。
如果DUT包含以下块,RAMArchitecture被设置为WithClockEnable:
RAMArchitecture
WithClockEnable
双端口RAM
简单双端口RAM
单独的端口内存
已启用的子系统不包含以下块:
中投公司大量毁灭
中投插值
冷杉大量毁灭
冷杉插值
Downsample
Upsample
高密度脂蛋白FIFO
高密度脂蛋白Cosimulation块(高密度脂蛋白验证人™)
率转换
NR极地编码器而且NR极地译码器(无线HDL工具箱™)
自动增益控制器示例展示了如何在HDL代码生成中使用启用的子系统。要打开示例,输入:
hdlcoder_agc
实际的数据类型支持取决于块实现。
之前介绍过的R2006a
触发子系统|启用和触发子系统|函数调用子系统|子系统|启用
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您的地理位置,我们建议您选择:.
您也可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。
联系当地办事处