主要内容

流媒体

什么是流媒体?

流媒体是一个区域优化,其中HDL Coder™将矢量数据路径转换为标量数据路径(或几个较小尺寸的矢量数据路径)。默认情况下,生成HDL Coder完全平行矢量计算的实现。例如,代码生成器将一个向量和实现为几个加法器,在单个时钟周期内并行执行。这种技术会消耗大量的硬件资源。使用流,生成的代码通过在更少的共享硬件资源上复用数据来节省芯片面积。

通过指定流的因素对于一个子系统,您可以控制在该子系统中共享这些资源的程度。当流量因子比值(N)到子系统数据路径宽度(V昏暗的)为1:1,HDL Coder实现了一个完全标量数据路径。流因子为0(默认值)为向量计算生成完全并行实现(即不共享)。

如果您知道一个子系统的最大向量维数和采样率,您就可以计算出该子系统的可能流因子和结果采样率。然而,即使请求的流因素在数学上是可能的,子系统必须满足流的其他标准。

默认情况下,当应用流优化时,HDL Coder会对共享硬件资源进行过采样,以生成具有原始延迟的区域优化实现。如果流数据路径的运行速率低于基本速率,代码生成器将以基本速率实现数据路径。您还可以限制过采样比以满足目标硬件时钟约束。要了解更多信息,请参见时钟频率流水线

您可以生成并使用验证模型来验证优化的DUT的输出是否与原始DUT产生的结果一致。要了解有关验证模型的更多信息,请参见生成模型和验证模型

指定流

从UI指定流:

  • 应用程序选项卡上,选择高密度脂蛋白编码器.的HDL代码选项卡出现了。选择子系统、模型引用或MATLAB函数方块,然后点击HDL块属性.在StreamingFactor字段中,输入要流处理的资源的数量。

    请注意

    MATLAB函数块,以指定StreamingFactor,在“HDL块属性”对话框中,必须将该块的HDL架构设置为MATLAB Datapath公司

  • 右键单击子系统、模型引用或MATLAB函数块和选择HDL代码>HDL块属性.在StreamingFactor字段中,输入要流处理的资源的数量。

在命令行中,您可以进行设置StreamingFactor使用hdlset_param函数,如下例所示。

modelname =“sfir_fixed”dut =“sfir_fixed / symmetric_fir”;open_system modelname hdlset_param (dut,“StreamingFactor”4);

如何确定流媒体因子和采样时间

在给定的子系统中,如果N流媒体因素,和V昏暗的为最大向量维数,则结果流子系统的数据路径为以下之一:

  • 的宽度V= (V昏暗的/N),如果V昏暗的>N

  • 的宽度V= (N/ V昏暗的),如果N>V昏暗的

  • 标量。

如果对原始数据路径进行采样时间操作,年代,即等于基采样时间,则流子系统的采样时间为:

  • S / n,如果V昏暗的>N

  • S / v昏暗的,如果N>V昏暗的

如果对原始数据路径进行采样时间操作,年代,大于基采样时间,年代基地,则流子系统以采样时间为运行年代基地/过采样.注意,流样本时间与原始样本时间无关,年代

确定支持流的块金宝app

HDL Coder支金宝app持许多流的块。如果您为包含不兼容块的子系统初始化流代码生成,编码器将围绕这些块工作,并为它们生成非流代码。

HDL Coder不能将流优化应用于模型引用。

流媒体子系统要求

在应用流之前,HDL Coder对要流的子系统执行一系列检查。如果满足以下条件,您可以对子系统进行流处理:

  • 流媒体因素N是向量宽度的完全除数吗V昏暗的,或者向量宽度必须是流因子的完全除数。

  • 子系统的所有输入都具有相同的向量大小。如果输入具有不同的向量大小,则可以通过平展子系统层次结构来对子系统进行流处理。当您平摊层次结构时,流优化将识别具有不同向量大小的区域,并为这些区域创建流组。这些组具有不同的流因子,这些流因子是从向量大小推断出来的。

流媒体的报告

要查看报告中的流信息,在为每个子系统或模型引用生成代码之前,请启用优化报告。要启用此报告,请在HDL代码选项卡上,选择报告选项,然后选择生成优化报告

生成优化报告时,在流媒体和共享节中,您可以看到流优化的效果。如果流处理不成功,该报告将显示导致流处理失败的诊断消息和违规块。当所请求的流因子不能实现时,HDL Coder生成非流代码。

如果流处理成功,该报告将显示StreamingFactor这是推断出来的,以及一个表,指定:

  • 集团:一个Simulink组的唯一组ID金宝app®属于流组的块。

  • 推断流因子:由HDL编码器推断的流因子流的因素你在HDL块属性中指定的。

要查看在Simulink模型和生成的模型中属于流媒体组的块组,请单击金宝app突出显示流组和诊断报告中的链接。

相关的话题