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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

杭电计组实验实现R型指令的CPU设计实验.docx

1、杭电计组实验实现R型指令的CPU设计实验杭电计组实验-实现R型指令的CPU设计实验 作者: 日期: 实验报告 2018 年 6 月 1 日 成绩: 姓名阳光男学号16041321班级16052317专业计算机科学与技术课程名称计算机组成原理与系统结构试验任课老师张翔老师指导老师张翔老师机位号无实验序号8实验名称实验八 实现R型指令的CPU设计实验实验时间2018/5/25实验地点1教225实验设备号个人电脑 一、实验程序源代码顶层LED测试模块:module Top_LED(clk,rst,SW,LED);input clk,rst;input 2:0SW;output reg7:0LED;w

2、ire ZF,OF;wire 31:0ALU_F;top_R_cpu test_cpu(rst,clk,ZF,OF,ALU_F);always(*)begincase(SW)3b000:LED=ALU_F7:0;3b001:LED=ALU_F15:8;3b010:LED=ALU_F23:16;3b011:LED=ALU_F31:24;3b100:begin LED7:2=0;LED1=OF;LED0=ZF;enddefault:LED=0;endcaseendendmodule顶层R型CPU模块:module top_R_cpu(input rst,input clk,output ZF,ou

3、tput OF,output 31:0F);reg write_reg;wire 31:0Inst_code;wire 31:0R_Data_A;wire 31:0R_Data_B;reg 2:0ALU_OP;pc pc_connect(clk,rst,Inst_code);Register_file R_connect(Inst_code25:21,Inst_code20:16, Inst_code15:11,write_reg,F,clk,rst, R_Data_A,R_Data_B);ALU ALU_connect(R_Data_A,R_Data_B,F,ALU_OP,ZF,OF);al

4、ways(*)begin write_reg=0; ALU_OP=0; if(Inst_code31:26=0) begin case(Inst_code5:0) 6b100000:ALU_OP=3b100; 6b100010:ALU_OP=3b101; 6b100100:ALU_OP=3b000; 6b100101:ALU_OP=3b001; 6b100110:ALU_OP=3b010; 6b100111:ALU_OP=3b011; 6b101011:ALU_OP=3b110; 6b000100:ALU_OP=3b111; endcase write_reg=1; end end endmo

5、dulePC取指令模块:module pc(input clk,input rst,output 31:0Inst_code);reg 31:0PC;wire31:0PC_new;initial PC=32h00000000;Inst_ROM Inst_ROM1 ( .clka(clk), .addra(PC7:2), .douta(Inst_code) );assign PC_new=24h000000,PC_new7:0;always(negedge clk or posedge rst)begin if(rst) PC=32h00000000; else PC=PC_new;endend

6、module寄存器堆模块:module Register_file(R_Addr_A,R_Addr_B,W_Addr,Write_Reg,W_Data,Clk,Reset,R_Data_A,R_Data_B);input 4:0R_Addr_A;input 4:0R_Addr_B;input 4:0W_Addr;input Write_Reg;input 31:0W_Data;input Clk;input Reset;output 31:0R_Data_A;output 31:0R_Data_B;reg 31:0REG_Files0:31;reg 5:0i;initial/仿真过程中的初始化

7、begin for(i=0;i=31;i=i+1) REG_Filesi=0;endassign R_Data_A=REG_FilesR_Addr_A;assign R_Data_B=REG_FilesR_Addr_B;always(posedge Clk or posedge Reset)begin if(Reset) for(i=0;i=31;i=i+1) REG_Filesi=0; else if(Write_Reg&W_Addr!=0) REG_FilesW_Addr=W_Data; end endmoduleALU算术逻辑运算单元模块:module ALU(A,B,F,ALU_OP,

8、ZF,OF);input 31:0A,B;input 2:0ALU_OP;output reg ZF,OF;output reg31:0F;reg C32;always(*)begin OF=1b0; C32=1b0; case(ALU_OP) 3b000:F=A&B; 3b001:F=A|B; 3b010:F=AB; 3b011:F=(AB); 3b100:begin C32,F=A+B;OF=A31B31F31C32;end 3b101:begin C32,F=A-B;OF=A31B31F31C32;end 3b110: if(AB) F=1; else F=0; 3b111:F=BA;

9、endcase if(F=0) ZF=1; else ZF=0; end endmodule测试代码:module test; / Inputs reg rst; reg clk; / Outputs wire ZF; wire OF; wire 31:0 F; / Instantiate the Unit Under Test (UUT) top_R_cpu uut ( .rst(rst), .clk(clk), .ZF(ZF), .OF(OF), .F(F) ); initial begin / Initialize Inputs rst = 0; clk = 0; / Wait 100

10、ns for global reset to finish #100; clk=1; / Add stimulus here forever begin #50; clk=clk; endend endmodule二、仿真波形三、电路图 顶层电路模块 顶层电路内部结构:四、引脚配置(约束文件)NET LED7 LOC = T11;NET LED6 LOC = R11;NET LED5 LOC = N11;NET LED4 LOC = M11;NET LED3 LOC = V15;NET LED2 LOC = U15;NET LED1 LOC = V16;NET LED0 LOC = U16;N

11、ET SW2 LOC = V9;NET SW1 LOC = T9;NET SW0 LOC = T10;NET clk LOC = C9;NET rst LOC = C4;五、思考与探索(1)R型指令CPU实验结果记录表序号 指令 执行结果 标志 结论 1 0000827 FFFFFFFF 0 0 正确 2 0001102b 0000_0001 0 0 正确 3 00421820 0000_0002 0 0 正确 4 00622020 0000_0003 0 0 正确 5 00832820 0000_0005 0 0 正确 6 00a33020 0000_0007 0 0 正确 7 00463804 0000_000E 0 0 正确 8 00a64820 0000_000C 0 0 正确 9 01264004 0000_7000 0 0 正确 10 00284826 FFFF_8FFF 0 0 正确 11 01215020 FFFF_8FFE 0 0 正确 12 01075822 0000_6FF2 0 0 正确 13 00e86022 FFFF_900E 0 0 正确 14 012c6824 FFFF_800E 0 0 正确 15 012c7025 FFFF_9FFF 0 0 正确 16 00c77825 0000_FFFF 0 0 正确

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

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