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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

计算机组成原理实验报告单周期CPU的设计与实现文档格式.docx

1、二、实验室名称:主楼A2-411三、实验项目名称:单周期CPU的设计与实现。四、实验学时:8学时五、实验原理:(一)概述【单周期(Single Cycle)CPU是指CPU从取出1条指令到执行完该指令只需1个时钟周期。一条指令的执行过程包括:取指令分析指令取操作数执行指令保存结果。对于单周期CPU来说,这些执行步骤均在一个时钟周期内完成。(二)单周期cpu总体电路本实验所设计的单周期CPU的总体电路结构如下。(三)MIPS指令格式化MIPS指令系统结构有MIPS-32和MIPS-64两种。本实验的MIPS指令选用MIPS-32。以下所说的MIPS指令均指MIPS-32。MIPS的指令格式为32

2、位。下图给出MIPS指令的3种格式。本实验只选取了9条典型的MIPS指令来描述CPU逻辑电路的设计方法。下图列出了本实验的所涉及到的9条MIPS指令。六、实验目的、1、掌握单周期CPU的工作原理、实现方法及其组成部件的原理和设计方法,如控制器、运算器等。2、认识和掌握指令与CPU的关系、指令的执行过程。3、熟练使用硬件描述语言Verilog、EDA工具软件进行软件设计与仿真,以培养学生的分析和设计CPU的能力。七、实验内容(一)拟定本实验的指令系统,指令应包含R型指令、I型指令和J型指令,指令数为9条。(二)CPU各功能模块的设计与实现。(三)对设计的各个模块的仿真测试。(四)整个CPU的封装

3、与测试。八、,九、实验器材(设备、元器件):(一)安装了Xilinx ISE Design Suite 的PC机一台(二)FPGA开发板:Anvyl Spartan6/XC6SLX45(三)计算机与FPGA开发板通过JTAG(Joint Test Action Group)接口连接,其连接方式如图所示。一十、实验步骤一个CPU主要由ALU(运算器)、控制器、寄存器堆、取指部件及其它基本功能部件等构成。在本实验中基本功能部件主要有:32位2选1多路选择器、5位2选1多路选择器、32位寄存器堆、ALU等。(一)新建工程(New Project)启动ISE Design Suite 软件,然后选择菜

4、单FileNew Project,弹出New Project Wizard对话框,在对话框中输入工程名CPU,并指定工作路径D:Single_Cycle_CPU。(二)基本功能器件的设计与实现(1)多路选择器的设计与实现位2选1多路选择器(MUX5_2_1)的设计与实现在ISE集成开发环境中,在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择New Source命令,创建一个Verilog Module模块,名称为:MUX5_2_1,然后输入其实现代码:module MUX5_2_1( input 4:0 A,0 B, input Sel, output 4:0 O ); assign O

5、= Sel B : A;endmodule在ISE集成开发环境中,对模块MUX5_2_1进行综合(Synthesize),综合结果如图所示:在ISE集成开发环境中,对模块MUX5_2_1进行仿真(Simulation)。输入如下测式代码: module MUX5_2_1_T; (A), .B(B), .sel(sel), .C(C) initial begin (A), 。 .O(O) A=0; B=0; sel=0; (d), : .o(o) n1(Rn1), .Rn2(Rn2), .Wn(Wn), .Write(Write), .Wd(Wd), .A(A), .Clock(Clock) (

6、A), .ALU_operation(ALU_operation), ) .Result(Result), .Zero(Zero) p(op), .RegDst(RegDst), .RegWrite(RegWrite), .ALUSrc(ALUSrc), ; .MemWrite(MemWrite), .MemRead(MemRead), .MemtoReg(MemtoReg), .Branch(Branch), .ALUctr(ALUctr); .func(func), .ALU_op(ALU_op) lock(clock), .reset(reset), .b_addr(b_addr), .

7、Z(Z), .inst(inst), .o_addr(o_addr), .o_sum(o_sum), .o_sum1(o_sum1) eset(Reset), .Clock(Clock), .Inst(Inst), | .Data(Data), .B_data(B_data), .NextPC(NextPC) ddress(address), .inst(inst) lock(Clock), .Reset(Reset), .Pc(Pc), .Aluout(Aluout), .B_data(B_data) / Initialize Inputs Clock = 0; Reset = 0; / W

8、ait 100 ns for global reset to finish #100; Clock = Clock; Reset = 1;?¥ end然后进行仿真,仿真结果如图: 在该转移的地方进行了转移,成功。一十一、实验数据及结果分析:在一个时钟周期内所设计的CPU能够完成一条指令的执行,指令执行结果与预期的结果是一致的。通过仿真可以看到最终顺利实现了每个模块的功能,成功解决了之前出错的PC转移问题,整个CPU按照设计好的指令运行。一十二、实验结论:单周期CPU在一个时钟周期完成指令的所有执行步骤,简化了CPU的设计,但是这样没有考虑不同部件完成时间上的差异,所以导致CPU各部件的利用率不

9、高,采用多周期流水线CPU可以提高利用率,但是难度也会增大许多。一十三、总结及心得体会:我本身对这次实验很兴趣,指导教师陈老师也非常和蔼耐心地指导,所以比较顺利地完成了整个实验。本次实验完全是独立完成,没有任何抄袭,包括实验报告的编写,每一段代码都是自己写出来的,每一张图片也都是自己截的图,虽然整个过程花的时间比较多,但确实收获很多,很开心,也希望能得到一个好的成绩。本次实验让我切实感受到了仿真的好处,计算机仿真在实际生产中的作用,也很好地锻炼了自己的逻辑思维能力,对课堂第四章第五章的内容有了更为深刻的理解。要合理地将本次实验中“把庞大的部件分割为许多小部件,逐一解决” 的方法运用到对其它问题的解决中。一十四、对本实验过程及方法、手段的改进建议: 建议增加2个实验学时,同时将要实现的指令增加为十一条,增加运算器溢出信号Overflow、判断溢出的加法运算,以及J型指令的设计与实现,从而进一步锻炼自己。 报告评分: 指导教师签字:

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2