寄存器堆的设计

寄存器堆的设计

ID:35621487

大小:92.00 KB

页数:8页

时间:2019-04-03

寄存器堆的设计_第1页
寄存器堆的设计_第2页
寄存器堆的设计_第3页
寄存器堆的设计_第4页
寄存器堆的设计_第5页
资源描述:

《寄存器堆的设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.寄存器堆设计1、功能概述:MIPS指令格式中的寄存器号是5bits,指令可以访问25=32个32位的寄存器。这样的一堆寄存器“堆在一起”构成一个寄存器堆(RegisterFile)。2、接口说明:寄存器堆模块接口信号说明表脉冲regfile_clk,复位端regfiles_rst,写使能端regfiles_Wen,写地址regfile_Waddr,写数据regfiles_Wdata,读地址一regfiles_Raddr_1,读地址二regfiles_Raddr_2,读数据一regfiles_Rdata_1,读数据二regfiles_Rdata_2;设计思

2、路:1、复位处理是利用标志位flag实现的,当复位时,flag=0;利用i来计数,当i<31时,flag都等于0;直到i=32,复位完成,flag=1,这时,才可以进行写操作。2、当复位时,需要32个脉冲才能将寄存器全部复位。复位未完成,flag一直等于0。若复位未完成时,进行写操作,这时,并不能写进去,便出错了。所以,进行32分频,当寄存器可以写入时,复位已完成。3、设计电路源代码//----32个32位寄存器堆moduleregfile(inputregfile_clk,//脉冲inputregfile_rst,//复位端inputregfile_We

3、n,//写使能端input[4:0]regfile_Raddr_1,//读地址一input[4:0]regfile_Raddr_2,//读地址二input[4:0]regfile_Waddr,//写地址input[31:0]regfile_Wdata,//写数据output[31:0]regfile_Rdata_1,//读数据一output[31:0]regfile_Rdata_2//读数据二...);//----------------------------------reg[31:0]regfiles[0:31];//实现寄存功能reg[4:0]i;

4、//实现flag的变换regflag;//实现复位的标志regregfile_clk_1;//实现写数据的脉冲reg[4:0]count;//---32分频处理always@(posedgeregfile_clkorposedgeregfile_rst)beginif(regfile_rst)begincount<=5'd0;regfile_clk_1<=1'b0;endelseif(count<5'd16)begincount<=count+1'b1;endelsebegincount<=5'd0;regfile_clk_1<=~regfile_clk_

5、1;endend//---复位处理always@(posedgeregfile_clkorposedgeregfile_rst)beginif(regfile_rst)begini<=5'd0;...flag<=1'b0;endelseif(i<5'b11111)begini<=i+1'b1;flag<=1'b0;endelseflag<=1'b1;end//---写操作always@(posedgeregfile_clk_1)beginif(~flag)regfiles[i]<=32'd0;elsebeginif(regfile_Wen&&(regfil

6、e_Waddr!=5'd0))//写使能端为一,写地址不为零beginregfiles[regfile_Waddr]<=regfile_Wdata;//写入endendend//---读操作assignregfile_Rdata_1=(regfile_Raddr_1==5'd0)?32'd0:regfiles[regfile_Raddr_1];assignregfile_Rdata_2=(regfile_Raddr_2==5'd0)?32'd0:regfiles[regfile_Raddr_2];////--------------------------

7、--------------endmodule1、设计电路仿真...所设计的指令存储器模块电路,采用ISE仿真器工具进行了设计仿真验证,验证结果表明存储器功能以及接口时序完全正确,如下是仿真验证的波形图。附件1是仿真激励源代码。图5寄存器堆电路读写仿真波形图...附件1:moduleregfile_test;//Inputsregclk;regrst;regWen;reg[4:0]Raddr_1;reg[4:0]Raddr_2;reg[4:0]Waddr;reg[31:0]Wdata;//Outputswire[31:0]Rdata_1;wire[31:0

8、]Rdata_2;//InstantiatetheUnitUnde

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

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

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