8421BCD码加法器.docx
- 文档编号:3662642
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:9
- 大小:760.71KB
8421BCD码加法器.docx
《8421BCD码加法器.docx》由会员分享,可在线阅读,更多相关《8421BCD码加法器.docx(9页珍藏版)》请在冰豆网上搜索。
8421BCD码加法器
8421BCD码加法器
卓越工程师班第一次大作业
用四位全加器构成
一位BCD码加法器
班级:
001111
作者:
00111116江新远
实现方式一:
器件
一、问题
用四位二进制全加器74LS283构成一位8421BCD码加法电路
二、74LS283介绍
74LS283是TTL双极型并行4位全加器,,特点是先行禁卫,因此运算速度很快,其外形为双列直插。
它有两组4位二进制数输入,一位低位向本位的进位输入,有一组二进制输出,一个最高位的进位输出,改器件所完成的4位二进制加法如图所示。
四、quartus仿真
类似方案
方案二
五、拓展思考——方案3
用加法器实现两个四位二进制数相加并输出为8421BCD码。
同样也可以实现两位8421BCD码相加并且输出为8421BCD码。
两个四位二进制数相加,若考虑到低位向高位的进位,则其结果为0000~11110,显然从
1010开始就不符合8421BCD码的要求,如需8421BCD码输出则要进行修订。
考虑到输出可能是两位8421BCD码,则输出为六位,除加法器的四位输出外,增加两位输出D11,D22
若和小于10则结果正确,输出即为,
若和大于9而小于20则结果错误,若要得到正确结果,则需加6(0110)修正
若和大于19而小于30则结果错误,若要得到正确结果,则需加12(1100)修正
若和大于29则结果错误,若要得到正确结果,则需加0010(0110+1100=10010)修正。
利用真值表列式得:
实现方式二:
VHDL硬件描述
设计思路:
A和B是两个8421BCD码,它们相加后产生的进位为C,输出的8421BCD码为D。
S1和S分别为信号
S=A+B,如果S>10,则产生进位,c=1;
由于S是二进制的,所以最后取S的后四位加6就好。
但是为防止S的后四位加6,仍然大于10,故先用S1等于S的后四位加6,然后再取S1的后四位。
附代码:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityfhomework1is
port(a,b:
instd_logic_vector(3downto0);
c:
outbit;
d:
outstd_logic_vector(3downto0)
);
endfhomework1;
architecturearsoffhomework1is
signals,s1:
std_logic_vector(4downto0);
begin
process(a,b)
begin
s<=('0'&a)+('0'&b);//两个相加,保证位数相同
if(s(4)='1'or(s(3)='1'and(s
(2)='1'ors
(1)='1')))then//s4大于等于10
c=’1’;//c=1;
s1<=('0'&s(3downto0))+("00110");//s1取S的后四位加6
d<=s1(3downto0);//d取s1后四位
else//如果相加和小于10
c=’0’;//c=0
d<=s(3downto0);//d直接取S的后四位
endif;
endprocess;
endars;
所得到的电路
实验结果:
满足设计要求。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8421 BCD 加法器