运算器组成实验_第1页
运算器组成实验_第2页
运算器组成实验_第3页
运算器组成实验_第4页
运算器组成实验_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验二运算器组成实验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、图2-1);此外,设M=0,选择算术运算,M=1为逻辑运算,Cn为低位的进位位;F7.0为输出结果,Co为运算后的输出进位位。两个8位数据由总线IN7.0分别通过两个电平锁存器74373锁入,ALU功能如表2-1所示。表2-1ALU181的运算功能选择端高电平作用数据S3S2S1S0M=HM=L算术操作逻辑功能Cn=L(无进位)Cn=H(有进位)0000F=AF=AF=人加10001F=A+BF=A+BF=(A+B)加10010f=AbF=A+BF=A+B+10011F=0F=减1(2的补码)F=00100F=ABF=A力口ABF=A力口AB加10101F=BF=(A+B)加aBF=(A+B)

3、加a1B+10110F=A©BF=人减8F=人减8减10111F=ABF=A+BF=(A+B)减11000F=A+BF=A力口ABF=人加人8力口11001F=ABF=A力口BFfA加B加11010F=BF=(A+B)力口ABF=(A+Z)加AB力口11011F=ABF=ABF=ABM11100F=1F=人加人F=A加A加11101F=A+BF=(A+B)加AF=(A+B)力口A力口11110F=A+BF=(A+B)力口AF=(A+B)加A加11111F=AF=AF=八减1注1、*表示每一位都移至下一更高有效位,“+”是逻辑或,“加”是算术加注2、在借位减法表达上,表2-1与标准的7

4、4181的真值表略有不同。三.实验步骤(1)设计ALU元件在QuartusII环境下,用文本输入编辑器TextEditor输入ALU181.VHD算术逻辑单元文件,编译VHDL文件,并将ALU181.VHD文件制作成一个可调用的原理图元件。(2)以原理图方式建立顶层文件工程选择图形方式。根据图2-1输入实验电路图,从QuartusII的基本元件库中将各元件调入图形编辑窗口、连线,添加输入输出引脚。将所设计的图形文件ALU.bdf保存到原先建立的文件夹中,将当前文件设置成工程文件,以后的操作就都是对当前工程文件进行的。(3)器件选择选才iCyclone系列,在Devices中选择器件EP1C6Q

5、C240Gs编译,引脚锁定,再编译。引脚锁定后需要再次进行编译,才能将锁定信息确定下来,同时生成芯片编程/配置所需要的各种文件。(4)芯片编程Programming(可以直接选择光盘中的示例已完成的设计进行验证实验)打开编程窗口。将配置文件ALU.sof下载进GW48系列现代计算机组成原理系统中的FPGA中。(5)选择实验系统的电路模式是NO.0,验证ALU的运算器的算术运算和逻辑运算功能根据表2-1,从键盘输入数据A7.0和B7.0,并设置S3.0、M、Cy,验证ALU运算器的算术运算和逻辑运算功能,记录实验数据。LPMCdUNTTERNOOSclcnp.jo74373b月7.JOD-等E?

6、肛ALU1S1BT7.mOCTALLATCHESM即与CNOCTALLATCHESIIIJIUIIJII74373bOENIG06NDIS-11GiIHRw4COS3.0IM7.0l-KEY2.KEY1AO_B1KEYSSCLKiKEY65KEY?M-KEY8Al7.-0J-iED2,LED1日卜工印4,LED3F7.J0-LffiB.LEDSCN4LED7S3.OLaB辛N河r产书.F7.'.d*THHZ3>CN4图2-1算术逻辑单元ALU实验原理图四.实验任务(1)按图2-1所示,在本验证性示例中用数据选择开关(键3控制)的高/低电平选择总线通道上的8位数据进入对应白7437

