掌桥专利:专业的专利平台
掌桥专利
首页

一种快速右移移位累加器、分布式算法处理器和滤波器

文献发布时间:2024-04-18 19:58:26


一种快速右移移位累加器、分布式算法处理器和滤波器

技术领域

本发明涉及一种快速右移移位累加器、分布式算法处理器和滤波器。

背景技术

数字信号处理系统中常常会有如图1所示的右移累加求和的计算。在右移累加计算之前,可能有乘法或其它复杂的计算,因为这些计算不在如图所示的环路里面,可以通过简单的插入数级流水线以达到提高时钟频率的目的。但是移位累加部分涉及到环路,不能通过简单插入流水线的方法提高系统处理速度因为在此部分环路中直接插入寄存器会破坏计算的正确性,故移位累加器的路径时延很难降低,很容易成为系统关键路径优化中的瓶颈。

图2所示分布式算法(Distributed Arithmetic,DA)系统是一种专门针对乘累加运算而优化的运算方法。与传统算法相比,它与传统实现乘法运算的不同之处在于:执行部分积运算的先后顺序不同。简单地说,分布式算法在完成乘加功能时时通过将各输入数据每一对应位产生的部分积预先进行相加形成相应部分积,然后再对各部分积进行累加形成最终结果。分布式算法可以极大地减少硬件电路规模,且除包含移位累加器的部分很容易实现流水线处理,提高电路的执行速度。在数字系统中广泛运用。

但受限于系统中右移移位累加器的路径时延,现有的分布式算法系统的关键路径一般不低于N位(N为累加器的位宽,通常不小于32比特)全加器的时延,这制约了分布式算法系统的时钟频率。

基于布斯乘法的布斯乘法器是一种广泛应用的乘法器,由图3所示的三个部分组成,在实施过程中,为了降低面积,可将部分积产生部分的加法树替换为移位累加器,根据不同基的布斯乘法编码方式的不同,移位累加器的移位可以为1位,或2位,乃至n位。

但受限于系统中右移移位累加器的路径时延,现有的布斯乘法器中的移位累加器的关键路径一般不低于N位(N为累加器的位宽,通常不小于32比特)全加器的时延,这制约了系统的时钟频率。

为了提升数字信号处理系统的吞吐率,一种常用做法是通过插入流水线降低系统的关键路径,从而提升系统的运行频率,进而提高吞吐率。关键路径是指电路中不经过寄存器单元的所有路径中时延最长的逻辑计算路径。插入流水线,即在电路的前馈割集上插入寄存器(割集是一个图中边的集合,移去这些边之后,图会成为不相连的图。而前馈割集上的所有边都指着前向,即输入到输出的方向)是优化无环路电路关键路径的有效方法。

然而,很多数字信号处理系统中涉及到如图1所示的右移移位累加器,右移移位累加器中涉及的迭代运算引入了环路,在此部分环路中直接插入寄存器会破坏计算的正确性,故累加器的路径时延很难降低,很容易成为系统关键路径优化中的瓶颈,目前这一困难的瓶颈问题前人未能进行有效探索。

发明内容

发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种快速右移移位累加器,包括加法模块和用来打断进位链的进位寄存器,所述加法模块包含n个全加器和n个寄存器,每个全加器的和输出端都连接一个寄存器;

所述加法模块有三个输入和两个输出,第一个输入来自于高一级加法模块的n位和输出,第二个输入来自于接收的n位数据,第三个输入是进位寄存器的输出,所述两个输出包括一个n位的和输出和一个1位的进位输出,和输出是加法模块中的寄存器的输出端,同时和输出也会成为低一级的加法模块的一个输入,进位输出连接进位寄存器并输入到加法模块,连在加法模块最低一位的全加器上。

进一步的,根据系统要求选择右移任意位的设计,即根据系统要求确定n的值。简而言之,所述快速右移移位累加器是右移移位累加器的通解,对于任意移位数都有对应的设计。

进一步的,设定n=1,对于右移一位的情况,令加法模块包含1个全加器和1个寄存器,设定快速右移移位累加器输入N个比特分别表示为I

进一步的,设定n=2,对于右移两位的情况,令加法模块包含2个全加器和2个寄存器,设定快速右移移位累加器输入的N个比特分别表示为I

