主要内容

HDL过滤器块属性

加法器流水线

此属性适用于基于帧的筛选器。它指定体系结构在加法器树的各个级别之间包含多少管道寄存器。这些管道阶段在增加延迟的同时增加筛选器吞吐量。默认值为0. 要提高此体系结构的速度,建议使用以下设置2..

管道阶段沿包含受影响筛选器的模型中的路径引入延迟。启用此管道选项时,编码器会自动在并行数据路径上添加平衡延迟。

有关基于帧的过滤器体系结构的更多信息,请参阅基于框架的体系结构.

添加管道寄存器

此属性适用于标量输入筛选器。启用此属性时,过滤器的默认线性加法器将改为流水线树加法器。此体系结构增加了过滤器吞吐量,同时增加了延迟。默认值为.

以下限制适用于添加管道寄存器:

  • 如果你使用添加管道寄存器,代码生成器强制HDL和生成的过滤器模型具有全精度。此选项在HDL代码中实现流水线加法器树结构,仅支持全精度。如果生成验证模型,则必须在原始模型中使用完全精度,以避免验证不匹配。金宝app

  • 管道阶段沿包含受影响筛选器的模型中的路径引入延迟。启用此管道选项时,编码器会自动在并行数据路径上添加平衡延迟。

    笔记

    将此属性与CIC插值(DSP系统工具箱)块,并行路径中的延迟不会自动平衡。在设计需要时手动添加延迟。

有关指示管道阶段添加位置的过滤器体系结构图,请参阅HDL滤波器结构.

频道共享

你可以使用频道共享带有多通道滤波器的实现参数,用于在通道之间共享单个滤波器实现,以实现更高效的面积设计。此参数为“开”“关”。默认值为“关”,并为每个通道实施单独的滤波器。

看见用于FPGA的多通道FIR滤波器(DSP系统工具箱).

系数乘数

这个系数乘数实现参数允许您指定使用规范有符号数字(CSD)或带系数的CSD优化来处理为某些过滤器块生成的代码中的系数乘数操作。指定系数乘数使用以下选项之一的参数:

  • ‘惩教署’:使用CSD技术将乘法器操作替换为shift和add操作。CSD技术通过使用最少的非零数字计数来表示二进制数,从而最小化常数乘法所需的加法运算的数量。此表示减少了滤波器使用的面积,同时保持或提高了时钟速度。

  • “考虑因素的csd”:使用系数化CSD技术,该技术将乘法器操作替换为系数的质数因子上的移位和加法操作。此选项允许您以降低时钟速度为代价,实现比CSD更大的滤波器面积缩减。

  • “乘数”(默认):保留乘数操作。

HDL编码器™ 支持金宝app系数乘数用于完全并行滤波器实现。完全串行和部分串行架构不支持该功能。金宝app

达卢特分区

LUT的大小随过滤器的阶数呈指数增长。对于带有N系数,LUT必须具有2^N值。对于高阶筛选器,LUT大小必须减小到合理的级别。要减小大小,可以将LUT细分为多个LUT,称为LUT分区。每个LUT分区在一组不同的抽头上运行。从分区获得的结果相加。

例如,对于160抽头滤波器,LUT大小为(2^160)*W比特,在哪里W是LUT数据的字大小。将其划分为16个LUT分区,每个分区接受10个输入(抽头),总LUT大小减少到16*(2^10)*W位。

虽然LUT分区减少了LUT大小,但需要更多的加法器对LUT数据求和。

你可以用达卢特分区启用DA代码生成并指定LUT分区的数量和大小。

将LUT分区指定为整数向量[p1 p2…pN]哪里:

  • N是分区数。

  • 每个向量元素指定分区的大小。单个分区的最大大小为12。

  • 所有矢量元素之和等于滤波器长度佛罗里达州.佛罗里达州根据过滤器类型的不同,计算结果也不同。在下一节中,您可以找到不同过滤器类型的FL计算方法。

看见HDL滤波器的分布式算法.

为单速率筛选器指定DALUTPartition

要确定一种受支持的单速率筛选器类型的LUT分区,请计算金宝app佛罗里达州如下表所示。然后,将分区指定为元素总和为的向量佛罗里达州.

过滤器类型 过滤器长度(FL)计算
直形冷杉 FL=长度(查找(Hd.分子~=0))
直接形式非对称FIR,直接形式对称FIR FL=ceil(长度(查找(Hd.分子~=0))/2)

您还可以在不进行LUT分区的情况下为过滤器设计指定DA代码的生成。为此,请指定一个元素的向量,其值等于过滤器长度。

为多速率筛选器指定DALUTPartition

对于支持金宝app的多速率过滤器(杉木抽取FIR插值),可以将LUT分区指定为

  • 为所有多相子滤波器的LUT定义分区的向量。

  • LUT分区矩阵,其中每个行向量为相应的多相子滤波器指定LUT分区。在这种情况下佛罗里达州适用于所有子过滤器。这种方法为每个子过滤器的分区提供了良好的控制。

下表显示了佛罗里达州计算每种类型的LUT分区。

