


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
年 月 F /201965I/OI/OI/O(1)實(shí)驗(yàn)儀器:3.實(shí)驗(yàn)任務(wù)VerilogHDLquartus20MIPSCPU的一部分,實(shí)現(xiàn)CPU與外部設(shè)備的輸入輸出端口設(shè)計(jì)。實(shí)驗(yàn)中可采用高端I/OlwDE2信息。即將外部設(shè)備狀態(tài),讀到CPU內(nèi)部寄存器。I/OswDE2LED設(shè)備的控制信號(hào)(或數(shù)據(jù)信息)。即將對(duì)外部設(shè)備的控制數(shù)據(jù),從CPU內(nèi)部按鍵的狀態(tài)輸入,并將判別或處理結(jié)果,利用板載LED燈或7LED數(shù)碼2個(gè)LED數(shù)碼管以10LED上指令集的測(cè)試應(yīng)用功能的程序設(shè)計(jì)代碼,流程圖。 //SchoolofSoftwareof //inputresetn,clock,mem_clk;inputresetn,mem_clk;wireinput[3:0]in_port0,//output[31:0]wire[31:0] wireimem_clk,dmem_clk;output[31:0]out_port0,out_port1,out_port2;wire[31:0]out_port0,out_port1,out_port2;wire[31:0]data;wirewmem;//allthese"wire"sareusedtoconnectorinterfacethecpu,dmem,imemandsoon.outputwire[6:0]clock_divsc_cpucpu(clock,resetn,inst,memout,pc,wmem,aluout,data); sc_instmemimem(pc,inst,clock,mem_clk,imem_clk); instructionmemory.sc_datamemdmemt0,out_port1,out_port2);//datamemory.sevensegss0(out_port0[3:0],HEX0);sevensegss1(out_port0[7:4],HEX1);sevensegss2(out_port1[3:0],HEX2);sevensegss3(out_port1[7:4],HEX3);sevensegss4(out_port2[3:0],HEX4);sevensegss5(out_port2[7:4],HEX5);module//NOTE:lw,iotoinput[31:0]input[3:0]in_port0,in_port1;inputio_clk;outputwire[31:0]io_read_data;reg[31:0]in_reg0,in_reg1;in_reg0=in_reg1=always@(posedgeio_clk)in_reg0<={28'b0,in_port0};in_reg1<=//NOTE:input[31:0]addr,inputwrite_io_enable,io_clk,outputreg[31:0]out_port0,out_port1,always@(posedgeio_clkornegedgeclrn)out_port0<=out_port1<=out_port2<=6'b100000:out_port0<=datain;6'b100001:out_port1<=datain;6'b100010:out_port2<=datain;moduleio_input_mux(in_reg0,in_reg1,addr,io_read_data);input[31:0]in_reg0,in_reg1;input[5:0]outputreg[31:0]io_read_data;io_read_data=always6'b110000:io_read_data=in_reg0;6'b110001:io_read_data=in_reg1;modulealu(a,b,aluc,s,z);input[31:0]a,b;input[3:0]output[31:0]s; reg[31:0]s; always@(aorbor //casex4'bx000:s=a+ //x0004'bx100:s=a- //x1004'bx001:s=a& //x0014'bx101:s=a| //x1014'bx010:s=a^ //x0104'bx110:s={b,16'b0}; //x110LUI:imm<<16bit4'b0011:s=b<<<a; //0011SLL:rd<-(rt<<sa)4'b0111:s=b>>>a; //0111SRL:rd<-(rt>>sa)(logical)4'b1111:s=$signed(b)>>>a; //1111SRA:rd<-(rt>>sa)default:s=
if(s==0)z=1;elsez=0;modulesc_cu(op,func,z,wmem,wreg,regrt,m2reg,aluc,shift,aluimm,pcsource,jal,sext);input[5:0]op,func; output[3:0]aluc;output[1:0]pcsource;wirer_type=~|op;wirei_add=r_type&func[5]&~func[4]&~func[3]~func[2]&~func[1]&~func[0]; wirei_sub=r_type&func[5]&~func[4]&~func[3]&~func[2]&func[1]& //pleasecompletethedeletedwirei_and=r_type&func[5]&~func[4]&~func[3]&func[2]~func[1]&~func[0];wirei_or=r_type&func[5]&~func[4]&~func[3]&func[2]~func[1]&func[0];wirei_xor=r_type&func[5]&~func[4]&~func[3]&func[2]&func[1]&~func[0];//100110wirei_sll=r_type&~func[5]&~func[4]&~func[3]&~func[2]~func[1]&~func[0];wirei_srl=r_type&~func[5]&~func[4]&~func[3]&~func[2]&func[1]&~func[0];//000010wirei_sra=r_type&~func[5]&~func[4]&~func[3]&~func[2]&func[1]&func[0];//000011wirei_jr=r_type&~func[5]&~func[4]&func[3]&~func[2]~func[1]&~func[0];//Note:here,op[i]insteadofwirei_addi=~op[5]&~op[4]&op[3]&~op[2]&~op[1]&~op[0];//001000wirei_andi=~op[5]&~op[4]&op[3]&op[2]&~op[1]&~op[0];wirei_ori=~op[5]&~op[4]&op[3]&op[2]&~op[1]&op[0];//001101wirei_xori=~op[5]&~op[4]&op[3]&op[2]&op[1]&~op[0];//001110wirei_lw=op[5]&~op[4]&~op[3]&~op[2]&op[1]&op[0];//100011wirewirewirei_beqwirei_bnewirei_luiwirei_jwire=op[5]&~op[4]=~op[5]&~op[4]=~op[5]&~op[4]=~op[5]&~op[4]=~op[5]&~op[4]op[3]&~op[2]&op[1]&op[0];~op[3]&op[2]&~op[1]&~op[0];~op[3]&op[2]&~op[1]&op[0];op[3]&op[2]&op[1]&op[0];~op[3]&~op[2]&op[1]&~op[0];=~op[5]&~op[4]&~op[3]&~op[2]&op[1]&op[0];assignpcsource[1]=i_jr|i_j|assignpcsource[0]=(i_beq&z)|(i_bne&~z)|i_j|i_jalassignwreg=i_add|i_sub|i_and| |i_xori_sll|i_srl|i_sra|i_addi|i_andii_ori|i_xori|i_lw|i_lui|//aluc+:0000,-:x100and:x001or:x101xor:x010lui:x110sll:0011//Note:bne,beq==xorassignaluc[3]=assignaluc[2]=i_or|i_ori|i_lui|i_srl|i_sra|assignaluc[1]=i_beq|i_bne|i_xor|i_xori|i_lui|i_sll|i_srl|assignaluc[0]=i_and|i_andi|i_or|i_ori|i_sll|i_srl|i_sra;assignshift =i_sll|i_srl|i_sra;assignaluimm=i_addi|i_andi|i_ori|i_xori|i_lw|i_sw;//I-type(exceptLUI?).J-typeisprocessedassign =i_addi|i_lw|i_sw|i_beq|i_bne;//arithmeticI-logicalassignassign//rd=assign===i_addi|i_andi|i_ori|i_xori|i_lw|=的二進(jìn)制代碼,接著,為調(diào)用IO,完成io_input_mux,io_input_reg,io_output_reg三個(gè)DEPTH=64;%Memorydepthandwidtharerequired%WIDTH=32;%EnteradecimalnumberADDRESS_RA
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《一夜的工作》課件
- 2025年度農(nóng)產(chǎn)品購(gòu)銷合同 蔬菜訂購(gòu)協(xié)議
- 獨(dú)立廠房出售合同范本
- 婚慶車隊(duì)租賃合同范本
- 地球內(nèi)部教學(xué)課件
- 演員拍戲的合同范本
- 神經(jīng)外科延伸護(hù)理走進(jìn)家庭
- 2025居間合同、中介費(fèi)用
- 夜班護(hù)理查房情景演練
- 2025林地使用權(quán)轉(zhuǎn)讓合同林地使用權(quán)轉(zhuǎn)讓合同模板
- 糖尿病飲食的健康宣教
- 《智能網(wǎng)聯(lián)汽車智能傳感器測(cè)試與裝調(diào)》電子教案
- 熱敏灸課件完整版本
- 人工智能-第一章 緒論
- 超聲引導(dǎo)下動(dòng)靜脈內(nèi)瘺穿刺
- 柯坦鎮(zhèn)中心小學(xué)開展研學(xué)旅行活動(dòng)實(shí)施方案
- 人教版信息技術(shù)八年級(jí)下 第二章活動(dòng)1認(rèn)識(shí)三維建模技術(shù) 教案
- 2024城市電纜線路巖土工程勘察規(guī)范
- 幫助學(xué)生克服學(xué)習(xí)拖延的教學(xué)設(shè)計(jì)
- 二年級(jí)下冊(cè)語(yǔ)文-第五單元單元解讀-人教版
- 2024-2025學(xué)年華東師大版數(shù)學(xué)七年級(jí)上冊(cè)計(jì)算題專項(xiàng)訓(xùn)練
評(píng)論
0/150
提交評(píng)論