ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:1.44MB ,
资源ID:3675038      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3675038.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(组成原理实验报告.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

组成原理实验报告.docx

1、组成原理实验报告 实验报告科目:计算机组成原理学院:计算机科学与技术实验一 Hamming码1.实验步骤(1)、先连接JTAG线和USB线,然后接实验箱电源线,最后才可以打开电源。(切记:不能带电插拔Jtag口,否则会损坏实验设备)(2)、安装ByteBlaster:Quartus tools programmer HardwareSetup(在打开programmer窗口的左上角或从Edit菜单 HardwareSetup亦可打开) 选Hardware Settings 点击Add Hardware Hardware type Altera ByteBlaster ok即可(若已安装,此步可

2、省);Mode选Jtag。(3)、打开Quartus tools programmer AddFile,将hamming.sof(在C盘的相应目录下)下载到FPGA中。注意进行programmer时,应在program/configure下的方框中打勾,然后下载。(4)、在实验台上通过模式开关选择FPGA独立调试模式010。2.观察实验和记录数据(1)输入的8位操作数对应开关SD15SD8,编码后的hamming码在灯A0A12上体现。(2)开关SA0是控制位,待校验的13位数据对应SD7SD0与SA5SA1。(3)比较的结果在灯R4R0上体现。如对8位数据10101100进行hamming编

3、码和校验。1、先手工计算校验位P5P1_10111_,编码后的hamming码为_1101001101011_。2、拨动开关SD15SD8输入10101100,观察灯A0A12_1101011001011_,看是否与自己手工计算的hamming码相符。3、输入待校验的13位数据,假设输入1111001101011。拨动开关SA0为1开始校验,拨动SD7SD0, SA5SA1。观察灯R4R0_11011_,也就是校验结果的值。4、比较编码后的hamming码和校验的hamming码,发现第_D7位数据错误,手工计算S_00000_,和3中观察到的R4R0是否相符。5、可以输入其他位错误的校验数据

4、观察结果值S是否正确。6、15做完后,重新输入新的8位数据做实验,并填写表。表1.1.4第1组数据第2组数据第3组数据8位数据1010 11001001 11010110 1011编码后(手工计算)1101001101011010*1011001010100A12A0(实验现象)1101001101011010*1011001010100输入的对比码1111100110101100001111010100011011110110R4R0(实验现象) 1110110011001100输入的对比码2111111000011111101001110101000000111111R4R0(实验现象)2

5、 1110001011101113.实验心得通过这次实验,我们对海明码和容错技术有了初步的了解,掌握了海明码的编码技术以及海明码的校验方法。对海明码的实现原理进行了更深的学习及理解,它通过在数据中加入几个校验位,将数据代码的码距比较均匀的拉大,并把数据的每一个二进制位分配在几个奇偶校验组中,当某一位出错后,就会引起有关的几个校验位的值发生变化,使得海明码成为较好的校验方法。对海明码有了全面的了解。实验二 乘法器1.实验步骤(1)如果未安装ByteBlaster,参照实验一的配置文件的安装。(2)连接JTAG和USB通信线,打开电源。(3)打开Quartus-tools-programmer,将

6、booth_multiplier.sof下载到FPGA中。注意进行programmer时,应在program/configure下的方框中打勾,然后下载。(4)在实验台上通过模式开关选择FPGA独立调试模式010。(5)将短路子DZ3短接且短路子DZ4断开,使FPGA-CPU所需要的时钟使用正单脉冲时钟。2.实验现象本实验实现4位数的Booth乘法(有符号数乘法)。 输入输出规则对应如下:1、输入的4位被乘数(multiplicand)md3md0对应开关SD11SD8。2、输入的4位乘数(multiplier)mr3mr0对应开关SD3SD0。3、按单脉冲按钮,输入脉冲,也即节拍。4、乘积p

7、roduct(8位)p7p0对应灯A8A1,辅助位A0。5、当计算结束时,final信号为1,对应灯R7。一共需要08九个小步骤计算出结果。本实验也是通过九个小步骤实现的,通过按单脉冲按钮输入脉冲,观察积寄存器的变化,掌握booth乘法器的原理。1、拨动开关SD11SD8输入4位被乘数(md3md0)0010,SD3SD0输入4位乘数(mr3mr0)1101。2、按动单脉冲按钮,输入脉冲,对照表2.5观察积寄存器即灯A8A0的变化情况,当灯R7亮时,说明计算结束,灯A8A1为最后相乘结果。进行新的乘法运算时,或者说当上一次运算结束即灯R7亮时,输入新的被乘数、乘数(拨动开关),然后按动单脉冲开

8、关即可观察正确的寄存器结果。重复步骤被乘数(md)积(p)被乘数是(-7)10乘数是(6)100初始值10010000 0110 011:10010000 0110 02: 10010000 0011 021:10010111 0011 02:10010011 1001 131:10010011 1001 12:10010001 1100 141:10011010 1100 12:10011101 0110 0重复步骤被乘数(md)积(p)被乘数是(-4)10乘数是(-5)100初始值11000000 1011 011:11000100 1011 02: 11000010 0101 121:1

9、1000010 0101 12:11000001 0010 131:11001101 0010 12:11001110 1001 041:11000010 1001 02:11000001 0100 13.实验心得在这次实验中,对booth算法进行了更深的学习和理解,并把它用在了实际应用中。对乘法器和booth乘法器的原理有了全面的学习研究以及实践。在实验中,因为最初对booth算法的不熟悉和不理解,造成了一些错误,最后在实验指导书的帮助下,成功完成了实验。总之,通过这次实验,我们学到了很多,对以后的学习很有帮助。4.思考题1、试述Booth乘法器的原理,即为什么可以用相邻两位的差来决定加减操

10、作。答:以前乘法器的第一步是根据乘数的最低位来决定是否将被乘数加到中间结果积,而Booth算法则是根据乘数的相邻2位来决定操作,第一步根据相邻2位的4种情况来进行加或减操作,第二步仍然是将积寄存器右移。实验三 时序部件实验1.实验步骤1、如果未安装(设置好)ByteBlaster,参照实验一的配置文件的安装。2、连接JTAG,并按下并口转接口的A按钮,打开电源。3、实验台上通过模式开关选择FPGA独立调试模式010。2.实验现象(一)输入输出规则1、主频对应A15(当为1时A15亮(大约1秒),当为0时A15灭),D触发器的输出对应A14,R-S触发器的输出对应A13;2、节拍信号T4T1对应

11、A7A4,节拍信号T4T1对应A3A0。根据维持阻塞的原理可知,在T1T4 的任何期间启动控制逻辑,只有在T1T4结束后,下一次循环开始时,才开始输出T1T4;同理,停机时,T1T4之间任何期间停机,只有在T1T4本次循环结束时,才停止输出。通过拨动启动和停机信号体会维持阻塞的作用。3、CLR上电复位信号对应按实验台上的CPU复位按钮所产生的负脉冲。启动信号对应开关SD8,开关SD8的初始状态的为1(朝上)。需要产生负启动脉冲时,首先将开关SD8拨动向下,然后再将开关SD8拨动向上。停止信号对应开关SD9,开关SD9的初始状态的为1(朝上)。需要产生负停止脉冲时,首先将开关SD9拨动向下,然后

12、再将开关SD9拨动向上。 (二)实验步骤及现象结果记录1、将短路子DZ3断开且短路子DZ4短接,在使FPGA-CPU所需要的时钟使用连续时钟。并且将短路子DZ5短接,同时将DZ6DZ8中的其他短路子断开,选择8MHz连续时钟作为启停逻辑电路的时钟。2、打开Quartus-tools-programmer,将circuit.sof下载到FPGA中。注意进行programmer时,应在program/configure下的方框中打勾,然后下载。3、启停电路下载完成之后,首先按下CPU复位键,此时实验现象为停机状态;然后进行启动操作,在需要产生负启动脉冲时,使SD8开关执行1-0-1的操作;最后执行

13、停止操作,在需要产生负启动脉冲时,使SD9开关执行1-0-1的操作。通过拨动启动和停机信号可以体会到维持阻塞的作用。 4、观察现象结果,并把现象及结果值记录到上面表3.1中。为了方便记录,以表格形式即是:表3.1 启停逻辑电路信息记录表: 信 号I/O开关/指示灯CLR复位现象结果值(按cpu复位键)启动信号输入后现象结果值(SD8执行负脉冲1-0-1)停止信号输入后的现象结果值(SD9执行负脉冲1-0-1)CLR复位ICPU复位按钮不 填不 填不 填启动信号ISD8不 填不 填不 填停止信号ISD9不 填不 填不 填主频OA15101010101010101010101010D触发器OA14

14、111100000000R-S触发器OA13111100000000T4T1OA7A41000 00010010 010000000000000000000000000000000000T4T1OA3A01000 00010010 01000001 00100100 10000001 00100100 10003.实验心得通过这次时序部件实验,我们加深理解了计算机控制器中时序控制部件的基本组成和工作原理,通过我们在实验室中的实习操作,掌握了启停逻辑电路、节拍脉冲发生器的工作原理及设计方法。对启停逻辑电路、节拍脉冲发生器等电路的结构特点也有了一定的了解。对实验器材的操作也更加熟练。实验四 CPU

15、算术逻辑单元实验1. 实验步骤和结果现象观察1)实验台设置成FPGA-CPU独立调试模块;REGSEL=0,CLKSEL=1,FDSEL=0.使用实验平台上的单脉冲,即STEP_CLK短路子短接,短路子RUN_CLK断开;(2)将设计在Quartus II 下输入,在编译后下载到TEC-CA上的FPGA中;(3)输入A这个数:Sel=0(SA4),write=1(SA5),A数(SD15SD0),按一下单脉冲按钮(单脉冲按钮),使之存入A寄存器;(4)输入B这个数:Sel=1(SA4),write=1(SA5),B数(SD15SD0),按一下单脉冲按钮(单脉冲按钮),使之存入B寄存器;(5)输

