課件教程案例_第1頁
課件教程案例_第2頁
課件教程案例_第3頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實驗名稱:5段流水CPU設計: 1萬用 1示波 1Verilogquartus20MIPS5段流CPU設采用I/O統(tǒng)一編址方式,即將輸入輸出的I/O地址空間,作為數(shù)據(jù)存取空間的一部分,實現(xiàn)CPU與外部設備的輸入輸出端口設計。實驗中可采用高端地址。利用設計的I/O端口,通過lw指令,輸入DE2實驗板上的按鍵等輸入設備信息。即將外部設備狀態(tài),讀到CPU內(nèi)部寄存器。I/OswDE2LED備的控制信號(或數(shù)據(jù)信息。即將對外部設備的控制數(shù)據(jù),從CPU內(nèi)部的寄存器,寫入到外部設備的相應控制寄存器(或可直接連接至外部設備的控制輸入信CPU狀態(tài)輸入,并將判別或處理結(jié)果,利用板載LED燈或7段LED數(shù)碼管顯示出4bit4bit2LED10LED10(。puter resetn,clock,mem_clock,pc,inst,malu,walu,in_port0,in_port1,hex0,hex1,hex2,hex3,hex4,out_port0,out_port1,out_port2,out_port3,out_port4, ,如圖1-1建立工程時指定resetn,clock,mem_clock;in_port0,in_port1;//clockmem_clock信號。mem_clockROM和數(shù)據(jù)同步RAM使用,其波形需要有別于實驗一。 output[31:0]pc,inst,ealu,malu,output[6:0][31:0]out_port0,out_port1,out_port2,out_port3,[31:0]bpc,,pc4,ins, [31:0]dpc4,da,db,dimm, [31:0]epc4,ea,eb,eimm, [31:0]mb, [31:0]wmo,均為 drn,ern0,ern,mrn, daluc,//ID階段EXE階段通過流水線寄存器傳遞的aluc控制信號,4bit //CU模塊IF階段模塊傳遞的PC選擇信號,2bit CU模塊發(fā)出的控制流水線停頓的控制信號,使PCIF/ID dwreg,dm2reg,dwmem,daluimm,dshift,//id ewreg,em2reg,ewmem,ealuimm,eshift,//exe mwreg,mm2reg,//mem 的信號 wwreg,//wb于 t ,wpcir,clock,resetn,pc (pcsource,pc,bpc,da,jpc, ,pc4,ins,mem_clock);//IF //即輸入給該模塊的mem_clock信號,模塊內(nèi)rom_clkmem_clock//實驗中可采用系統(tǒng)clock的反相信mem_clock(亦即 (pc4,ins,wpcir,clock,resetn,dpc4,inst);IF/ID//clock上升沿時,將IF階段需傳遞給ID階段的信息,鎖存IF/ID流水線//中,并呈現(xiàn)在ID (mwreg,mrn,ern,ewreg,em2reg,mm2reg,dpc4,inst,mem_clock,dm2reg,dwmem,djal,dsa//ID

wrn,wdi,ealu,malu,mmo,wwreg,bpc,jpc,pcsource,wpcir,daluimm,da,db,dimm,drn,//其中的寄存器堆,會在系統(tǒng)clock的下沿進行寄存器寫入,也就是給信號從WB//該階段CU產(chǎn)生的、 de_reg(dwreg,dm2reg,dwmem,daluc,daluimm,da,db,dimm,drn,dshift,em2reg,ewmem,ealuc,esaID/EXE流水線寄存

djal,dpc4,dsa,clock,resetn,ea,eb,eimm,ern0,eshift,ejal,//ID/EXE流水線寄存器模塊,起承接ID階段和EXE階段的流水任務//clock上升沿IDEXE階段的信息,鎖存ID/EXE流水//寄存器中,并呈現(xiàn)在EXE exe_stage(ealuc,ealuimm,ea,eb,eimm,esa,eshift,ern0,epc4,ejal,ern,ealu);//EXE//EXEALU及多個多路器等 em_reg(ewreg,em2reg,ewmem,ealu,eb,ern,clock,mwreg,mm2reg,mwmem,malu,mb,//EXE/MEM流水線寄存器模塊,起承接EXE階段MEM階段的流水任務//clock上升沿EXE階段需傳遞MEM階段的信息,鎖存在 mem_stage(mwmem,wm2reg,wrn,mrn,malu,mb,wmo,clock,resetn,mem_clock,mmo,in_port0,in_port1,out_port0,out_port1,out_port2,out_port3,out_port4,out_port5);//MEM mem_clock//輸入給該同步RAMmem_clock信號,模塊內(nèi)定義為ram_clk//實驗中可采用系統(tǒng)clock的反相信號作mem_clock信號(mw_reg(mwreg,mm2reg,mmo,malu,mrn,wwreg,wm2reg,wmo,walu,//MEM/WB//clockMEMWB//WB(walu,wmo,wm2reg,wdisevensegsevenseg4(out_port4[3:0],hex4);sevensegsevenseg3(out_port3[3:0],hex3);sevensegsevenseg2(out_port2[3:0],hex2);sevensegsevenseg1(out_port1[3:0],hex1);sevensegpc4、bpc、da、jpc,irompcinsID,在這里獲得了jpc、bpc,WB寫入的寄存器編號rn,alu輸入端的a&b,立即數(shù)的符號拓展、控制信號,regfilecu險和控制的forwardA&B,以及控制停頓的wpcir,其余均與單周期流水線ID/EXE流水線寄存器resetn!=0時,將ID段的輸出賦EXE段的輸入,否則輸入變成0。入,否則輸入變成0。否則輸入變成0。的計算結(jié)果從MEM段推到ID段,lw指令從數(shù)據(jù)器讀出的數(shù)據(jù)從MEM段前推到ID段。根據(jù)優(yōu)先檢查相鄰指令的條件,要先判斷EXE段的alu結(jié)果,在判斷MEM段的alu結(jié)果,最后判斷從數(shù)據(jù)器讀出的數(shù)據(jù)。若是lw指令,且其后續(xù)指令與lw數(shù)據(jù)有關,需要將

溫馨提示

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

評論

0/150

提交評論