一位十进制BCD码加法器设计

一位十进制BCD码加法器设计
一位十进制BCD码加法器设计

一位十进制BCD码加法器设计

计科1001班

2010310200523

初昌禹

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码也有了进一步的了解

相关主题
相关文档
最新文档