当前位置:首页 > 华中科技大学计算机学院数字逻辑实验报告2(共四次)
一、无符号数的乘法器设计 1、实验名称
无符号数的乘法器的设计。
2、实验目的
要求使用合适的逻辑电路的设计方法,通过工具软件logisim进行无符号数的乘法器的设计和验证,记录实验结果,验证设计是否达到要求。
通过无符号数的乘法器的设计、仿真、验证3个训练过程,使同学们掌握数字逻辑电路的设计、仿真、调试的方法。
3、实验所用设备
软件一套。
4、实验内容
(1)四位乘法器设计
四位乘法器Mul4
4实现两个无符号的4位二进制数的乘法运算,其结构框
图如图3-1所示。设被乘数为b(3:0),乘数为a(3:0),乘积需要8位二进制数表示,乘积为p(7:0)。
a(3:0) b(3:0) Mul44 p(7:0) 图3-1 四位乘法器结构框图
四位乘法器运算可以用4个相同的模块串接而成,其内部结构如图3-2所示。每个模块均包含一个加法器、一个2选1多路选择器和一个移位器shl。
图3-2中数据通路上的数据位宽都为8,确保两个4位二进制数的乘积不会发生溢出。shl是左移一位的操作,在这里可以不用逻辑器件来实现,而仅通过
数据连线的改变(两个分线器错位相连接)就可实现。
a(0)P=\0a(1)0a(2)0a(3)0P(7:0)MUXMUXMUXMUX+1+1+1+1shlshlshlshlBP=\
图3-2 四位乘法器内部结构
(2)32
4乘法器设计
4实现一个无符号的32位二进制数和一个无符号的4
324乘法器Mul32
位二进制数的乘法运算,其结构框图如图3-3所示。设被乘数为b(31:0),乘数为a(3:0),乘积也用32位二进制数表示,乘积为p(31:0)。这里,要求乘积p能用32位二进制数表示,且不会发生溢出。
a(3:0) b(31:0) Mul324 p(31:0) 图3-3 32
4乘法器结构框图
在四位乘法器Mul4即可实现Mul32
(3)32
32乘法器设计
4。
4上进行改进,将数据通路上的数据位宽都改为32位,
3232乘法器Mul3232实现两个无符号的32位二进制数的乘法运算,其
结构框图如图3-4所示。设被乘数为b(31:0),乘数为a(31:0),乘积也用32位二进制数表示,乘积为p(31:0)。这里,要求乘积p能用32位二进制数表示,
且不会发生溢出。
a(31:0) b(31:0) Mul3232 p(31:0) 32乘法器结构框图
图3-4 32
用324乘法器Mul32
4作为基本部件,实现3232乘法器Mul3232。
设被乘数为b(31:0)=(b31b30b29b28···b15b14b13b12···b4b3b2b1b0)2 乘数为a(31:0)=(a31a30a29a28···a15a14a13a12···a3a2a1a0)2 =(a31a30a29a28)2
(a3a2a1a0)2
所以,
p(31:0)= b(31:0) = b(31:0) (a3a2a1a0)2
20)
(a31a30a29a28)2
228 +···+ b(31:0)
( a15a14a13a12)2
228+···+ ( a15a14a13a12)2212+···+
20
a(31:0)
228+···+ ( a15a14a13a12)2
212+···+
((a31a30a29a28)2
= b(31:0) +···
212
+ b(31:0)
从上述推导可知,Mul32
32可以用8个Mul32
(a3a2a1a0)220
4分组相乘,然后通过4的
倍数位的左移(相当于乘2i),再将左移结果两两相加得到。
5、实验设计方案
(1)四位乘法器设计
1) mul4*4的乘法公式为
图3-5 4x4的乘法公式
所以其设计思路为:假设b为被乘数,a为乘数,则通过a作为数据选择端,若a为0,则取之前一位的运算结果作为本位的值;如果a为1,b左移1位(并将移位后的b作为下一位运算的b值),将前一位的运算结果加上b左移1位后的结果的和作为本位的值。
2) 其电路图如图3-6所示:
图3-6 4x4乘法器电路
共分享92篇相关文档