位置:51电子网 » 技术资料 » D S P

基于16位定点DSP的并行乘法器的设计

发布时间:2008/5/27 0:00:00 访问次数:1633

王叶辉 林贻侠 严伟

  摘要:设计了一种用于16位定点dsp中的片内乘法器。该乘法器采用了改进型booth算法,
使用csa构成的乘法器阵列,并采用跳跃进位加法器实现进位传递,该设计具有可扩展性,并提出了更高位扩展时应改进型方向。设计时综合考虑了高性能定点dsp对乘法器在面积和速度上的要求,具有极其规整的布局布线。
  关键词: 改进型booth编码;部分积产生器;阵列乘法器

1 引言
  大多数先进的数字系统为实现高速算术运算都包含有硬件乘法器,例如许多高速单片机微控制器中的算逻运算都使用了硬件并行乘法器。目前广泛应用的dsp芯片内核中,通常都有可单周期完成的片内硬件乘法器,以实现某些复杂算法如滤波以及实时处理等。通常乘法器处于关键延时路径上,因此乘法器的速度对整个芯片以及系统性能有重要影响。按结构可分为串行乘法器和并行乘法器,串行乘法器面积和功耗最小,但是运算速度也最慢,因此高速数字应用系统通常会采用并行乘法器。并行乘法器有三个主要部分[1]:部分积产生器、加法阵列块和进位加法器。部分积产生器的功能是根据输入的操作数产生部分积;加法阵列块完成对部分积的归约,是将所有的部分积相加产生2n位的结果;进位加法器是为了生成最终结果。

  本文将讨论一种用于16位定点dsp芯片的并行乘法器的设计。总的来说,对快速乘法器性能的改进,设计时不外从三个方面来考虑:减少部分积的数目,比如采用改进的booth算法;对部分积归约,比如采用wallace树形结构;减少最后一级进位传递时间。文中从芯片制造的角度综合衡量芯片成本、可靠性及性能后,对于部分积产生器采用改进型boothii算法设计;加法阵列块直接用csa阵列乘法将部分积相加生成进位项和伪和项;采用跳跃进位加法器将进位与伪和相加,产生最终结果。版图实现采用静态cmos 工艺,加法单元主要采用cmos传输门实现。

2 计算公式
  booth算法适用于补码表示的乘法运算。16×16位整数as 、bs乘积ps的计算公式[2]如下
(基2的表示)
, (b-1=0), (基4的表示) (1)
式中,a表示被乘数;b表示乘数;p表示乘积;下标s代表补码整数;下标o代表无符号数。
  部分积 , n = 0,1,…7。
对于16位无符号数ao、bo的乘积,po的计算公式为
(基2的表示)
, (b16=b17=0) (基4的表示) (2)
部分积 , n = 0,1,…,8 ,其中b16= b17= 0,b-1= 0。

  显然,采用基4算法比采用基2算法的部分积项简化了近一半;对于16位有符号整数的乘法,有8个部分积项,而16位无符号数的乘法,则有9个部分积项。将式(1)和式(2)统一起来,可以认为16位乘法有9个部分积,最后一个部分积pp8的取值为
pp8 = 0 整数乘法
a×b15×216 无符号数乘法
  对于基更高的booth编码,例如基8也是可以实现的,不过需要额外的加法器进行被乘数的3倍和5倍的计算,控制电路更复杂,简化部分积项的优点反而不明显。本设计中不采用。

3 逻辑设计及其设计实现
  图1描述了该16位并行乘法器的整体结构有三个主要部分:部分积产生器、加法阵列块和进位加法器。下面详细讨论各部分的逻辑设计及实现。


图1 并行乘法器的体系结构

3.1 改进型基4 booth编码器
  booth编码逻辑设计的实质,就是将部分积表达式中的系数值,编码后用逻辑表达式来描述,然后进行逻辑实现。根据基4表示的乘法计算公式可以看出,基4 的booth编码的最大优点就是只有5种系数的部分积项,即0,1,2,-1,-2,也就意味着编码逻辑只需要3位,即1个符号位和2个数值编码位。本设计中采用改进型booth编码如表1所示。根据编码表可以得出编码信号的逻辑表达式如下
neg2n=b2n+1;b12n =b2n ^ b2n-1;

为产生所有部分积的系数,设计中采用9个booth编码器,即booth0,booth1,…,booth8。编码信号产生逻辑如图2所示,以b2n+1 、 b2n 、b2n-1为输入,3个编码信号为输出。对pp0来说,因为b-1=0,所以输入信号变为2个,因此booth0编码结构可以简化。boothi(i= 1,2,…,7)编码原理相同,考虑负载能力的不同,实现时用了不同结构。因为部分积pp8的作用是为了考虑有符号数和无符号数的乘法,booth8的编码实现逻辑采用b116=b15 & sxm,b216=0,neg=0;sxm=0时完成符号数乘法运算,sxm=1时为无符号数乘法运算。booth编码的输出全为互补的信号,这是产生部分积逻辑的需要。


(a) booth0 的逻辑结构



(b) booth1和booth i (i=2,…,7)的两种逻辑结构
图2 booth编码逻辑实现

3.2 部分积产生器
  首先考虑各编码数字对应的产
王叶辉 林贻侠 严伟

  摘要:设计了一种用于16位定点dsp中的片内乘法器。该乘法器采用了改进型booth算法,
使用csa构成的乘法器阵列,并采用跳跃进位加法器实现进位传递,该设计具有可扩展性,并提出了更高位扩展时应改进型方向。设计时综合考虑了高性能定点dsp对乘法器在面积和速度上的要求,具有极其规整的布局布线。
  关键词: 改进型booth编码;部分积产生器;阵列乘法器

1 引言
  大多数先进的数字系统为实现高速算术运算都包含有硬件乘法器,例如许多高速单片机微控制器中的算逻运算都使用了硬件并行乘法器。目前广泛应用的dsp芯片内核中,通常都有可单周期完成的片内硬件乘法器,以实现某些复杂算法如滤波以及实时处理等。通常乘法器处于关键延时路径上,因此乘法器的速度对整个芯片以及系统性能有重要影响。按结构可分为串行乘法器和并行乘法器,串行乘法器面积和功耗最小,但是运算速度也最慢,因此高速数字应用系统通常会采用并行乘法器。并行乘法器有三个主要部分[1]:部分积产生器、加法阵列块和进位加法器。部分积产生器的功能是根据输入的操作数产生部分积;加法阵列块完成对部分积的归约,是将所有的部分积相加产生2n位的结果;进位加法器是为了生成最终结果。

  本文将讨论一种用于16位定点dsp芯片的并行乘法器的设计。总的来说,对快速乘法器性能的改进,设计时不外从三个方面来考虑:减少部分积的数目,比如采用改进的booth算法;对部分积归约,比如采用wallace树形结构;减少最后一级进位传递时间。文中从芯片制造的角度综合衡量芯片成本、可靠性及性能后,对于部分积产生器采用改进型boothii算法设计;加法阵列块直接用csa阵列乘法将部分积相加生成进位项和伪和项;采用跳跃进位加法器将进位与伪和相加,产生最终结果。版图实现采用静态cmos 工艺,加法单元主要采用cmos传输门实现。

2 计算公式
  booth算法适用于补码表示的乘法运算。16×16位整数as 、bs乘积ps的计算公式[2]如下
(基2的表示)
, (b-1=0), (基4的表示) (1)
式中,a表示被乘数;b表示乘数;p表示乘积;下标s代表补码整数;下标o代表无符号数。
  部分积 , n = 0,1,…7。
对于16位无符号数ao、bo的乘积,po的计算公式为
(基2的表示)
, (b16=b17=0) (基4的表示) (2)
部分积 , n = 0,1,…,8 ,其中b16= b17= 0,b-1= 0。

  显然,采用基4算法比采用基2算法的部分积项简化了近一半;对于16位有符号整数的乘法,有8个部分积项,而16位无符号数的乘法,则有9个部分积项。将式(1)和式(2)统一起来,可以认为16位乘法有9个部分积,最后一个部分积pp8的取值为
pp8 = 0 整数乘法
a×b15×216 无符号数乘法
  对于基更高的booth编码,例如基8也是可以实现的,不过需要额外的加法器进行被乘数的3倍和5倍的计算,控制电路更复杂,简化部分积项的优点反而不明显。本设计中不采用。

3 逻辑设计及其设计实现
  图1描述了该16位并行乘法器的整体结构有三个主要部分:部分积产生器、加法阵列块和进位加法器。下面详细讨论各部分的逻辑设计及实现。


图1 并行乘法器的体系结构

3.1 改进型基4 booth编码器
  booth编码逻辑设计的实质,就是将部分积表达式中的系数值,编码后用逻辑表达式来描述,然后进行逻辑实现。根据基4表示的乘法计算公式可以看出,基4 的booth编码的最大优点就是只有5种系数的部分积项,即0,1,2,-1,-2,也就意味着编码逻辑只需要3位,即1个符号位和2个数值编码位。本设计中采用改进型booth编码如表1所示。根据编码表可以得出编码信号的逻辑表达式如下
neg2n=b2n+1;b12n =b2n ^ b2n-1;

为产生所有部分积的系数,设计中采用9个booth编码器,即booth0,booth1,…,booth8。编码信号产生逻辑如图2所示,以b2n+1 、 b2n 、b2n-1为输入,3个编码信号为输出。对pp0来说,因为b-1=0,所以输入信号变为2个,因此booth0编码结构可以简化。boothi(i= 1,2,…,7)编码原理相同,考虑负载能力的不同,实现时用了不同结构。因为部分积pp8的作用是为了考虑有符号数和无符号数的乘法,booth8的编码实现逻辑采用b116=b15 & sxm,b216=0,neg=0;sxm=0时完成符号数乘法运算,sxm=1时为无符号数乘法运算。booth编码的输出全为互补的信号,这是产生部分积逻辑的需要。


(a) booth0 的逻辑结构



(b) booth1和booth i (i=2,…,7)的两种逻辑结构
图2 booth编码逻辑实现

3.2 部分积产生器
  首先考虑各编码数字对应的产
相关IC型号

热门点击

 

推荐技术资料

业余条件下PCM2702
    PGM2702采用SSOP28封装,引脚小而密,EP3... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!