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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(第6章 实验项目7-8.ppt)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

第6章 实验项目7-8.ppt

1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,实验项目,2,2026/4/29 周三,实验项目,实验七 取指令与指令译码实验,实验八 实现,R,型指令的,CPU,设计实验,

2、3,2026/4/29 周三,实验七 取指令与指令译码实验,1、实验目的,学习,指令存储器,的设计;,掌握,CPU,取指令操作,与指令译码的方法和过程;,4,2026/4/29 周三,实验七 取指令与指令译码实验,2、实验内容与原理,设计一个,指令存储器,只读,,物理大小,6432,位,;,设计,PC,及其自增电路;,MIPS,地址,32,位,,按字节编址,;,指令存储器:,2568,位,PC,是,32,位,但是指令存储器地址只需,8,位;,5,2026/4/29 周三,实验七 取指令与指令译码实验,最终目标:,设计一个,单周期,MIPS CPU,在指令周期(即时钟周期),clk,上跳沿,,执

3、行,取指令操作,,在,clk,下跳沿更新,PC,值,。,复位信号,rst,:,=1,时,,PC,清零,,即指定,MIPS CPU,从,0,号主存开始执行程序。,生成,只读的指令存储器,时,使用,Memory IP,核,,同实验五,但是,选择,single port ROM,;,6,2026/4/29 周三,实验七 取指令与指令译码实验,3、实验要求,在,ISE,中,使用,Memory IP,核生成一个,Inst_ROM,,当做指令存储器,并,关联一个实验六所生成的*,.coe,文件,。,编程实现取指令模块,,调用,Inst_ROM,指令存储器模块。,编写一个实验验证的顶层模块,,可按照以下方法

4、设计实验,也可以自行设计验证实验。,实验室任务:,配置管脚;,生成*,.bit,文件并下载。,完成板级验证。,撰写实验报告,。,7,2026/4/29 周三,信号,配置设备管脚,功能说明,输入信号,rst,1,个按钮,=1,,清零,PC,;,clk,1,个按钮,时钟引脚,,上跳沿取指令,选择信号,2,个逻辑开关,选择显示的指令字节;,输出信号,LED7:0,8,个,LED,灯,显示读出指令的某个字节,实验七信号配置表,实验七 取指令与指令译码实验,8,2026/4/29 周三,实验七 取指令与指令译码实验,4、实验步骤,在Xilinx ISE中创建工程,编源码,然后编译、综合,编写激励代码,观

5、察仿真波形,直至验证正确,实验准备,;,在PC机上打开工程文件,进行,管脚配置,。,生成编程文件*.bit,下载,到板卡中。,实验,:,按动,rst,按钮使,PC,清零,按动,clk,按钮则读取指令;,拨动,2,位逻辑开关选择指令字节,并记录,9,2026/4/29 周三,实验七 取指令与指令译码实验,5、思考与探索:,必做,(,1,)和(,2,),(,1,),读取指令存储器的前,16,条指令代码记录到表,6.15,中,分析取出的指令代码是否和指令存储器关联文件中的指令码一致?如果不一致,请分析原因。,(,2,),在复位后,第一次按动,clk,按钮,你的程序读出的指令是哪个单元的?,0,号单元

6、还是,4,号单元的指令?分析为什么?如果要求在复位后的第一个,clk,来临时,读出的是,0,号单元的指令,你实现了吗?如果没有实现,尝试修改程序实现。,(,3,)说说你在实验中碰到了哪些问题,你是如何解决的?,10,2026/4/29 周三,实验八实现,R,型指令的,CPU,设计实验,1、实验目的,掌握,MIPS R,型指令的数据通路设计,,掌握指令流和数据流的控制方法;,掌握,完整的单周期,CPU,顶层模块,的设计方法;,实现,MIPS R,型指令的功能,;,11,2026/4/29 周三,实验八实现,R,型指令的,CPU,设计实验,2、实验内容与原理,设计实现一个,单周期,CPU,,实现,

7、8,条,R,型指令;,(,1,)建立,R,型指令的数据通路;,(,2,)构造顶层模块,含部件:,指令存储器,(实验七),PC,及自增电路,(实验七),寄存器堆模块,(实验四),ALU,模块,(实验三),指令译码与控制单元:,新增,根据指令码和功能码,为数据通路上各部件发送控制信号(置位或复位);,12,2026/4/29 周三,实验八实现,R,型指令的,CPU,设计实验,(,1,),R,型指令数据通路:,13,2026/4/29 周三,实验八实现,R,型指令的,CPU,设计实验,(,2,),R,型指令集:,字段,OP,rs,rt,rd,shamt,func,功能描述,位数,6,5,5,5,5,

