ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:808.60KB ,
资源ID:8875262      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8875262.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(8421BCD码加法器.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

8421BCD码加法器.docx

1、8421BCD码加法器8421BCD码加法器D 13 10111101在8421BCD码中是非法码,结果错误,如果加6修正后,则产生了进位信号,且本位 1101 + 0110 1,0011“0011”也是正确的。 若和产生进位,则结果错误,也需加6修正。如8 1000+ 9 + 1001 17 1,0001虽产生了进位,但本位和不正确,若加6修正 1,0001 + 0110 1,0111得到正确结果。产生错误的原因是8421BCD码为十进制,逢十进一,而四位二进制数是逢十六进一,故二者进位关系不同。其中刚好相差6,故需加6进行修正。这样,构成两个一位8421BCD相加时,必须由三部分组成:一部

2、分进行加数和被加数相加;第二部分是修正判别,判别是否要加以修正,即产生修正控制信号;第三部分完成加6修正。第一部分和第三部分均由4位全加器实现。第二部分修正判别电路应在8421BCD码相加有进位信号CO产生时,或者和数在1015的情况下产生修正控制信号F,所以F应为利用图3.2.14所示的卡诺图将和大于9的部分化简得出F:根据上述分析及F信号产生的逻辑表达式可得到两个一位8421BCD码相加的电路。四、quartus仿真类似方案方案二五、拓展思考方案3用加法器实现两个四位二进制数相加并输出为8421BCD码。同样也可以实现两位8421BCD码相加并且输出为8421BCD码。两个四位二进制数相加

3、,若考虑到低位向高位的进位,则其结果为0000 11110 ,显然从1010开始就不符合8421BCD码的要求,如需8421BCD码输出则要进行修订。考虑到输出可能是两位8421BCD码,则输出为六位,除加法器的四位输出外,增加两位输出D11,D22若和小于10则结果正确,输出即为,若和大于9而小于20则结果错误,若要得到正确结果,则需加6(0110)修正若和大于19而小于30则结果错误,若要得到正确结果,则需加12(1100)修正若和大于29则结果错误,若要得到正确结果,则需加0010(0110+1100= 1 0010)修正。利用真值表列式得:实现方式二:VHDL硬件描述设计思路:A和B是

4、两个8421BCD码,它们相加后产生的进位为C,输出的8421BCD码为D。S1和S分别为信号S=A+B,如果S10,则产生进位,c=1;由于S是二进制的,所以最后取S的后四位加6就好。但是为防止S的后四位加6,仍然大于10,故先用S1等于S的后四位加6,然后再取S1的后四位。附代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fhomework1 isport(a,b:in std_logic_vector(3 downto 0); c:out bit; d:out std_l

5、ogic_vector(3 downto 0) );end fhomework1;architecture ars of fhomework1 issignal s,s1:std_logic_vector(4 downto 0);beginprocess(a,b)begins=(0&a)+(0&b); /两个相加,保证位数相同if(s(4)=1or(s(3)=1and(s(2)=1or s(1)=1)then /s4大于等于10c=1; /c=1;s1=(0&s(3 downto 0)+(00110); /s1取 S的后四位加6d=s1(3 downto 0); /d取s1后四位else /如果相加和小于10c=0; /c=0d=s(3 downto 0);/d直接取S的后四位end if;end process;end ars; 所得到的电路实验结果:满足设计要求。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1