算数逻辑单元ALU.doc

上传人:xin****828 文档编号:6640372 上传时间:2020-03-01 格式:DOC 页数:5 大小:146KB
返回 下载 相关 举报
算数逻辑单元ALU.doc_第1页
第1页 / 共5页
算数逻辑单元ALU.doc_第2页
第2页 / 共5页
算数逻辑单元ALU.doc_第3页
第3页 / 共5页
点击查看更多>>
资源描述
湘潭大学实验报告课程名称: 计算机原理与组成 实验名称:_算数逻辑单元ALU_页数: 5 专业: 软件工程 班级: 一班 同组者姓名: 组别: 学号: 2015551331 姓名: 周佳倩 实验日期:_2016年10月13日一、实验目的1. 理解算术逻辑单元ALU的工作原理。2. 掌握算术逻辑单元ALU的设计方法。3. 验证32位算术逻辑单元ALU的加、减、与、移位功能。4. 按给定数据,完成几种指定的算术和逻辑运算。二、实验要求1. 做好实验预习,掌握运算器的数据传送通路和ALU的功能特性,并熟悉本实验中所用的控制台开关的作用和使用方法。2. 写出实验报告,内容是:1) 实验目的;2) 按理论分析值填写好表1-2、表1-3,给出对应的仿真波形。3) 列表比较实验数据(2)的理论分析值与实验结果值;并对结果进行分析。实验结果与理论分析值比较,有没有不同?为什么? 4) 通过本实验,你对运算器ALU有何认识,有什么心得体会?三、实验原理(1)设计ALU元件在Quartus II 环境下,用文本输入编辑器Text Editor输入ALU.V算术逻辑单元文件,编译Verilog HDL文件,并将ALU.V文件制作成一个可调用的原理图元件。(2)以原理图方式建立顶层文件工程选择图形方式。根据图1-1输入实验电路图,从Quartus II的基本元件库中将各元件调入图形编辑窗口、连线,添加输入输出引脚。将所设计的图形文件ALU_sy.bdf保存到原先建立的文件夹中,将当前文件设置成工程文件,以后的操作就都是对当前工程文件进行的。(3)器件选择选择Cyclone系列,在Devices中选择器件EP1C12QC240C8。编译,引脚锁定,再编译。引脚锁定后需要再次进行编译,才能将锁定信息确定下来,同时生成芯片编程/配置所需要的各种文件。(4)芯片编程Programming(可以直接选择光盘中的示例已完成的设计进行验证实验)打开编程窗口。将配置文件ALU_sy.sof下载进GW48系列现代计算机组成原理系统中的FPGA中。(5)选择实验系统的电路模式是NO.0,验证ALU的运算器的算术运算和逻辑运算功能.根据表1-1,从键盘输入数据A7.0和B7.0,并设置S3.0、M、Cy,验证ALU运算器的算术运算和逻辑运算功能,记录实验数据。图1-1 算术逻辑单元ALU实验原理图四、实验内容算术逻辑单元ALU的设计如图1-1所示。其中运算器addsub32能实现32位的加减运算。参加运算的两个32位数据分别为A31.0和B31.0,运算模式由aluc3.0的16种组合决定,而aluc3.0的值由4位2进制计数器LPM_COUNTER产生,计数时钟是Sclk(图1-1);r31.0为输出结果,Z为运算后的零标志位。ALU功能如表1-1所示。表1-1 ALU的运算功能选择端alucALU功能3 2 1 0* 0 0 0* 0 0 1* 0 1 0* 1 0 0* 1 0 1* 1 1 00 0 1 10 1 1 11 1 1 1注1、* 表示每一位都移至下一更高有效位, “+”是逻辑或,“加”是算术加五、实验环境与设备1. 实验软件:Quartus13.02. 实验器材:SOPC_EDA现代计算机组成原理系统 Cw48Cp+3. 实验操作系统:Microsoft windows XP六、实验代码设计(行符号说明)ALU原件设计代码:module alu(a,b,aluc,r,z);input 31:0 a,b; /输入两个32位数据input 3:0 aluc; /用16种组合表示9种运算模式output 31:0 r; /输出结果output z; /零标志位assign r=cal (a,b,aluc);assign z=|r; /把r的所有32位或起来再取反function 31:0 cal;input 31:0 a,b;input 3:0 aluc;casex (aluc)4bx000:cal=a+b; /做加法4bx100:cal=a-b; /做减法4bx001:cal=a&b; /做与运算4bx101:cal=a|b; /做或运算4bx010:cal=ab; /做按位与运算4bx110:cal=b15:0,16h0; /逻辑左移16位4bx011:cal=ba4:0; /逻辑右移4.0位4b1111:cal=$signed(b)a4:0; /算数右移4.0位endcaseendfunctionendmodule将8位输入扩展成32位:module ext8to32(a,s); input 7:0 a; output 31:0 s; assign s=4a; /把a扩展为32位endmodule七、实验检验与测试仿真波形:八、测试数据验证ALU的逻辑运算功能,ALU模块功能可参照表1-1,并记录实验数据。表1-2 DA7.0,DB7.0设置值检查R7.0Z寄存器内容ALUC3 2 1 0CLRDA7.0DB7.000101010101101010101010表1-3给定了寄存器DRl=DA7.0和DR2=DB7.0的数据(十六进制)根据此数据对照逻辑功能表所得的理论值(要求课前完成)与实验结果值进行比较(均采用正逻辑0)表1-3ALUC3210DA7.0DB7.0ALU功能运算结果R7.0(CLR=0)0 0 0 0A A5 5加法F F0 0 0 1A A5 5按位与0 00 0 1 0A A5 5异或F F0 0 1 1A A5 5逻辑左移4.0位0 00 1 0 0F F0 1减法F F0 1 0 1F F0 1逻辑或F F0 1 1 0F F0 1逻辑左移16位0 00 1 1 1F F0 1逻辑右移4.0位0 01 0 0 0F FF F加法F E1 0 0 1F FF F按位与F F1 0 1 0F FF F异或0 01 0 1 1F FF F无0 01 1 0 05 50 1减法5 41 1 0 15 50 1逻辑或5 51 1 1 05 50 1逻辑左移16位0 01 1 1 15 50 1算数右移4.0位0 8九、实验过程中出现的问题及处理情况(包括实验现象、原因分析、排除故障方法等)1. 编写的代码编译不成功,出错原因是语法错误,没注意符号格式。2. 电路图编译时出错,原因是线路为连接到位。3. 在仿真过程中,有几条输出波形图出现错误,没有波形是直线,原因是画电路图时,线路连接错误。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 临时分类 > 人文社科


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!