文档介绍:ALU运算器实验报告
ALU运算器实验报告
计算机组成与系统结构
算术逻辑部件实验报告
姓名:同组成员:指导老师:
实验时间:2012年3月28日
一、实验名称:算术逻辑部件的设计
二、实验设备:DE2-70仿真实验板
三、ALU运算器实验报告
ALU运算器实验报告
计算机组成与系统结构
算术逻辑部件实验报告
姓名:同组成员:指导老师:
实验时间:2012年3月28日
一、实验名称:算术逻辑部件的设计
二、实验设备:DE2-70仿真实验板
三、实验原理:输入为两个4位操作数A和B,其中,核心部件是能够进行加减运算的加法器,加法器的输出除了和、差的结果Add-Result以外,还有进位标志外,还有进位标志Add-carry、零标志Zero、溢出标志Add-Overflow和标志符号Add-Sign。在操作控制端ALUctr的控制下,在ALU中执行“加法”、“减法”、
“按位或”、“带符号整数比较小于置1”和“无符号数比较小于置1”等运算,Result作为ALU^算的结果被输出,同时,零标志Zero和溢出标志Overflow也被作为ALU的结果标志信息输出。ALU的操作由一个ALU操作控制信号生成部件产生的控制信号来控制,该控制信号逻辑的输入是ALUctr信号,,输出有4个控制信号:1、SUBctr用来控制ALU执行加法还是减法运算,当SUBctr=1时做减法,当SUBctr=0时做加法;2、OPctr用来控制选择哪种运算的结果作为Result的输出,因为11条目标指令中只有三种运算结果可能:加减,按位或和小于置1,所以OPctr需要两位;3、OVctr用来控制是否要进行溢出判断,当OVctr=1
时,需要判断溢出,此时,石结果发生溢出,则溢出标志Overflow
为1;当OVctr=0时,无须判断溢出,此时,即使结果发生溢出,溢
出标志Overflow也不为1;4、SIGctr信号控制ALU是执行“带符号
整数比较小于置于1”还是“无符号数比较小于置1”功能,当SIGctr=0,则执行“无符号数比较小于置1”,当SIGctr=1,则执行“带符号整数比较小于置1”。
四、实验结果:通过控制ALUctr、SUBctr、OVctr、SIGctr以及OPctr
等控制端来选择需要进行的操作,通过拨动开关来设置我所需要的操作数,通过二极管的发光情况来记录对操作数计算后得到的结果,然后将实际结果与预期结果相匹配,将所有的操作进行过后,比较后发现实际结果均与预期结果全部一致,实验验证成功。
五、Verilog源代码:
moduleALU(A,B,ALUctr,Zero,Overflow,Result);
parametern=4;
input[n-1:0]A,B;
input[2:0]ALUctr;
outputZero,Overflow;
output[n-1:0]Result;
wireSUBctr,OVctr,SIGctr,SignA,SignB,Cin;
wire[1:0]OPctr;
wire[n-1:0]X,Y,Z,Less,M,N,Add_Result;
wireAdd_Carry,Add_Overflow,Add_Sign;
assignM={n{1'b0}};
assi