右移两位能让关键路径即进位链固定降到两个全加器,与加法器本身的位宽无关。

进一步的,对于右移n位的情况,令加法模块包含2个全加器和2个寄存器;为了降低关键路径,即打断进位链,在加法模块的进位输出上加寄存器,右移n位的情况需要将进位加到比原位更低n-1位的加法器上;因为每个加法模块包含n个全加器,所以,需要将每个加法模块的进位输出经过寄存器输入到加法模块最低位的全加器上;累加的结果从最低位的加法模块低位优先串行输出,每个周期输出n位;

右移两位能让关键路径即进位链固定降到n个全加器,与加法器本身的位宽无关。

进一步的,本发明还提供了一种分布式算法处理器,包括所述的一种快速右移移位累加器。

进一步的,本发明还提供了一种有限冲激响应(FIR)滤波器,包括所述的一种分布式算法处理器。

进一步的,本发明还提供了一种电子设备,包括所述的一种有限冲激响应(FIR)滤波器。

本发明提供的快速右移移位累加器可用于多基布斯乘法器的部分积的累加或分布式算法等所有需要用到所有右移n(n为任意正整数)位累加的应用场景。

有益效果:本发明首次从根本上解决中右移移位累加器频率瓶颈问题的方案。本方案通过较小的额外硬件消耗,可将通过传统优化方案无法继续优化的右移移位累加器频率做进一步提升。在解决了系统频率提升的瓶颈后,右移移位累加器引入的环路不再制约系统吞吐率,换言之,可以通过在系统的其他前向电路中插入流水线以便同步提升系统频率,从而有效地提升系统的吞吐率。本发明可以用于支持卷积、矩阵乘法等广泛运用的计算中高速乘累加运算的实现。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。

图1是右移移位累加器示例图。

图2是本申请实施例提供的分布式算法系统示意图。

图3是使用移位累加的布斯乘法器示意图。

图4是传统的右移一位的右移移位累加器示意图。

图5是右移一位的快速右移移位累加器架构示意图。

图6是关键路径更大的右移一位的快速右移移位累加器架构示意图。

图7是右移两位的快速右移移位累加器架构示意图。

图8是右移n位的快速右移移位累加器架构示意图。

图9为本申请实施例提供的有限冲激响应滤波器的结构示意图。

图10为本申请实施例提供的芯片的结构示意图。

图11为本申请实施例提供的电子设备的结构示意图。

具体实施方式

本发明提供了一种快速右移移位累加器,所述右移移位累加器及其前后输入输出部分的运算可描述为如下过程:右移移位累加器的N位的输入并行的输入到移位累加器的每组加法模块中的每个全加器的输入端。输出从最右边的加法模块低位优先输出,每个周期输出n位(n为移位累加移的位数,可为任意自然数)。与传统的右移移位累加器相比,快速右移移位累加器在进位链上面加了寄存器,缩短了关键路径。因为要实现移位累加的操作,所以需要尽量保证累加中结果的正确性,所以在右移一位的情况下,如果要在进位上加寄存器,则需要将经过寄存器的进位加到原位的加法器,两位的情况需要将进位加到比原位更低一位的加法器上,以此类推,n位的情况需要将进位加到比原位更低n-1位的加法器上。因为每个加法器包含n个全加器,所以,需要将每个加法器的进位加到这个加法器最低位上。为了更好的解释快速右移累加器的结构,这里举了右移一位和两位的例子详细说明:

(1)对于右移一位的情况,设定其N个比特分别表示为I

