主要内容

高密度脂蛋白优化性能

优化生成的HDL代码的速度或区域

使用HDL优化属性,您可以在生成的代码中指定速度与区域权衡。

属性的名称-值参数指定这些属性generatehdl.函数。的名字是属性名和价值是相应的价值。您可以以任何顺序指定多个名称值参数Name1, Value1,…,“以”,家

例如:

冷杉= dsp。FIRFilter (“结构”直接形成反对称的);generatehdl(FIR,'inputDatatype',numerictype(1,16,15),“AddPipelineRegisters”“上”);

速度优化

全部展开

使用管道寄存器优化时钟速率,指定为'离开'或者“上”.不能将此属性用于全串行或级联串行过滤器。将此属性设置为“上”,编码器在滤波器计算阶段之间添加管道寄存器。尽管寄存器增加了总的过滤器延迟,但它们显著地改善了时钟速率。

过滤器类型 添加管道寄存器的位置
冷杉转置 系数乘法器和加法器之间
直接形式FIR,反对称FIR,和对称FIR

基于树的最终加法器的级别

有关另一种基于树的求和技术,请参见属性FIRAdderStyle

信息检索 部分之间
中投公司 梳理部分之间

更多信息请参见使用流水线寄存器优化时钟速率

使用求和技术优化时钟速率,具体为“线性”'树',或'管道'.这个性质只适用于直接形式的FIR,反对称FIR,和对称FIR滤波器。不能将此属性用于全串行或级联串行过滤器。将此属性设置为'树',编码器创建一个最终加法器,对并行执行的连续产品执行成对加法,而不是顺序执行。下载188bet金宝搏将此属性设置为'管道',编码器创建一个基于树的最终加法器,在树的层次之间使用管道寄存器。

更多信息请参见优化FIR滤波器的最终求和

依赖关系

此属性仅适用于addpipelineregisters.属性设置为'离开'

额外输入寄存器,指定为“上”或者'离开'.当此属性设置为时“上”,编码器生成一个名为Input_register.并包含一个控制寄存器的进程语句。如果担心产生的延迟,或者如果过滤器被合并到具有现有输入寄存器的代码中,则将此属性设置为'离开'.更多信息请参见指定或抑制已注册的输入和输出

额外的输出寄存器,指定为“上”或者'离开'.当此属性设置为时“上”,编码器生成一个名为output_register.并包含一个控制寄存器的进程语句。如果发生的延迟是一个问题,或者如果过滤器被纳入具有现有输出寄存器的代码,则将此属性设置为'离开'.更多信息请参见指定或抑制已注册的输入和输出

乘法器输入上的管道阶段数,指定为非负整数。此属性仅适用于FIR滤波器。乘数流水线可以显著提高时钟速率。更多信息请参见乘法器输入和输出流水线的FIR滤波器

依赖关系

启用此属性,设置CoeffMultipliers“乘数”

乘法器输出上的管道阶段数量指定为非负整数。此属性仅适用于FIR滤波器。乘数流水线可以显著提高时钟速率。更多信息请参见乘法器输入和输出流水线的FIR滤波器

依赖关系

启用此属性,设置CoeffMultipliers“乘数”

区域优化

全部展开

HDL代码优化,指定为'离开'或者“上”.缺省情况下,编码器生成筛选器的文字实现,其中包含与过滤器对象匹配的数字行为。此实现不一定是最佳的HDL实现。当此属性设置为时“上”,编码器减少了硬件实现的面积,优化了数据类型和量化效果。有关底层权衡的详细信息,请参见优化高密度脂蛋白

执行系数相乘,指定为“乘数”“csd”,或“factored-csd”.不能将此属性用于多速率或串行过滤器。

  • “乘数”-编码器在生成的HDL代码中保留乘数逻辑。

  • “csd”或者“factored-csd”-编码器使用规范符号数字(CSD)逻辑实现乘法。CSD技术用移位和加法逻辑替换乘数。这种技术还通过用最少的非零位数字表示二进制数来最小化常乘法中使用的加法器的数量。这种优化减少了滤波器使用的面积,同时保持或增加时钟速度。

  • “factored-csd”-编码器实现乘法使用因式CSD逻辑。因式CSD将乘子操作替换为系数的质因数上的移位和加法操作。此选项以降低时钟速度为代价,实现了比CSD更大的面积减少。

更多信息请参见CSD系数乘数优化

串行滤波器架构的分区,如下所示:

  • -1-编码器生成一个完全并行的架构。这种体系结构相当于定义为有效滤波器长度大小的向量的串行分区。

  • 有效的滤波器长度-编码器产生一个完整的串行结构。

  • [p1 p2……pN-编码器生成一个部分串行架构与N分区。矢量中的整数指定每个分区的长度。矢量元素的总和必须等于有效的滤波器长度。要进一步减少区域,您可以通过启用级联串行架构ReuseAccum财产。有关一些示例,请参见为FIR滤波器生成串行分区

  • 串行分区的单元阵列-编码器为级联滤波器中的每个过滤器级生成分区。将每个筛选阶段的分区指定为-1,有效过滤器长度,或整数向量。每个向量的元素之和必须等于级联中相关滤波器的有效滤波器长度。例如,请参见生成级联滤波器的串行分区

    当过滤器级的串行分区设置为时-1,您可以使用DALUTPartitionDARadix属性。更多信息请参见级联过滤器的架构选项

您无法使用IIR SOS过滤器使用此属性。要为IIR SOS过滤器生成串行架构,请使用FoldingFactor.或者NumMultipliers属性来代替。

使用此表作为计算有效滤波器长度的指南。或者,您可以使用hdlfilterserialinfo函数显示过滤器的有效滤波器长度和可能的分区。

过滤器类型 有效滤波器长度计算
直接的形式 fl = length(find(filt.numerator〜= 0)))
直接形成对称的 (找到(filt FL =装天花板(长度。分子~ = 0))/ 2)
直接形式反对称

