网站大量收购独家精品文档,联系QQ:2885784924

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

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验项目 * * 实验项目 实验七 取指令与指令译码实验 实验八 实现R型指令的CPU设计实验 * * 实验七 取指令与指令译码实验 1、实验目的 学习指令存储器的设计; 掌握CPU取指令操作与指令译码的方法和过程; * * 实验七 取指令与指令译码实验 2、实验内容与原理 设计一个指令存储器,只读,物理大小64×32位; 设计PC及其自增电路; MIPS地址32位,按字节编址;指令存储器:256×8位 PC是32位,但是指令存储器地址只需8位; * * 实验七 取指令与指令译码实验 最终目标:设计一个单周期MIPS CPU 在指令周期(即时钟周期)clk上跳沿,执行取指令操作,在clk下跳沿更新PC值。 复位信号rst:=1时,PC清零,即指定MIPS CPU从0号主存开始执行程序。 生成只读的指令存储器时,使用Memory IP核,同实验五,但是选择single port ROM; * * 实验七 取指令与指令译码实验 3、实验要求 在ISE中使用Memory IP核生成一个Inst_ROM,当做指令存储器,并关联一个实验六所生成的*.coe文件。 编程实现取指令模块,调用Inst_ROM指令存储器模块。 编写一个实验验证的顶层模块,可按照以下方法设计实验,也可以自行设计验证实验。 实验室任务: 配置管脚; 生成*.bit文件并下载。 完成板级验证。 撰写实验报告。 * * 信号 配置设备管脚 功能说明 输入信号 rst 1个按钮 =1,清零PC; clk 1个按钮 时钟引脚,上跳沿取指令 选择信号 2个逻辑开关 选择显示的指令字节; 输出信号 LED[7:0] 8个LED灯 显示读出指令的某个字节 实验七信号配置表 实验七 取指令与指令译码实验 * * 实验七 取指令与指令译码实验 4、实验步骤 在Xilinx ISE中创建工程,编源码,然后编译、综合 编写激励代码,观察仿真波形,直至验证正确 实验准备; 在PC机上打开工程文件,进行管脚配置。 生成编程文件*.bit,下载到板卡中。 实验: 按动rst按钮使PC清零 按动clk按钮则读取指令; 拨动2位逻辑开关选择指令字节,并记录 * * 实验七 取指令与指令译码实验 5、思考与探索:必做(1)和(2) (1)读取指令存储器的前16条指令代码记录到表6.15中,分析取出的指令代码是否和指令存储器关联文件中的指令码一致?如果不一致,请分析原因。 (2)在复位后,第一次按动clk按钮,你的程序读出的指令是哪个单元的?0号单元还是4号单元的指令?分析为什么?如果要求在复位后的第一个clk来临时,读出的是0号单元的指令,你实现了吗?如果没有实现,尝试修改程序实现。 (3)说说你在实验中碰到了哪些问题,你是如何解决的? * * 实验八实现R型指令的CPU设计实验 1、实验目的 掌握MIPS R型指令的数据通路设计,掌握指令流和数据流的控制方法; 掌握完整的单周期CPU顶层模块的设计方法; 实现MIPS R型指令的功能; * * 实验八实现R型指令的CPU设计实验 2、实验内容与原理 设计实现一个单周期CPU,实现8条R型指令; (1)建立R型指令的数据通路; (2)构造顶层模块,含部件: 指令存储器(实验七) PC及自增电路(实验七) 寄存器堆模块(实验四) ALU模块(实验三) 指令译码与控制单元:新增 根据指令码和功能码,为数据通路上各部件发送控制信号(置位或复位); * * 实验八实现R型指令的CPU设计实验 (1)R型指令数据通路: * * 实验八实现R型指令的CPU设计实验 (2)R型指令集: 字段 OP rs rt rd shamt func 功能描述 位数 6 5 5 5 5 6 汇编助记符 编码 add rd,rs,rt 000000 rs rt rd 00000 100000 算术加:rs + rt→rd sub rd,rs,rt 000000 rs rt rd 00000 100010 算术减:rs - rt→rd and rd,rs,rt 000000 rs rt rd 00000 100100 位与:rs rt→rd or rd,rs,rt 000000 rs rt rd 00000 100101 位或:rs | rt→rd xor rd,rs,rt 000000 rs rt rd 00000 100110 位异或:rs⊕rt→rd nor rd,rs,rt 000000 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,r

文档评论(0)

00625 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档