传统的右移移位累加器(如图4所示)(I

改进的快速右移一位累加器(如图5所示)在进位链上插入寄存器,插入寄存器后为保证结果正确性,需要对电路结构作出一定的改进。因为进位暂时存入寄存器,过了一个周期才会输入加法器,而到了下一个周期,上一个周期的结果需要整体右移1位,进位也是这个结果的一部分,所以也需要右移一位。原先的结构进位输入高一位的全加器,插入寄存器后需要将进位右移一位,即输入原位。结果从最低位低位优先串行输出。

用相同的方法,系统的关键路径也可以比一个全加器大,例如可以考虑让关键路径为两个全加器,如图6所示,但这样做会使每组第一个全加器变为四输入,只能用两个半加器来替换。减少了寄存器消耗的面积,但同时增加了将全加器替换为两个半加器需要增加的面积,且关键路径也超过了两个全加器。

(2)对于右移两位的情况,设定加法器输入的N个比特分别表示为I

与右移一位的情况同理,右移两位如果要在进位链上加寄存器,同样也需要对结构作出一定的改变。如图7所示令加法模块包含2个全加器和2个寄存器。右移两位的情况需要将进位加到比原位更低一位的加法器上。因为每个加法器包含2个全加器,所以,需要将每个加法器的进位加到这个加法器最低位上。结果从最右边的加法器低位优先串行输出,每个周期输出两位。

右移两位只能让关键路径为两个全加器,而不能达到一个全加器。在进位链上加寄存器的快速右移移位累加器不能从和输出端上并行输出,因为需要等寄存器里的进位加到结果里,但只要等的周期超过1,结果就不对了,因为新产生的进位又被移到了低位而不是加到了高一位,合并进位的过程不是移位加的过程,而是普通的加法。因此,只能从低位串行输出。如果每次输出两位,因为关键路径只有一位加法器,所以更高一位的结果还没有加上低位的进位,结果不正确。如果一次输出一位,那第二个周期输出的就不是第二位,而是第三位,因为这个结构实现的功能是右移两位相加,到了第二个周期,移到了第一位的是第三位,第二位丢失了。因此,这样做只能输出奇数位,偶数位全部丢失。所以关键路径无法小于两个全加器。关键路径大于两个全加器的情况与右移一位(加上去扩大范围)。

(3)对于右移n位的情况,可由右移一位和两位的情况递推得到:

与右移一位和两位的情况同理,右移n位如果要在进位链上加寄存器,同样也需要对结构作出一定的改变。如图8所示,令加法模块包含n个全加器和n个寄存器。右移n位的情况需要将进位加到比原位更低n-1位的加法器上。因为每个加法器包含n个全加器,所以,需要将每个加法器的进位加到这个加法器最低位上。结果从最右边的加法模块低位优先串行输出,每个周期输出n位。

右移n位只能让关键路径为n个全加器,而不能达到m个(m

实施例:

以图2所示分布式算法(DA,Distributed Arithmetic)处理器为例进行说明。

图中实施例表示了常见的分布式算法处理器。可直接将该处理器最右边的右移移位累加器换为快速右移移位累加器移一位的架构。

本发明可对分布式算法处理器中右移移位累加器带来的系统频率瓶颈提供一种轻便解决方案,使得右移移位关键路径时延(delay)可以降低至n位全加器的时延(n为移位累加每次移的位数,在分布式算法处理器中n=1),显著提升了整个加速系统的频率上限,从而提升了分布式算法的吞吐率上限。

且移位累加部分本身也获得了很大的优化。若是使用传统的右移移位累加器,移位累加部分的延时(latency)约为k*(N位的加法器的延时),其中,k为累加的组数,N为加法器位宽,但是,使用改进后的快速右移移位累加器,延时可降低到(k+N/n)*(n位的加法器的延时),其中N远大于n。且此时的关键路径时延也可从N位的加法器的延时缩短为n位的加法器的延时,能在更高的频率下工作。

本申请实施例所提供的分布式算法处理器可以集成到有限冲激响应滤波器中。请参阅图9,图9为本申请实施例提供的有限冲激响应滤波器的结构示意图。

本申请实施例所提供的有限冲激响应滤波器(FIR)可以集成为一个芯片。请参阅图10,图10为本申请实施例提供的芯片的结构示意图。

本实施例还提供了一种电子设备,包括所述的有限冲激响应(FIR)滤波器。请参阅图11,图11为本申请实施例提供的电子设备的结构示意图,该电子设备1可以是智能手机、平板电脑等,还可以是车载装置、音频播放装置、视频播放装置、笔记本电脑等。

本发明提供了一种快速右移移位累加器、分布式算法处理器和滤波器,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的通解中的一种特殊情况的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

相关技术
  • 一种基于分布式算法的高吞吐量LMS自适应滤波器
  • 一种基于分布式算法的数字滤波器
技术分类

06120116490645