主要内容

速度与面积权衡

速度或面积优化的概述

编码器提供了选项,扩展你的控制速度和面积权衡实现的滤波器设计。为了达到所需的权衡,你可以指定一个完全平行生成的HDL过滤器代码架构,或者选择之一串行架构。这些描述的架构并行和串行架构

下表总结了滤波器类型可用于并行和串行架构的选择。

体系结构 用于过滤类型……
完全平行(默认) 过滤器类型支持HDL代码生成金宝app
全系列
  • 直接的形式

  • 直接形成对称的

  • 直接形成不对称

  • 直接形式我SOS

  • 直接形成II SOS

部分系列
  • 直接的形式

  • 直接形成对称的

  • 直接形成不对称

  • 直接形式我SOS

  • 直接形成II SOS

级联序列
  • 直接的形式

  • 直接形成对称的

  • 直接形成不对称

编码器支持全方位的并金宝app行和串行架构通过属性传递给选项generatehdl功能,如中描述指定的速度和面积权衡通过generatehdl属性

或者,您可以使用体系结构弹出菜单的生成HDL对话框选择并行和串行架构选项,描述在生成HDL对话框选择架构

请注意

编码器还支持分布式算术(DA)金宝app,另一个高效的架构实现过滤器。看到分布式算法的FIR滤波器

并行和串行架构

完全并行体系结构

这个选项是默认选择。一个完全并行体系结构使用一个专用的乘法器和加法器为每个过滤阀;水龙头并行执行。这种类型的架构是最佳的速度。然而,它需要更多的乘数和蛇比串行架构,因此消耗更多的芯片面积。

串行架构

串行架构复用硬件资源,节省芯片面积。编码器提供了一系列串行架构选项。这些架构一个时钟周期的延迟(见延迟在串行架构)。

你可以选择从这些串行架构选项:

  • 全系列:完全串行架构顺序保存区域通过重用乘法器和加法器资源。例如,自来水四步滤波器设计使用一个乘法器和加法器、乘/积累操作执行一次每一个水龙头。用/积累部分的设计运行在输入/输出采样率的4倍。这种类型的建筑保存区域一些速度损失的成本和更高的功耗。

    完全串行架构,系统时钟运行以更高的速度比滤波器的采样率。因此,对于一个给定的滤波器设计,最大速度由完全可以实现的串行架构是小于平行架构的最大速度。

  • 部分系列:部分串行架构涵盖全系列的速度与面积之间的权衡,完全并行和串行架构。

    在部分串行架构,过滤器阀门分为串行分区。水龙头在每个分区执行连续,但分区并行执行起来。分区的输出总结最终的输出。

    当您选择一个过滤器的部分串行架构,您可以定义串行分区在以下方面:

    • 直接串行分区,定义为一个向量的整数。向量的每个元素指定相应的分区的长度。

    • 指定所需的硬件折叠的因素ff,一个整数大于1。由于折叠因子,编码器计算连续分区和乘数的数量。

    • 指定所需的乘数nmults,一个整数大于1。由于乘数的数量,编码器计算连续分区和折叠的因素。

    产生高密度脂蛋白对话框允许您指定一个部分串行架构而言,这三个参数。然后您可以查看如何改变一个参数与其他两个。该编码器还提供了hdlfilterserialinfo,一个信息的功能,可以帮助你定义一个最佳串行分区一个过滤器。

  • Cascade-serial:cascade-serial架构相似部分串行架构。在部分串行架构,过滤器阀门分为几个系列的分区并行执行起来。然而,每个分区积累的输出级联到蓄电池的分区。因此分区计算的输出在第一个分区的蓄电池。这种技术称为蓄电池重用。你不需要最后一个加法器,节省了面积。

    cascade-serial架构需要一个额外的系统时钟周期来完成最终的求和输出。因此,必须增加系统时钟的频率稍微对时钟用于noncascade部分串行架构。

    生成一个cascade-serial架构,您指定一个启用了蓄电池重用的部分串行架构。如果你不指定串行分区,编码器自动选择最优分区。

延迟在串行架构

增加一个过滤器的序列化的总延迟设计由一个时钟周期。串行架构使用累加器(一个加法器和寄存器)添加顺序的产品。下载188bet金宝搏最后一个额外的寄存器用于存储每个系列的总结结果分区。操作需要一个额外的时钟周期。

