组成原理实验指导

上传人:夏** 文档编号:487001774 上传时间:2023-01-29 格式:DOC 页数:8 大小:261.50KB
返回 下载 相关 举报
组成原理实验指导_第1页
第1页 / 共8页
组成原理实验指导_第2页
第2页 / 共8页
组成原理实验指导_第3页
第3页 / 共8页
组成原理实验指导_第4页
第4页 / 共8页
组成原理实验指导_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《组成原理实验指导》由会员分享,可在线阅读,更多相关《组成原理实验指导(8页珍藏版)》请在金锄头文库上搜索。

1、实验与设计实验4-1. 算术逻辑运算单元ALU设计实验参考实验示例和实验课件:/CMPUT_EXPMT/CH4_Expt/ DEMO_41_alu/ 和 实验4_1.ppt 。(1) 实验目的:1、了解运算器的数据传输通路;2、验证运算器的组合功能;3、掌握算术逻辑运算加、减工作原理;4、验证实验台运算的8位加、减、与、直通功能;5、按给定数据,完成几种指定的算术和逻辑运算。 (2) 实验原理:算术逻辑单元ALU的数据通路如图4-50所示。其中运算器ALU181根据74LS181的功能用VHDL硬件描述语言编辑而成(参考例4-1),构成8位字长的ALU。参加运算的两个8位数据分别为A7.0和B

2、7.0。运算模式由S3.0的16种组合决定,而S3.0的值由4位2进制计数器LPM_COUNTER产生,计数时钟是Sclk;此外,设M=0,选择算术运算,M=1为逻辑运算,CN为低位的进位位;F7.0为输出结果;CO为运算后的输出进位位。两个8位数据由总线IN7.0分别通过两个电平锁存器74373锁入,ALU181功能如表4-1所示。(3) 实验步骤:1、设计ALU元件。在Quartus II 环境下,用文本输入编辑器Text Editor输入ALU181.VHD算术逻辑单元文件,编译VHDL文件,并将ALU181.VHD文件(例4-1)制作成一个可调用的原理图元件。2、以原理图方式建立顶层文

3、件工程。选择图形方式。根据图4-50输入实验电路图,从Quartus II的基本元件库中将各元件调入图形编辑窗口、连线,添加输入输出引脚。将所设计的原理图图形文件ALU.bdf保存到原先建立的文件夹中,将当前文件设置成工程文件,以后的操作就都是对当前工程文件进行的。3、器件选择。选择Cyclone系列,在Devices中选择器件EP1C6QC240C8。编译,引脚锁定,再编译。引脚锁定后需要再次进行编译,才能将锁定信息确定下来,同时生成芯片编程/配置所需要的各种文件。4、芯片编程Programming(也可以直接选择光盘中的示例)。打开编程窗口。将配置文件ALU.sof下载进GW48系列现代计

4、算机组成原理系统中的FPGA中。5、选择实验系统的电路模式是NO.0,验证ALU的运算器的算术运算和逻辑运算功能。根据表4-1,用按键输入数据A7.0和B7.0,并设置S3.0、M、CN,验证ALU运算器的算术运算和逻辑运算功能,记录实验数据。(4) 实验任务:(1)按图4-50所示,在此验证性示例中用A0_B1(键3)产生锁存信号,将IN7.0的8位数据进入对应的8位数据锁存器中;即首先使A0_B1(键3)0,用键2、键1分别向A7.0置数01010101(55H),这时在数码管2/1上显示输入的数据(55H);然后用键3输入高电平1,再用键2、键1分别向B7.0置数10101010(AAH

5、),这时在数码管4/3上显示输入的数据(AAH);这时表示在图中的两个8位数据锁存器lpm_dff锁存器中分别被锁入了加数55H和被加数AAH。可双击图中的ALU181元件,了解其VHDL功能描述。(2)设定键8为低电平,即M=0(允许算术操作),键6控制时钟SCLK,可设置表4-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

6、)若设定键8为高电平,即M=1,键KEY6控制时钟SCLK,设置S3.0=0F,KEY7设置cn=0或cn=1,验证ALU的逻辑运算功能,并记录实验数据。图4-50 算术逻辑单元ALU实验原理图表4-3 A7.0,B7.0设置值检查F7.0SW_B寄存器内容S3 S2 S1 S0MBUSA7.0B7.0010101011010101010010101011010101010(4) 验证ALU181的算术运算和逻辑运算功能,ALU181模块功能可参照表4-1。表4-4给定了寄存器DRl=A7.0和DR2=B7.0的数据(十六进制),要求根据此数据对照逻辑功能表所得的理论值(要求课前完成)与实验结

7、果值进行比较(均采用正逻辑0)。表4-4 ALU实验数据表S3 S2 S1 S0A7.0B7.0算术运算 M=0逻辑运算(M=1)Cn=0(无进位)cn=1(有进位)0000AA55F=( 0AA ) F=( 0A6 ) F=(155 ) 0001AA55F=(0FF ) F=( 100 ) F=(100 ) 0010AA55F=(1AA ) F=( 1A6 ) F=(055 ) 0011AA55F=(000 ) F=( 1FF ) F=( 000 ) 0100FF01F=( ) F=() F=() . . . . . .省略0101FF01F=( ) F=( ) F=( ) 11015501

