第一范文网 - 专业文章范例文档资料分享平台

-基于FPGA的8位硬件乘法器设计(1)

来源:用户分享 时间:2025/5/22 15:09:08 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

表4 半加器的真值表

A 0 0 1 1

B 0 1 0 1

C 0 0 0 1

S 0 1 1 0

用逻辑表达式来表示输出为

S =A⊕B C = AB

从上述表达式可知,半加器有异或门和与门组成。半加器也可以作为压缩器使用,它把和值信号传到同权值的下级,进位信号传到高一位权值的下级,不进行级联。 3.3.2 全加器

全加器能进行加数、被加数和低位来的进位信号相加,并根据求和结果给出该位的进位信号,即全加器能实现两个二进制数和一个进位信号相加的功能,逻辑真值表如表 5所示,其中A和B分别是被加数和加数,Cin是低位进位数,S为本位和,Cout为向高位的进位数。

表5 全加器的真值表

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

Cin 0 1 0 1 0 1 0 1

Cout 0 0 0 1 0 1 1 1

S 0 1 1 0 1 0 0 1

用逻辑表达式来表示输出为

16

S = A⊕B⊕Cin Cout=AB+(A⊕B)Cin

从上述表达式可知,全加器是有两个半加器和一个或门构成的。 3.3.3 串行进位加法器

若有多位数相加,则可采用并行相加串行进位的方式来完成。如果有两个n位二进制数相加,可以采用n-1个全加器和一个半加器,如图5所示。FA 代表全加器,HA 代表半加器。

图5 串行进位加法器

每个加法器的低位进位输出作为下一个加法器的进位输入,最低位由于没有进位输入只需要半加器。任意1位的加法运算必须在低1位的运算完成之后才能进行,这种进位方式成为串行进位,此种加法器称为串行进位加法器。这种加法器的逻辑电路比较简单,面积小,易于理解,但是运算速度不高,延时大。其关键路径是所有加法器的进位链路径,延时正比于相加位数,为O(n)。 3.3.4 超前进位加法器

在串行进位加法器中,每个加法器要等到上一级加法器产生进位输出才能产生有效的和值,因此加法器的速度受到进位信号的限制。为了解决这一问题,人们设计了一种多位数超前进位加法逻辑电路,使每位的进位只由加数和被加数决定,而与低位进位无关。下面介绍它产生的机理。

在全加器中我们得出Cout = AB+( A⊕B)Cin,可以表示为Cout=G+PCin。其中G表示A和B的逻辑与,只有A和B同时为1,G才为1。P表示 A和B的异或,当A和B取值不同时,P为1,因而G和P不会同时为1。当 G=1 时,Cout 为 1,即产生进位;当 P=1 时,Cout= Cin,可以认为低位的进位能传送到高位的进位输出端。这可以用图6来表示。

17

图6 超前进位加法器

将P和G代入全加器的逻辑表达式可得 S=P⊕Cin Cout=G+PCin

则各位的进位信号的逻辑表达式如下

C0?G0?PC0?1

C1?G1?PC10?G1?PG10?PPC10?1

C2?G2?PC21?G2?PG21?P2PC10?P2PPC10?1

C3?G3?PC32?G3?PG32?P3PC21?P3P2PC10?P3P2PPC10?1

从上述的表达式可知,采用这种连续代入的方式后发现进位信号只与变量Gi,Pi和

C?1有关,而C?1是最低位的进位信号,其值0,所以各位的进位信号都只与两个加数有关,只要两个加数的各位同时到达,那么相应的Pi和Gi将同时产生,各位进位信号也将基本同时产生。

超前进位加法器进位产生时间大大减少,不像串行进位加法器需要进位延时,因而其速度很快。但是它需要较多的逻辑电路,是一种以面积来换取速度的加法器。特别是当位数增加时面积增大了很多,同时扇入扇出也很多,增加了进位延时。实际上位数太多时实现起来是困难的,所以超前进位加法器的加数位数通常控制在 4 位以内,需要实现多位超前进位加法器时可以通过级联实现。 3.3.5 选择进位加法器

为了减少进位传递的延时,也可以使用另一种快速的加法器——进位选择加法器。例如要构成一个16位的进位选择加法器,可以分为4部分,每部分4位。第一个4位

18

加法器的进位输入是已知的,正常计算出和值S0、S1、S2、S3和进位输出C1。第二个4位加法器的进位输入要么是0,要么是1。用两个4位加法器分别计算出进位输入是0和1的和值及进位输出。这时次高4位和最低4位将同时计算,最终的结果是通过一个多路选择器来选择得到的,选择信号是这4位加法器的实际进位输入,即前一级4位加法器的进位输出C1。C1到达后,将选择最终的正确和值S8、S7、S6、S5及进位输出C2。因为待选择的和值、进位信号在选择信号到达多路选择器前已经出现,因此只需一个选择器的时间就可以得出S8、S7、S6、S5及进位输出C2。依此类推,可以用C2对下一组4位加法器的结果进行选择,最终得到16位和值。在这种加法器中,前一级加法器产生进位输出后,后一级加法器就不必等待进位输出的计算时间,而只需要等待一个二选一多路选择器的延时,这样就大大加快了整个加法器的运算速度。如果要实现 n 位数相加,每组含有 k 位。那么关键路径延时将是 k 位加法器的延时加上(n/k-1)个数据选择器的延时。速度较串行进位加法器有很大提高,和超前进位加法器的速度相当。因为进位选择加法器在每组要使用两个加法器,因此面积上较串行进位加法器的大许多,而超前进位加法器随位数增多面积变得很大,逻辑上也难实现,因此高性能乘法器大多采用选择进位加法器。选择进位加法器的实现如图7。

图7 选择进位加法器

3.4 压缩器

乘法器的部分累积部分需要进行压缩,而3-2 压缩器和4-2 压缩器是乘法器进行部分积压缩常用到的部件(常静波,等,2005),下面简单介绍3-2 压缩器和4-2 压缩

19

搜索更多关于: -基于FPGA的8位硬件乘法器设计(1) 的文档
-基于FPGA的8位硬件乘法器设计(1).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9fn0x14gxz5dq8m1sb2f_6.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top