主要内容

HDL滤波器架构

HDL Coder™软件提供了架构选项,扩展了您在实现滤波器设计时对速度与面积权衡的控制。为了实现生成HDL代码所需的折衷,您可以指定一个完全并行的体系结构,也可以从几个串行体系结构中选择一个。配置串行体系结构SerialPartition(高密度脂蛋白编码器)而且ReuseAccum(高密度脂蛋白编码器)参数。您还可以选择基于帧的过滤器来提高吞吐量。

使用流水线参数来提高过滤器设计的速度性能。将管道添加到过滤器的加法器逻辑AddPipelineRegisters(高密度脂蛋白编码器)对于标量输入滤波器,和AdderTreePipeline(高密度脂蛋白编码器)对于基于帧的过滤器。指定在每个乘数之前和之后的管道阶段MultiplierInputPipeline(高密度脂蛋白编码器)而且MultiplierOutputPipeline(高密度脂蛋白编码器).设置过滤器使用前后的管道级数InputPipeline(高密度脂蛋白编码器)而且OutputPipeline(高密度脂蛋白编码器).体系结构图显示了各种可配置的管道阶段的位置。

完全并行架构

这个选项是默认的体系结构。一个完全并行的体系结构为每个过滤器水龙头使用一个专用的乘数和加法器。水龙头是并行执行的。完全并行的体系结构对于速度是最佳的。然而,它比串行架构需要更多的乘法器和加法器,因此占用更多的芯片面积。图中显示了直接形式和完全并行实现的转置滤波器结构的体系结构,以及可配置的管道级的位置。

直接的形式

默认情况下,块实现线性加法器逻辑。当你启用AddPipelineRegisters,加法器逻辑实现为流水线加法器树。加法器树使用全精度数据类型。如果生成验证模型,则必须在原始模型中使用完整的精度,以避免验证不匹配。

转置

AddPipelineRegisters参数对转置过滤器实现没有影响。

串行架构

串行架构可以及时重用硬件资源,节省芯片面积。配置串行体系结构SerialPartition(高密度脂蛋白编码器)而且ReuseAccum(高密度脂蛋白编码器)参数。可用的串行体系结构选项有全系列部分系列,级联序列

全系列

全串行架构通过顺序重用乘数和加法器资源来节约面积。例如,四抽头滤波器设计使用单个乘数和加法器,对每个抽头执行一次乘数-累加操作。设计的乘法累加部分以滤波器输入输出采样率的四倍运行。这种设计节省了面积,但代价是速度损失和较高的功耗。

在全串行架构中,系统时钟的运行速率远高于滤波器的采样速率。因此,对于给定的滤波器设计,完全串行架构可达到的最大速度小于并行架构。

部分系列

部分串行架构涵盖了完全并行和完全串行架构之间的速度与面积的全面权衡。

在部分串行体系结构中,过滤器水龙头被分组到许多串行分区中。每个分区中的点击是串行执行的,但是各个分区相对于其他分区是并行执行的。分区的输出根据最终输出进行求和。

当您选择部分串行体系结构时,您指定分区的数量和每个分区的长度(水龙头的数量)。假设您指定了一个带有两个分区的四点过滤器,每个分区有两个点。系统时钟以滤波器采样速率的两倍运行。

级联序列

级联串行体系结构非常类似于部分串行体系结构。与部分串行体系结构一样,过滤器开关被分组到若干串行分区中,这些分区彼此并行执行。但是,每个分区的累计输出被级联到前一个分区的累加器。因此,所有分区的输出都在第一个分区的累加器上计算。这种技术被称为蓄电池重用.最终加法器是不需要的,这节省了面积。

级联串行结构需要一个额外的系统时钟周期来完成对输出的最终求和。因此,相对于非级联部分串行结构中使用的时钟,系统时钟的频率必须稍微增加。

要生成级联串行体系结构,请指定启用累加器重用的部分串行体系结构。如果您没有指定串行分区,HDL Coder将自动选择一个最佳分区。

串行架构中的延迟

过滤器的序列化将使设计的总延迟增加一个时钟周期。串行体系结构使用累加器(带寄存器的加法器)按顺序添加乘积。s manbetx 845一个额外的最终寄存器用于存储所有串行分区的求和结果,需要一个额外的时钟周期来进行操作。为了对这种延迟进行建模,HDL Coder将一个Delay块插入到生成的模型的过滤器块之后。

串行体系结构的全精度

当您选择串行体系结构时,代码生成器在HDL代码中使用完整的精度。因此,HDL编码器在生成的模型中强制全部精度。如果生成验证模型,则必须在原始模型中使用完整的精度,以避免验证不匹配。

框架体系结构

当您选择基于框架的体系结构并提供-sample输入帧,编码器实现了一个完全并行的过滤器架构。过滤器包括每个输入样本的并行子滤波器。

每个子过滤器包含每个系数。子滤波器结果相加,使每个输出样本是每个系数乘以一个输入样本的和。

该图显示了两个样本的帧大小(= 2),滤波器长度为6个系数。输入是一个向量,其中有两个值表示时间上的样本。输入样本,x (2 n)而且x (2 n + 1),表示nTh输入对。每个流中的每两个样本被馈送到两个并行的子滤波器。四个子筛选器结果加在一起创建两个输出示例。这样,每个输出样本是每个系数乘以一个输入样本的和。

求和被实现为流水线加法器树。集AdderTreePipeline(高密度脂蛋白编码器)指定加法器树级别之间的管道级数。为了提高时钟速度,建议将该参数设置为2.要将乘法器安装到FPGA上的DSP块中,请在使用的乘法器之前和之后添加管道级MultiplierInputPipeline(高密度脂蛋白编码器)而且MultiplierOutputPipeline(高密度脂蛋白编码器)

对于对称或反对称系数,滤波器架构重用系数乘法器,并根据需要在乘法器和求和阶段之间增加设计延迟。

相关的话题