一位十进制BCD码加法器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一位十进制BCD码加法器设计 2012年3月30日
实验目的:熟悉基于EDA平台的电路设计,掌握MAXPLUS的使用,并运用MAXPLUS设计电路图,模拟其工作环境
实验原理:MAXPLUS软件能够模拟电路工作的实际情况,给电路设计带来方便
实验内容:使用MAXPLUS设计一位十进制BCD码的加法器
部件的逻辑原理图:
一位全加器FA的逻辑图:
实验电路图:
图三:
波形图:
实验步骤:分析一位BCD码进行加分运算的情况,进位或者不进位分成两种情况,而进位又分为两种情况:
1)若不进位,则结果直接相加即若仅为信号为0,则不进行其他操作
2)若进位,则要进行分析,BCD码只能表示0~9之间的数字,若超过9则要进行进位,而当BCD码之和超过15(16~18)超过四位二进制的表示
范围,也要进行进位考虑
○1当和的范围是10~15时:画卡洛图得到的表达式是F=S3S Z¬S0+S1S0,依
据表达式得到电路图添加到上图中,表达式的逻辑图如图三,当二者和
超过10时,例如当和为12时,二进制表示:1100,对其加6修正,修
正后结果是1(溢出)0010
②当和的范围超过了16时,超过四位二进制的表示范围,这需要对结
果进行修正,例如:二者和超过17时,二进制结果是1(溢出)0001,
对结果进行修正,这结果是1(溢出)0111,若对结果修正,也要对结
果加0110
实验的测试数据及测试结果:
实验小结:用BCD码表示的十进制加法要对其进行详细分析:
①当二者和小于等于9时,无需进位,不用进行其他的任何处理,直接进行
加法运算;
②当和大于等于10小于等于15时,要对其进行加6修正(+0110)
③当合大于等于16时,超过了四位二进制的表时范围对于其结果也要进行
加6修正,由于②、③的情况不能同时发生,因此二者的信号不能合并实验中遇到的问题及解决方法:
①判断冗余位:1010、1011、1100、1101、1110、1111是冗余位,用卡洛
图,
判断,卡洛图
得到了表达式:F=S3S Z¬S0+S1S0
②当和大于等于16时超出四位二进制表示范围,不可能存在冗余位,从而
当和大于16时要进行另外的处理
实验过程中对波形图文件的编辑还不够熟练,很难正确的画出满足仿真所需要的波形
心得体会:通过这此的实验设计大致明白了如何用MAXPLUS,绘制电路图,但是对于电路的仿真多少还是有一些问题,可能是软件的兼容问题,或许下次可以使用其他的仿真软件,同时我也了解了如何去设计加法器,同时对于BCD码也有了进一步的了解