7、3中;即首先将键3输入高电平,用键2、键1分别向A7.0置数01010101(55H),这时在数码管4/3上显示输入的数据(55H);然后用键3输入低电平,再用键2、键1分别向B7.0置数10101010(AAH),这时在数码管2/1上显示输入的数据(AAH);这时表示在图2-1中的两个74373锁存器中分别被锁入了加数55H和被加数AAH。可双击图2-1的ALU181元件,了解其VHDL描述。(2)设定键8为低电平,即M=0(允许算术操作),键6控制时钟SCLK可设置表2-1的S3.0=0F。现连续按动键6,设置操作方式选择S3.0=9(加法操作),使数码管8显示9,以验证ALU的算术运算功

8、能:当键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的逻辑运算功能,并记录实验数据。表2-2A7.0,B7.0设置值检查F7.0SW_B寄存器内容S3S2S1S0MBUSA7.0B7.0010101011010101010010101011010101010(4)验证ALU181的算术运算和逻辑运算功能,ALU181模块功能可参照表2

9、-1。表2-3给定了寄存器DRl=A7.0和DR2=B7.0的数据(十六进制),要求根据此数据对照逻辑功能表所得的理论值(要求课前完成)与实验结果值进行比较(均采用正逻辑0)。(4)表2-4列出了8种常用的算术与逻辑运算要求指定的操作内容,正确选择运算器数据通路、控制参数S3、S2、S1、S0、M,并将实验结果值填入括号内,表中给定原始数据DR1=A7.0和DR2=B7.0,以后的数据取自前面运算的结果。表2-3S3S2S1S0A7.0B7.0算术运算M=0逻辑运算(M=1)cn=0(无进位)cn=1(有进位)0000AA55F=()F=()F=()0001AA55F=()F=()F=()00

10、10AA55F=()F=()F=()0011AA55F=()F=()F=()0100FF01F=()F=()F=()0101FF01F=()F=()F=()0110FF01F=()F=()F=()0111FF01F=()F=()F=()1000FFFFF=()F=()F=()1001FFFFF=()F=()F=()1010FFFFF=()F=()F=()1011FFFFF=()F=()F=()11005501F=()F=()F=()11015501F=()F=()F=()11105501F=()F=()F=()11115501F=()F=()F=()表2-48种常用的算术与逻辑运算操作S3S2

11、S1S0MCnDR1DR2运算关系及结果显示Cn4逻辑乘66FFDRi.DR2-DR2()传送DR1-DR2()按位加DRi©DR2fDR2()取反DR1-DR2()加1DR2+1-DR?()求负DR2+1-DR2()加法DR1+DR2-DRz()减法DR1DR2-DR2()五.实验要求1、做好实验预习,掌握运算器的数据传送通路和ALU的功能特性,并熟悉本实验中所用的控制台开关的作用和使用方法。2、写出实验报告,内容是:实验目的;按理论分析值填写好表2-2、表2-3和表2-4,给出对应的仿真波形。列表比较实验数据(2)的理论分析值与实验结果值;并对结果进行分析。实验结果与理论分析值比

12、较,有没有不同?为什么?通过本实验,你对运算器ALU有何认识,有什么心得体会?六.实验题与思考题1 .用VHDL实现输入暂存器74373B的功能,及模式选择计数器LPM_COUNTER的功能。3 .用VHDL表达整个ALU实验电路的功能,对电路进行仿真、引脚锁定、并在实验台上实现其功能。4 .用VHDL设计一个简化的8位alu,具有基本算术运算(加、减、带进位加、减)功能和逻辑运算(与AND、或OR、异或XOR、非NOT等)功能,给出仿真波形,并在实验台上实现。5 .用VHDL设计一个16位的ALU,实现基本的算术逻辑运算,为了节省逻辑资源,建议使用两个8位ALU模块级联而成。6 .对ALU1