8、6,汇编助记符,编码,add rd,rs,rt,000000,rs,rt,rd,00000,100000,算术加:,rs+rtrd,sub rd,rs,rt,000000,rs,rt,rd,00000,100010,算术减:,rs-rtrd,and rd,rs,rt,000000,rs,rt,rd,00000,100100,位与:,rs&rtrd,or rd,rs,rt,000000,rs,rt,rd,00000,100101,位或:,rs|rtrd,xor rd,rs,rt,000000,rs,rt,rd,00000,100110,位异或:,rs,rtrd,nor rd,rs,rt,0000

9、00,rs,rt,rd,00000,100111,位或非:,(rs|rt)rd,sltu rd,rs,rt,000000,rs,rt,rd,00000,101011,无符号数小于则置位:,if(rs rt)rd=1,else,rd=0,sllv rd,rt,rs,000000,rs,rt,rd,00000,000100,逻辑左移:,(rt rs)rd,14,2026/4/29 周三,实验八实现,R,型指令的,CPU,设计实验,由上表可知,R,型指令的共同特征,:,操作码字段,OP=000000b,指令的功能则由功能码字段,func,指出,R,型指令的操作数有,3,个,两个源操作数在,rs,和,

10、rt,字段所指定的寄存器中,目的操作数是,rt,字段所指定的寄存器,汇编助记符,中,紧跟指令符号右边的寄存器是目的寄存器,这和,指令机器码,的排列顺序有差异,15,2026/4/29 周三,实验八实现,R,型指令的,CPU,设计实验,(,3,)构造,CPU,顶层模块:,新建一个工程;,新建一个,Veilog Module,作为,CPU,顶层模块;,拷贝各个模块的*,.v,文件到当前工程目录下;,将各个*,.v,文件加到工程中来;,对于指令存储器的*,.xco,,处理较复杂(可重新在工程中生成,ROM,的,IP,核),在顶层模块中,引用各个模块的实例;,定义一组信号做为各个模块间的信号连接;,在

11、顶层模块中,编写有关指令译码和控制单元的程序;,16,2026/4/29 周三,实验八实现,R,型指令的,CPU,设计实验,注意:,寄存器模块:,$0,要始终置为,0,,且不允许写操作;,指令译码:,OP=000000,为,R,型指令,由,func,字段识别具体,R,型指令;,控制信号赋值,:依据指令译码,见下表,17,2026/4/29 周三,实验八实现,R,型指令的,CPU,设计实验,指令译码与控制:,OP=6b000000,指令,func(,输入,),ALU_OP(,输出,),操作,add rd,rs,rt,100000,100,位与,sub rd,rs,rt,100010,101,位或

12、and rd,rs,rt,100100,000,位异或,or rd,rs,rt,100101,001,位非,xor rd,rs,rt,100110,010,算术加,nor rd,rs,rt,100111,011,算术减,sltu rd,rs,rt,101011,110,小于置位,sllv rd,rt,rs,000100,111,逻辑左移,18,2026/4/29 周三,实验八 实现,R,型指令的,CPU,设计,时序设计,时钟源为,CPU,的主频脉冲,clk,clk,的上升沿,,启动指令存储器依据,PC,读指令,clk,高电平持续期间,,完成,PC,值的自增、指令译码、寄存器读操作,随后完成,

13、ALU,运算,clk,的下降沿,则完成目的寄存器的写入、,PC,值的更新和标志寄存器的更新,时序实现时:,指令存储器的,clk,:,clk,PC,寄存器的打入,clk,:,clk,寄存器堆的写入,clk,:,clk,2026/4/29 周三,18,19,2026/4/29 周三,实验八实现,R,型指令的,CPU,设计实验,指令对标志寄存器的影响,传送类指令,和,跳转类指令,不影响,标志位,有符号算术运算类指令,(包括,slt,和算术移位指令),影响,ZF,和,OF,无符号算术运算,类指令和,逻辑运算,类指令,影响,ZF,,,不影响,OF,条件转移类,指令一般会使用,标志位,ZF,20,2026

14、/4/29 周三,实验八实现,R,型指令的,CPU,设计实验,标志寄存器的赋值,算术运算类指令:影响标志位,ZF,和,OF,逻辑运算类指令:只影响标志位,ZF,存储器访问指令:不影响标志位,无条件跳转指令:不影响标志位,有条件分支指令:影响标志位,ZF,影响赋值,不影响不赋值,21,2026/4/29 周三,实验八实现,R,型指令的,CPU,设计实验,(,4,)指令测试,实现的,CPU,能够支持,8,条,R,型指令子集吗?,用,8,条,R,型指令编写一段程序,用于测试,CPU,的功能:,22,2026/4/29 周三,实验八实现,R,型指令的,CPU,设计实验,测试程序:汇编,nor$1,$0

15、0;#$1=FFFF_FFFF,sltu$2,$0,$1;#$2=0000_0001,add$3,$2,$2;#$3=0000_0002,add$4,$3,$2;#$4=0000_0003,add$5,$4,$3;#$5=0000_0005,add$6,$5,$3;#$6=0000_0007,sllv$7,$6,$2;#$7=0000_000E,add$9,$5,$6;#$9=0000_000C,sllv$8,$6,$9;#$8=0000_7000,xor$9,$1,$8;#$9=FFFF_8FFF,add$10,$9,$1;#$10=FFFF_8FFE,sub$11,$8,$7;#$11

