计算机组成与组装虚拟实验报告,计算机组成与结构实验报告现实版.doc

计算机组织与结构

课程实验报告

姓名:

学号:

班级:

指导教师:

实验一:算术逻辑运算单元ALU设计实验

实验内容

算术逻辑运算单元ALU设计实验

实验原理

算术逻辑单元ALU的数据通路如下所示。其中ALU181根据74LS181的功能用VHDL硬件描述语言编辑而成,构成8位字长的ALU。参加运算的两个八位数据分别为A[7..0]和B[7..0]。运算模式由S[3..0]的16种组合决定,而S[3..0]的值由4位二进制计数器LPM_COUNTER产生,计数时钟是Sclk;此外,设M=0,选择算术运算,M=1位逻辑运算,CN为低位的进位位;F[7..0]为输出结果;C0为运算后的输出进位位。两个8位数据由总线IN[7..0]分别通过两个电平锁存器74373锁入。

实验任务

(1)按原理图所示,在此验证性示例中用A0_B1(键3)产生锁存信号,将IN[7..0]的8位数据进入对应的8位数据锁存器中;即首先使A0_B1(键3)=0,用键2、键1分别向A[7..0]置55H),这时在数码管2/1上显示输入的数据(55H);然后用键3输入高电平1,再用键2、键1分别向B[7..0]置AAH),这时在数码管4/3上显示输入的数据(AAH);这时表示在图中的两个8位数据锁存器lpm_dff锁存器中分别被锁入了加数55H和被加数AAH。

(2)设定键8为低电平,即M=0(允许算术操作),键6控制时钟SCLK,可设置表4-1的S[3..0]=0 ~ F。现连续按动键6,设置操作方式选择S[3..0]=9(加法操作),使数码管8显示9,以验证ALU的算术运算功能:

当键7设置cn=0(最低位无进位)时,数码管7/6/5=0FF(55H+AAH=0FFH);

当键7设置cn=1(最低位有进位)时,数码管7/6/5=100(55H+AAH+1=100H);

(3)若设定键8为高电平,即M=1,键KEY6控制时钟SCLK,设置S[3..0]=0~F,KEY7设置cn=0或cn=1,验证ALU的逻辑运算功能,并记录实验数据。

F[7..0]

SW_B

寄存器内容

S3 S2 S1 S0

M

BUS

A[7..0]

B[7..0]10101010101010101010

(4) 验证ALU181的算术运算和逻辑运算功能,下表给定了寄存器DRl=A[7..0]和DR2=B[7..0]的数据(十六进制),要求根据此数据对照逻辑功能表所得的理论值(要求课前完成)与实验结果值进行比较(均采用正逻辑0)。

实验过程

1、设计ALU元件。在Quartus II 环境下,用文本输入编辑器Text Editor输入ALU181.VHD算术逻辑单元文件,编译VHDL文件,并将ALU181.VHD文件(例4-1)制作成一个可调用的原理图元件。

2、以原理图方式建立顶层文件工程。选择图形方式。根据图4-50输入实验电路图,从Quartus II的基本元件库中将各元件调入图形编辑窗口、连线,添加输入输出引脚。

将所设计的原理图图形文件ALU.bdf保存到原先建立的文件夹中,将当前文件设置成工程文件,以后的操作就都是对当前工程文件进行的。

3、器件选择。选择Cyclone系列,在Devices中选择器件EP1C6QC240C8。编译,引脚锁定,再编译。引脚锁定后需要再次进行编译,才能将锁定信息确定下来,同时生成芯片编程/配置所需要的各种文件。

4、芯片编程Programming(也可以直接选择光盘中的示例)。打开编程窗口。将配置文件ALU.sof下载进GW48系列现代计算机组成原理系统中的FPGA中。

5、选择实验系统的电路模式是NO.0,验证ALU的运算器的算术运算和逻辑运算功能。根据表4-1,用按键输入数据A[7..0]和B[7..0],并设置S[3..0]、M、CN,验证ALU运算器的算术运算和逻辑运算功能,记录实验数据。

仿真波形图及分析

1、对输入进行仿真,如下图所示,分别对IN[7..0]进行赋值,同时设定计数器的值。

2、对输出结果进行仿真,0~500ns时CN设为0,可看出的值为0FFH,500~1000ns时CN的值设为1,可看出F的值为100H。

实验结果

1、按照实验任务(1)、(2)的要求,验证了ALU的算术运算功能

2、 A[7..0],B[7..0]设置值检查如下

F[7..0]

SW_B

寄存器内容

S3 S2 S1 S0

M

BUS

A[7..0]

B[7..0]

10000000010101010

1001

101010101 1010

1

3、ALU实验数据表

S3 S2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值