13、81进行算术运算和逻辑运算的功能仿真,并记录仿真波形。2 .带进位算术运算实验一.实验目的1、验证带进位控制的算术运算功能发生器的功能。2、按指定数据完成几种指定的算术运算。二.实验原理在实3处(1)的基础上增加进位控制电路,将运算器ALU181的进位位送入D锁存器,由T4和CN控制其写入,在此,T4是由键5产生的脉冲信号,这时,CN的功能是电平控制信号(高电平时,CN有效),控制是否允许将进位信号co加入下一加法周期的最低进位位,从而可实现带进位控制运算。74373bQ|6.T|HLU181MQpB.l>A|7.JDIM7.0|OCTALLATCHESADBl力修_#14q七4月N图2

14、-2A带进位控制的ALUAJ7.0LED2ILE&1Bf7.O-«-LEDl.LffiSF17即.4JED6LED5CO-LED7S|3.0-LED8型丁|GOCTALLATCHES"74373b,。找43cQj'IN7.01-KEY2.KEY1A0JB1-IKEV314-KEYSSCLK一唯YGCn-KEY7M-KEYS-TO-咨T闻T一-晒1fiIT.(1)根据电路图2-2A和波形图B,首先使键5(T4)和键7(CN)=0;键8(M)和键3(A0_B1)=1;连续按键6,使产生9个脉冲,这时数码管8显示9(作加法运算);再用键2,键1输入加数9DH(数码

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

16、5AF8H=?最后按照下表完成实验,记录实验数据,给出对应仿真波形图。表2-5S3S2S1S0A7.0B7.0算术运算M=0逻辑运算(M=1)cn=0(无进位)cn=1(有进位)0101FF01F=()1=()F=()0110FF01F=()rf=()F=()0111FF01F=()F=()F=()1000FFFFF=()F=()F=()1001FFFFF=()|f=()F=()1010FFFFF=()rF=()F=()四.实验要求1、做好实验预习,掌握带进位控制的算术运算功能发生器的功能特性。2、写出实验报告,内容是:实验目的;按理论分析值填写表2-5。列表比较实验数据的理论分析值与实验结果

17、值;并对结果进行分析。实验结果与理论分析值比较,有没有不同?为什么?五.附加实验题和思考题1 .带进位运算与不带进位运算有何区别?2 .如何实现带进位运算,将上一次运算的进位位用于下一次的运算当中,并实现多个8位数据的(如两个24位数据的加法)运算?在控制电路上应作怎样的改动?给出24位加法详细的仿真波形图。3 .移位运算器实验一.实验目的1 .验证移位控制的组合功能。二.实验原理1、移位运算实验原理图如图2-3所示。移位运算器SHEFT使用VHDL语言编写,其输入/输出端分别与键盘/显示器LED连接。移位运算器是时序电路,在时钟信号到来时状态产生变化,CLK为其时钟脉冲。由So、S1、M控制

18、移位运算的功能状态,具有数据装入、数据保持、循环右移、带进位循环右移,循环左移、带进位循环左移等功能。移位运算器的具体功能见表2-7所示:2 .电路连接、输入数据的按键、输出显示数码管的定义如图2-3右上角所示。CLK时钟脉冲,通过键5产生01;M工作模式,M=1时带进位循环移位,由键8控制;C0允许带进位移位输入,由键7控制;S移位模式03,由键6控制,显示在数码管LED8上;D7.0移位数据输入,由键(2和1)控制,显示在数码管(2和1)上;QB7.0移位数据输出,显示在数码管(6和5)上;CN移位数据输出进位,显示在数码管(7)上;三.实验步骤(1)实验台选择模式0、下载(Configure)到实验台;示例工程文件是1SHEFT.bdf,(2)键入待移位数据。通过键盘键1、键2向D7.0置数01101011(6BH,显示在数码管2和1)。(3)将D7.0装入移位运算器QB7.0。键6设置(S1,S0)=3,键8设置M=0,(S&M=6,允许加载待移位数据,显示于数码8);此时用键5产生CLK(0-1-0),将数据装入(加载进移位寄存器,显示在数码管6和5)。(4)对输入数据进行移位运算。再用键6设置为(S1,S0)=2(S&M=4,显示于数码8,允

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论