LUT分区 过滤器长度(FL)计算
矢量:确定佛罗里达州如图所示过滤器长度(FL)计算右边的一列。将LUT分区指定为其元素总和为的整数向量佛罗里达州.
FL=尺寸(多相(Hm),2)
矩阵:确定副过滤器的长度佛罗里达州基于滤波器的多相分解,如过滤器长度(FL)计算列。将每个子筛选器的LUT分区指定为其元素总和为的行向量佛罗里达州.
p=多相(Hm);佛罗里达州=长度(查找(p(,:)));
哪里是指向多速率滤波器的多相矩阵的第行。这个矩阵的第行P代表th副滤波器。

达拉迪克斯

DA固有的位串行特性可能会限制吞吐量。为了提高吞吐量,可以修改基本DA算法,使其一次计算多个位和。同时计算的位和数表示为两的幂,称为DA根。例如,DA基数为2(2^1)指示一次计算一个位和。基数为4的DA(2^2)指示一次计算两位和,依此类推。

为了一次计算多个位和,将复制LUT。例如,为了一次对2位(基数4)执行DA,奇数位馈送到一个LUT,偶数位同时馈送到相同的LUT。对应于奇数位的LUT结果在被添加到对应于偶数位的LUT结果之前被左移位。然后,该结果被输入缩放累加器,该累加器将其反馈值移动2位。

一次处理多个位会在操作中引入一定程度的并行性,以牺牲面积为代价提高速度。

你可以用达拉迪克斯指定在DA中同时处理的位数。位数表示为N,必须是:

  • 二次幂的非零正整数

  • 以致mod(W,log2(N))=0哪里W是筛选器的输入字大小

的默认值N为2,指定一次处理一位,或完全串行DA,速度慢但面积小。的最大值为N2^W哪里W是筛选器的输入字大小。此最大值指定完全并行的DA,速度快但面积大。的值N在这些极值之间指定部分串行DA。

笔记

在设置达拉迪克斯对称和非对称过滤器的值,请参见对称和非对称滤波器的注意事项.

看见HDL滤波器的分布式算法.

折叠因子

折叠因子指定在具有串行体系结构的IIR SOS滤波器中计算滤波器输出所采用的时钟周期总数。它与数倍钳。必须选择一个属性或另一个属性;不能同时使用这两个属性。如果未指定其中一个属性,则折叠因子数倍钳,过滤器的HDL代码以完全并行的架构生成。

多路输入管道

可以使用此参数在FIR滤波器结构的乘法器输入处生成指定数量的管道级。默认值为0。

以下限制适用于多路输入管道:

  • 管道阶段沿包含受影响筛选器的模型中的路径引入延迟。启用此管道选项时,编码器会自动在并行数据路径上添加平衡延迟。

有关这些管道阶段在过滤器体系结构中出现的位置的示意图,请参阅HDL滤波器结构.

多路输出管道

您可以使用此参数在FIR滤波器结构的乘法器输出处生成指定数量的管道级。默认值为0。

以下限制适用于多路输出管道:

  • 管道阶段沿包含受影响筛选器的模型中的路径引入延迟。启用此管道选项时,编码器会自动在并行数据路径上添加平衡延迟。

有关这些管道阶段在过滤器体系结构中出现的位置的示意图,请参阅HDL滤波器结构.

数倍钳

数倍钳指定在具有串行体系结构的IIR SOS滤波器中用于滤波器实现的乘法器总数。它与折叠因子属性。必须选择一个属性或另一个属性;不能同时使用这两个属性。如果未指定其中一个属性,则折叠因子数倍钳,过滤器的HDL代码以完全并行的架构生成。

再利用

您可以使用此参数启用或禁用串行HDL体系结构中的累加器重用。默认为完全并行的体系结构。

要生成这个
建筑学
将ReuseAccum设置为。。。
完全平行 省略此属性
全序列 未指定,或“关”
部分连续 “关”
使用显式指定的分区进行串行级联 “开”
具有自动优化分区的串行级联 “开”

有关并行和串行过滤器体系结构的更多信息,请参阅HDL滤波器结构

串行分区

使用此参数为串行筛选器体系结构指定分区。默认为完全并行体系结构。

要生成这个
建筑学
将SerialPartition设置为。。。
完全平行 省略此属性
全序列 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].此分区以3个乘法器为代价,以4个时钟周期执行。

使用显式指定的分区进行串行级联 [p1 p2 p3…pN]:向量N整数,其中N是串行分区的数量。向量的每个元素指定相应分区的长度。向量元素的总和必须等于筛选器的长度。向量元素的值必须按降序排列,但最后两个元素可以相等。例如,对于筛选器长度为8的情况,partitions[5 3][4 2 2]是有效的,但是分区[2 2 2 2][3 2 3]在代码生成时引发错误。
具有自动优化分区的串行级联 省略此属性。

有关并行和串行过滤器体系结构的更多信息,请参阅HDL滤波器结构.

此属性还用于级联串行体系结构的最小/最大块。有关如何配置最小/最大级联,请参阅串行分区.

相关话题