杭电计组实验十

杭电计组实验十

ID:41679794

大小:424.94 KB

页数:19页

时间:2019-08-29

杭电计组实验十_第1页
杭电计组实验十_第2页
杭电计组实验十_第3页
杭电计组实验十_第4页
杭电计组实验十_第5页
资源描述:

《杭电计组实验十》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验报告2016年5_月_日成绩:姓名周勇学号14071225班级计科5班专业计算机科洱技术课程名称《数字电路课程设计》任课老师章复嘉老师指导老师章复嘉老师机位号实验序号10实验名称R-I-J指令CPU实验时间5月口日实验地点1教225实验设备号一、实验程序源代码顶层架构CPU模块:modulecpu(dk,reset,ALU_ORinst,rs,rt,rd,rs_data,rt_data,rd_data,ZFQF,Write_RegFCFC_new,rd_rt_s/W_Addi;imm/W_Data,imm_s/imm_data/ALU_B/rt_imm_s/Mem_Write/M_R

2、_Data/ALU_Data/alu_mem_s,w_r_s/wr_data_s/PC_s/address);inputwireelk;inputreset;output[2:0]ALU_OP;〃操作符output[31:0]inst;〃指令存放output[4:0]rs;//rs地址output[4:0]rt;//rt地址output[4:0]rd;//rd地址output[31:0]rs_data;//rs数据output[31:0]rt_data;//rt数据output[31:0]rd_data;//rd数据output[31:0]PC;output[31:0]PC_new;ou

3、tputZF;outputOF;outputWrite_Reg;〃是否写入output[31:0]W_Data;outputrd_rt_s;〃控制那个作为目的寄存器output[4:0]W_Addr;//目的操作数地址output[15:0]imm;〃立即数output[31:0]imnn_data;〃被扩展的立即数outputinnm_s;〃是否需要扩展outputrt_imm_s;//B端选择rt或者是immoutput[31:0]ALU.B;//ALU_B端口数据outputMem_Write;〃是否写入数据romoutput[31:0]M_R_Data;〃从数据rom读出来的数据

4、output[31:0]ALU_Data;//ALU运算出来的结果根据alu_mem_s选择由M_W_Data或者W_Data来赋值outputalu_mem_s;〃看上面output[1:0]w_r_s;output[1:0]wr_data_s;output[1:0]PC_s;//PC选择器output[25:0]address;//地址解析数据〃读指令ex7pc(.clka(clk),.douta(inst)f.rst(reset)z•PC(PC),•PC_new(PC_new),.PC_s(PC_s),.R_Data_A(rs_data)z.imm_data(imm_data)/.

5、address(address)〃解析指令);analysisjnstanalysis_inst(•inst(inst)..ALU_OP(ALU_OP)/•rs(rs),•rt(rt),.rd(rd),.Write_Reg(Write_Reg)z.immCimm),•rd_rt_s(rd_rt_s),.rt_imm_s(rt」mm_s),.Mem_Write(Mem-Write)/•alu_mem_s(alu_mem_sL.address(address)/.w_r_s(w_r_s),.wrdatas(wrdatas),•PC_s(PC_s),.ZF(ZF));〃读取源操作数的值:ass

6、ignW_Addr=(w_r_s[l])?5'bl:Ll:L:L:((w」_s[0])?rt:rd);assignimm_data=(imm_s)?{{16{imm[15]}}/imm}:{{16{l,b0}}zimm};reglReg(.R_Addr_A(rs)z.R_Addr_B(rt)z.Clk(clk),.W_Addr(W_Addr)f.W_Data(W_Data)z.R_Data_A(rs_data)#.R_Data_B(rt_data),.Reset(reset)#.Write_Reg(Write_Reg)〃不写入);assignALU_B=(rt_imm_s)?imm_da

7、ta:rt_data;〃对源操作数运算,存于目的操作数ex3ALU(.ALU_OP(ALU_OP)Z.A(rs_data)z•B(ALU_B),.F(ALU_Data),•ZF(ZF),.OF(OF));wireclk_temp;wired_outn;regd_out=0;assignclk_temp=elkAd_out;assigndoutn二~dout;//-—always@(posedgeclkjemp)begind_out<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。