寄存器堆的設(shè)計_第1頁
寄存器堆的設(shè)計_第2頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、-存放器堆設(shè)計1、 功能概述:MIPS指令格式中的存放器號是5bits,指令可以25=32個32位的存放器。這樣的一堆存放器“堆在一起構(gòu)成一個存放器堆Register File。2、 接口說明:存放器堆模塊接口信號說明表脈沖regfile_clk,復(fù)位端regfiles_rst,寫使能端regfiles_Wen,寫地址regfile_Waddr,寫數(shù)據(jù)regfiles_Wdata,讀地址一regfiles_Raddr_1,讀地址二regfiles_Raddr_2,讀數(shù)據(jù)一regfiles_Rdata_1,讀數(shù)據(jù)二regfiles_Rdata_2;設(shè)計思路:1、復(fù)位處理是利用標(biāo)志位flag實現(xiàn)的

2、,當(dāng)復(fù)位時,flag=0;利用i來計數(shù),當(dāng)i31時,flag都等于0;直到i=32,復(fù)位完成,flag=1,這時,才可以進(jìn)展寫操作。2、當(dāng)復(fù)位時,需要32個脈沖才能將存放器全部復(fù)位。復(fù)位未完成,flag一直等于0。假設(shè)復(fù)位未完成時,進(jìn)展寫操作,這時,并不能寫進(jìn)去,便出錯了。所以,進(jìn)展32分頻,當(dāng)存放器可以寫入時,復(fù)位已完成。3、 設(shè)計電路源代碼/-32個32位存放器堆module regfile( input regfile_clk, /脈沖 input regfile_rst, /復(fù)位端 input regfile_Wen, /寫使能端 input 4:0 regfile_Raddr_1,/

3、讀地址一 input 4:0 regfile_Raddr_2,/讀地址二 input 4:0 regfile_Waddr, /寫地址 input 31:0 regfile_Wdata, /寫數(shù)據(jù) output 31:0 regfile_Rdata_1,/讀數(shù)據(jù)一 output 31:0 regfile_Rdata_2/讀數(shù)據(jù)二 );/-reg 31:0regfiles0:31; /實現(xiàn)存放功能reg 4:0 i; /實現(xiàn)flag的變換reg flag; /實現(xiàn)復(fù)位的標(biāo)志reg regfile_clk_1; /實現(xiàn)寫數(shù)據(jù)的脈沖reg 4:0count; /-32分頻處理always(posedg

4、e regfile_clk or posedge regfile_rst)begin if(regfile_rst)begin count=5d0;regfile_clk_1=1b0; endelse if(count5d16)begin count=count+1b1; endelsebegin count=5d0;regfile_clk_1=regfile_clk_1;endend/-復(fù)位處理always(posedge regfile_clk or posedge regfile_rst)begin if(regfile_rst)begin i=5d0;flag=1b0;end else

5、 if(i5b11111)begin i=i+1b1; flag=1b0; endelse flag=1b1;end/-寫操作always(posedge regfile_clk_1)begin if(flag) regfilesi=32d0;else begin if(regfile_Wen&(regfile_Waddr!=5d0) /寫使能端為一,寫地址不為零 begin regfilesregfile_Waddr=regfile_Wdata; /寫入endendend/-讀操作assign regfile_Rdata_1=(regfile_Raddr_1=5d0)?32d0:regfil

6、esregfile_Raddr_1;assign regfile_Rdata_2=(regfile_Raddr_2=5d0)?32d0:regfilesregfile_Raddr_2;/-endmodule4、 設(shè)計電路仿真所設(shè)計的指令存儲器模塊電路,采用ISE仿真器工具進(jìn)展了設(shè)計仿真驗證,驗證結(jié)果說明存儲器功能以及接口時序完全正確,如下是仿真驗證的波形圖。1是仿真鼓勵源代碼。圖5 存放器堆電路讀寫仿真波形圖1:module regfile_test;/ Inputsreg clk;reg rst; reg Wen;reg 4:0 Raddr_1;reg 4:0 Raddr_2;reg 4:0

7、 Waddr;reg 31:0Wdata;/ Outputswire 31:0 Rdata_1;wire 31:0 Rdata_2;/ Instantiate the Unit Under Test (UUT)regfile U1 (.regfile_clk(clk), .regfile_rst(rst), .regfile_Wen(Wen), .regfile_Raddr_1(Raddr_1), .regfile_Raddr_2(Raddr_2), .regfile_Waddr(Waddr), .regfile_Wdata(Wdata), .regfile_Rdata_1(Rdata_1),

8、 .regfile_Rdata_2(Rdata_2);always *0.25 clk=clk; reg 5:0j,k;initial beginclk = 1b0;rst = 1b1;Wen = 1b0;Raddr_1 = 5d0;Raddr_2 = 5d0;Waddr = 5d0;Wdata = 32d0;endinitial begin *16 rst = 1b0; /復(fù)位*32 Wen = 1b1; Waddr = 5d5; Wdata = $random; /寫操作 *16 Waddr = 5d30; Wdata = $random; *16 Waddr = 5d0; Wdata =

9、 32hffff; *16 Wen= 1b0; Raddr_1 = 5d5; Raddr_2 = 5d30; /無法寫入無法寫入 *16 Raddr_1 = 5d0;Raddr_2 = 5d0;/-*16 Wen = 1b1; /寫操作for(j=0;j6d32;j=j+1)begin(posedge clk) *16 Waddr = j;Wdata = 31-j;end /- *48 Wen = 1b0; /讀操作for(k=0;k6d32;k=k+1)begin(posedge clk) *16 Raddr_1 = k;Raddr_2 = 31-k;endendendmodulemodul

10、e regfile_test;/ Inputsreg clk;reg rst; reg Wen;reg 4:0 Raddr_1;reg 4:0 Raddr_2;reg 4:0 Waddr;reg 31:0Wdata;/ Outputswire 31:0 Rdata_1;wire 31:0 Rdata_2;/ Instantiate the Unit Under Test (UUT)regfile U1 (.regfile_clk(clk), .regfile_rst(rst), .regfile_Wen(Wen), .regfile_Raddr_1(Raddr_1), .regfile_Rad

11、dr_2(Raddr_2), .regfile_Waddr(Waddr), .regfile_Wdata(Wdata), .regfile_Rdata_1(Rdata_1), .regfile_Rdata_2(Rdata_2);always *0.25 clk=clk; reg 5:0j,k;initial beginclk = 1b0;rst = 1b1;Wen = 1b0;Raddr_1 = 5d0;Raddr_2 = 5d0;Waddr = 5d0;Wdata = 32d0;endinitial begin *16 rst = 1b0; /復(fù)位*32 Wen = 1b1; Waddr = 5d5; Wdata = $random; /寫操作 *16 Waddr = 5d30; Wdata = $random; *16 Waddr = 5d0; Wdata = 32hffff; *16 Wen= 1b0; Raddr_1 = 5d5; Raddr_2 = 5d30; /無法寫入無法寫入 *16 Raddr_1 = 5d0;Raddr_2 = 5d0;/-*16 Wen = 1b1;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論