计算机组织与结构上机实验M以及MX实验报告牛添识Word文档格式.doc
- 文档编号:14186804
- 上传时间:2022-10-19
- 格式:DOC
- 页数:35
- 大小:1.02MB
计算机组织与结构上机实验M以及MX实验报告牛添识Word文档格式.doc
《计算机组织与结构上机实验M以及MX实验报告牛添识Word文档格式.doc》由会员分享,可在线阅读,更多相关《计算机组织与结构上机实验M以及MX实验报告牛添识Word文档格式.doc(35页珍藏版)》请在冰豆网上搜索。
运算模式由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锁入。
选择端
高电平作用数据
S3S2S1S0
M=H
M=L算术操作
逻辑功能
Cn=H(无进位)
Cn=L(有进位)
0000
0001
加1
0010
0011
减1(2的补码)
0100
0101
加
0110
0111
1000
1001
1010
1011
1100
*
1101
1110
1111
ALU算术逻辑功能
三、实验任务
(1)按原理图所示,在此验证性示例中用A0_B1(键3)产生锁存信号,将IN[7..0]的8位数据进入对应的8位数据锁存器中;
即首先使A0_B1(键3)=0,用键2、键1分别向A[7..0]置数01010101(55H),这时在数码管2/1上显示输入的数据(55H);
然后用键3输入高电平1,再用键2、键1分别向B[7..0]置数10101010(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的逻辑运算功能,并记录实验数据。
(4)验证ALU181的算术运算和逻辑运算功能,下表给定了寄存器DRl=A[7..0]和DR2=B[7..0]的数据(十六进制),要求根据此数据对照逻辑功能表所得的理论值(要求课前完成)与实验结果值进行比较(均采用正逻辑0)。
四、实验过程
1、设计ALU元件。
在QuartusII环境下,用文本输入编辑器TextEditor输入ALU181.VHD算术逻辑单元文件,编译VHDL文件,并将ALU181.VHD文件(例4-1)制作成一个可调用的原理图元件。
2、以原理图方式建立顶层文件工程。
选择图形方式。
根据图4-50输入实验电路图,从QuartusII的基本元件库中将各元件调入图形编辑窗口、连线,添加输入输出引脚。
将所设计的原理图图形文件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、ALU实验数据表
A[7..0]
B[7..0]
算术运算M=0
逻辑运算(M=1)
cn=0(无进位)
cn=1(有进位)
0000
AA
55
F=(AA;
55)
F=(AB;
1AA)
0001
F=(FF;
FF)
F=(100;
100)
F=(00;
00)
0010
F=(154;
155)
F=(155;
156)
F=(55;
AA)
0011
F=(1FF;
F=(0;
1FF)
0100
FF
01
F=(1FD;
1FD)
F=(1FE;
1FE)
F=(FE;
0101
0110
FD)
F=(FD;
FE)
0111
F=(1FC;
1000
F=(101;
101)
F=(01;
1001
1010
1011
01)
1100
F=(1;
1101
F=(AC;
AB)
1110
F=(1A8;
54)
F=(1A9;
F=(56;
1111
F=(54;
表2 、5种常用的算术与逻辑运算
操作
S3S2S1S0
M
CN
DR1
DR2
运算关系及结果显示
CN4
逻辑乘
1
—
66
DR1.DR2→DR2(66)
传送
DR1→DR2(66)
按位加
DR1DR2→DR2(100)
取反
00
→DR2(99)
99
DR2+1→DR2(67)
实验二
LPM_ROM以及LPM_RAM实验
a)LPM_ROM
ALTERA的FPGA中有许多可调用的LPM(LibraryParameterizedModules)参数化的模块库,可构成如lpm_rom、lpm_ram_io、lpm_fifo、lpm_ram_dq的存储器结构。
CPU中的重要部件,如RAM、ROM可直接调用他们构成,因此在FPGA中利用嵌入式阵列块EAB可以构成各种结构的存储器,lpm_ROM是其中的一种。
lpm_ROM有5组信号:
地址信号address[]、数据信号q[]、时钟信号inclock、outclock、允许信号memenable,其参数都是可以设定的。
由于ROM是只读存储器,所以它的数据口是单向的输出端口,ROM中的数据是在对FPGA现场配置时,通过配置文件一起写入存储单元的。
图3-1-1中的lpm_ROM有3组信号:
inclk——输入时钟脉冲;
q[23..0]——lpm_ROM的24位数据输出端;
a[5..0]——lpm_ROM的6位读出地址。
如下图所示。
实验中主要应掌握以下三方面的内容:
⑴lpm_ROM的参数设置;
⑵lpm_ROM中数据的写入,即LPM_FILE初始化文件的编写;
⑶lpm_ROM的实际应用,在GW48_CP+实验台上的调试方法。
b)LPM_RAM
在FPGA中利用嵌入式阵列块EAB可以构成存储器,lpm_ram_dp的结构如下图所示。
R/W——读/写控制端,高电平时进行读操作,低电平时进行写操作;
CLK——读/写时钟脉冲;
DATA[7..0]——RAM-dp的8位数据输入端;
A[7..0]——RAM的读出和写入地址;
Q[7..0]——RAM-dp的8位数据输出端。
三、实验过程
1、LPM_ROM
1)在MAX_PLUSII环境下,用图形编辑GraphicEditer,进入max2lib\mega_lpm元件库,调用lpm_rom元件,设置地址总线宽度address[]和数据总线宽度q[],并添加输入、输出引脚。
(2)在设置lpm_rom数据参数选择项lpm_file的对应窗口中,用键盘输入lpm_ROM配置文件的路径。
(3)用初始化存储器编辑窗口编辑lpm_ROM配置文件(文件名.mif)。
原理图输入完成后,打开仿真器窗口Simulator,选择Initialize菜单中的InitializeMemory选项,并在此编辑窗口中完成ROM数据的编辑,然后按ExportFile键,将文件以mif后缀存盘。
2、LPM_RAM
(1)在MAXPLUSII环境下,按原理图输入电路图。
并进行编译、引脚锁定、FPGA配置。
(2)通过K1、K2输入RAM数据,K3、K4输入存储器的地址。
K5(R/W)——读/写控制端,高电平时进行读操作,低电平时进行写操作;
K6(CLK)产生读/写时钟脉冲。
向存储器中1号地址,2号地址中分别写入2个不同的数据,然后读出这2个数据,观察是否与写入的数据相同。
(3)在simulator窗口下,用InitializeMemory功能对lpm_ram_dp数据初始化设置,并完成第
(2)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组织 结构 上机 实验 以及 MX 报告 牛添识