三种高速乘法器的 FPGA 实现及性能比较
摘要:乘法是数字信号处理中重要的基本运算,在很大程度上影响着系统的性能。本文将
介绍三种高速乘法器实现原理:阵列乘法器、华莱士(WT)乘法器、布斯华莱士树超前进位
乘法器。而且通过 FPGA 技术实现了这三种乘法器,并对基于以上三种架构的乘法器性能
进行了分析比较。
关键字:阵列乘法器,华莱士乘法器,超前进位乘法器,FPGA
1、引言
随着 3G 技术的发展,关于图像、语音、加密等数字信号处理技术随处可见,而且信
号处理的实时性也要求越高。实时性即是要求对信号处理的速度要快,而乘法器是数字信
号处理中重要的基本运算,在很大程度上影响着系统的性能。人们开始开发高速的乘法器。
以下将对三种乘法器:阵列乘法器、华莱士(WT)乘法器、布斯华莱士树超前进位乘法
器进行原理分析,并用 FPGA 技术实现了这三种乘法器,对其结果进行了仿真,得出相应
的性能比较。
2、阵列乘法器
2.1 阵列乘法器原理
硬件乘法器的常规设计是适用“串行移位”和“并行加法”相结合的方法,这种方法并不需
要很多器件。然而串行方法毕竟太慢,执行一次乘法的时间至少是执行一次加法时间的 n
倍,不能满足科学技术对高速乘法所提出的要求。自从大规模集成电路问世以来,高速的
单元阵列乘法器应运而生,出现了各种形式的流水线阵列乘法器,它们属于并行乘法器,
提供了极快的速度。阵列乘法器的运算过程如下:
第一:当乘数的位数字为 1 时,我们可以将被乘数的值直接放置适当的位置。而适当的
位置是依乘数的第几个位和被乘数做运算之后所放的位置。
第二:当乘数的位数字为 0 时,我们可以将 0 放置适当的位置, 以作为部分乘积。
第三:我们利用笔和纸计算的乘法,在硬件中使用与门来实现。例如:1000 ×1 中,乘
数 1 和每一个被乘数的位都个别做与运算,其结果为 1000 正是我们所要的结果。由此可知
我们只需用与门就可以完成我们所要的乘法。
第四:当部分乘积都运算完成后,使用加法来完成最终的乘法结果运算。
根据以上四点的说明,我们可以运用最简单、最直观的方式来描述固定点乘法器的电
路描述。我们使用与门来做部分积运算,使用全加器(Full adder)来运算部分积的最终结果。
图 1 所示为有符号位的 6×6 固定点乘法器的架构图。
评论3