在一个有效的状态保持输入数据

串行架构实现内部时钟频率高于输入速度。在这种滤波器实现,N周期(N > = 2)基本时钟的每个输入样本。您可以指定多少时钟周期试验台输入数据值在一个有效的状态。

  • 当您选择在样品间举行输入数据(默认),试验台的输入数据值在一个有效的状态N时钟周期。

  • 当你清楚在样品间举行输入数据,试验台输入数据值在一个有效的状态只有一个时钟周期。为下一个n - 1周期,试验台驱动数据未知状态(表示为“X”),直到下一个输入样本打卡上班。迫使输入数据生成未知状态验证过滤器代码只在第一个周期寄存器输入数据。

图中显示的试验台面板产生高密度脂蛋白的对话框中,在样品间举行输入数据设置为默认设置。

使用等效HoldInputDataBetweenSamples当你调用属性generatehdl函数。

通过指定的速度和面积的权衡generatehdl属性

默认情况下,generatehdl生成过滤器代码使用一个完全并行的体系结构。如果你想生成过滤器代码与一个完全并行的体系结构,您不必显式地指定该体系结构。

两个属性指定串行架构选项generatehdl功能:

表总结了如何设置这些属性来生成所需的架构。

产生这
架构……
设置SerialPartition…… 设置ReuseAccum……
完全平行 忽略该属性 忽略该属性
全系列 N,在那里N滤波器的长度吗 未指定,或“关闭”
部分系列

(p1 p2 p3…pN):一个向量N整数元素,N是串行分区的数量。向量的每个元素指定相应的分区的长度。向量元素之和必须等于滤波器的长度。当你为部分串行架构定义分区,考虑以下:

  • 滤波器的长度应尽可能均匀划分为一个向量的长度等于乘数的数量。例如,如果你的设计需要一个过滤器长度9和2乘数,推荐的分区(5 - 4)。如果你的设计需要3乘数,推荐的分区(3 3 3)而不是等不统一的部门(1 4 4)(3 4 2)

  • 如果你的设计约束,计算每个输出值(对应于每个输入值)在一个确切的数字N时钟周期,使用N作为最大的分区大小和分区的其他元素尽可能均匀。例如,如果过滤器长度是9和你的设计需要4周期来计算输出,定义的分区(4 3 2)。在4个时钟周期,这个分区执行成本3乘数。

您还可以指定一个串行架构所需的硬件方面的折叠因子,或最优数量的乘数。看到hdlfilterserialinfo的详细信息。

“关闭”
Cascade-serial与显式指定分区 (p1 p2 p3…pN):一个整数向量N元素,N是串行分区的数量。向量的每个元素指定相应的分区的长度。向量元素之和必须等于滤波器的长度。的值向量元素必须出现在降序排列,除了最后两个元素必须相等。例如,对于一个过滤器长度9日分区等(5 - 4)(4 3 2)是合法的,但分区(3 3 3)(3 2 4)提高一个错误在代码生成时间。 “上”
Cascade-serial与自动优化分区 忽略该属性 “上”

您可以使用helper函数hdlfilterserialinfo探索可能的分区的过滤器。

例如,看到的产生串行分区冷杉过滤器

串行结构的IIR SOS过滤器

指定部分或全部串行结构的IIR SOS滤波器结构(df1sosdsp.BiquadFilter),指定以下参数:

  • FoldingFactor, ff:指定所需的硬件折叠的因素ff,一个比1大的整数。考虑到折叠因子,编码器计算乘数的数量。

  • NumMultipliers, nmults:指定所需的乘数nmults,一个比1大的整数。由于乘数的数量,编码器计算折叠的因素。

获得的信息折叠因子的选择和相应的过滤器的乘数,调用hdlfilterserialinfo函数。

例如,看到的为IIR滤波器生成串行架构

在生成HDL对话框选择架构

体系结构弹出菜单,产生高密度脂蛋白对话框,让您选择并行和串行架构。以下主题描述UI选项必须设置为每个体系结构选择。

指定一个完全并行的体系结构

默认的体系结构设置是完全平行,如图所示。

指定一个完全串行架构

