- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一 算术逻辑单元ALU
一.实验目的
理解算术逻辑单元ALU的工作原理。
掌握算术逻辑单元ALU的设计方法。
验证32位算术逻辑单元ALU的加、减、与、移位功能。
按给定数据,完成几种指定的算术和逻辑运算。
二.实验内容
算术逻辑单元ALU的设计如图1-1所示。其中运算器addsub32能实现32位的加减运算。参加运算的两个32位数据分别为A[31..0]和B[31..0],运算模式由aluc[3..0]的16种组合决定,而aluc[3..0]的值由4位2进制计数器LPM_COUNTER产生,计数时钟是Sclk(图1-1);r[31..0]为输出结果,Z为运算后的零标志位。ALU功能如表1-1所示。
表1-1 ALU的运算功能
选择端alucALU功能
3 2 1 0* 0 0 0* 0 0 1* 0 1 0* 1 0 0 * 1 0 1* 1 1 00 0 1 10 1 1 11 1 1 1注1、* 表示每一位都移至下一更高有效位, “+”是逻辑或,“加”是算术加
三.实验步骤
(1)设计ALU元件
在Quartus II 环境下,用文本输入编辑器Text Editor输入ALU.V算术逻辑单元文件,编译Verilog HDL文件,并将ALU.V文件制作成一个可调用的原理图元件。
(2)以原理图方式建立顶层文件工程
选择图形方式。根据图1-1输入实验电路图,从Quartus II的基本元件库中将各元件调入图形编辑窗口、连线,添加输入输出引脚。
将所设计的图形文件ALU_sy.bdf保存到原先建立的文件夹中,将当前文件设置成工程文件,以后的操作就都是对当前工程文件进行的。
(3)器件选择
选择Cyclone系列,在Devices中选择器件EP1C12QC240C8。编译,引脚锁定,再编译。引脚锁定后需要再次进行编译,才能将锁定信息确定下来,同时生成芯片编程/配置所需要的各种文件。
(4)芯片编程Programming(可以直接选择光盘中的示例已完成的设计进行验证实验)
打开编程窗口。将配置文件ALU_sy.sof下载进GW48系列现代计算机组成原理系统中的FPGA中。
(5)选择实验系统的电路模式是NO.0,验证ALU的运算器的算术运算和逻辑运算功能
根据表1-1,从键盘输入数据A[7..0]和B[7..0],并设置S[3..0]、M、Cy,验证ALU运算器的算术运算和逻辑运算功能,记录??验数据。
图1-1 算术逻辑单元ALU实验原理图
四.实验任务
(1)按图1-1所示,在本验证性示例中用数据选择开关(键3控制)的高/低电平选择总线通道上的8位数据进入对应的数据锁存器lpm_latch中;即首先将键3输入高电平,用键2、键1分别向DA[7..0] 置55H),这时在数码管4/3上显示输入的数据(55H);然后用键3输入低电平,再用键2、键1分别向DB[7..0]置AAH),这时在数码管2/1上显示输入的数据(AAH);这时表示在图1-1中的两个锁存器中分别被锁入了加数55H和被加数AAH。可双击图1-1的ALU元件,了解其Verilog HDL描述。
(2)键6控制时钟SCLK,可设置表1-1的aluc[3..0]=0 ~ F。现连续按动键6,设置操作方式选择aluc[3..0]=0000(加法操作),使数码管8显示0,以验证ALU的算术运算功能: 当键7设置clr=0时,数码管6/5=FF(55H+AAH=FFH);
当键7设置cn=1(复位)时,数码管7/6/5=100(Z=1);
键KEY6控制时钟SCLK,设置aluc[3..0]=0~F,KEY7设置clr=0或clr=1,验证ALU的逻辑运算功能,并记录实验数据。
表1-2 DA[7..0],DB[7..0]设置值检查
R[7..0]Z寄存器内容ALUC3 2 1 0CLRDA[7..0]DB[7..0]10101010101010101010
(3) 验证ALU的算术运算和逻辑运算功能,ALU模块功能可参照表1-1。
表1-3给定了寄存器DRl=DA[7..0]和DR2=DB[7..0]的数据(十六进制),要求根据此数据对照逻辑功能表所得的理论值(要求课前完成)与实验结果值进行比较(均采用正逻辑0)。
表1-3
ALUC3 2 1 0DA[7..0]DB[7..0]ALU功能运算结果R[7..0](CLR=0)0000AA550001AA550010AA
文档评论(0)