版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上数字逻辑实验报告(2)数字逻辑实验2一、无符号数的乘法器设计50%二、无符号数的除法器设计50%总成绩评语:(包含:预习报告内容、实验过程、实验结果及分析)教师签名姓 名: 学 号: 班 级: 指 导 教 师: 计算机科学与技术学院20 年 月 日数字逻辑实验报告(2)无符号数的乘法器设计一、无符号数的乘法器设计1、实验名称无符号数的乘法器的设计。2、实验目的要求使用合适的逻辑电路的设计方法,通过工具软件logisim进行无符号数的乘法器的设计和验证,记录实验结果,验证设计是否达到要求。通过无符号数的乘法器的设计、仿真、验证3个训练过程,使同学们掌握数字逻辑电路的设计
2、、仿真、调试的方法。3、实验所用设备Logisim2.7.1软件一套。4、实验内容(1)四位乘法器设计四位乘法器Mul44实现两个无符号的4位二进制数的乘法运算,其结构框图如图3-1所示。设被乘数为b(3:0),乘数为a(3:0),乘积需要8位二进制数表示,乘积为p(7:0)。Mul44a(3:0)b(3:0)p(7:0)图3-1 四位乘法器结构框图四位乘法器运算可以用4个相同的模块串接而成,其内部结构如图3-2所示。每个模块均包含一个加法器、一个2选1多路选择器和一个移位器shl。图3-2中数据通路上的数据位宽都为8,确保两个4位二进制数的乘积不会发生溢出。shl是左移一位的操作,在这里可以
3、不用逻辑器件来实现,而仅通过数据连线的改变(两个分线器错位相连接)就可实现。图3-2 四位乘法器内部结构(2)324乘法器设计324乘法器Mul324实现一个无符号的32位二进制数和一个无符号的4位二进制数的乘法运算,其结构框图如图3-3所示。设被乘数为b(31:0),乘数为a(3:0),乘积也用32位二进制数表示,乘积为p(31:0)。这里,要求乘积p能用32位二进制数表示,且不会发生溢出。Mul324a(3:0)b(31:0)p(31:0)图3-3 324乘法器结构框图在四位乘法器Mul44上进行改进,将数据通路上的数据位宽都改为32位,即可实现Mul324。(3)3232乘法器设计323
4、2乘法器Mul3232实现两个无符号的32位二进制数的乘法运算,其结构框图如图3-4所示。设被乘数为b(31:0),乘数为a(31:0),乘积也用32位二进制数表示,乘积为p(31:0)。这里,要求乘积p能用32位二进制数表示,且不会发生溢出。Mul3232a(31:0)b(31:0)p(31:0)图3-4 3232乘法器结构框图用324乘法器Mul324作为基本部件,实现3232乘法器Mul3232。设被乘数为b(31:0)=(b31b30b29b28b15b14b13b12b4b3b2b1b0)2乘数为a(31:0)=(a31a30a29a28a15a14a13a12a3a2a1a0)2
5、=(a31a30a29a28)2228+ ( a15a14a13a12)2212+ (a3a2a1a0)220所以,p(31:0)= b(31:0) a(31:0) = b(31:0) (a31a30a29a28)2228+ ( a15a14a13a12)2212+ (a3a2a1a0)220)= b(31:0) (a31a30a29a28)2228 + b(31:0) ( a15a14a13a12)2212 + b(31:0) (a3a2a1a0)220 从上述推导可知,Mul3232可以用8个Mul324分组相乘,然后通过4的倍数位的左移(相当于乘2i),再将左移结果两两相加得到。5、实验
6、设计方案(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乘法器电路(2)324乘法器设计其基本算法与4*4的乘法器基本相当,只是此时被乘数b变为32位,因而需要将数据位宽变为32位,同样采用移位并且使用数据选择器。其电路图如图3-7所示:图3-7 32x4乘法器(3) 3232乘法器设计mu
7、l32*32乘法器的设计思路为:使用之前封装的32*4的乘法器,将乘数a分为8个4位二进制数,分设为p1,p2,p3,p4,p5,p6,p7,p8。然后分别将pi左移4*(i-1)位,(该结果可以通过移位器分线出来4位)得到的数再分别两两相加,再两两相加,最后加在一起,得到的结果即为两数相乘的结果p。图3-8 32x32乘法器6、实验结果记录根据实验方案设计要求,对于相应的乘法器和除法器,在给定的输入条件下,填写表3-1。表3-1 无符号数的乘法器实验结果记录表电路输入1(16进制)输入2(16进制)输出(16进制)Mul44b=0Aa=0Ap=064Mul44b=0Ea=09p=07EMul
8、324b=0003ABEF1a=0Ap=024B756AMul324b=0019ABEF1a=07p=0 B3B3897Mul3232b=00002BEF1a=000004EF1p=0D8C32EE1Mul3232b=000003EF1a=00003BEF1p=0EBC51EE1图3-9图3-10图3-11图3-12图3-13图3-14数字逻辑实验报告(3)无符号数的除法器设计二、无符号数的除法器设计1、实验名称无符号数的除法器的设计。2、实验目的要求使用合适的逻辑电路的设计方法,通过工具软件logisim进行无符号数的除法器的设计和验证,记录实验结果,验证设计是否达到要求。通过无符号数的除法
9、器的设计、仿真、验证3个训练过程,使同学们掌握数字逻辑电路的设计、仿真、调试的方法。3、实验所用设备Logisim2.7.1软件一套。4、实验内容(1)四位除法器设计四位除法器实现两个无符号的4位二进制数的除法运算,其结构框图如图2-1所示。设被除数为n2(3:0),除数为d(3:0),商为quot(3:0),余数为rem(3:0)。Div4n2(3:0)d(3:0)quot(3:0)rem(3:0)2-1 四位除法器结构框图四位除法器Div4算法步骤如下:(1) 设n1=0000,将被除数以n1:n2 的形式拼接,除数为d;(2) 重复4次: 将n1:n2左移1位;if (n1d) begi
10、n n1= n1-d; n2 (0)=1 end(3) 商和余数的结果为:quot= n2 ;rem= n1 。四位除法器也可以用4个相同的模块串接而成。每个模块均包含一个减法器、两个2选1多路选择器、一个比较器和一个移位器shl。请参照四位乘法器的设计思路,实现两个无符号的4位二进制数的除法器。(2)32位除法器设计32位除法器Div32实现两个无符号的32位二进制数的除法运算,其结构框图如图2-2所示。设被除数为n(31:0),除数为d(31:0),商为quot(31:0),余数为rem(31:0)。Div32n(31:0)d(31:0)quot(31:0)rem(31:0)2-2 32位
11、除法器结构框图对四位除法器Div4中4个相同的模块之一进行改进,将数据通路上的数据位宽都扩展为32位,得到一个Div1。将32个Div1拼接起来即可实现Div32。5、实验设计方案(1)四位除法器设计(1) 除法器Div4的内部逻辑结构框图如图3-1所示图3-1 除法器div4的内部逻辑结构框图(2) 其电路图如图3-2所示图3-2 除法器div4的电路图(2)32位除法器Div32设计(1) 首先,先连接一个一次32div32的除法器,即已知当前的余数和当前的商,推算出下一位的余数和下一位的商。将该子电路命名为32div_132div_1子电路的设计思路如下: 1. 32div_1有d、cu
12、r_quot、cur_rem三个输入端,有next_quot,next_rem两个输出端。2. 将当前余数左移一位,余数的最低为补商的最高位3. 商左移一位,最低位补0还是1根据以下步骤判断:将移位后的余数与除数d比较,drem时,商的最低位应该补0;否则,商的最低位应该补1。将商输出,即为next_quot。4. drem时,余数仍为移位后的余数;否则,余数rem = rem-d。将rem输出,即为next_rem。将该操作重复32次,即将32个已经封装好的32div_1相连,则产生的即为32div32除法器。(2) 其电路图分别如下所示:图3-3为32div_1的除法器的内部图:图3-3
13、32div_1除法器的内部原理图图3-4为32div32的除法器图:图3-4 32div32除法器内部原理图6、实验结果记录根据实验方案设计要求,对于相应的乘法器和除法器,在给定的输入条件下,填写表2-1。表2-1 无符号数的乘法器实验结果记录表电路输入1(16进制)输入2(16进制)输出(16进制)Div4n2=0Ed=09quot=0Frem=07Div4n2=0Ed=00quot=0Erem=0EDiv32n=0019ABEF1d=000004EF1quot=0534rem=0 fdDiv32n=0A0504EF1d=0019ABEF1quot=063rem=017877be图3-5图3
14、-6图3-7 图3-8 7、实验中遇到的问题及解决方法(1)故障1问题描述:在设计4位除法器时比较器出现了问题,当被除数位1110,除数为1100时出现了错误的输出。后来发现原来是因为比较器的数据类型是关于2的补码,在一些情况下会输出错误的结果。问题分析:比较器的数据类型是关于2的补码,所以在比较的时候不会按照无符号数来进行比较。解决方法:将比较器的数字类型改为无符号数。(2)故障2问题描述:在设计32位除法器时电路显示出现明显振荡,所以会输出错误的结果。问题分析:由于32位除法器电路不稳定所以会引起振荡。解决方法:在电路的输入和输出处添加一个探测器。 8、思考题(1)乘法器/除法器中的延时主
15、要取决于加法器/减法器的延时,其它组件延时可忽略不计。假设每个加法器/减法器的延时都为t,你所设计的乘法器Mul44、Mul324、Mul3232、除法器Div4、Div32的延时各是多少?它们是组合逻辑电路、同步时序逻辑电路还是异步时序逻辑电路?乘法器Mul44的延时为4t;Mul324的延时为4t;Mul3232的延时为39t;除法器Div4的延时为4t;Div32的延时为32t。它们是组合逻辑电路。(2)通过改变设计,乘法器Mul3232的延时能不能再减少?如果能减少,它的最小值是多少? 可以。将4x4乘法器换成32位的,用64个4x4乘法器组成32位乘法器,只需用到31个加法器,即时延
16、为31t。(3)目前的除法器Div32性能并不好,你是否有性能更好设计?使用基于可编程逻辑器件FPGA来实现除法器。计算时先将计算的被除数向前扩展7位,随后由高位向低位逐8位递减,滚动记录差值。首先被减数16位在前边拼接7位0,拼接后不会改变被除数的大小,而且方便向下操作。拼接后将此23位数称为mid。之后取mid的高8位与除数作比较,若大于除数,则减去除数,结果低位拼接一。若小于除数,则验证最高位是不是0,若是则左移一位,结果拼接0.若不是则用高九位减去除数,结果拼接两个0.然后将差和后15位以及末尾一个0拼接,实现结果循环向前。在计算的同时用计数器计数来确定运行到的位数。在进行以上操作,最终得到结果。9、心得体会、意见与建议此次乘法器的设计较为简单,实验指导中直接给出了设计思路,相关的元件也可以直接使用logisim中自带的,所以设计起来很方便。32x32的乘法器也只需要将用8个Mul3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024装修增加项目施工合同模板
- 个人经营贷款合同样本
- 2024建筑单包工合同范文
- 2024股份担保借款合同范本
- 2024个人住房公积金的借款合同
- 2024动产家具无偿寄托合同
- 房产项目合作开发协议书
- 三轮车买卖合同完整协议2024年
- 仓配租赁合同模板
- 工业用地投资协议
- 《生物技术制药》课程介绍与教学大纲
- 《现代农业技术推广》课件-第七组 农民问题专题调研
- 第30课 家居收纳技巧 课件 2023-2024学年苏教版初中劳动技术七年级上册
- 2024中国一汽校园招聘1000+岗位高频考题难、易错点模拟试题(共500题)附带答案详解
- GB/T 19533-2024汽车用压缩天然气钢瓶定期检验与评定
- 妇产科护士晋升述职报告
- 骨髓腔内输液(IOI)技术
- 建筑幕墙工程(铝板、玻璃、石材)监理实施细则(全面版)
- 小学数学与思政融合课教学设计
- 体育公园运营管理方案
- 休闲生态农业观光园建设项目财务分析及效益评价
评论
0/150
提交评论