下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/计算机组成原理试验试验四ALU的设计和实现专业班级:计算机科学和技术学号:0936008姓名:冯帆学号:0936036姓名:张琪试验地点:理工楼901试验四ALU的设计和实现一、试验目的1、理解ALU的功能和其在处理器中的地位。2、驾驭ALU的结构化(分模块、分层次)的设计方法。3、驾驭ALU的Verilog语言描述方法。二、试验内容1、学习ALU的设计方法。2、用Verilog语言采纳行为描述的方法完成74181的逻辑设计。3、用Verilog语言采纳结构描述的方法完成74181的逻辑设计。4、学习用宏模块的方法定制并调用ALU。三、试验仪器及设备:PC机+QuartusⅡ9.0+DE2-70四、试验步骤:1.打开Quartus软件,新建工程,并新建一个verilog文件。2.编写verilog程序。首先,查找74181的功能表,用always模块和case语句实现其功能。然后,设计ALU的过程中,利用p函数和g函数实现超前进位功能。3.附程序代码如下:moduleALU_74181( input[3:0]a, input[3:0]b, input[3:0]s,//选择信号inputm,//m=1执行逻辑运算,反之执行算术运算inputcn,//低位的进位或者是高位的借位output[3:0]f,outputaeqb,//输出,当a=b时输出1,当a!=b时,输出0outputc4,//对应74181的Cn+4outputp,//p函数outputg//g函数);reg[3:0]result;//定义中间变量result存放结果wire[4:0]temp;//定义中间变量temp存放选择变量s和mwirep0,p1,p2,p3;//进位产生信号wireg0,g1,g2,g3;//进位传递信号assigntemp={s,m};always@(temporaorb)begincase(temp)//case语句实现74181的32种功能 5'b00000:result=a; 5'b00001:result=!a; 5'b00010:result=a|b; 5'b00011:result=(!a|b); 5'b00100:result=(a|!b); 5'b00101:result=!a&b; 5'b00110:result=4'b1111;//补码运算,-1的补码是1111 5'b00111:result=0; 5'b01000:result=a+(a&!b); 5'b01001:result=!(a&b); 5'b01010:result=!b; 5'b01011:result=(a|!b)+(a&!b); 5'b01100:result=a^b; 5'b01101:result=a-b+4'b1111; 5'b01110:result=a&(!(b+4'b1111)); 5'b01111:result=a&!b; 5'b10000:result=a+a&b; 5'b10001:result=(!a)|b; 5'b10010:result=a+b; 5'b10011:result=!(a^b); 5'b10100:result=(a|!b)+a&b; 5'b10101:result=b; 5'b10110:result=a&b+4'b1111; 5'b10111:result=a&b; 5'b11000:result=a+a; 5'b11001:result=1; 5'b11010:result=(a|b)+a; 5'b11011:result=(a|!b); 5'b11100:result=(a|!b)+a; 5'b11101:result=(a|b); 5'b11110:result=a+4'b1111; 5'b11111:result=a; default:result=4'b0000; //默认状况,给result赋值为0 endcaseendassignf=result;//将中间变量result的值赋给f//片和片之间的超前进位assigng0=a[0]&b[0];//g函数是a和b的和assigng1=a[1]&b[1];assigng2=a[2]&b[0];assigng3=a[3]&b[0];assignp0=a[0]^b[0];//p函数是a和b的异或assignp1=a[1]^b[1];assignp2=a[2]^b[2];assignp3=a[3]^b[3];assignc4=g3|(g2&p3)|(g1&p2&p3)|(g0&p0&p1&p2)|(cn&p0&p1&p2&p3);//g3+p3g2+p3p2g1+p3p2p1g0+p3p2p1p0cnassignp=p0&p1&p2&p3;assigng=g3+g2&p3+g1&p2&p3+g0&p1&p2&p3;assignaeqb=(a==b)?1'b1:1'b0;endmodule4.编译并仿真得出结果。仿真结果如下图:五、试验思索。ALU的功能是什么,它在整机系统中的地位如何?答:ALU是多功能算数逻辑运算单元,不仅能进行多种算术运算和逻辑运算,如和、或、非、异或循环、移位、求补、清零、加、减、乘、除等,而且具有先行进位逻辑,从而能实现高速运算。ALU是CPU的核心部分,也是CPU的重要组成部分。一台计算机最主要的功能就是指向运算的功能,而ALU恰恰具有这样的功能,可以说多功能运算时据算计的灵魂,没有运算,计算机将不会具有如此强大的功能。ALU是典型的组合逻辑,为什么在P157的实现中要加入时钟信号,其目的是什么?答:处于整机同步的须要,这样可以保证ALU产生的结果能够适时的送到总线,以便数据进行正确的读写。74181ALU内部加法运算用的是超前进位算法吗?答:是。74181的设计在内部的实现是通过超前进位,而后又利用了p函数和g函数实现了片和片之间的超前进位功能。4位之间采纳先行进位公式,每一位的进位公式可递推如下:G=AandBP=AxorBc1 =g0+p0c0c2 =g1+p1c1 =g1+p1(g0+p0c0) =g1+p1g0+p1p0c0c3 =g2+p2c2 =g2+p2(g1+p1g0+p1p0c0) =g2+p2g1+p2p1g0+p2p1p0c0c4 =g3+p3c3=g3+p3(g2+p2g1+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年安全员A证考试试题试卷(含答案)
- 2026年秦皇岛职业技术学院高职单招职业适应性测试备考题库有答案解析
- 2026年咸阳职业技术学院单招综合素质笔试参考题库带答案解析
- 2026年辽宁民族师范高等专科学校单招综合素质笔试备考试题带答案解析
- 2026年肇庆医学高等专科学校高职单招职业适应性测试参考题库有答案解析
- 2026年湘西民族职业技术学院单招综合素质笔试参考题库带答案解析
- 内墙瓷粉施工方案(3篇)
- 黄砂泥施工方案(3篇)
- 浠水节日活动策划方案(3篇)
- 长岛展览活动策划方案(3篇)
- 医院人事科述职报告
- 八年级上册古诗词+古诗词阅读训练(练习)解析版-2026年中考语文一轮复习之古诗文
- 2025至2030年中国方解石粉行业发展监测及投资战略规划报告
- 山东公交车公司管理制度
- 商品粮奖励资金管理办法
- 乡土叙事现代性反思-洞察及研究
- 产品复称管理制度
- 《常见性病防治知识》课件
- 浙江省公路工程监理用表-监理抽检记录2025
- 中国工艺美术试题及答案
- 2025年湖南化工职业技术学院单招职业技能考试题库含答案
评论
0/150
提交评论