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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

算术运算单元ALU的设计.docx

1、算术运算单元ALU的设计算术运算单元ALU的设计1设计要求概述:1进行两个四位二进制数的运算;2算术运算:A+B,A-B,A+1,A-1;3逻辑运算:A and B,A or B,A not, A xor B;2功能模块整体结构设计1.总体设计概述总体电路设计原理图算术运算单元ALU总体上由五个模块组成:AB模块、A1模块、A与B和A或B模块、A异或B和A非、控制模块。通过这五个模块实现两个四位二进制数的算术运算和逻辑运算。2.各个模块的详细描述 AB模块A+B可以直接通过74283两个四位二进制数加法器直接实现;AB可以转换成A加上B的补码实现。同时再设计一个转换控制端M,M=0时实现A+B

2、,M=1时实现A-B,最后添加一个总的控制端K0,K0=.0时该模块不输出结果,K0=1时该模块工作。AB模块原理图A+B仿真图如下:AB仿真图如下:A1模块A+1如同A+B一样可以直接通过74283两个四位二进制数加法器实现,只要把B设置成1;A1可以转换成A加上1的补码实现,同时设置一个转换控制端M,M0时实现A+1功能,M1时实现A-1功能。最后设计一个总的控制端K1,K10时该模块不输出结果,K11时该模块正常工作。A1模块原理图A+1仿真图A1仿真图A与B和A或B模块A与B直接通过四个与门实现,A或B直接通过四个或门实现。同时设计一个转换控制端M,M0时A与B工作,M1时A或B工作,

3、最后设计一个总的控制端K2,K20时该模块不输出结果,K21时该模块正常工作。A与B和A或B模块原理图A与B仿真图A或B仿真图A异或B和A非模块A异或B直接通过四个异或门实现,A非直接通过四个非门实现。同时设计一个转换控制端M,M0时实现A异或B,M1时实现A非。最后设计一个总的控制端K3,K3=0时该模块不输出结果,K31时该模块正常工作。A异或B仿真图A非仿真图控制模块控制模块可以通过2位二进制译码器实现,依次控制上述四个模块的总控制端K0、K1、K2、K3,从而可以分别独立实现各个模块的功能。2位二进制译码器真值表输入端输出端C1C2K0K1K2K30010000101001000101

4、10001控制模块原理图3 设计分析ALU算数运算逻辑单元,可以对两个4位操作数执行3种算数运算和5种逻辑运算。输入信号为4位r信号,4位s信号以及进位信号cin,输出信号为f3,0、进位输出信号c4、进位生成信号g_bar、进位传输信号p_bar和溢出标志ovr。ALU的输出信号f3.0还反馈到寄存器和存储器。指令码ALU单元选择I5I4I3000r+s001s-r010r-s011r or s100r and s101(not r and s)110r xor s111not(r xor s)ALU功能选择源代码:ALU算数逻辑运算单元的主要功能是根据指令码的要求,分别对两个操作执行算数逻

5、辑运算单元的VHDL程序实现如下:library ieee;use ieee.std_logic_1164.all;use ieee.numeric_std.all;use ieee.std_logic_unsigned.all;entity alu isport(r,s:in unsigned(3 downto 0);alu_ctrl:in std_logic_vector(2 downto 0);cin:in std_logic;f:buffer unsigned(3 downto 0);g_bar,p_bar:buffer std_logic;c4:buffer std_logic;ov

6、r:buffer std_logic);end alu;architecture rt1 of alu issignal r1,s1,f1:unsigned(4 downto 0);begin r1=0&r;s1 if cin=0 then f1=r1+s1;else f1if cin=0 then f1=s1+not(r1);else f1if cin=0 then f1=r1+not(s1);else f1 f1f1f1f1f1null;end case;end process;f=f1(3 downto 0);c4=f1(4);g_bar=not(r(3)and s(3) or (r(3

7、) or s(3) and (r(2) and s(2) or(r(3) or s(3) and (r(2) or s(2) and (r(1) and s(1) or(r(3) or s(3) and (r(2) or s(2) and (r(1) and s(1) and(r(0) and s(0);p_bar=not(r(3) or s(3) and (r(2) or s(2) and (r(1) and s(1) and (r(0) and s(0);ovr=1 when (f1(4)/=f1(3)else 0;end rt1;4逻辑仿真与时序仿真的实现5 结果分析及总结由运行结果可知

8、,当指令码alu_ctrl为0时,执行加法运算,即r+s,如果进位为1,则再加上进位,即r+s+1,图中2加4加进位1得7,相加之后没有进位,进位输出c4即为0,溢出标志ovr为0。通过这次EDA课程设计,我收获颇多。刚开始看到题目脑海中一点思路没有,后来通过耐心思考,逐渐把各个模块做出来了,但是在做整体模块中我遇到了AB模块、A1模块进位输出有冲突的问题,我于是回过头来重新思考这两个模块,终于我发现问题所在,整体模块输出成功。在这次EDA课程设计中,我不仅学习到了一些新知识,而且锻炼了动手实践能力。最后,在此感谢学校给我们安排的这一次课程设计,还有各位老师在设计过程中给与我的指导和帮助。6

9、参考文献1 黄正瑾.在系统编程技术及其应用.南京:东南大学出版社,19972 彭介华.电子技术课程设计指导.北京:高等教育出版社,19973 李国丽,朱维勇.电子技术实验指导书.合肥:中国科技大学出版社,20004 潘松,黄继业.EDA技术实用教程.北京:科学出版社,20025 郑家龙,王小海,章安元.集成电子技术基础教程.北京:高等教育出版社,20026 宋万杰,罗丰,吴顺君.CPLD技术及其应用.西安:西安电子科技大学出版社,19997 张昌凡,龙永红,彭涛.可编程逻辑器件及VHDL设计技术.广州:华南工学院出版社,20018 卢杰,赖毅.VHDL与数字电路设计.北京:科学出版社,2001

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

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