1、计算机科学与技术学院计算机组成原理实验报告书实验名称八位补码加/减法器的设计与实现班 级学 号姓 名指导教师日 期成 绩实验1八位补码加加/减法器的设计与实现一、实验目的1.掌握算术逻辑运算单元(ALU)的工作原理。2.熟悉简单运算器的数据传送通路。3.掌握8位补码加/减法运算器的设计方法。4.掌握运算器电路的仿真测试方法二、实验任务1设计一个8位补码加/减法运算器(1)参考图1,在QUARTUS II里输入原理图,设计一个8位补码加/减法运算器。(2)创建波形文件,对该8位补码加/减法运算器进行功能仿真测试。(3)测试通过后,封装成一个芯片。2设计8位运算器通路电路参考下图,利用实验任务1设
2、计的8位补码加/减法运算器芯片建立运算器通路。3利用仿真波形,测试数据通路的正确性.设定各控制信号的状态,完成下列操作,要求记录各控制信号的值及时序关系。(1)在输入数据IN7IN0上输入数据后,开启输入缓冲三态门,检查总线BUS7BUS0上的值与IN0IN7端输入的数据是否一致。(2)给DR1存入55H,检查数据是否存入,请说明检查方法。(3)给DR2存入AAH,检查数据是否存入,请说明检查方法。(4)完成加法运算,求55H+AAH,检查运算结果是否正确,请说明检查方法。(5)完成减法运算,分别求55H-AAH和AAH55H,检查运算结果是否正确,请说明检查方法。(6)求12H+34H56H
3、,将结果存入寄存器R0,检查运算结果是否正确,同时检查数据是否存入,请说明检查方法。三、实验要求(1) 做好实验预习,掌握运算器的数据传送通路和ALU的功能特性。(2) 实验完毕,写出实验报告,内容如下: 实验目的。 实验电路图。 按实验任务3的要求,填写下表,以记录各控制信号的值及时序关系。表中的序号表示各控制信号之间的时序关系。要求一个控制任务填一张表,并可用文字对有关内容进行说明。序号nsw-busnR0BUSLDR0LDR1LDR2mnalubusIN7IN0BUS7BUS0仿真波形及仿真结果的分析方法、分析过程和分析结果。实验体会与小结.四、实验预习内容1.实验电路设计原理及思路说明
4、本实验利用基本逻辑门电路设计一位全加器(FA),如表1:表1 一位全加器(FA)电路的输入输出信号说明信号名称说明输入信号Ai加数Bi加数Ci低位输入的进位输出信号Si和Cj运算产生的进位然后以此基础上实现八位补码加/减法器的设计,考虑到实现所需既可以实现加法又可以实现减法,所以使用了一个M输入来进行方式控制加减。2.实验电路原理图实验参考电路如下图所示,下图(a)是1位全加器的电路原理图,图(b)是由1位全加器采用行波进位方法设计的多位补码加/减法运算器.图1 多位补码加/减法运算器原理图图2 8位运算器通路原理图3. 实验电路功能说明表2 一位全加器(FA)功能表输入输出CiBiAiSiC
5、j0000000110010100110110010101011100111111表3 M与Bi异或关系原理图MBiM异或Bi000011101110当M为0时,Bi与M值无关,当M为1时,Bi取反。也就是当M为0时,执行加法运算,反之进行减法运算.FA实现Ai与(Bi异或M)的加法运算,再加上Ci输出Si表4 图4功能端口解析接口解析输入A7。08位信号输入(加/被减数)B7。.08位信号输入(加/减数)M控制信号(0加,1减)输出S7.。0输出8位计算结果OVER溢出信号(0不溢出,1溢出)表5 图3功能端口解析接口解析输入IN7。08位信号输入nsw-bus控制输入信号(0有效,1无效)
6、nalubus控制输入信号(0有效,1无效)nR0-BUS控制输入信号(0有效,1无效)LDR0时钟信号,上升沿有效LDR1时钟信号,上升沿有效LDR2时钟信号,上升沿有效m溢出信号(0不溢出,1溢出)输出BUS7。08位信号输出注:1.74244b的AGN和BGN接口与74374b的OEN接口都是低电平有效,nsw-bus,nalubus和nR0BUS控制器件的输入,当输入0时,输入有效,否则无效2.74273b的CLK接口为上升沿有效,当LDR的时钟处于上升沿,即01变化时,输入有效4.器件的选型本实验用到以下基本逻辑器件:异或门,一位加法器FA,7486等表6 一位全加器(FA)电路所用
7、主要器件清单名称说明AND2二输入与门XOR2异或门OR2或门INPUT信号输入端子OUTPUT信号输出端子表 7 8位补码加/减法运算器器件清单XOR2二输入异或门FA一位加法器(自选器件)INPUT信号输入端子OUTPUT信号输出端子表8 8位运算器通路电路INPUT信号输入端子OUTPUT信号输出端子8位补码加/减法运算器计算元件(自选器件)74273b数据缓存元件74244b数据缓存元件5. 实验方法与实验步骤等本实验利用EDA工具软件(Quartus II 2.0或以上版本)完成,实验分为:原理图的录入与编辑、仿真波形的设计及仿真结果的分析这3个步骤。具体为:(1)原理图的录入与编译
8、在EDA工具软件(Quartus II 2.0或以上版本)中,采用原理图的录入的方法,绘制电路原理图.绘制完成存盘后进行编译.编译通过后,可以进行步骤(2)的操作。如果编译不通过,则检查原理图,改正错误后,重新存盘并编译。这一过程重复进行,直至原理图编译通过.(2)仿真波形的设计根据电路的功能,设定输入信号的初值后,利用EDA工具软件(Quartus II 2。0或以上版本)的波形仿真功能,验证电路的正确性。根据8位补码加/减法运算器的功能要求,选定8组输入信号的初值,如下表所示:表9 一位全加器(FA)电路仿真波形输入信号初值序号CiBiAi1000200130104011510061017
9、1108111表10 8位补码加/减法运算器仿真波形输入信号初值序号A(十进制)B(十进制)M(01信号)S(二进制)溢出1020000010100024020000111100038020001100100041202001000110015101010000000006501010010100007801010100011008110101011001000(3)仿真结果的分析在EDA工具软件(Quartus II 2.0或以上版本)中,新建仿真波形文件,按表所示的输入信号的初值进行设定后,进行仿真.阅读仿真波形,对照电路功能,进行分析并给出结论.五、实验电路图根据电路原理图,实验时在Qu
10、artus II 2.0环境里绘制的实验电路如下图所示。图3 一位全加器(FA)图4 8位补码加/减法运算器图5 8位运算器通路电路六、 仿真调试的过程、仿真结果的分析和仿真测试的结论在Quartus II 2.0中新建仿真波形文件,如下图6示。图6 一位全加器(FA)仿真结果分析图所示的仿真波形,可得到下表所示的实验结果。表11 一位全加器(FA)电路仿真实验结果输入输出周期时间CiBiAiSiCj10-800ns000002800ns1.6s0011031.6s -2.4s0101042。4s -3.2s0110153。2s -4.0s1001064.0s 4.8s1010174.8s 5
11、。6s1100185.6s 6。4s11111将表9与表11相对照,可知一位全加器FA正确。在Quartus II 2。0中新建仿真波形文件,如下图7所示。图7 8位补码加/减法运算器仿真结果分析图所示的仿真波形,可得到下表所示的实验结果表12 八位补码加/减法器电路仿真实验结果输入输出周期时间ABMSOVER105ns02000001010002510ns4020000111100031015ns8020001100100041520ns12020010001100152025ns1010100000000062530ns5010101000110073035ns80101011001000
12、83540ns110101000001000表记录的实验结果与上面计算数据中要求的值一致。经分析比较可知,本次实验设计的电路实现了八位补码加/减法器的功能。8位运算器通路电路(1)首先对建立好的通路进行仿真波形图测试,测试结果如图8所示。并检查数据是否一致图8 8位运算器通路电路仿真结果检查图8,可知输入IN与输出BUS一致,数据一致(2)给DR1存入55H,检查数据是否存入,请说明检查方法。检查方法:在DR1中存入55H,同时在DR2中存入00H,检测总线输出的数即为存入的数据,波形图如下图9:图9表13 时序关系图序号nsw-busnR0-busLDR0LDR1LDR2ControlNal
13、u-BusIN7.。0BUS7。0100上升沿000155H55H2100上升沿00100HZZH300上升沿000100H00H41000上升沿0155HZZH5100000055H55H(3)给DR2存入AAH,检查数据是否存入,请说明检查方法.和检测DR1相同,如图10图10表14时序关系图序号nsw-busnR0busLDR0LDR1LDR2ControlNaluBusIN7。0BUS7。0100上升沿000100H00H2100上升沿00100HZZH300上升沿0001AAHAAH41000上升沿01AAHZZH51000000AAHAAH(4)完成加法运算,求55H+AAH,检查
14、运算结果是否正确,请说明检查方法。波形图如下:图11表15 时序关系图序号nswbusnR0-busLDR0LDR1LDR2ControlNalu-BusIN7。0BUS7.0100上升沿000155H00H2100上升沿00100H00H300上升沿000100H00H41000上升沿01AAH00H5100000000HFFH(5)完成减法运算,分别求55HAAH和AAH55H,检查运算结果是否正确,请说明检查方法.55HAAH波形图如下:表16 时序关系图序号nsw-busnR0-busLDR0LDR1LDR2ControlNaluBusIN7。0BUS7.。0100上升沿001155H
15、00H2100上升沿01100H00H300上升沿001100H00H41000上升沿11AAH00H5100001000HABHAAH55H波形图如下:表17时序关系图序号nswbusnR0busLDR0LDR1LDR2ControlNalu-BusIN7.0BUS7.。0100上升沿001155H00H2100上升沿01100H00H300上升沿001100H00H41000上升沿11AAH00H5100001000H55H(6)求12H+34H56H,将结果存入寄存器R0,检查运算结果是否正确,同时检查数据是否存入,请说明检查方法。计算结果:12H+34H-56H波形图如下:表18-时序
16、关系图序号nswbusnR0-busLDR0LDR1LDR2ControlNaluBusIN7.。0BUS7.。0100上升沿000012H12H2100上升沿00000HZZH300上升沿000034H34H41000上升沿0000HZZH510上升沿000000H46H61000上升沿0100HZZH700上升沿000156H56H8100上升沿00100HZZH9100000100HF0H七、 实验体会与小结通过这次运算器的计算机组成原理实验,我对QUARTUS2软件的使用更加得心应手,学会在这之上用门电路搭建和组合原理图并实现封装调用等等。在实验中,我遇到很多问题,例如,在绘制电路图后,由于工程文件的存储地址错误,导致编译失败之类的问题。并且,我一开始没有使用总线输入,导致输入有19个端,大大加重了工作量。除此之外,我学会了把缓存器,寄存器,ALU合理的串接成为8位运算器通路。在这之中,时序的波形设计对我来说有一定的难度,每个时钟周期里,各个部件的工作状态都不相同,必须仔细分析每个部件状态才能熟练设计。最后,在老师的教导下,我终于完成了本次实验。通过本次实验,我对计算机组成原理这门课有了更加深刻的理解。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。