算数逻辑单元ALU

算数逻辑单元ALU

ID:46826138

大小:108.52 KB

页数:5页

时间:2019-11-28

算数逻辑单元ALU_第1页
算数逻辑单元ALU_第2页
算数逻辑单元ALU_第3页
算数逻辑单元ALU_第4页
算数逻辑单元ALU_第5页
资源描述:

《算数逻辑单元ALU》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、湘潭大学实验报告课程名称:计算机原理与组成实验名称:_算数逻辑单元ALU_页数:5专业:软件工程班级:一班同组者姓名:组别:学号:2015551331姓名:周佳倩实验日期:_2016年10月13日一、实验目的1.理解算术逻辑单元ALU的工作原理。2.掌握算术逻辑单元ALU的设计方法。3.验证32位算术逻辑单元ALU的加、减、与、移位功能。4.按给定数据,完成几种指定的算术和逻辑运算。二、实验要求1.做好实验预习,掌握运算器的数据传送通路和ALU的功能特性,并熟悉本实验中所用的控制台开关的作用和使用方法。2.写出实验报告,内容是:1)实验目的;2)按

2、理论分析值填写好表1-2、表1-3,给出对应的仿真波形。3)列表比较实验数据(2)的理论分析值与实验结果值;并对结果进行分析。实验结果与理论分析值比较,有没有不同?为什么?4)通过本实验,你对运算器ALU有何认识,有什么心得体会?三、实验原理(1)设计ALU元件在QuartusII环境下,用文本输入编辑器TextEditor输入ALU.V算术逻辑单元文件,编译VerilogHDL文件,并将ALU.V文件制作成一个可调用的原理图元件。(2)以原理图方式建立顶层文件工程选择图形方式。根据图1-1输入实验电路图,从QuartusII的基本元件库中将各元件

3、调入图形编辑窗口、连线,添加输入输出引脚。将所设计的图形文件ALU_sy.bdf保存到原先建立的文件夹中,将当前文件设置成工程文件,以后的操作就都是对当前工程文件进行的。(3)器件选择选择Cyclone系列,在Devices中选择器件EP1C12QC240C8。编译,引脚锁定,再编译。引脚锁定后需要再次进行编译,才能将锁定信息确定下来,同时生成芯片编程/配置所需要的各种文件。(4)芯片编程Programming(可以直接选择光盘中的示例已完成的设计进行验证实验)打开编程窗口。将配置文件ALU_sy.sof下载进GW48系列现代计算机组成原理系统中的

4、FPGA中。(5)选择实验系统的电路模式是NO.0,验证ALU的运算器的算术运算和逻辑运算功能.根据表1-1,从键盘输入数据A[7..0]和B[7..0],并设置S[3..0]、M、Cy,验证ALU运算器的算术运算和逻辑运算功能,记录实验数据。图1-1算术逻辑单元ALU实验原理图四、实验内容算术逻辑单元ALU的设计如图1-1所示。其中运算器addsub32能实现32位的加减运算。参加运算的两个32位数据分别为A[31..0]和B[31..0],运算模式由aluc[3..0]的16种组合决定,而aluc[3..0]的值由4位2进制计数器LPM_COU

5、NTER产生,计数时钟是Sclk(图1-1);r[31..0]为输出结果,Z为运算后的零标志位。ALU功能如表1-1所示。表1-1ALU的运算功能选择端alucALU功能3210*000*001*010*100*101*110001101111111注1、*表示每一位都移至下一更高有效位,“+”是逻辑或,“加”是算术加五、实验环境与设备1.实验软件:Quartus13.02.实验器材:SOPC_EDA现代计算机组成原理系统Cw48Cp++3.实验操作系统:MicrosoftwindowsXP六、实验代码设计(行符号说明)ALU原件设计代码:modu

6、lealu(a,b,aluc,r,z);input[31:0]a,b;//输入两个32位数据input[3:0]aluc;//用16种组合表示9种运算模式output[31:0]r;//输出结果outputz;//零标志位assignr=cal(a,b,aluc);assignz=~

7、r;//把r的所有32位或起来再取反function[31:0]cal;input[31:0]a,b;input[3:0]aluc;casex(aluc)4'bx000:cal=a+b;//做加法4'bx100:cal=a-b;//做减法4'bx001:cal=a&b

8、;//做与运算4'bx101:cal=a

9、b;//做或运算4'bx010:cal=a^b;//做按位与运算4'bx110:cal={b[15:0],16'h0};//逻辑左移16位4'bx011:cal=b<>a[4:0];//逻辑右移[4..0]位4'b1111:cal=$signed(b)>>>a[4:0];//算数右移[4..0]位endcaseendfunctionendmodule将8位输入扩展成32位:moduleext8to32(a,s);input[7:0]a;o

10、utput[31:0]s;assigns={4{a}};//把a扩展为32位endmodule七、实验检验与测试仿真波形:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。