嵌入式运算器实验报告_第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-1);此外,设

2、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

3、加11 1 1 1注1、* 表示每一位都移至下一更高有效位, “+”是逻辑或,“加”是算术加注2、在借位减法表达上,表2-1与标准的74181的真值表略有不同。三实验步骤(1)设计ALU元件在Quartus II 环境下,用文本输入编辑器Text Editor输入ALU181.VHD算术逻辑单元文件,编译VHDL文件,并将ALU181.VHD文件制作成一个可调用的原理图元件。(2)以原理图方式建立顶层文件工程选择图形方式。根据图2-1输入实验电路图,从Quartus II的基本元件库中将各元件调入图形编辑窗口、连线,添加输入输出引脚。将所设计的图形文件ALU.bdf保存到原先建立的文件夹中,将

4、当前文件设置成工程文件,以后的操作就都是对当前工程文件进行的。根据表2-1,从键盘输入数据A7.0和B7.0,并设置S3.0、M、Cy,验证ALU运算器的算术运算和逻辑运算功能,记录实验数据。四实验任务(1)按图2-1所示,在本验证性示例中用数据选择开关(键3控制)的高/低电平选择总线通道上的8位数据进入对应的74373中;即首先将键3输入高电平,用键2、键1分别向A7.0 置数01010101(55H),这时在数码管4/3上显示输入的数据(55H);然后用键3输入低电平,再用键2、键1分别向B7.0置数10101010(AAH),这时在数码管2/1上显示输入的数据(AAH);这时表示在图2-

5、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=0

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

7、A7.0,B7.0设置值检查F7.0SW_B寄存器内容S3 S2 S1 S0MBUSA7.0B7.001010101010 000000101111111101010101010000100表2-3S3 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=( 00 ) F=( 00 ) 0100FF0

8、1F=( FD ) F=( FE ) F=( FE ) 0101FF01F=( FD ) F=( FD ) F=( FE ) 0110FF01F=( FE ) F=( FD ) F=( FE ) 0111FF01F=( FF ) F=( FE ) F=( FE ) 1000FFFFF=( FE ) F=( FF ) F=( FF ) 1001FFFFF=( FE ) F=( FE ) F=( FF ) 1010FFFFF=( FE ) F=( FF ) F=( FF ) 1011FFFFF=( FF ) F=( FE ) F=( FF ) 11005501F=( FF ) F=( 00 ) F

9、=( 01 ) 11015501F=( AA ) F=( AB ) F=( FF ) 11105501F=( 54 ) F=( 55 ) F=( 55 ) 11115501F=( 55 ) F=( 54 ) F=( 55 ) 表2-48种常用的算术与逻辑运算操作S3 S2S1S0MCnDR1DR2运算关系及结果显示Cn4逻辑乘10111066FFDR1 DR2DR2( 66 )0传送11111066FFDR1 DR2 ( 66 )0按位加01101066FFDR1DR2DR2( 99 )0取反00001066FFDR2 ( 99 )0加100111066FFDR2 + 1DR2 ( 00 )1

10、求负01011066FF+ 1 DR2( 01 )1加法11101066FFDR1 + DR2DR2( FF )0减法11011066FFDR1 DR2DR2( 99 )1六、实验原理图七、实验仿真波形图(1)M=L,CN=L图为M为低电平,CN为低电平时的波形图,此时无进位。SCLK为时钟脉冲。IN为输入,在A0-B1产生的锁存信号的作用下,分别存入A和B。A=AA,B=55,验证ALU的算术操作功能。当S=0000时,F=A=AA;当S=0001时,F=A+B=AA+55=FF;当S=0010时,F=A+B反=AA+AA=AA;根据表2-1,可以得出16个模式,F的值均正确。CN4为运算后

11、的输出进位位。(2)M=H图为M为高电平,此时CN可以为任意电平。SCLK为时钟脉冲。IN为输入,在A0-B1产生的锁存信号的作用下,分别存入A和B。A=AA,B=55,验证ALU的逻辑操作功能。当S=0000时,F=A反=55;当S=0001时,F=(A+B)反=(AA+55)反=FF反=00;当S=0010时,F=A反与B=55与AA=55;根据表2-1,可以得出16个模式,F的值均正确。CN4为运算后的输出进位位。2带进位算术运算实验一实验目的1、验证带进位控制的算术运算功能发生器的功能。 2、按指定数据完成几种指定的算术运算。二实验原理在实验(1)的基础上增加进位控制电路,将运算器AL

12、U181的进位位送入D锁存器,由T4和CN控制其写入,在此,T4是由键5产生的脉冲信号,这时,CN的功能是电平控制信号(高电平时,CN有效),控制是否允许将进位信号co加入下一加法周期的最低进位位,从而可实现带进位控制运算。三表2-5表2-5S3 S2 S1 S0A7.0B7.0算术运算 M=0逻辑运算(M=1)cn=0(无进位)cn=1(有进位)0101FF01F=( FD ) F=( FD ) F=( FE ) 0110FF01F=( FE ) F=( FD ) F=( FE ) 0111FF01F=( FF ) F=( FE ) F=( FE ) 1000FFFFF=( FE ) F=(

13、 FF ) F=( FF ) 1001FFFFF=( FE ) F=( FF ) F=( FF ) 1010FFFFF=( FE ) F=( FF ) F=( FF ) 四、实验原理图五、实验仿真波形图(1)M=L,CN=L图为M为低电平,CN为低电平时的波形图,此时无进位。SCLK为时钟脉冲。IN为输入,在A0-B1产生的锁存信号的作用下,分别存入A和B。A=A3,B=57,验证ALU的验证带进位控制的算术运算功能发生器的功能。当S=0000时,F=A=A3;当S=0001时,F=A+B=A3+57=F7;当S=0010时,F=A+B反=A3+A8=AB;根据表2-1,可以得出16个模式,F

14、的值均正确。(2)M=L,CN=H图为M为低电平,CN为高电平时的波形图,此时有进位。SCLK为时钟脉冲。IN为输入,在A0-B1产生的锁存信号的作用下,分别存入A和B。A=A3,B=57,验证ALU的验证带进位控制的算术运算功能发生器的功能。当S=0000时,F=A+1=A3;当S=0001时,F=A+B+1=A3+57+1=F7;当S=0010时,F=A+B反+1=A3+A8+1=AB;根据表2-1,可以得出16个模式,F的值均正确。(3)M=H图为M为高电平,此时CN可以为任意电平。SCLK为时钟脉冲。IN为输入,在A0-B1产生的锁存信号的作用下,分别存入A和B。A=A3,B=57,验

15、证ALU的逻辑操作功能。当S=0000时,F=A反=5C;当S=0001时,F=(A+B)反=(A3+57)反=F7反=58;当S=0010时,F=A反与B=5C与57=54;根据表2-1,可以得出16个模式,F的值均正确。3. 移位运算器实验一实验目的1. 验证移位控制的组合功能。二实验原理1、移位运算实验原理图如图2-3所示。移位运算器SHEFT使用VHDL语言编写,其输入/输出端分别与键盘/显示器LED连接。移位运算器是时序电路,在时钟信号到来时状态产生变化,CLK为其时钟脉冲。由S0、S1、M控制移位运算的功能状态,具有数据装入、数据保持、循环右移、带进位循环右移,循环左移、带进位循环

16、左移等功能。移位运算器的具体功能见表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)上;表2-7移位发生器的功能GS1S0M功 能000任意保持0100循环右移0101带进位循环右移0010循环左移0011带进位循环左移任意11任意加载待移位数三、实验原理图四、实验仿真

温馨提示

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

评论

0/150

提交评论