熟悉 Logisim软件平台;掌握运算器基本工作原理;掌握运算溢出检测的原理和实现方法; 理解有符号数和无符号数运算的区别;理解基于补码的加/减运算实现原理;熟悉运算器的数据传输通路。 |
Logisim是一款数字电路模拟的教育软件,用户都可以通过它来学习如何创建逻辑电路,方便简单。它是一款基于 Java 的应用程序,可运行在任何支持 JAVA 环境的平台,方便学生来学习设计和模仿数字逻辑电路。Logisim中的主要组成部分之一就在于设计并以图示来显示 CPU。当然 Logisim中还有其他多种组合分析模型来对你进行帮助,如转换电路,表达式,布尔型和真值表等等。同时还可以重新利用小规模的电路来作为大型电路的一部分。 |
1.打开LogiSim软件 2.创建3个1位输入引脚Xi,Ci,Yi和2个1位输出引脚S,Ci+1,同时取消输入引脚的三态选项。 3.按照全加器电路图,通过与门、或门、异或门画出全加器电路。 图4 全加器电路
图5 全加器电路封装
图6 8位可控加/减法串行进位电路 ![]() 图7 串行进位的8位可控加/减法器电路封装
|
故障:测试时部分全加器报错,电线变红。研究发现电路连接有重叠部分,重新优化布线解决。 |
设计分析与说明: 将8个一位全加器FA的进位链串联即可得到8位加法器,由于补码符号位也可以参与运算,所以此电路既可以用于有符号数运算,也可以用于无符号数运算,但二者在溢出检测上有一定区别,这里OF的判定以有符号数加法运算是否溢出为标准。 溢出检测:根据运算过程中,最高数据位的进位与符号位的进位位是否一致进行检测。V= Cd xor Cf。 sub = 0,执行减法操作。0和二进制数异或运算得到其本身,然后通过一位全加器FA执行加法运算。 sub = 1,执行减法操作。1和二进制数异或运算相当于对二进制数进行取反操作,然后将sub = 1,传入FA进行+1操作。(由[y]补求[-y]补,全部位取反后加一)。 高位进位的产生依赖于低位进位的输入,串行进位加法器的速度较慢。 输入:操作数1X的8位数据X7-X0,操作数2Y的八位数据Y7-Y0。最低位进位Cin,加减法控制项Sub。 输出:运算结果S的八位数据S7-S0,最高位进位Cout,有符号运算溢出判断OF。 测试:
|
计算机组成原理:八位串行加法器实验
最新推荐文章于 2024-04-15 21:20:32 发布