74181ALU设计说明

上传人:桔**** 文档编号:464672602 上传时间:2023-02-25 格式:DOCX 页数:12 大小:181.08KB
返回 下载 相关 举报
74181ALU设计说明_第1页
第1页 / 共12页
74181ALU设计说明_第2页
第2页 / 共12页
74181ALU设计说明_第3页
第3页 / 共12页
74181ALU设计说明_第4页
第4页 / 共12页
74181ALU设计说明_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《74181ALU设计说明》由会员分享,可在线阅读,更多相关《74181ALU设计说明(12页珍藏版)》请在金锄头文库上搜索。

1、算术逻辑单元 ALU的设计班 级:计科1201班学 号:1208030113姓 名:何志强设计日期:2014-11-20西安科技大学计算机科学与技术学院1 .实验题目算数逻辑单元 ALU的设计2 .实验目的设计一个简单的算数逻辑单元,并用 Verilog实现,得到仿真波形。3 .实验设备安装有 modelsim 和Quartus2的PC机一台4 .实验原理算术逻辑单元ALU集成了各种算术运算和逻辑运算部件的功能,包括加、减、乘、除等数值运算、逻辑运算、移位运算等。把这些功能集成在一个逻辑部件ALU之中,使得ALU具有算术运算和逻辑运算功能。这种设计方法可以使得功能比较紧凑,简化对逻辑运算部件和

2、算术运算部件的使 用。同时还能最大限度的复用某些逻辑部件,从而减少逻 辑电路的使用。设计ALU首先要对各种算数逻辑运算进行编码。表 1为本文 设计的处理器实用的 ALU功能编码表。.专业资料.表1 ALU功能编码表指令类型CONTROL4.0功能编号逻辑指令00000A AND B000001A OR B100010A NOR B200011A XOR B3加减运算指令00100A减B,有符号400101A口 B,有符号500110A减B,无符号600111A口 B,无符号7比较指令01000AB,无符号比较801001AB,有符号比较9加载指令01010把B的低16B加载到B的高1附上,低1

3、6B置零10移位指令01011E逻辑右移AB1101100E逻辑左移AB1201101B算术右移AB13首0、1计数指令01110Xe照1计数1401111XAf 0计数15乘法指令10000A乘B,无符号乘1610001A乘B,有符号乘17乘加减指令10010(HI,LO) - (HI,LO) + (rs * rt) UNSIGNED1810011(HI,LO) - (HI,LO) + (rs * rt) SIGNED1910100(HI,LO) - (HI,LO) - (rs * rt) UNSIGNED2010101(HI,LO) - (HI,LO) - (rs * rt) SIGNED

4、21除法指令10110(HI余数,LO商)-rs / rt,无符号除2210111(HI余数,LO商)-rs / rt,有符号除23算术逻辑单元ALU的实现.专业资料.算术逻辑单元 ALU的内部详细设计算术逻辑单元ALU的Verilog的实现module ALU181A(S,A,B,F,M,CN,CO,FZ);input3:0 S;input7:0 A,B;input M,CN;output7:0 F;output CO,FZ;wire7:0 F;wire CO;wire8:0 A9,B9;reg FZ;reg8:0 F9;assign A9=1b0,A;assign B9=1b0,B;alw

5、ays (M or CN or A9 or B9 or S) begincase(S)else4b0000: if(M=0) F9=A9+CN; else F9=A9;4b0001:if(M=0)F9=(A9|B9)+CN;F9=(A9)&B9;4b0010:if(M=0)F9=(A9|(B9)+CN;elseF9=A9;4b0011:if(M=0)F9=9b000000000;4b0100:if(M=0)F9=(A9&B9);4b0101:if(M=0)else F9=B9;4b0110:if(M=0)F9=A9AB9;4b0111:if(M=0)F9=A9&(B9);4b1000:if(M

6、=0)F9=(A9)+B9;4b1001:if(M=0)F9=(A9AB9);4b1010:if(M=0)else F9=B9;4b1011:if(M=0)F9=(A9&B9);4b1100:if(M=0)F9=9b000000001;F9=9b000000000-CN; elseF9=A9+(A9&B9)+CN;elseF9=(A9+B9)+(A9&B9)+CN);F9=A9-B9-CN;elseF9=A9+(B9)-CN;elseF9=A9+(A9&B9)+CN;elseF9=A9+B9+CN;elseF9=A9+(B9)+(A9&B9)+CN;F9=(A9&B9)+CN;elseF9=A

7、9+A9+CN;else4b1101:if(M=0)F9=(A9+B9)+A9+CN;elseF9=A9+(B9);4b1110:if(M=0)F9=A9+(B9)+A9+CN;elseF9=A9+B9;4b1111: if(M=0) F9=A9-CN; else F9=A9;default: F9 = - - QTi(E&s&3ttCQlsRte出&ttmi3iwpa 附 Ti.在这个实验中,我以74181ALU为设计实例,用 verilog 实现,在测试时使用的变量值分别为:a=8b00001101;b=8b01001001;s=4b1001;m=0;cn=0;a,b的值采用了多组进行测试,基本实现了 74181ALU的所有功.专业资料.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号