资源描述:
《杭电计算机组成原理寄存器堆设计实验4》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、杭州电子科技大学计算机学院实验报告课程名称:计算机组成原理实验项目:寄存器堆设计实验姓班级:指导教师学号:实验位置:曰期:2015年5月7日(1)学习和使用VerlilogHDL进行和思绪电路的设计万法(2)掌握灵活的运用VerilogHDL进行各种描述与建模的技巧和方法实验目的(3)学习寄存器堆的数据传送与读写工作原理,掌握寄存器读一的设计方法ISEDesignSuite14.6DigilentAdept实验Nexvs3实验板环境根据实验原理设计32个32位的寄存器堆,有俩个读端口,1个写端口
2、,既能同时读出两个寄存器的值,写入一个寄存器,没计寄存器只需要定义一个reg类型的数组即可完成,利用数组下标操作,寄存器即可,同时也有Kest和CLk信号控制我们的操作的进行。8位的LED进行品示我们读出的数据的一部分!1.实验的顶层模块:moduleTest_Rgisterfile(Addr,Write_Reg,Cl,C2,Clk,Reset,LED);input[4:0]Addr;input[1:O]C1;inputWriteReg,C2,Clk,Reset;outputreg[7:0]LE
3、D;wire[31:0]R_Data_A,RDataB;reg[31:0]W_Da.ta.;reg[4:0]A,B;Registerfileregl(A,B,Addr,WriteReg,WData,Clk,Reset,RDataA,RDataB);alvays@(AddrorWrite_RegorClorC2orR_Data_AorR_Data_B)beginA:0;B二0;LRD=O:W_Data=0;if(!Write_Rcg)beginif(!C2)beginA=Addr;case(Cl
4、)2’b00:LED=RDataA[7:0];2,b01:LED=RDataA[15:8];2'bl0:LED=R_Data_A[23:16];2'bll:LED=RDataA[31:24];cndcascendelsebeginB=Addr;case(Cl)2,bOO:LED=RDataB[7:0];2’b01:LED=R_I)ata_B[15:8];2’blO:LED=R_Data_B[23:16];2’bll:LED=R_Data_B[31:24];cndcaseendendelsebeg
5、incase(Cl)2’b00:WData=32,hOOOO0003;2’bOl:WData二32’hOOOO0607;2’blO:WData=32,hEFErEEPr;2’bl1:W_Data=32’hill1—1234;cndcascendendendmodule2.寄存器的操作模块:moduleRegisterfile(input[4:0]R_Addr_A,input[4:0]R_Addr_B,input[4:0]W_Addr,inputWrite_Reg,input[31:0]WData
6、,inputClk,inputReset,output[31:0]RDataA,output[31:0]R_Data_B);reg[31:0]REGFiles[0:31];reg[5:0]i;initialbeginfor(i=0;i<=31;i=i+l)REGFiles[i]:0;endassignR_Data_A=REG_Files[R_Addr_A];assignR_Dat.a_B=REG_P'iles[R_Addr_B];always@(posedgeClkorposedgeReset)
7、beginif(Reset)for(i=0;i〈=31;i=i+l)REG_Files[i]=0;elseif(WriteReg&&WAddr!=0)REG一Files[W_Addr]=W_Data;endendmoduleLOC二U16;LOC=V16;LOC=U15;LOC=V15;LOC=Mil;LOC=Nil;LOC=Rll;LOC=Til;(接数据记录和汁算令uoiz^ioooww00001〜writeR(9000C2X01OhiixtNaw"Kf,•Z涔尸i±
8、IrO>H▼」、,H3
9、.管脚配賈NETAddrLOJLOC=M8;NET〃Addr[l]〃LOC=N8;NET〃Addr[2]〃LOC=U8;NET〃Addr[3]〃LOC=V8;NET〃Addr[4]〃LOC=T5;NET"C1[O]"LOC=T1O;NET〃C1[1]〃LOC=T9;NET〃C2〃LOC=B8;NET〃Clk"LOC=C9;NET"LED[OKNET"LED[1]〃NET"LED[2]〃NET〃LED[3]〃NET"LED[4]"NET〃LED[5]〃NET〃LED[6]〃NET"LED[7]〃N