更多信息请参见通过generatehdl属性指定速度和面积的权衡

有关并行和串行体系结构的概述以及每种体系结构支持的过滤器类型的列表,请参见金宝app速度与区域权衡

累加器重用级联-串行架构,指定为'离开'或者“上”.当此属性设置为时“上”,编码器组过滤器进入几个串行分区。每个分区的累积输出级联到前一个分区的累加器。因此,分区的输出在第一个分区的累加器处计算。这种技术称为累加器重复使用,节省芯片面积。如果属性序列分区未定义,编码器生成最佳分区。更多信息请参见通过generatehdl属性指定速度和面积的权衡

有关并行和串行体系结构的概述以及每种体系结构支持的过滤器类型的列表,请参见金宝app速度与区域权衡

用于分布式算术(DA)的查找表(LUT)分区,指定为以下其中之一:

  • -1-编码器生成一个完全并行的架构。

  • 有效的滤波器长度 - 编码器在没有LUT分区的情况下生成DA实现。

  • [p1 p2……pN-编码器生成DA实现与Nlut分区。向量中的整数指定每个分区的大小。单个分区的最大大小为12.向量元素的和必须等于有效的滤波器长度。对于多速率过滤器,每个PolyPhase Subfilter使用相同的LUT分区。例如,请参见单速率滤波器的分布式算法

  • {p1 p2……pN;q1……问N;...}-编码器生成DA实现与N一个多速率滤波器的每个多相子滤波器的唯一LUT分区。矩阵的每一行指定一个子筛选器的分区。每行中的元素必须和对应的子过滤器长度,FLi.例如,请参见多速率滤波器的分布式算术

  • Dalut分区的单元格阵列 - 编码器为级联的每个过滤器阶段产生不同的LUT分区。为每个过滤阶段指定LUT分区-1,有效过滤器长度,或整数向量。每个向量的元素之和必须等于级联中相关滤波器的有效滤波器长度。例如,请参见级联滤波器的分布式算术

    当滤波器级的LUT分区设置为时-1,您可以使用序列分区财产。更多信息请参见级联过滤器的架构选项

使用此表作为计算有效滤波器长度的指南。或者,您可以使用hdlfilterdainfo功能显示有效的过滤器长度,LUT分区选项,以及可能的DARadix过滤器的值。

过滤器类型 有效滤波器长度计算
直接的形式 fl = length(find(filt.numerator〜= 0)))
直接形成对称的 (找到(filt FL =装天花板(长度。分子~ = 0))/ 2)
直接形式反对称
每个多相偶联器的均匀LUT分区多速率 FL =大小(多相(filt), 2)
对于每个多相偶联器的独特LUT分区多速率 p =多相(filt)
FLi =长度(找到(p(我,:)))
,在那里是指数滤波器多相矩阵的第一行。的矩阵的第t行p代表subfilter。

更多信息请参见FIR滤波器的分布式算法

分布式算术(DA)中同时处理的比特数,指定为22N,或{2N,2,...}地点:

  • n> 0.

  • 国防部(W, N) = 0,在那里W是输入字大小的过滤器

  • 2N<=2W

这个属性指定DA体系结构中某种程度的并行度,它可以以牺牲面积为代价来提高时钟速度。

  • 21—编码器实现了一个完全串行DA架构,一次处理1位。

  • 2N—编码器生成部分串行DA架构时1 < n < w

  • 2W- 编码器生成完全并行DA架构。

  • {2N,2,...}-编码器生成不同的DA实现DARadix级联滤波器中每个滤波器级的值。例如,请参见级联滤波器的分布式算术

    DARadix过滤器级的值设置为2,您可以使用该阶段为该阶段指定串行架构序列分区财产。更多信息请参见级联过滤器的架构选项

更多信息请参见FIR滤波器的分布式算法

IIR过滤器的折叠因子,指定为1或正整数。使用此属性定义直接形式I或直接形式II SOS过滤器的串行体系结构。为了减少串行架构实现中的区域,您可以以延迟成本共享乘法器。折叠因子指定响应区域优化时钟速率增加的因子。

您可以指定FoldingFactor.财产或NumMultipliers财产,但不是两者。如果未指定属性,则编码器会生成完全并行架构。

例如,请参见为IIR过滤器生成串行架构.获取有关FoldingFactor.选项及相应的NumMultipliers,打电话给hdlfilterserialinfo函数。

IIR过滤器的共享乘数,指定为正整数。使用此属性定义直接形式I或直接形式II SOS过滤器的串行体系结构。共享乘数以增加时钟速率为代价减少面积。

您可以指定NumMultipliers财产或FoldingFactor.财产,但不是两者。如果未指定属性,则编码器会生成完全并行架构。

例如,请参见为IIR过滤器生成串行架构.获取有关NumMultipliers选项及相应的FoldingFactor.,打电话给hdlfilterserialinfo函数。

尖端

如果你使用fdhdltool.函数要生成HDL代码,可以在“生成HDL”对话框中设置相应的属性。

财产 位置在对话框中

添加输入寄存器

全局设置选项卡>港口标签

添加输出寄存器

额外的优化性能

过滤器体系结构标签

参见: