APP下载

乘法器模块在FPGA中的实现

2012-11-08李彦孚

长春大学学报 2012年8期

李彦孚,宋 路

(长春理工大学 电子信息工程学院,长春 130022)

乘法器模块在FPGA中的实现

李彦孚,宋 路

(长春理工大学 电子信息工程学院,长春 130022)

作为数字信号处理领域的基本运算单元,乘法器在其中起到了至关重要的作用。本文设计了三种基于FPGA的数字乘法器模块,包括传统乘法器,LUT乘法器和Booth算法的乘法器,利用Modelsim仿真软件分别对三种算法进行了仿真,并用QuartusII软件对所编写的Verilog程序进行编译综合,这里用到的FPGA芯片是Altera公司生产的cycloneII器件,最后对结果进行了说明。

数字信号处理;LUT乘法器;Booth乘法器;FPGA

0 引言

随着现代通信和数字信号处理对于数字系统的实时性要求越来越高,乘法器性能的优劣将起到至关重要的作用。在数字信号处理中包括各种各样的运算,例如卷积运算,数字滤波,FFT,相关计算,矩阵运算等,而这些运算中都有大量的类似于A(k)B(n-k)的运算,因此乘法和累加是数字信号处理中基本的大量的运算。DSP(digital signal processor)中虽然有内嵌的乘法器,但只对应于特定的算法,相较于DSP,很多类型的FPGA器件中虽然有内置的乘法器,但是可以利用Verilog语言进行软乘法器模块的编写,这就使乘法器的设计非常灵活。因此,考虑到FPGA的资源一般还算丰富的条件下,自己编写乘法器模块。

对于乘法器的设计,此前已有很多相关的算法产生,但主流的乘法器归纳起来主要有以下几类,包括传统乘法器,移位相加乘法器,LUT乘法器,Booth算法乘法器。本文对传统乘法器,LUT乘法器,Booth算法乘法器进行了软件设计,利用Modelsim仿真软件进行了仿真,在QuartusII开发平台上基于cycloneII器件对程序进行了综合验证,最后对几种算法的乘法器的时钟消耗以及器件逻辑资源的占用等情况进行了比较和分析。……

登录APP查看全文