- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验报告
2014 年 05 月 29 日 成绩:
姓名
曹亚娟
学号班级专业
计算机科学与技术
课程名称
《计算机组成原理》
任课老师
冯建文
指导老师
冯建文
机位号
实验序号
8
实验名称
实现R型指令的CPU设计实验
实验时间
2014.05.29
实验地点
1教225
实验设备号
一、实验程序源代码
module test_8(input rst,
input clk,
input [2:0]SW,
output reg[7:0]LED,
output [31:0]ALU_F
);
wire[31:0] instcode;
wire[31:0] DA,DB;
wire ALU_ZF,ALU_OF;
wire[2:0]ALU_OP;
wire Write_Reg;
integer i;
read read1(clk,rst,instcode);
yima yima1(instcode[31:26],instcode[5:0],ALU_OP,Write_Reg);
jicunqidui jicun1(instcode[25:21],instcode[20:16],instcode[15:11],ALU_F,Write_Reg,clk,rst,DA,DB);
ALU ALU1(ALU_OP,DA,DB,ALU_F,ALU_OF,ALU_ZF);
always@(*)
begin
case(SW)
3b000:LED=ALU_F[7:0];
3b001:LED=ALU_F[15:8];
3b010:LED=ALU_F[23:16];
3b011:LED=ALU_F[31:24];
3b100:begin LED[1]=ALU_OF;LED[0]=ALU_ZF;end
default LED=8
endcase
end
Endmodule
module read(
input clk,
input rst,
output [31:0] Inst_code
);
reg [31:0] pc;
wire [31:0] pc_new;
ROM test(.clka(clk),.addra(pc[7:2]),.douta(Inst_code));
assign pc_new=pc+4;
always@(negedge clk or posedge rst )
begin
if(rst)
pc=32h0000_0000;
else
pc=pc_new;
end
endmodule
module yima(
input[5:0] OP,
input [5:0]func,
output reg[2:0]ALU_OP,
output reg Write_Reg
);
always@(*)
begin
if(OP==6b000000)
case(func)
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;
default:ALU_OP=3b000;
endcase
Write_Reg=func[0];
end
endmodule
module jicunqidui(
input[4:0] R_Addr_A,
input[4:0] R_Addr_B,
input[4:0] W_Addr,
input[31:0] W_Data,
input Write_Reg,
input clk,
input reset,
output [31:0] R_Data_A,
output [31:0] R_Data_B
);
reg [31:0] REG_Files[0:31];
integer i;
assign R_Data_A = REG_Files[R_Addr_A];
assign R_Data_B = REG_Files[R_Addr_B];
always @(posedge clk or posedge reset)
begin
if(reset)
begin
for(i=0;i=31;i=i+1)
RE
您可能关注的文档
- 蒙古族饮食文化.pptx
- 虚拟语气,倒装,强调句,固定搭配.ppt
- 虚拟语气题目带.doc
- 蒙古投资环境.ppt
- 螺丝螺钉规格.doc
- 血浆EGFR突变检测的特点.pptx
- 蓝色商业计划书模板PPT.pptx
- 补全对话自测模拟附答案.doc
- 补全对话专练.ppt
- 被动语态练习.ppt
- 高中生物实验:微型垂直农场系统内植物生长周期与生长节律调控研究教学研究课题报告.docx
- 高中数学课堂中培养学生交流能力的情境教学策略研究教学研究课题报告.docx
- 小学语文写作教学中的情境创设与写作兴趣培养教学研究课题报告.docx
- 高中语文《红楼梦》阅读教学中的审美教育研究教学研究课题报告.docx
- 初中地理教学中人工智能认知诊断与个性化补救教学策略教学研究课题报告.docx
- 小学语文课堂中校园周边食品安全教育实践研究教学研究课题报告[001].docx
- 《老年痴呆患者家庭护理中的护理教育与培训模式创新与效果评价》教学研究课题报告.docx
- 小学科学探究:太阳能热水器效能与用户使用频率的关系教学研究课题报告.docx
- 小学英语教师数字素养评价与自我反思策略探讨教学研究课题报告.docx
- 中学跨学科教学与人工智能技术结合对学生批判性思维培养的实践与反思教学研究课题报告.docx
文档评论(0)