主要内容

过滤器的子系统优化

离散冷杉滤波器(金宝app模型)(当用于标量或多通道输入数据时)和Biquad过滤器块参与子系统级的优化。要设置优化属性,右键单击子系统并打开高密度脂蛋白的属性对话框。

为了让这些块参与子系统级的优化,您必须离开块级体系结构设置为默认值,完全平行

当在基于帧的输入模式下使用离散FIR滤波器时,不能使用这些子系统优化。

分享

这些筛选器块支持在筛选器中共享资源,并跨金宝app子系统中的多个块共享资源。当你指定SharingFactor,优化工具在HDL中生成一个过滤器实现,使用时间多路复用共享资源。要生成使用最小乘数的HDL实现,请设置SharingFactor到一个大于或等于乘数总数的数字。共享算法共享具有相同输入和输出数据类型的乘数。要启用块之间的共享,您可能需要自定义过滤器的内部数据类型。或者,您可以选择一个特定的系统时钟速率作为目标SharingFactor

默认情况下,资源共享应用于乘数。要共享加法器,请选择下面的复选框资源共享配置参数>HDL代码生成>全局设置>优化对话框。

有关更多信息,请参见资源共享(高密度脂蛋白编码器)多通道滤波子系统的面积缩小的例子。

你也可以用aSharingFactor与多通道过滤器。看到滤波子系统的面积缩小

流媒体

流媒体指的是跨多个通道共享设计的原子部分。要生成多通道子系统的流HDL实现,请设置StreamingFactor到您的设计中的通道数量。

如果子系统包含一个过滤块,则为块级ChannelSharing选项和子系统级StreamingFactor选项导致类似的HDL实现。使用StreamingFactor当子系统包含多个滤波器块或附加的多通道逻辑时,可以参与优化。您必须设置块级别ChannelSharing使用StreamingFactor在子系统级别。

看到流媒体(高密度脂蛋白编码器)滤波子系统的面积缩小的例子。

流水线

您可以启用DistributedPipelining在子系统级别允许过滤器参与管道优化。优化工具对InputPipelineOutputPipeline在子系统级别指定的管道阶段。优化工具还可以在以下区块级流水线阶段进行操作:

  • InputPipelineOutputPipeline

  • MultiplierInputPipelineMultiplierOutputPipeline

  • AddPipelineRegisters

优化工具不会在过滤器体系结构中移动设计延迟。看到分布式流水线(高密度脂蛋白编码器)

如果在中启用,过滤器块也会参与时钟速率流水线配置参数.该特性在默认情况下是启用的。看到时钟频率流水线(高密度脂蛋白编码器)

多通道滤波子系统的面积缩小

为了减少多通道滤波器和周围逻辑的HDL实现中的乘数,使用StreamingFactor高密度脂蛋白编码器™优化。

该模型包括一个双通道正弦信号源,用于生成HDL代码的滤波器子系统。

该分系统包含一个离散FIR滤波器块和一个常数乘法器。包含乘数是为了显示对子系统中所有符合条件的逻辑进行的优化。

滤波器有44个对称系数。在没有启用优化的情况下,生成的HDL代码利用了对称性。非优化的HDL实现使用46个乘法器:22个用于滤波器的每个通道,1个用于Product块的每个通道。

要启用多通道FIR滤波器子系统的流优化,右键单击该子系统并选择HDL代码>高密度脂蛋白块属性

设置StreamingFactor2,因为本设计是双通道系统。

为了观察优化的效果,在配置参数>HDL代码生成中,选择生成资源利用率报告生成优化报告.然后,要生成HDL代码,右键单击多通道FIR滤波器子系统并选择HDL代码>为子系统生成HDL

应用流因素后,一个通道的逻辑实例化一次,并以原始模型的两倍速度运行。

代码生成报告窗口中,单击高层资源报告.生成的HDL代码现在使用23个乘数,而非优化代码中使用46个乘数。滤波器核中的乘法器和后续的扩展在通道之间共享。

应用SharingFactor若要多通道过滤器,请设置SharingFactor23。

优化后的HDL现在只使用2个乘数。优化工具不共享不同大小的乘数。

滤波子系统的面积缩小

在HDL实现的多滤波器设计中,为了减少乘法器的数量,使用SharingFactor高密度脂蛋白编码器™优化。

该模型包括一个正弦信号源,用于生成HDL代码的滤波器子系统。

该分系统包括一个离散FIR滤波器块和一个双四滤波器块。这个设计演示了优化工具如何在多个过滤块之间共享资源。

离散FIR滤波器块有43个对称系数。Biquad滤波器块有6个系数,其中两个是统一的。在没有启用优化的情况下,生成的HDL代码利用了对称和统一系数。子系统的非优化HDL实现使用27个乘数。

的流优化Multi-Filter子系统,右键单击该子系统并选择HDL代码>高密度脂蛋白块属性

设置SharingFactor到27,将设计减少到一个乘数。优化工具试图与匹配的数据类型共享乘数。要将其减少为单个乘数,必须将筛选器块的内部数据类型设置为彼此匹配。

为了观察优化的效果,在配置参数>HDL代码生成中,选择生成资源利用率报告生成优化报告.然后,要生成HDL代码,右键单击Multi-Filter子系统并选择HDL代码>为子系统生成HDL

SharingFactor应用后,子系统将速率向上采样27以共享所有系数的单个乘数。

代码生成报告窗口中,单击高层资源报告.生成的HDL代码现在使用一个乘法器。

相关的话题