电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

杭电计组试验-寄存器堆设计试验VIP免费

杭电计组试验-寄存器堆设计试验_第1页
1/11
杭电计组试验-寄存器堆设计试验_第2页
2/11
杭电计组试验-寄存器堆设计试验_第3页
3/11
杭电计组实验 - 寄存器堆设计实验2 ————————————————————————————————作者:————————————————————————————————日期:1 实验报告2018 年5 月12 日成绩:姓名阳光男学号16041321 班级16052317 专业计算机科学与技术课程名称《计算机组成原理与系统结构试验》任课老师张翔老师指导老师张翔老师机位号默认实验序号4 实验名称《实验四寄存器堆设计》实验时间2018/5/12 实验地点1 教 211 实验设备号个人电脑、 Nexys3 开发板一、实验程序源代码1.寄存器堆模块代码: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:0]R_Addr_A; input [4:0]R_Addr_B; input [4:0]W_Addr; input Write_Reg; input [31:0]W_Data; input Clk; input Reset; output [31:0]R_Data_A; output [31:0]R_Data_B; reg [31:0]REG_Files[0:31]; reg [5:0]i; initial// 仿真过程中的初始化begin for(i=0;i<=31;i=i+1) REG_Files[i]=0; end assign R_Data_A=REG_Files[R_Addr_A]; assign R_Data_B=REG_Files[R_Addr_B]; 2 always@(posedge Clk or posedge Reset) begin if(Reset) for(i=0;i<=31;i=i+1) REG_Files[i]=0; else if(Write_Reg&&W_Addr!=0) REG_Files[W_Addr]=W_Data; end endmodule 2.顶层电路模块代码:module Top_Register_file(Addr,Write_Reg,C1,C2,Clk,Reset,LED); input [4:0]Addr; input [1:0]C1;//C1 选择 32 位数据输出哪八位字节input Write_Reg,C2,Clk,Reset;//C2选择读 A/B 端口的数据output reg [7:0]LED; wire [31:0]R_Data_A,R_Data_B; reg [31:0]W_Data; reg[4:0] A,B; Register_file reg1(A,B,Addr,Write_Reg,W_Data,Clk,Reset,R_Data_A,R_Data_B); always@(Addr or Write_Reg or C1 or C2 or R_Data_A or R_Data_B) begin A=0; B=0; LED=0; W_Data=0; if(!Write_Reg)// 读操作 Write_Reg=0 begin if(!C2) begin A=Addr; case(C1) 2'b00:LED=R_Data_A[7:0]; 3 2'b01:LED=R_Data_A[15:8]; 2'b10:LED=R_Data_A[23:16]; 2'b11:LED=R_Data_A[31:24]; endcase end else begin B=Addr; case(C1) 2'b00:LED=R_Data_B[7:0]; 2'b01:LED=R_Data_B[15:8]; 2'b10:LED=R_Data_B[23:16]; 2'b11:LED=R_Data_B[...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

杭电计组试验-寄存器堆设计试验

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部