16、入功能码OP210(SA2SA0),按一下单脉冲按钮(单脉冲按钮);(6)观察16位运算结果result(A15A0)及Z、C指示灯;(7)重复实验步骤(3)-(6)对以下4组数据进行表4.1的8种运算,把运算结果及标志位填写在表4.2中:A、对第一组数据进行8种运算,A为0xAAAA,B为0x5555;B、对第一组数据进行8种运算,A为0xFFFF,B为0x0000;C、对第一组数据进行8种运算,A为0x0000,B为0xFFFF;D、对第一组数据进行8种运算,A为0x8950,B为0x9863;表4.2 算术逻辑单元实验运算数据运算类型操作码OP运算结果result标志位C标志位Z运算前运

17、算后运算前运算后第1组数据A=0xAAAAB=0x5555result A+B0001111 1111 1111 11110 00 0result A+10011010 1010 1010 10110 00 0result A-B0100101 0101 0101 01010 00 0result A-10111010 1010 1010 10010 00 0result A and B1000000 0000 0000 00000 00 1result A or B1011111 1111 1111 11110 00 0result not B1101010 1010 1010 10100

18、00 0result B1110101 0101 0101 01010 00 0第2组数据A=0xFFFFB=0x0000result A+B0001111 1111 1111 11110 00 0result A+10010000 0000 0000 00000 10 1result A-B0101111 1111 1111 11110 00 0result A-10111111 1111 1111 11100 00 0result A and B1000000 0000 0000 00000 00 1result A or B1011111 1111 1111 11110 00 0resu