16、0000_6FF2,sub$12,$7,$8;#$12=FFFF_900E,and$13,$9,$12;#$13=FFFF_800E,or$14,$9,$12;#$14=FFFF_9FFF,or$15,$6,$7;#$15=0000_000F,nor$16,$6,$7;#$16=FFFF_FFF0,add$17,$7,$3;#$17=0000_0010,sllv$18,$8,$17;#$18=7000_0000,sllv$19,$3,$17;#$19=0002_0000,sllv$20,$19,$7;#$20=8000_0000,add$21,$20,$1;#$21=7FFF_FFFF,or

17、22,$18,$21;#$22=7FFF_FFFF,add$23,$20,$22;#$23=FFFF_FFFF,sub$24,$20,$22;#$24=0000_0001,sub$25,$22,$20;#$25=FFFF_FFFF,xor$26,$18,$1;#$26=8FFF_FFFF,sltu$27,$22,$20;#$27=0000_0001,sltu$28,$26,$20;#$28=0000_0000,add$29,$22,$2;#$29=8000_0000,sub$30,$20,$2;#$30=7FFF_FFFF,add$31,$11,$26;#$30=9000_6FF1,23,2

18、026/4/29 周三,实验八实现,R,型指令的,CPU,设计实验,测试程序:机器指令编码,00000827,0001102b,00421820,00622020,00832820,00a33020,00463804,00a64820,01264004,00284826,01215020,01075822,00e86022,012c6824,012c7025,00c77825,00c78027,00e38820,02289004,02239804,00f3a004,0281a820,0255b025,0296b820,0296c022,02d4c822,0241d026,02d4d82b,03

19、54e02b,02c2e820,0282f022,017af820,将机器代码编辑成*,.coe,文件(格式化);,与指令存储器关联;,重新生成,ROM,核:,Regenerate Core,操作,24,2026/4/29 周三,实验八实现,R,型指令的,CPU,设计实验,(,5,)实验验证,在板卡上如何看到测试程序的每条指令的执行结果?如何验证功能是否正确?,在,CPU,模块之上,,再构造一个实验验证模块,,其中,引用,改造过的,CPU,模块,(,引出,ALU,的运算结果,),25,2026/4/29 周三,实验八实现,R,型指令的,CPU,设计实验,3、实验要求,在实验三、实验四、实验五和

20、实验六的基础上,,编写一个,CPU,模块,,能够,实现,8,条指定的,R,型指令,。,编写一段,测试,8,条指令的汇编程序,,使用实验六的汇编器,将其翻译成,二进制机器码,,,并通过关联文件初始化指令存储器,。,编写一个,实验验证的顶层模块,,用于验证实验。,实验室任务:,配置管脚;,生成*,.bit,文件并下载。,完成板级验证。,撰写实验报告,。,26,2026/4/29 周三,实验八信号配置表,实验八实现,R,型指令的,CPU,设计实验,信号,配置设备管脚,功能说明,输入信号,rst,1,个按钮,清零,clk,1,个按钮,时钟引脚(,BTND,或者,BTNR,),选择信号,3,个逻辑开关,

21、选择显示的,ALU,运算结果字节或者标志,OF,、,ZF,;,输出信号,LED7:0,8,个,LED,灯,显示字节数据或标志,27,2026/4/29 周三,实验八实现,R,型指令的,CPU,设计实验,4、实验步骤,在Xilinx ISE中创建工程,编源码,然后编译、综合,编写激励代码,观察仿真波形,直至验证正确,实验准备,;,在PC机上打开工程文件,进行,管脚配置,。,生成编程文件*.bit,下载,到板卡中。,实验,:,按动,rst,按钮使,PC,、寄存器堆、,ZF,、,OF,清零;,每按动,clk,按钮一次,则执行一条指令;,拨动,3,位逻辑开关选择,ALU,的,32,位结果字节或者标志,

22、并记录,28,2026/4/29 周三,实验八实现,R,型指令的,CPU,设计实验,5、思考与探索:,必做,(,1,),(,1,),将测试程序(,16,条)的各条指令执行的结果和标志记录到表,6.19,中,分析结果正确与否?如果不正确,请分析原因。,(,2,),sll rd,rt,shamt,指令将,rt,寄存器的数据进行逻辑左移,左移的位数则是由字段,shamt,指定。试着实现该指令,谈谈你的实现方法。,(,3,)本实验实现的,sltu,指令是对无符号数的比较置位指令,如果需要实现有符号数的比较置位指令,slt,指令,请问应该如何实现?,(,4,),srav,是对(有符号)数据的算术右移指令,考虑如何实现它?,(,5,)说说你在实验中碰到了哪些问题,你是如何解决的?,29,2026/4/29 周三,The End!,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服