8、F=( ) F=( ) F=( ) 11105501F=( ) F=( ) F=( ) 11115501F=( ) F=( ) F=( ) (4) 表4-5列出了8种常用的算术与逻辑运算要求指定的操作内容,正确选择运算器数据通路、控制参数S3、S2、S1、S0、M,并将实验结果值填入括号内,表中给定原始数据DR1=A7.0和DR2=B7.0,以后的数据取自前面运算的结果。表4-58种常用的算术与逻辑运算操作S3S2S1S0MCnDR1DR2运算关系及结果显示Cn4逻辑乘66FFDR1DR2DR2( )传送DR1 DR2 ( )按位加DR1DR2DR2( )取反DR2 ( )加1DR2 + 1D

9、R2 ( )求负+ 1 DR2( )加法DR1 + DR2DR2( )减法DR1 DR2DR2( )(5) 实验任务:1、做好实验预习,掌握运算器的数据传送通路和ALU的功能特性,并熟悉本实验中所用的控制台开关的作用和使用方法。2、写出实验报告,内容是:实验目的;按理论分析值填写好表4-3、表4-4和表4-5,给出对应的仿真波形。列表比较实验数据,及理论分析值与实验结果值,并对结果进行分析。实验结果与理论分析值比较,有没有不同?为什么? 通过本实验,你对运算器ALU有何认识,有什么心得体会?(6) 实验题与思考题1用VHDL实现输入暂存器74373B的功能,及模式选择计数器LPM_COUNTE

10、R的功能。2用VHDL表达ALU实验电路的功能,对电路进行仿真、引脚锁定、并在实验台上实现其功能。3用VHDL设计一个简化的8位ALU,具有基本算术运算(加、减、带进位加、减)功能和逻辑运算(与AND、或OR、异或XOR、非NOT等)功能,给出仿真波形,并在实验台上实现。4用VHDL设计一个16位的ALU,实现基本的算术逻辑运算,为了节省逻辑资源,建议使用两个8位ALU模块级联而成。 5对ALU181进行算术运算和逻辑运算的时序仿真,并记录仿真波形。实验4-2. 带进位算术逻辑运算单元ALU设计实验参考实验示例和实验课件:/CMPUT_EXPMT/CH4_Expt/ DEMO_42_aluc/

11、 和 实验4_2.ppt 。(1) 实验目的:1、验证带进位控制的算术运算功能发生器的功能;2、按指定数据完成几种指定的算术运算。(2) 实验原理:在实验4-1的基础上增加进位控制电路,将运算器ALU181的进位位送入D锁存器,由T4和CN控制其写入,在此,T4是由键5产生的脉冲信号,这时,CN的功能是电平控制信号(高电平时,CN有效),控制是否允许将进位信号co加入下一加法周期的最低进位位,从而可实现带进位控制运算。(3) 实验步骤:1、根据电路图图4-51和波形图图4-52,首先使键5(控制T4)和键7(控制CN)=0;键8(控制M)和键3(控制A0_B1)=1;连续按键6,使产生9个脉冲

12、,这时数码管8显示9(作加法运算);再用键2,键1输入加数9DH(数码管4/3显示9D);2、按键3=0,再用键2,键1输入被加数E5H(数码管4、3、2、1分别显示加数和被加数);再将键8(M)置0,使ALU作算术运算,这时可以从数码管6,5上看到9DH+E5H=82H(低8位和);先将键7(CN)置为1(允许锁存ALU的进位),再用键5(T4)产生一个正脉冲,就能将进位锁入D触发器中:数码管7将显示1,表示加法有进位,并被锁;同时可以看到此进位被累加,使数码管6,5=83H。置键8=1,在实验系统上作逻辑运算方面的实验,给出相应的仿真波形图;利用带进位控制,控制T4,分别由低到高输入3个8

13、位加数和被加数,计算24位加法:7AC5E9 H+ BD5AF8H = ?最后按照表4-6完成实验,记录实验数据,给出对应仿真波形图。(4) 实验要求:1、做好实验预习,掌握带进位控制的算术运算功能发生器的功能特性;2、写出实验报告,内容是:实验目的;按理论分析值填写表6-6。列表比较实验数据的理论分析值与实验结果值;并对结果进行分析。实验结果与理论分析值比较,有没有不同?为什么? (5) 思考题:1带进位运算与不带进位运算有何区别?2如何实现带进位运算,将上一次运算的进位位用于下一次的运算当中,并实现多个8位数据的(如两个24位数据的加法)运算?在控制电路上应作怎样的改动?给出24位加法详细的仿真波形图。图4-51 带进位控制的ALU表4-6 带进位ALU实验数据表S3 S2 S1 S0A7.0B7.0算术运算 M=0逻辑运算(M=1)cn=0(无进位)cn=1(有进位)0101FF01F=( ) F=( ) F=( ) 0110FF01F=( ) F=( ) F=( ) 0111FF01F=( ) F=( ) F=( ) 1000FFFFF=( ) F=( ) F=( ) 1001FFFFF=( ) F=( ) F=(

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号