19、lt not B1101111 1111 1111 11110 00 0result B1110000 0000 0000 00000 00 0第3组数据A=0x0000B=0xFFFFresult A+B0001111 1111 1111 11110 00 0result A+10010000 0000 0000 00010 00 0result A-B0100000 0000 0000 00010 00 0result A-10111111 1111 1111 11110 10 0result A and B1000000 0000 0000 00000 00 1result A or B

20、1011111 1111 1111 11110 00 0result not B1100000 0000 0000 00000 00 1result B1111111 1111 1111 11110 00 0第4组数据A=0x8950B=0x9863result A+B0000010 0001 1011 00111 10 0result A+10011000 1001 0100 00011 00 0result A-B0101111 0000 1110 11011 10 0result A-10111000 1001 0100 11111 00 0result A and B1001000 1

21、000 0100 00001 1 0 0result A or B1011001 1001 0111 00111 10 0result not B1100110 0111 1001 11001 10 0result B1111001 1000 0110 00111 10 02.节拍发生器实验现象(一)输入输出规则实验中的节拍序列发生器是一个8相节拍序列发生器波形图,如图3.8所示。输出对应A7A0灯(81)。(二)实验步骤及现象1、将短路子DZ3短接且短路子DZ4断开,使节拍序列发生器所需要的时钟使用正单脉冲时钟。2、打开Quartus-tools-programmer,将sequence.s

