关键字 |
改进Booth算法,减少面积,吞吐量 |
介绍 |
布斯重码被广泛用于减少乘法器中部分积的数量。好处主要是由于加法器树大大减小了中大型操作数宽度(8或16位或更高)的乘法器的面积,而延迟大致保持在相同的范围内。不同的重新编码会导致不同的网关级实现和性能。在这项工作中,基于xor的实现由于选择器尺寸小和信号路径平衡良好,在大多数技术中给出了最小的面积和延迟数。本文介绍了一种基-4型蝴蝶的实现方法。阶段的数量减少了。这种减少来自于这样一个事实,即实现与基数-2相当的吞吐量。因此,基-4蝴蝶的实现适合于高速应用,因为硬件成本、功耗和延迟都降低了。为了减少部分积的计算步数,MBA算法的应用较多,其中Wallace树起到了增加部分积的速度的作用。 |
2相关工作 |
最近在算法优化领域的研究活动表明,将共享数据的操作组合在一起的算法组件的设计可以导致显著的性能改进。根据观察,加法通常可以在乘法之后(例如,在对称FIR滤波器中)。大多数数字信号处理方法使用非线性函数,如离散余弦变换(DCT)或离散小波变换(DWT)。因为它们基本上是通过重复应用乘法和加法来完成的,乘法和加法运算的速度决定了整个计算的执行速度和性能。由于乘法器是数字系统中要求时延最长的基本运算块,因此关键路径一般由乘法器决定。对于高速乘法,常用的是改进的基-4布斯算法(MBA)。一种符号位MB编码器,它将冗余二进制输入转换为它们的MB编码形式。为了处理进位保存表示中的操作数,需要对编码器的预处理步骤进行特殊扩展。提出了一种两级编码器,它将进位保存格式的数字转换为MB表示形式。第一阶段将输入数字的进位保存形式转换为有符号数字形式,然后在第二阶段对其进行重新编码,使其与MB数字请求的形式相匹配。 Recently, the technique of has been used for the design of high performance flexible coprocessor architectures targeting the computationally intensive DSP applications. |
AM算子的传统设计要求它的输入首先被驱动到一个加法器,然后输入和被驱动到一个乘法器,以得到输出。使用加法器的缺点是它在AM的关键路径上插入了一个显著的延迟。由于有进位信号要在加法器内传播,关键路径取决于输入的位宽。为了减少这种延迟,可以使用超前进位加法器(Carry-Look-Ahead, CLA),但这增加了面积占用和功耗。AM运算符的优化设计基于加法器和MB编码单元的融合,通过直接将和重新编码到其MB表示,将其合并为单个数据路径块(图1)。融合的加乘(FAM)组件仅在末尾包含一个加法器(并行乘法器的最终加法器)。因此,可以观察到显著的面积节省,并且重新编码过程的关键路径延迟减少并与其输入的位宽解耦 |
部分产品生成器具有硬件乘数,因为部分产品的生成是有效生产最终产品的工艺过程中的必要步骤。提高硬件乘法器速度的一种方法是使用布斯算法。用于本发明的硬件乘法器的备用布斯部分积生成涉及一种在进入本发明的部分积生成单元之前消除乘法器的位编码的方法和装置,该方法和装置可导致更少的硬件和更快的速度。在华莱士树乘法器中,在一列中所加的位被进一步重排。每一列都由该列的输入和该列的输出组成。 |
一列的输入是一列向右进位的部分积(Booth或非Booth编码)的位。进位是前一列的CSA方式。执行以CSA方式执行到下一列。超前加法器是数字逻辑中的一种加法器。进位提前加法器通过减少确定进位位所需的时间来提高速度。进位提前加法器在求和之前计算一个或多个进位,这减少了计算较大值位结果的等待时间。生成函数Gi指示如果不存在进位信号,该阶段是否导致产生一个进位信号Ci。如果两个加数都包含1,就会发生这种情况。传播函数Pi指示阶段的输入是否传递给阶段的输出。如果其中一个加数位中有1,就会发生这种情况:Pi |
A. S-Mb编码器 |
初学者执行乘法时可能采用的标准方法是“移位和加法”,或正常的“长乘法”。也就是说,对于乘数中的每一列,移动乘数和适当的列数,并将其乘以乘数中该列数字的值,以获得部分积。然后将部分产物相加,得到最终结果:。通过使用基4布思再编码技术,可以将部分产品的数量减少一半。 |
其基本思想是,我们不需要对乘数项的每一列进行移位和相加,然后乘以1或0,而是只取每两列,然后乘以±1、±2或0,以获得相同的结果。因此,要乘以7,我们可以将对准最低有效位的偏积乘以-1,并将对准第三列的偏积乘以2:这种方法的优点是将偏积的数量减半。这在电路设计中很重要,因为它关系到电路运行中的传播延迟,以及实现的复杂性和功耗。 |
b . 4:2compressor |
4:2压缩机的特点有: |
•输出表示5个输入的和,所以它实际上是一个5位加法器 |
•两个进位的权重相同(即在下一列加“1”) |
•为了避免进位传播,Cout的值只依赖于A, B, C和d,与Cin无关。 |
•Cout信号形成下一列4:2的Cin的输入。 |
4:2压缩器都是采用一系列xor的逻辑分解。这样,速度 |
虽然实际相对延迟可能略有不同,但可以独立于特定技术进行比较,这取决于所采用的特定电路系列和制造技术。许多乘数设计使用专门设计的计数器和压缩器,这取决于它们的处理技术。 |
五、和积实现 |
直接以MB形式重新编码两个数字的和,与现有的相比较,可以更有效地实现融合的加法-乘法(FAM)单元。利用FAM算子的高效设计,实现了对两个数的和(sum to MB)的MB形式直接成形的编码优化。求和修正布斯算法是结构化的,简单的,可以很容易地修改,以适用于有符号或无符号的数字,这是由奇数或偶数位组成的。使用无符号和有符号位全加器和半加器的和修正Booth算法。编码技术揭示了FAM设计的有效解决方案,以获得更大频率范围的目标算子和时序函数。它在面积和功耗方面都有了显著的提高。 |
融合的Add-Multiply (FAM)在最后只包含一个加法器。因此,可以观察到显著的面积节省,并且重新编码过程的关键路径延迟减少并与其输入的位宽解耦。提出了一种直接编码两个数和的MB表示的新方法,与基-2表示相比,基-4表示效率更高。节省面积是最重要的,因为在大多数信号处理应用中,它可以用来实现高吞吐量。每个数字由三位表示,分别为s、1和2。符号位表示数字是负数(s=1)还是正数(s= 0)。 |
A. Radix4 Booth Recoding |
为了布斯重新编码乘数项,我们考虑三个块中的位,这样每个块与前一个块重叠一个比特。分组从LSB开始,第一个块只使用乘数的两个比特,因为没有前面的块可以重叠。 |
重叠是必要的,以便我们知道在最后一个块中发生了什么,因为块的MSB就像一个符号位。因为我们使用每个块的LSB来知道前一个块的符号位是什么,并且在最低有效块之前从来没有任何负乘积,所以第一个块的LSB总是假设为0。在没有足够的比特来获得最后一个块的MSB的情况下,如下所示,我们将乘数扩展一位。S-MB编码技术是将输入A(a2j,a2j+1)的两个连续比特与输入B (b2j,b2j+1)的两个连续比特的和重新编码为一个MB的数字,其中包含三个比特,形成一个MB的数字。其中最显著的是负权重,而最不显著的两个是正权重。为了将前面提到的两对比特转换为MB形式,我们需要使用符号位算法。为此,我们开发了一组位级有符号的半加法器(HA)和全加法器(FA),考虑到它们的输入和输出是有符号的。本文中使用了两种有符号的HAs,即HA*和HA**。 |
B. s-mb1编码 |
编码方案为S-MB1,对输入数字的奇数位宽和偶数位宽都可以得到S-MB1编码。从j编码单元中提取基于S2j+1和S2j的修改后的booth数字yj mb,0
|
C. s-mb2编码 |
描述了输入数字的偶数和奇数位宽的S-MB2编码技术。考虑初始值c0,1=0和c0,2=0。与S-MB1编码方案一样,我们使用常规FA来产生进位c2j+1和和s2j。FA的输入是a2j, b2j和c2j,1。位c2j,1是常规HA的输出进位,它是(j-1)编码单元的一部分,并具有位a2j-1,b2j-1作为输入。使用HA*是为了产生带负号的和及其输出 |
D. s-mb3编码 |
第三种编码技术是S-MB3,我们使用常规FA生成进位c2j+1和和s2j,位c2j,1现在是HA*的输出进位,HA*属于(j-1)编码单元,其输入位a2j-1和b2j-1。负号位s2j+1由HA**产生,其中我们驱动c2j+1和编码单元HA*与位的输出和(负号),作为输入a2j+1,b2j+1。得到HA**的进位和和输出 |
E.性能分析 |
对三种编码方案和现有的三种编码技术的区域复杂度和临界时延进行了理论分析和比较研究。我们的分析是基于单元栅模型的。对于我们的定量比较来说,更重要的是,2输入基元门(NAND, and, NOR, OR)对于面积和延迟都算作一个等效门,而2输入XOR, XNOR门则算作两个等效门 |
六、结果与讨论 |
本文研究了三种编码方案在融合和积运算符下的性能,并使用结构化Verilog HDL对编码器输入数的偶数和奇数位宽情况进行了实现。我们还在较低频率下综合了所有设计,以探索它们在考虑面积、时间和功耗方面的不同时间限制时的行为,我们使用Modelsim模拟了2的补码表示中相同的输入数字对集的设计。熔合和产品设计的性能包括在编码方案中提出的关于输入数字的位宽。每个时钟周期的最低面积和功率值都有标记。 |
7结论 |
利用和积设计实现对两个数的和以MB形式直接编码,以最高可达频率合成各个融合和积设计。本文还综合了低频下的所有设计,以探讨它们在面积、时序和功耗方面如何表现不同的时序约束。提出的编码方案(S-MB1、S-MB2和SMB3)实现了面积缩小。与现有的编码器相比,功率已经降低。包含所提出的编码方案的融合和积设计的性能与输入数的位宽有关。编码器的偶数(即8、12、16、24和32位)和奇数(即7、11、15、23和31位)位宽的不同时钟周期的所有融合和积单元的面积和功率测量。 |
表格一览 |
|
表1 |
|
|
数字一览 |
|
|
参考文献 |
- A. Amaricai, M. Vladutiu,和O. Boncalo, â '  '浮点除法-加法融合的设计问题和实现,â '  ' IEEE Trans。CircuitsSyst。花絮¢Exp。摘要,第57卷,no。4, pp. 295Ãⅰ '  ' 299, 2010年4月。
- E. E. Swartzlander和H. H. M. Saleh, â '  ' FFT实现与融合浮点运算,â '  ' IEEE Trans。第一版。,vol. 61, no. 2,pp.284âÂÂ288, Feb. 2012.
- J. J. F.卡瓦纳,数字计算机算术。纽约:麦格劳-希尔,1984年。
- S. Nikolaidis, E. Karaolis,和E. D. Kyriakis-Bitzaros, â '  '通过MACarchitecture实现杉木滤波器中信号转换活动的估计,â '  ' IEEE Trans。第一版。-辅助Des.积分。电路系统。,第19卷,no。1, pp. 164Ãⅰ '  ' 169, 2000年1月
- O. Kwon, K. Nowka,和E. E. Swartzlander, â '  '使用快速5:3压缩单元的16位× 16位mac设计,â ' Â] J. VLSI信号处理。syst .,卷。31日。2, pp. 77Ãⅰ '  ' ' 89, 2002年6月。
- L.-H。陈,o。t。c。陈,T.-Y。王和y - c。Ma, â '  '一种具有优化压缩器和最小化切换活动的乘法-累加计算单元,â '  '在Proc. IEEE Int, Symp。电路和系统。,Kobe, Japan, 2005, vol. 6, pp. 6118âÂÂ6121.
- 中州。Seo和d - w。Kim, â '  '一种新的基于base -2改进Booth算法的并行multiplierâ '  '累加器VLSI架构,â '  ' IEEETrans。超大规模积分。(VLSI)系统。,vol. 18, no. 2, pp. 201âÂÂ208, Feb. 2010.Addison-Wesley, 2010, ch. 11.
|