计算机组成原理实验报告

上传人:txadgkn****dgknqu... 文档编号:59462978 上传时间:2022-03-03 格式:DOC 页数:16 大小:660.50KB
返回 下载 相关 举报
计算机组成原理实验报告_第1页
第1页 / 共16页
计算机组成原理实验报告_第2页
第2页 / 共16页
计算机组成原理实验报告_第3页
第3页 / 共16页
点击查看更多>>
资源描述
精选优质文档-倾情为你奉上计算机组织与体系结构实 验 报 告评 语:成绩教 师: 年 月 日班 级: _学 号: _姓 名: _实验地点: E-区 311 _实验时间: 第三批 实验一 存储器实验1FPGA中LPM_ROM定制与读出实验一实验目的1、掌握FPGA中lpm_ROM的设置,作为只读存储器ROM的工作特性和配置方法。2、用文本编辑器编辑mif文件配置ROM,学习将程序代码以mif格式文件加载于lpm_ROM中;3、在初始化存储器编辑窗口编辑mif文件配置ROM;4、验证FPGA中mega_lpm_ROM的功能。二实验原理ALTERA的FPGA中有许多可调用的LPM (Library Parameterized Modules)参数化的模块库,可构成如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输入时钟脉冲;q23.0lpm_ROM的24位数据输出端;a5.0lpm_ROM的6位读出地址。实验中主要应掌握以下三方面的内容: lpm_ROM的参数设置; lpm_ROM中数据的写入,即LPM_FILE初始化文件的编写; lpm_ROM的实际应用,在GW48_CP+实验台上的调试方法。三实验步骤(1)用图形编辑,进入mega_lpm元件库,调用lpm_rom元件,设置地址总线宽度address和数据总线宽度q,分别为6位和24位,并添加输入输出引脚,如图3-1-1设置和连接。(2)设置图3-1-1为工程。(3)在设置lpm_rom数据参数选择项lpm_file的对应窗口中(图3-1-2),用键盘输入lpm_ROM配置文件的路径(rom_a.mif),然后设置在系统ROM/RAM读写允许,以便能对FPGA中的ROM在系统读写。(4) 用初始化存储器编辑窗口编辑lpm_ROM配置文件(文件名.mif)。这里预先给出后面将要用到的微程序文件:rom_a.mif 。rom_a.mif中的数据是微指令码(图3-1-3)。(5)全程编译。(6)下载SOF文件至FPGA,改变lpm_ROM的地址a5.0,外加读脉冲,通过实验台上的数码管比较读出的数据是否与初始化数据(rom_a.mif中的数据)一致。图3-1-1 lpm_ROM的结构图图3-1-2 设置在系统ROM/RAM读写允许四、实验结果 通过电路板1,2键的输入和模式键的选择进行操作验证 实验二 运算器实验1算术逻辑运算实验一实验目的1. 了解简单运算器的数据传输通路。2. 验证运算功能发生器的组合功能。3. 掌握算术逻辑运算加、减、与的工作原理。4. 验证实验台运算的8位加、减、与、直通功能。5. 按给定数据,完成几种指定的算术和逻辑运算。二实验内容1实验原理算术逻辑单元ALU的数据通路如图2-1所示。其中运算器ALU181根据74LS181的功能用VHDL硬件描述语言编辑而成,构成8位字长的ALU。参加运算的两个8位数据分别为A7.0和B7.0,运算模式由S3.0的16种组合决定,而S3.0的值由4位2进制计数器LPM_COUNTER产生,计数时钟是Sclk(图2-1);此外,设M=0,选择算术运算,M=1为逻辑运算,CN为低位的进位位;F7.0为输出结果,CO为运算后的输出进位位。两个8位数据由总线IN7.0分别通过两个电平锁存器74373锁入,ALU功能如表2-1所示。表2-1ALU181的运算功能选择端高电平作用数据S3 S2 S1 S0M=HM=L 算术操作逻辑功能Cn=L(无进位)Cn=H(有进位)0 0 0 00 0 0 1加10 0 1 0+10 0 1 1减1(2的补码)0 1 0 0加10 1 0 1加加+10 1 1 00 1 1 11 0 0 0加11 0 0 1加11 0 1 0加11 0 1 11 1 0 0*1 1 0 1加11 1 1 0加11 1 1 1注1、* 表示每一位都移至下一更高有效位, “+”是逻辑或,“加”是算术加注2、在借位减法表达上,表2-1与标准的74181的真值表略有不同。三实验步骤(1)设计ALU元件在Quartus II 环境下,用文本输入编辑器Text Editor输入ALU181.VHD算术逻辑单元文件,编译VHDL文件,并将ALU181.VHD文件制作成一个可调用的原理图元件。其中VHDL语言如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ALU181 IS PORT ( S : IN STD_LOGIC_VECTOR(3 DOWNTO 0 ); A : IN STD_LOGIC_VECTOR(7 DOWNTO 0); B : IN STD_LOGIC_VECTOR(7 DOWNTO 0); F : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); M : IN STD_LOGIC; CN : IN STD_LOGIC; CO : OUT STD_LOGIC );END ALU181;ARCHITECTURE behav OF ALU181 ISSIGNAL A9 : STD_LOGIC_VECTOR(8 DOWNTO 0);SIGNAL B9 : STD_LOGIC_VECTOR(8 DOWNTO 0);SIGNAL F9 : STD_LOGIC_VECTOR(8 DOWNTO 0);BEGIN A9 = 0 & A ; B9 IF M=0 THEN F9=A9 + CN ; ELSE F9 IF M=0 THEN F9=(A9 or B9) + CN ; ELSE F9 IF M=0 THEN F9=(A9 or (NOT B9)+ CN ; ELSE F9 IF M=0 THEN F9= - CN ; ELSE F9 IF M=0 THEN F9=A9+(A9 AND NOT B9)+ CN ; ELSE F9 IF M=0 THEN F9=(A9 or B9)+(A9 AND NOT B9)+CN ; ELSE F9 IF M=0 THEN F9=(A9 - B9) - CN ; ELSE F9 IF M=0 THEN F9=(A9 or (NOT B9) - CN ; ELSE F9 IF M=0 THEN F9=A9 + (A9 AND B9)+CN ; ELSE F9 IF M=0 THEN F9=A9 + B9 + CN ; ELSE F9 IF M=0 THEN F9=(A9 or(NOT B9)+(A9 AND B9)+CN ; ELSE F9 IF M=0 THEN F9=(A9 AND B9)- CN ; ELSE F9 IF M=0 THEN F9=(A9 + A9) + CN ; ELSE F9 IF M=0 THEN F9=(A9 or B9) + A9 + CN ; ELSE F9 IF M=0 THEN F9=(A9 or (NOT B9) +A9) + CN ; ELSE F9 IF M=0 THEN F9=A9 - CN ; ELSE F9 F9= ; END CASE; END PROCESS; F= F9(7 DOWNTO 0) ; CO = F9(8) ;END behav;(2)以原理图方式建立顶层文件工程选择图形方式。根据图2-1输入实验电路图,从Quartus II的基本元件库中将各元件调入图形编辑窗口、连线,添加输入输出引脚。将所设计的图形文件ALU.bdf保存到原先建立的文件夹中,将当前文件设置成工程文件,以后的操作就都是对当前工程文件进行的。(3)器件选择选择Cyclone系列,在Devices中选择器件EP1C6QC240C8。编译,引脚锁定,再编译。引脚锁定后需要再次进行编译,才能将锁定信息确定下来,同时生成芯片编程/配置所需要的各种文件。(4)芯片编程Programming(可以直接选择光盘中的示例已完成的设计进行验证实验)打开编程窗口。将配置文件ALU.sof下载进GW48系列现代计算机组成原理系统中的FPGA中。(5)选择实验系统的电路模式是NO.0,验证ALU的运算器的算术运算和逻辑运算功能根据表2-1,从键盘输入数据A7.0和B7.0,并设置S3.0、M、Cy,验证ALU运算器的算术运算和逻辑运算功能,记录实验数据。图2-1 算术逻辑单元ALU实验原理图四实验过程(1)按图2-1所示,在本验证性示例中用数据选择开关(键3控制)的高/低电平选择总线通道上的8位数据进入对应的74373中;即首先将键3输入高电平,用键2、键1分别向A7.0 置数(55H),这时在数码管4/3上显示输入的数据(55H);然后用键3输入低电平,再用键2、键1分别向B7.0置数(AAH),这时在数码管2/1上显示输入的数据(AAH);这时表示在图2-1中的两个74373锁存器中分别被锁入了加数55H和被加数AAH。可双击图2-1的ALU181元件,了解其VHDL描述。(2)设定键8为低电平,即M=0(允许算术操作),键6控制时钟SCLK,可设置表2-1的S3.0=0 F。现连续按动键6,设置操作方式选择S3.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,设置S3.0=0F,KEY7设置cn=0或cn=1,验证ALU的逻辑运算功能,并记录实验数据。 (4) 验证ALU181的算术运算和逻辑运算功能,ALU181模块功能可参照表2-1。五、实验结果表2-2S3 S2 S1 S0A7.0B7.0算术运算 M=0逻辑运算(M=1)cn=0(无进位)cn=1(有进位)0000AA55F=( AA ) F=( AB ) F=( 55 ) 0001AA55F=( FF ) F=( 00 ) F=( 00 ) 0010AA55F=( AA ) F=( AB ) F=( 55 ) 0011AA55F=( 00 ) F=( FF ) F=( 00 ) 0100FF01F=( FD ) F=( FE ) F=( FE ) 0101FF01F=( FD ) F=( FE ) F=( FE ) 0110FF01F=( FE ) F=( FD ) F=( FE ) 0111FF01F=( FF ) F=( FE ) F=( FE ) 1000FFFFF=( FE ) F=( FF ) F=( 00 ) 1001FFFFF=( FE ) F=( FF ) F=( FF ) 1010FFFFF=( FE) F=( FF ) F=( FF ) 1011FFFFF=( FF ) F=( FE ) F=( FF ) 11005501F=( AA ) F=( AB ) F=( 01 ) 11015501F=( AA ) F=( AB ) F=( FF ) 11105501F=( 54 ) F=( 55 ) F=( 55 ) 11115501F=( 55 ) F=( 54 ) F=( 55 ) 六、实验心得掌握了运算器的传输和计算方法。 实验三 时序与数据通路实验 节拍脉冲发生器时序电路实验 在计算机中,机器指令的执行一般分三个阶段:取指令、分析指令、执行指令。每一阶段的执行都需要耗费一定的时间。到目前为止,无论采用什么样的控制器结构(如流水、矩阵等),上述三个阶段都不能完全并行,总是有一定的执行顺序。如何控制这个顺序,安排各阶段的执行时间,决定何时那些部件动作等等,都由控制器中的时序电路部件来控制使其周而复始的、有条不紊的工作。这一单元实验内容就是设计控制器中的时序电路部件。一.实验目的 (1)掌握节拍脉冲发生器的设计方法和工作原理. (2)理解节拍脉冲发生器的工作原理.二.实验原理单步节拍发生电路图所示的单步运行电路。该电路每当RST1出现一个负脉冲后,仅输出一组T1、T2、T3、T4节拍信号,直到RST1出现下一个负脉冲,波形如图所示。示例工程文件是T5.bdf。硬件实验验证方法如图所示,下载T5.SOF 文件,选择实验模式1,Clock0接4Hz(选择范围是1Hz-50MH),键8控制RST1。每出现一个负脉冲,发光管1、2、3、4分别显示T1、T2、T3、T4的输出电平一次节拍脉冲发生器的工作原理图T1T4以及CLK1 ,RST1的工作波形如图,示例工程文件是T4.bdf.硬件实验验证方法如图4-1-1所示,选择实验模式1,Clock0接4Hz,键8控制RST1,高电平时可以看到,发光管1,2,3,4分别显示T1,T2,T3,T4的输出电平 实验四 微控制器实验 程序计数器PC与地址寄存器AR实验一.实验目的 1.掌握地址单元的工作原理. 2.掌握的两种工作方式,加1计数和重装计数器初值的实现方法. 3.掌握地址寄存器从程序计数器获得数据和从内部总线获得数据的实现方法.二.实验原理 地址单元主要有三部分组成:地址寄存器和多路开关. 程序计数器PC用以指出下一条指令在主存中的存放地址,CPU正是根据PC的内容去存取指令的.因程序中指令是顺序执行的,所以PC有自增的功能.在LDPC信号的作用下可以预置计数器的初值.当LDPC为高电平时,计数器装入data 端输入的数据.aclr是计数器的清0端,高电平有效(高电平清零);aclr为低电平时,允许计数器正常计数.程序计数器电路图地址寄存器AR(74273)锁存访问内存SRM的地址.273中的地址来自两个渠道.一是程序计数器PC的输出,通常是下一条指令的地址;二是来自于内部数据总线的数据,通常是被访问操作数的地址.为了实现对两路输入数据的切换,在FPGA的内部通过总线多路开关BUSMUX进行选择.LDAR与多路选择器的sel相连,当LDAR为低电平,选择程序计数器的输出;当LDAR为高电平时,选择内部数据总线的数据.程序计数器仿真波形三.实验步骤 1.按照图42-1程序计数器的原理图编辑,输入电路,实验台选择模式0.对输入原理图进行编译,引脚锁定,并下载到实验台.示例工程文件是PC_unit.bdf.硬件实验方法实验验证.实验说明:(1).下载pc_unit.sof;(2).用模式键选模式”0”,再按一次右侧的复位键;(3).用键2和键1可输入8位总线数据B7.0,CLR(键5)按2次(01-0),产生一正脉冲,高电平清零;LDAR(键6)=0时,BUSMUX输出程序计数器PC的值;LDAR=1时,BUSMUX输出B7.0总线数据.LDPC(键7):程序计数器PC预置控制端,当LDPC=1时,将B7.0总线数据装入程序计数器PC;当LDPC=0时,程序计数器PC处于计数激动工作状态,对T4进行计数;T4(键8):程序计数器PC的计数器PC的计数时钟CLK,键8按动两次产生一个计数脉冲.2.通过B7.0设置程序计数器的预加载数据.当LDPC=0时,观察程序计数器自动加1的功能;LDPC=1时,观察程序计数器加载输出情况.示例操作:1. 所有键置0,键2/1输入A5;按键5PC计数器清零(010);2. 连续按动键8次,可以从数码8/7上看到AR的输出,即PC值;3. 按键61,选通直接输出总线上的数据A5作为PC值,按键8,产生一个脉冲上升沿,即可看到AR(显示在数码8/7)的输出为A5;4. 使键6=0,仍选通PC计数器输出,这时键2/1输入86,按键7产生一个上升脉冲(010),即用LDPC将86加载进PC计数器;连续按动键8,可以发现AR的输出在86上累加输出:86、87、88等。四、实验结果 结果用电路板调试观测。五、实验心得本次试验掌握节拍脉冲发生器的设计方法和工作原理.理解节拍脉冲发生器的工作原理.掌握地址单元的工作原理及其两种工作方式,加1计数和重装计数器初值的实现方法.掌握地址寄存器从程序计数器获得数据和从内部总线获得数据的实现方法。实验五 总线控制器实验一实验目的1理解总线的概念及特性。 2掌握总线传输控制特性。二实验原理1总线的基本概念总线是多个系统部件之间进行数据传输的公共通路,是构成计算机系统的骨架。借助总线连接,计算机在系统各部件之间实现传送地址、数据和控制信息的操作。所谓总线就是指能为多个功能部件服务的一组公用信息线。数据输入开关地址寄存器AR存储器RAM数码管LED寄存器R0SW-BLDARCSW/RLED-BW/RR0-BLDR0总线图5-1 总线实验传输框图2实验原理实验所用总线实验传输框图如图5-1所示。它将几种不同的设备挂在总线上,有存储器、输入设备、输出设备、寄存器。这些设备在传统的系统中需要有三态输出控制,然而在FPGA的内部没有三态输出控制结构,因此必须采用总线输出多路开关结构加以控制。按照传输要求恰当有序地控制它们,就可以实现总线信息传输。三实验内容(1)实验电路如图5-2所示。与总线连接的基本部件有:输入设备input可输入8位数据、数据寄存器、双端口SRAM存储器容量为2568B、地址寄存器AR和输出寄存器out可接LED数码管 图5-2 总线控制实验线路图写使能WE=1允许写,WE=0禁止写,允许读;inclock为数据DATA锁存时钟。图5-4是总线控制的时序仿真波形图。图5-3 总线控制的时序仿真波形图1实验要求根据挂在总线上的几个基本部件,设计一个简单的流程。(1)输入设备将数据送入寄存器R0。(2)输入设备将另一个数据打入地址寄存器AR。(3)将寄存器R0中的数据写到当前地址的存储器中。(4)将当前地址的存储器中的数用数码管显示。2实验步骤(4)、工程文件是BUS-4.bdf,下载BUS-4.sof到实验台的FPGA中;(5)、实验内容1,根据图5-4完成实验操作:选择实验模式“0”;再按一次右侧的复位键(用一接线将实验板上键9的输入端插针与适配板上FPGA的第P196针相连,以便能用键9控制OUT锁存器的时钟;):初始状态;1、键4、键3控制设备选择端:sel1.0=00(键4/键3=00,);2、此时由键2/键1输入的数据(26H,显示于数码管2/1)直接进入BUS(数码管8/7显示),键5、6、7为低电平;3、键8=1(允许RAM写入)完成图5-4所示的操作:4、键5发正脉冲(0-1-0),将数据打入寄存器R0;5、键2/键1再输入数据(如37H);6、键6发正脉冲(0-1-0),将数据打入地址寄存器AR;7、键2/键1再输入数据(如48H);8、键7发正脉冲(0-1-0),将数据写入RAM(此时必须键8输出1,注意此时进入RAM的数据48H是放在地址37H单元的);9、键2/键1再输入数据(如59H);10、键9发正脉冲(0-1-0),将数据写入寄存器OUT(数码管6/5将显示此数);11、键4、键3分别选择sel1.0=00、01、10、11,从数码管8/7上观察被写入的各寄存器中的数据。(6)、实验内容2:先将数据28H写入RAM的地址(4AH),再将数据1BH送进R0,最后将刚才写入RAM中地址(4AH)的数据读出送到OUT口。依据总线电路图5-3,操作如下:1、用一接线将实验板上键9的输入端插针与适配板上FPGA的第P196针相连,以便能用键9控制OUT锁存器的时钟;键3、4、5、6、7、8都为低电平,使键4/键3=00,即总线多路选择器sel1.0=00,选择由键2/键1输入的数据4AH(地址),直接进入BUS; 2、按键6两次(0-1-0),产生一个正脉冲,将地址数据4AH(地址)锁入地址寄存器AR,如图5-3所示,此数据直接进入RAM的address端;3、按键2/键1,输入数据28H(数据),此时直接进入总线BUS,并进入RAM的data数据端;按键8=1(RAM写允许);按键7两次,将数28H写入RAM(地址为4AH),最后按键8=0,写禁止,读允许。4、由键2/键1输入的数据1BH,按键5两次(0-1-0),产生一个正脉冲,即此数写入R0寄存器。5、读RAM送到OUT:由键2/键1输入的数据4AH,按键5两次,使4AH进入AR;6、 按键7两次,RAM中4AH单元中的数据28H输出,再使键4/键3=10,即总线多路选择器sel1.0=10,此时RAM数据口的28H进入总线BUS(可从数码管8/7上看到);7、按键9一次(此键是单脉冲),RAM口的28H即被锁入输出口OUT寄存器,由数码管6/5显示。具体操作可参考图5-4。图5-4 总线数据传输练习操作步骤3、键盘/显示定义详细说明:1)键2、键1输入D7.0,输入的数据同时显示在数码2和数码3上。2)键4、键3输入控制设备选择端sel1.0,如图5-4所示,键4/键3控制总线多路选择器,选择不同设备的数据进入总线:sel1.0= 00:3)输入设备INPUT数据进入总线BUS;= 01:寄存器R0中的数据进入总线BUS;= 11:地址寄存器AR的数据进入总线BUS;= 10:存储器RAM的数据进入总线BUS;4)总线BUS上的输出数据显示在数码8和数码7上;5)键5控制寄存器R0的输入选通锁存端;6)键6控制地址寄存器AR输入选通锁存端;7)键7控制LPM_RAM数据DATA输入锁存端;8)键8控制LPM_RAM写入允许WE端,=1有效; 9)键9控制输出设备OUTPUT的输入选通端,输出数据显示在数码6和数码5上,要求首先用一接线将实验板上键9的输入端插针与适配板上FPGA的第P196针相连。四、实验结果 具体实验结果可在电路板上进行操作得到。五、实验心得对总线有了更深的理解,实际操作得到了很大的锻炼。 总的实验心得 通过实验,我熟练的掌握Quartus 软件的使用和在Quartus 上进行电路模拟和仿真,并且自己能动手设计简单的计算机的逻辑部件。虽然还有很多知识了解的少,但是我相信自己一定可以熟练掌握他们的。专心-专注-专业
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


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

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


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