22、of下载到FPGA中。注意进行programmer时,应在program/configure下的方框中打勾,然后下载。3、按动单脉冲按钮,记录A7A0灯的值(81),并绘制成时序波形图, 01111111 10111111 11011111 1110111111110111 11111011 11111101 111111103.实验心得通过这次CPU算数逻辑单元实验,我们掌握了简单运算器的数据传送通路的原理,并验证了运算器的组合功能。其中,算术逻辑部件的主要功能是对二进制数据进行定点算术运算、逻辑运算和各种移位操作。在实验过程中,对实验原理的不熟悉,让我们的实验困难了许多。我们由理论知识和指

23、导书中的提示及要求,所以能够较顺利的完成。实验五 CPU指令译码器实验1.实验步骤及现象(1)接上JTAG线和电源线,有一分二并口的请保证A按钮按下,打开实验箱电源;(2)实验台设置成FPGA-CPU独立调试模块;REGSEL=0,CLKSEL=1,FDSEL=0.使用实验平台上的单脉冲,即STEP_CLK短路子短接,短路子RUN_CLK断开;(3)将设计在Quartus II 下输入,在编译后下载到TEC-CA上的FPGA中;(4)拨动实验台上的开关SD5SD0,改变IR15.12、进位标志C和结果为0标志位Z,观察指示灯R10R0显示的控制信号,并填写表6-28和表6-29。2.实验心得

24、通过这次实验,我们学习理解了指令译码器的原理及其重要性。指令译码器作为计算机控制器中最重要的部分,其重要性是可想而知的。这次实验只是对译码器的一个简单的应用。在实验过程中,我们遇到了一些困难,但在老师和指导书的帮助下,成功完成了实验。 实验六 CPU微程序控制实验1.实验步骤(1)实验台设置成FPGA-CPU独立调试模式,REGSEL=0、CLKSEL=1、FDSEL=0.使用实验台上的单脉冲,即STEP_CLK短路子短接,短路子RUN_CLK断开;(2)将设计在Quartus II 下输入,编译后下载到TEC-CA上的FPGA中;(3)按复位键后,拨动实验台上的开关SD5SD0,改变IR15

25、12、进位标志C和结果为0标志Z,观察指示灯R15R0、A4A0、A12A8、A14和A15显示的信号,追踪每条指令的执行过程并把相应数据填在表6-1中。(4)观察每条指令的执行过程,每个节拍进行的微操作和微操作控制信号。表6-1 当C=0;Z=0时候各个指令执行的过程及各微指令的执行情况2.实验心得这次实验是关于CPU微程序控制的,在此次实验中,我们理解了微程序控制器的控制原理,并进一步掌握指令流程和功能。了解掌握了微程序控制器的设计思路和方法。这次实验的完成,对我们以后的学习和实践有很大的帮助。实验七 八 CPU实验_无流水无cache1实验步骤(1)Test1(EX1.TXT):8位8位

26、乘法运算第一个测试程序,R0=25,R1=6,结果(150)存放在R3中。源代码见EX1.txt。1、将实验台模式开关置为101,为单片机控制FPGA-CPU模式。2、在Quartus下将实验7.1里面的cpu0.sof下载到FPGA中。3、打开debugcontroller,执行FileRule Open命令,打开规则文件cpu.txt。4、在debugcontroller中,执行fileCode Open命令,打开伪汇编文件。5、在debugcontroller中,执行buildComple Code命令,将EX1.txt编译得到目标二进制文件,显示在机器代码窗口中。6、在debugcon

27、troller中,执行BuildUpload BIN命令,将目标二进制代码写入实验台上底存储器中。为了检查是否正确写入,执行BuildDownload RAM命令,将存储器中的代码读回,(从0开始,本例中写入18个words,所以从0到17),以做比较。 7、在debugcontroller中,利用Debug菜单中的命令调试程序。8、观察并记录每执行完一字机器指令后DataBus、AddrBus、Rx各寄存器的数据,并注意观察执行一字机器指令和一条机器指令的周期长短。表格记录数据:ADDR存储器地址线数据线地址线寄存器数据A15A0D15D0R15R00x0000000810000000x00

28、10000810000000x0020001001900000x0030002811000190x0040003000600190x0050004812000190x0060005000000190x0070006913000190x0080007000800190x0090008814000190x00a0009000100190x00b000a024100190x00c000b460100190x00d000c460100190x00e000d0a0000190x00f000e0b1000190x010000f083000320x011001047f700320x012001140ff1900截图T1.txt; 8bit x 8bit ; 测试指令:置立即数,AND, 条件跳转, 左移, 右移;MAIN: MVRD

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1