当您选择全系列,体系结构选择,产生高密度脂蛋白对话框显示额外的信息折叠因子,乘数和串行分区。因为这些参数取决于滤波器的长度,他们以只读格式显示,如下图所示。

生成高密度脂蛋白还显示一个对话框查看详细信息链接。当您单击这个链接时,编码器在单独的窗口中显示一个HTML报告。报告显示一个详尽的折叠因子表,乘数和串行分区设置为当前过滤器。您可以使用表格来帮助你为你的设计选择最佳设置。

指定分区的部分串行架构

当您选择部分系列体系结构选择,产生高密度脂蛋白对话框显示额外信息和相关数据输入字段串行分区。(见下图)。

生成高密度脂蛋白还显示一个对话框查看详细信息链接。当您单击这个链接时,编码器在单独的窗口中显示一个HTML报告。报告显示一个详尽的折叠因子表,乘数和串行分区设置为当前过滤器。您可以使用表格来帮助你为你的设计选择最佳设置。

指定的下拉菜单允许您决定如何定义部分串行架构。选择以下选项之一:

  • 折叠的因素:下拉菜单的右边折叠的因素包含一个详尽的清单折叠因素的过滤器。当您选择一个值,显示当前的折叠因子,乘数和串行分区设置更新。

  • 乘数:下拉菜单的右边乘数包含一个详尽的清单的价值选择的乘数的过滤器。当您选择一个值,显示当前的折叠因子,乘数和串行分区设置更新。

  • 串行分区:下拉菜单的右边串行分区包含一个详尽的清单的串行分区选项过滤器。当您选择一个值,显示当前的折叠因子,乘数和串行分区设置更新。

指定一个级联串行架构

当您选择级联序列体系结构选项,产生高密度脂蛋白对话框显示串行分区领域,如下列图所示。

指定的菜单允许您定义串行分区的数量和大小根据不同的标准,如前所述指定的速度和面积权衡通过generatehdl属性

为信息检索指定串行架构SOS过滤器

指定部分或全部串行结构的IIR SOS滤波器结构在UI中,设置以下选项:

  • 体系结构:选择完全平行(默认),全系列,或部分系列。如果您选择部分系列界面显示指定的下拉菜单。

  • 指定的:选择下列之一:

    • 折叠的因素:指定所需的硬件折叠因子,ff,一个比1大的整数。考虑到折叠因子,编码器计算乘数的数量。

    • 乘数:指定所需的乘数的数量,nmults,一个比1大的整数。由于乘数的数量,编码器计算折叠的因素。

例子:直接形式我SOS过滤器。下面的示例创建了一个直接的形式我SOS (df1sosUI)滤波器设计和打开。图下面的代码示例显示了编码器的选择配置为一个指定的部分串行架构折叠的因素18。

Fs = 48 e3%采样频率Fc = 10.8 e3%截止频率N = 5%过滤器订单f_lp = fdesign.lowpass (“n, f3db”、N、Fc Fs) filt =设计(f_lp,“黄油”,“FilterStructure”,“df1sos”,“SystemObject”,真的)fdhdltool (filt numerictype(15) 1, 16日)

例子:直接形成II SOS过滤器。下面的示例创建一个直接形成II SOS (df2sos使用过滤器Builder)滤波器设计。

过滤器是一个低通滤波器df2sos过滤器和过滤器的顺序6。将过滤算法定点

代码生成选项卡,产生高密度脂蛋白按钮激活滤波器设计高密度脂蛋白编码器™UI。下图显示了HDL编码选项配置过滤器,使用部分和一个串行架构折叠的因素的9。

指定一个分布式计算架构

体系结构还包括弹出菜单分布式算术(DA)选择。看到分布式算法的FIR滤波器),此体系结构的信息。

架构选项和其他HDL选项之间的相互作用

选择特定的体系结构菜单选项可以改变或禁用其他选项。

  • 全系列选项被选中时,以下选项设置为默认值和禁用:

    • 乘数系数

    • 添加流水线寄存器

    • 冷杉加法器的风格

  • 部分系列选项被选中时:

    • 乘数系数选项设置为默认值和禁用。

    • 如果过滤器是多重速率的,时钟输入选项设置为和残疾人。

  • 级联序列选项被选中时,以下选项设置为默认值和禁用:

    • 乘数系数

    • 添加流水线寄存器

    • 冷杉加法器的风格