版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
./實(shí)驗(yàn)六計(jì)算機(jī)系統(tǒng)綜合設(shè)計(jì)與實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康?、深入理解計(jì)算機(jī)系統(tǒng)工作的基本原理,建立整機(jī)概念。2、融會(huì)貫通計(jì)算機(jī)組成原理課程的容,通過知識(shí)的綜合運(yùn)用,加深對(duì)計(jì)算機(jī)系統(tǒng)各模塊的工作原理及相互聯(lián)系的認(rèn)識(shí)。3、培養(yǎng)科學(xué)研究的獨(dú)立工作能力,取得工程設(shè)計(jì)與組裝調(diào)試的實(shí)踐經(jīng)驗(yàn)。二、實(shí)驗(yàn)要求1、將已經(jīng)設(shè)計(jì)的運(yùn)算器、存儲(chǔ)器和控制器連接,構(gòu)建完整的計(jì)算機(jī)系統(tǒng);2、編寫一段可以實(shí)現(xiàn)一定功能的指令程序,進(jìn)行計(jì)算機(jī)整機(jī)系統(tǒng)功能的驗(yàn)證。3、所有任務(wù)要求功能仿真和必要的驗(yàn)證。實(shí)驗(yàn)完成后,一周提交實(shí)驗(yàn)報(bào)告。三、實(shí)驗(yàn)設(shè)備PC機(jī)+QuartusⅡ10.0+FPGA<DE2-115>+TEC-8實(shí)驗(yàn)箱四、計(jì)算機(jī)系統(tǒng)〔TEC-8綜合邏輯框圖硬連線控制器控制信號(hào)切換電路ALUA端口B端口CZR0R1R2R3IRPCAR雙端口RAMDBUS五、實(shí)驗(yàn)任務(wù)1、將實(shí)驗(yàn)二的運(yùn)算器、實(shí)驗(yàn)三的存儲(chǔ)器和實(shí)驗(yàn)五的控制器連接,構(gòu)建完整的計(jì)算機(jī)系統(tǒng);2、計(jì)算機(jī)整機(jī)系統(tǒng)功能測(cè)試,進(jìn)行功能仿真和時(shí)序仿真并在DE2-115上驗(yàn)證?!?根據(jù)指令系統(tǒng),編寫一段可以實(shí)現(xiàn)一定功能的程序,要求:有一個(gè)合理的運(yùn)算功能和邏輯關(guān)系;指令數(shù)量:不少于8條;指令類型:停機(jī)、跳轉(zhuǎn)、RR、讀存、寫存、算術(shù)和邏輯運(yùn)算;〔2將指令程序手工匯編成二進(jìn)制代碼;〔3理論上設(shè)置寄存器的初值,并計(jì)算程序執(zhí)行后的結(jié)果;〔4將指令程序的二進(jìn)制代碼存入存儲(chǔ)器RAM中;〔5將需要的運(yùn)算數(shù)據(jù)初值存入寄存器R0-R3中;〔6進(jìn)行程序連續(xù)運(yùn)行的功能仿真和時(shí)序仿真,將仿真運(yùn)算結(jié)果與理論計(jì)算結(jié)果進(jìn)行比較。六、實(shí)驗(yàn)步驟實(shí)驗(yàn)電路圖子模塊〔1tri_74244tri74244.vmoduletri_74244<en,Din,Dout>;inputen;wireen;input[7:0]Din;wire[7:0]Din;output[7:0]Dout;reg[7:0]Dout;always<enorDin>beginif<en>Dout<=Din;elseDout<=8'bzzzzzzzz;endendmodule`timescale1ps/1psmoduletri_74244_vlg_tst<>;regeachvec;reg[7:0]Din;regen;wire[7:0]Dout;tri74244.vt`timescale1ps/1psmoduletri_74244_vlg_tst<>;regeachvec;reg[7:0]Din;regen;wire[7:0]Dout;tri_74244i1< .Din<Din>, .Dout<Dout>, .en<en>>;integeri;initialbegini=0;Din=8'b00000000;en=0;en=1;#30en=0;#40en=1;endinitialbeginfor<i=0;i<10;i=i+1>begin#10Din=i;endendendmoduletri74244功能仿真〔2ALUALU.bdfmodolue_74181 使用quartus庫(kù)中的74181模塊轉(zhuǎn)換為verilog文件即可de2_4de2_4.vmodulede2_4<en,in,out>;input[2:1]in;inputen;output[4:1]out;reg[4:1]out;always<enorin>if<en>case<in>2'b00:out=4'b0001;2'b01:out=4'b0010;2'b10:out=4'b0100;2'b11:out=4'b1000;default:out=4'b0000;endcaseelseout=4'b0000;endmodulede2_4.vt`timescale1ns/1psmodulede2_4_vlg_tst<>;regeachvec;regen;reg[2:1]in;wire[4:1]out;de2_4i1< .en<en>, .in<in>, .out<out>>;initialbeginen=0;endinitialbegin#10en=1;endinitialbegin#5in=2'b00;#15in=2'b01;#15in=2'b10;#15in=2'b11;#40$finish;endinitial$monitor<$time,,,"en=%bin=%bout=%b",en,in,out>;endmodulereg8reg8.vmodulereg8<T3,DOUT,D>;inputT3;wireT3;input[7:0]D;wire[7:0]D;output[7:0]DOUT;reg[7:0]DOUT;always<posedgeT3>beginDOUT<=D;endendmodulereg8.vt`timescale1ps/1psmodulereg8_vlg_tst<>;regeachvec;reg[7:0]D;regT3;wire[7:0]DOUT;reg8i1< .D<D>, .DOUT<DOUT>, .T3<T3>>;integeri;initialbeginT3=0;D=8'd0;endalwaysbegin#5T3=~T3;endinitialbeginfor<i=0;i<11;i=i+1>begin#10D=i;endendendmodulemux4_1mux4_1.vmodulemux4_1<d1,d2,d3,d4,se1,se2,dout>;input[7:0]d1;input[7:0]d2;input[7:0]d3;input[7:0]d4;inputse1;inputse2;outputdout;reg[7:0]dout;always<d1ord2ord3ord4orse1orse2>case<{se2,se1}>2'b00:dout=d1;2'b01:dout=d2;2'b10:dout=d3;2'b11:dout=d4;endcaseendmodulemux4_1.vt`timescale1ps/1psmodulemux4_1_vlg_tst<>;regeachvec;reg[7:0]d1;reg[7:0]d2;reg[7:0]d3;reg[7:0]d4;regse1;regse2;wire[7:0]dout;mux4_1i1< .d1<d1>, .d2<d2>, .d3<d3>, .d4<d4>, .dout<dout>, .se1<se1>, .se2<se2>>;integeri,j;initialbegin#10d1=8'b00000001;d2=8'b00000010;d3=8'b00000011;d4=8'b00000100;endinitialbegin#5while<1>for<i=0;i<2;i=i+1>for<j=0;j<2;j=j+1>begin#5se2=i;se1=j;endendendmoduleALU邏輯電路圖邏輯功能表〔1寫寄存器〔例如:向通用寄存器R0-R3分別寫入數(shù)據(jù)55H/AAH/03H/04HT3RDDRWSBUSABUSDBUS[7..0]功能<寫R>↑0011055H55H→R0↑01110AAHAAH→R1↑1011003H03H→R2↑1111004H04H→R3〔2選擇將R0送74181的A端口,R1送B端口,進(jìn)行算術(shù)功能驗(yàn)算MCnS[3..0]RDRSDRWSBUSABUSDBUS[7..0]0100000001001550100010001001ff……011111000100154〔3選擇將R0送74181的A端口,R1送B端口,進(jìn)行邏輯功能驗(yàn)算MCnS[3..0]RDRSDRWSBUSABUSDBUS[7..0]1000000001001AA100001000100100……101111000100155當(dāng)A=55H,B=AAH,S=0000~1111,M=0,CIN=1時(shí)仿真測(cè)試文件及功能仿真波形`timescale1ns/1psmodulealu_vlg_tst<>;regT3;regSBUS;regDRW;regABUS;regLDC;regCIN;regM;reg[1:0]RD;reg[1:0]RS;reg[3:0]S;reg[7:0]SD;wire[7:0]DBUS;wireC;alui1< .ABUS<ABUS>, .C<C>, .CIN<CIN>, .DBUS<DBUS>, .DRW<DRW>, .LDC<LDC>, .M<M>, .RD<RD>, .RS<RS>, .S<S>, .SBUS<SBUS>, .SD<SD>, .T3<T3>>;initialbeginT3=0;SBUS=1;DRW=1;ABUS=0;RD=2'b00;SD=8'b01010101;#10RD=2'b01;SD=8'b10101010;#10RD=2'b10;SD=8'b00000011;#10RD=2'b11;SD=8'b00000100;#10RD=2'b00;RS=2'b01;SBUS=0;DRW=0;ABUS=1;CIN=1;LDC=1;M=0;endalwaysbegin#5T3=~T3;endintegeri;initialbegin#40S=4'b0000;for<i=1;i<16;i=i+1>#10S=i;endinitial$monitor<$time,,,"M=%bS=%bCIN=%bSD=%hDBUS=%hC=%b",M,S,CIN,SD,DBUS,C>;endmodule指令A(yù)DDR0,R1〔R0+R1→R0的仿真測(cè)試文件及功能仿真波形`timescale1ns/1psmodulealu_vlg_tst<>;regT3;regSBUS;regDRW;regABUS;regLDC;regCIN;regM;reg[1:0]RD;reg[1:0]RS;reg[3:0]S;reg[7:0]SD;wire[7:0]DBUS;wireC;alui1< .ABUS<ABUS>, .C<C>, .CIN<CIN>, .DBUS<DBUS>, .DRW<DRW>, .LDC<LDC>, .M<M>, .RD<RD>, .RS<RS>, .S<S>, .SBUS<SBUS>, .SD<SD>, .T3<T3>>;initialforkT3=0;SBUS=1;DRW=1;ABUS=0;RD=2'b00;SD=8'b00000111;#10RD=2'b01;#10SD=8'b00000001;#20RD=2'b00;#20RS=2'b01;#20SBUS=0;#20DRW=0;#20ABUS=1;#20CIN=1;#20LDC=1;#20M=0;#20S=4'b1001;#30RD=2'b00;#30DRW=1;#40DRW=0;joinalwaysbegin#5T3=~T3;endendmodule00nsDBUS=07HT3上升沿到來(lái)〔5ns時(shí)數(shù)據(jù)07H被寫R010nsDBUS=01HT3上升沿到來(lái)〔15ns時(shí)數(shù)據(jù)01H被寫R120nsDBUS=R0+R1=07+01=08H30nsT3上升沿到來(lái)〔35ns時(shí)DBUS數(shù)據(jù)08H被寫R0,因此DBUS=R0+R1=08H+01H=09H〔說明實(shí)現(xiàn)了R0+R1→R0注意:此時(shí)M=0,S=1001,CIN=1〔相當(dāng)于C0=0,實(shí)現(xiàn)算術(shù)運(yùn)算A+B指令SUBR0,R1〔R0-R1→R0的仿真測(cè)試文件及功能仿真波形`timescale1ns/1psmodulealu_vlg_tst<>;regT3;regSBUS;regDRW;regABUS;regLDC;regCIN;regM;reg[1:0]RD;reg[1:0]RS;reg[3:0]S;reg[7:0]SD;wire[7:0]DBUS;wireC;alui1< .ABUS<ABUS>, .C<C>, .CIN<CIN>, .DBUS<DBUS>, .DRW<DRW>, .LDC<LDC>, .M<M>, .RD<RD>, .RS<RS>, .S<S>, .SBUS<SBUS>, .SD<SD>, .T3<T3>>;initialforkT3=0;SBUS=1;DRW=1;ABUS=0;RD=2'b00;SD=8'b00000111;#10RD=2'b01;#10SD=8'b00000001;#20RD=2'b00;#20RS=2'b01;#20SBUS=0;#20DRW=0;#20ABUS=1;#20CIN=0;#20LDC=1;#20M=0;#20S=4'b0110;#30RD=2'b00;#30DRW=1;#40DRW=0;joinalwaysbegin#5T3=~T3;endendmodule00nsDBUS=03HT3上升沿到來(lái)〔5ns時(shí)數(shù)據(jù)07H被寫R010nsDBUS=01HT3上升沿到來(lái)〔15ns時(shí)數(shù)據(jù)01H被寫R120nsDBUS=R0-R1=07-01=06H30nsT3上升沿到來(lái)〔35ns時(shí)DBUS數(shù)據(jù)06H被寫R0,因此DBUS=R0-R1=06H-01H=05H〔說明實(shí)現(xiàn)了R0-R1→R0注意:此時(shí)M=0,S=0110,實(shí)現(xiàn)算術(shù)運(yùn)算A-B-1,設(shè)置CIN=0〔相當(dāng)于C0=1,讓進(jìn)位C0=1,因此實(shí)現(xiàn)運(yùn)算<A-B-1>+1=A-B指令A(yù)NDR0,R1〔R0&R1→R0的仿真測(cè)試文件及功能仿真波形`timescale1ns/1psmodulealu_vlg_tst<>;regT3;regSBUS;regDRW;regABUS;regLDC;regCIN;regM;reg[1:0]RD;reg[1:0]RS;reg[3:0]S;reg[7:0]SD;wire[7:0]DBUS;wireC;alui1< .ABUS<ABUS>, .C<C>, .CIN<CIN>, .DBUS<DBUS>, .DRW<DRW>, .LDC<LDC>, .M<M>, .RD<RD>, .RS<RS>, .S<S>, .SBUS<SBUS>, .SD<SD>, .T3<T3>>;initialforkT3=0;SBUS=1;DRW=1;ABUS=0;RD=2'b00;SD=8'b00000111;#10RD=2'b01;#10SD=8'b00001001;#20RD=2'b00;#20RS=2'b01;#20SBUS=0;#20DRW=0;#20ABUS=1;#20CIN=1;#20LDC=1;#20M=1;#20S=4'b1011;#30RD=2'b00;#30DRW=1;#38S=4'b0000;#40DRW=0;joinalwaysbegin#5T3=~T3;endendmodule00nsDBUS=00000111T3上升沿到來(lái)〔5ns時(shí)數(shù)據(jù)00000111被寫R010nsDBUS=00001001T3上升沿到來(lái)〔15ns時(shí)數(shù)據(jù)00001001被寫R120nsDBUS=R0&R1=0000000130nsDRW=1T3上升沿到來(lái)〔35ns時(shí)DBUS數(shù)據(jù)00000001被寫R0,38nsM=1,S=0000DBUS=R0&R1==11111110H實(shí)現(xiàn)了求反運(yùn)算〔說明已經(jīng)實(shí)現(xiàn)了R0&R1→R0〔3RAM4RAM4.bdfcnt256cnt256.vmodulet256<Q,DATA,LDN,reset,clk>;output[7:0]Q;input[7:0]DATA;inputLDN,reset,clk;reg[7:0]Q;always<posedgeclkornegedgereset>//clk上升沿觸發(fā)beginif<!reset>//異步清零,低電平有效Q<=8'b0;elseif<!LDN>Q<=DATA;//同步置數(shù),低電平有效 elseQ<=Q+1;//計(jì)數(shù)endendmodulecnt256.vt`timescale1ns/1psmodulet256_vlg_tst<>;reg[7:0]DATA;regLDN;regclk;regreset;wire[7:0]Q;cnt256i1< .DATA<DATA>, .LDN<LDN>, .Q<Q>, .clk<clk>, .reset<reset>>;initialbeginDATA=1'hA;clk=0;reset=1;LDN=1;DATA=8'd00010010;#20reset=0;#40reset=1;#260LDN=0;#80LDN=1;endalwaysbegin#20clk=~clk;endendmoduleasdf 利用宏功能模塊先生成單端口存儲(chǔ)器,再用兩單端口存儲(chǔ)器進(jìn)行連接生成雙端口存儲(chǔ)器RAM4仿真測(cè)試邏輯圖雙端口邏輯功能表〔1從左端口寫存儲(chǔ)器〔在01H單元中寫入數(shù)據(jù)11H〔右端口為只讀端口T2T3MEMWSBUSLARLPCMBUSCLR_ARINCPCINCSD[7..0]功能x↑011001000101H→AR↑x110001001111H→<01H>〔地址線和數(shù)據(jù)線分時(shí)復(fù)用技術(shù),先送地址,再送數(shù)據(jù)用同樣方法在02H中寫入22H〔2從左端口讀存儲(chǔ)器〔從01H中讀出數(shù)據(jù)11H〔右端口為只讀端口T2T3MEMWSBUSLARLPCMBUSCLR_ARINCPCINCSD[7..0]功能x↑011001000101H→AR↑x00001100xx<01H>→DBUS〔地址線和數(shù)據(jù)線分時(shí)復(fù)用技術(shù),先送地址,再送數(shù)據(jù)用同樣方法讀出02H中的22H〔3從右端口讀存儲(chǔ)器〔從01H中讀出數(shù)據(jù)11H〔右端口為只讀端口T2T3MEMWSBUSLARLPCMBUSCLR_ARINCPCINCSD[7..0]功能x↑010101000101H→PC↑x00001100xx<01H>→INS〔地址線和數(shù)據(jù)線分時(shí)復(fù)用技術(shù),先送地址,再送數(shù)據(jù)用同樣方法讀出02H中的22H〔4AR自動(dòng)加1讀存儲(chǔ)器〔從左端口連續(xù)讀存儲(chǔ)器T2T3MEMWSBUSLARLPCMBUSCLR_ARINCPCINCSD[7..0]功能↑x00001110XXM→DBUS〔5PC自動(dòng)加1讀存儲(chǔ)器〔從右端口連續(xù)讀存儲(chǔ)器T2T3MEMWSBUSLARLPCMBUSCLR_ARINCPCINCSD[7..0]功能↑x00000101XXM→INS〔4UCU_ir_1UCU_ir_1.bdfram64_40rom64_40.vmodulerom64_40< addr, q>; input [5:0]addr; output [39:0]q; reg[39:0]q; always<addr[5]oraddr[4]oraddr[3]oraddr[2]oraddr[1]oraddr[0]> begin case<{addr[5],addr[4],addr[3],addr[2],addr[1],addr[0]}> 6'h00:q<=40'h0c00000041; 6'h01:q<=40'h00000410a0; 6'h02:q<=40'h4010034002; 6'h03:q<=40'h4010028002; 6'h04:q<=40'h4020024004; 6'h05:q<=40'h4010028004; 6'h06:q<=40'h6c00020000; 6'h07:q<=40'h4400020006; 6'h08:q<=40'h501002080a; 6'h09:q<=40'h4410020808; 6'h0a:q<=40'h641002080c; 6'h0b:q<=40'h4410020815; 6'h0c:q<=40'h7810020800; 6'h0d:q<=40'h401002a01a; 6'h0e:q<=40'h0020000c01; 6'h0f:q<=40'h4410020832; 6'h10:q<=40'h000e810401; 6'h11:q<=40'h0180020014; 6'h12:q<=40'h0000000401; 6'h13:q<=40'h8000000401; 6'h14:q<=40'h0010002001; 6'h15:q<=40'h5010020816; 6'h16:q<=40'h440a7a0017; 6'h17:q<=40'h44099a0018; 6'h18:q<=40'h440eca0019; 6'h19:q<=40'h440f8a0000; 6'h1a:q<=40'h401003401b; 6'h1b:q<=40'h401003501c; 6'h1c:q<=40'h401003501d; 6'h1d:q<=40'h401002a01f; 6'h1e:q<=40'h0000000000; 6'h1f:q<=40'h4020025030; 6'h20:q<=40'h0000000000; 6'h21:q<=40'h000a780c01; 6'h22:q<=40'h0009980c01; 6'h23:q<=40'h000ec80c01; 6'h24:q<=40'h0008180c01; 6'h25:q<=40'h000e80800e; 6'h26:q<=40'h000fc08010; 6'h27:q<=40'h0000000112; 6'h28:q<=40'h0000000212; 6'h29:q<=40'h000fc02401; 6'h2a:q<=40'h000e800401; 6'h2b:q<=40'h0040002401; 6'h2c:q<=40'h0100000001; 6'h2d:q<=40'h0200000001; 6'h2e:q<=40'h0000020401; 6'h2f:q<=40'h0000000000; 6'h30:q<=40'h4020025031; 6'h31:q<=40'h4020020000; 6'h32:q<=40'h5010020833; 6'h33:q<=40'h64100c0834; 6'h34:q<=40'h7810020835; 6'h35:q<=40'h4c1002a036; 6'h36:q<=40'h400e834037; 6'h37:q<=40'h440e835038; 6'h38:q<=40'h480e835039; 6'h39:q<=40'h4c0e83503a; 6'h3a:q<=40'h4c1002803b; 6'h3b:q<=40'h702002483c; 6'h3c:q<=40'h6c2002483d; 6'h3d:q<=40'h582002483e; 6'h3e:q<=40'h4420024800; 6'h3f:q<=40'h0000000000; default:beginend endcase end endmodulerom64_40.vt`timescale1ns/1psmodulerom64_40_vlg_tst<>;reg[5:0]addr;wire[39:0]q;rom64_40i1< .addr<addr>, .q<q>>;integeri;initialbeginfor<i=0;i<64;i=i+1>begin#50addr=i;endendendmodulereg6reg6.vmodulereg6<CLK,DOUT,D,CLR_>;inputCLK;wireCLK;input[5:0]D;wire[5:0]D;inputCLR_;wireCLR_;output[5:0]DOUT;reg[5:0]DOUT;always<negedgeCLKornegedgeCLR_>beginif<CLR_==0>DOUT<=6'd0;elseDOUT<=D;endendmodulereg6.vt`timescale1ps/1psmodulereg6_vlg_tst<>;regCLK;regCLR_;reg[5:0]D;wire[5:0]DOUT;reg6i1< .CLK<CLK>, .CLR_<CLR_>, .D<D>, .DOUT<DOUT>>;integeri;initialbeginCLK=0;D=6'd1;CLR_=1;#10CLR_=0;#10CLR_=1;#30D=6'd2;endalwaysbegin#20CLK=~CLK;endinitialbegin#50for<i=3;i<15;i=i+1>begin#40D=i;endendendmoduleaddrtranaddrtran.bdfaddrtran.vt`timescale1ps/1psmoduleaddrtran_vlg_tst<>;regeachvec;regC;regINT;reg[7:4]IR;reg[5:0]NuA;reg[4:0]P;regSWA;regSWB;regSWC;regZ;wire[5:0]uA;addrtrani1< .C<C>, .\INT<INT>, .IR<IR>, .NuA<NuA>, .P<P>, .SWA<SWA>, .SWB<SWB>, .SWC<SWC>, .uA<uA>, .Z<Z>>;initialbeginINT=0;C=0;Z=0;P=5'd1;NuA=2'o01;SWC=0;SWB=0;SWA=0;#20SWA=1;#20SWA=0;SWB=1;#20SWA=1;#20SWA=0;SWB=0;SWC=1;#20SWC=0;P=5'd2;NuA=6'd010000;endintegeri;initial#80beginfor<i=0;i<16;i=i+1>#20IR=i;endendmodulemicro_controller.bdfMicro_controller.vt`timescale1ns/1psmodulemicro_controller_vlg_tst<>;regeachvec;regC;regCLR_;regINT;reg[7:4]IR;regSWA;regSWB;regSWC;regT3;regZ;wireABUS;wireARINC;wireCIN;wire[39:0]CM;wireDRW;wireIABUS;wireINTDI;wireINTEN;wireLAR;wireLDC;wireLDZ;wireLIAR;wireLIR;wireLPC;wireM;wireMBUS;wireMEMW;wirePCADD;wirePCINC;wire[3:0]S;wireSBUS;wire[3:0]SEL;wireSELCTL;wireSTOP;micro_controlleri1< .ABUS<ABUS>, .ARINC<ARINC>, .C<C>, .CIN<CIN>, .CLR_<CLR_>, .CM<CM>, .DRW<DRW>, .IABUS<IABUS>, .\INT<INT>, .INTDI<INTDI>, .INTEN<INTEN>, .IR<IR>, .LAR<LAR>, .LDC<LDC>, .LDZ<LDZ>, .LIAR<LIAR>, .LIR<LIR>, .LPC<LPC>, .M<M>, .MBUS<MBUS>, .MEMW<MEMW>, .PCADD<PCADD>, .PCINC<PCINC>, .S<S>, .SBUS<SBUS>, .SEL<SEL>, .SELCTL<SELCTL>, .STOP<STOP>, .SWA<SWA>, .SWB<SWB>, .SWC<SWC>, .T3<T3>, .Z<Z>>;initialbeginCLR_=0;T3=0;#30Z=0;C=0;INT=0;CLR_=1;SWC=0;SWB=0;SWA=0;endalwaysbegin#20T3=~T3;endintegeri;initialbeginfor<i=1;i<16;i=i+1>begin#80IR=i;endendendmodulereg8 同ALU模塊中的reg8mux2_1mux2_1.vmodulemux2_1<d0,d1,sel,dout>;input[3:0]d0;input[3:0]d1;inputsel;outputdout;reg[3:0]dout;always<d0ord1orsel>case<sel>1'b0:dout=d0;1'b1:dout=d1;endcaseendmodulemux2_1.vt`timescale1ps/1psmodulemux2_1_vlg_tst<>;regeachvec;reg[3:0]d0;reg[3:0]d1;regsel;wire[3:0]dout;mux2_1i1< .d0<d0>, .d1<d1>, .dout<dout>, .sel<sel>>;initialbegind0=4'b0001;d1=4'b1110;endintegeri;initialwhile<1>beginfor<i=0;i<2;i=i+1>begin#50sel=i;endendendmoduleUCU_ir_1仿真測(cè)試ADD-SUB-AND-INC指令,2個(gè)CPU周期Testbench`timescale1ns/1psmoduleucu_ir_vlg_tst<>;regeachvec;regC;regCLR_;reg[7:0]INS;regINT;regSWA;regSWB;regSWC;regT3;regZ;wireABUS;wireARINC;wireCIN;wire[39:0]CM;wireDRW;wireIABUS;wireINTDI;wireINTEN;wireLAR;wireLDC;wireLDZ;wireLIAR;wireLIR;wireLPC;wireM;wireMBUS;wireMEMW;wirePCADD;wirePCINC;wire[1:0]RD;wire[1:0]RS;wire[3:0]S;wireSBUS;wireSTOP;ucu_iri1< .ABUS<ABUS>, .ARINC<ARINC>, .C<C>, .CIN<CIN>, .CLR_<CLR_>, .CM<CM>, .DRW<DRW>, .IABUS<IABUS>, .INS<INS>, .\INT<INT>, .INTDI<INTDI>, .INTEN<INTEN>, .LAR<LAR>, .LDC<LDC>, .LDZ<LDZ>, .LIAR<LIAR>, .LIR<LIR>, .LPC<LPC>, .M<M>, .MBUS<MBUS>, .MEMW<MEMW>, .PCADD<PCADD>, .PCINC<PCINC>, .RD<RD>, .RS<RS>, .S<S>, .SBUS<SBUS>, .STOP<STOP>, .SWA<SWA>, .SWB<SWB>, .SWC<SWC>, .T3<T3>, .Z<Z>>;initialbeginCLR_=0;T3=1;#30CLR_=1;Z=0;C=0;INT=0;SWC=0;SWB=0;SWA=0;endalwaysbegin#10T3=0;#20T3=1;endintegeri;initialbegin#40INS=8'b00010001;for<i=33;i<255;i=i+16>begin#60INS=i;endendendmoduleLD-ST-JC指令,3個(gè)CPU周期Testbench`timescale1ns/1psmoduleucu_ir_vlg_tst<>;regeachvec;regC;regCLR_;reg[7:0]INS;regINT;regSWA;regSWB;regSWC;regT3;regZ;wireABUS;wireARINC;wireCIN;wire[39:0]CM;wireDRW;wireIABUS;wireINTDI;wireINTEN;wireLAR;wireLDC;wireLDZ;wireLIAR;wireLIR;wireLPC;wireM;wireMBUS;wireMEMW;wirePCADD;wirePCINC;wire[1:0]RD;wire[1:0]RS;wire[3:0]S;wireSBUS;wireSTOP;ucu_iri1< .ABUS<ABUS>, .ARINC<ARINC>, .C<C>, .CIN<CIN>, .CLR_<CLR_>, .CM<CM>, .DRW<DRW>, .IABUS<IABUS>, .INS<INS>, .\INT<INT>, .INTDI<INTDI>, .INTEN<INTEN>, .LAR<LAR>, .LDC<LDC>, .LDZ<LDZ>, .LIAR<LIAR>, .LIR<LIR>, .LPC<LPC>, .M<M>, .MBUS<MBUS>, .MEMW<MEMW>, .PCADD<PCADD>, .PCINC<PCINC>, .RD<RD>, .RS<RS>, .S<S>, .SBUS<SBUS>, .STOP<STOP>, .SWA<SWA>, .SWB<SWB>, .SWC<SWC>, .T3<T3>, .Z<Z>>;initialbeginCLR_=0;T3=1;Z=0;C=0;INT=0;SWC=0;SWB=0;SWA=0;#30CLR_=1;endalwaysbegin#10T3=0;#20T3=1;endintegeri;initialbegin#40INS=8'b01011110;for<i=110;i<111;i=i+16>begin#90INS=i;endfor<i=112;i<225;i=i+16>begin#90INS=i;endendendmoduleJZ-JMP-OUT-STP指令Testbench`timescale1ns/1psmoduleucu_ir_vlg_tst<>;regeachvec;regC;regCLR_;reg[7:0]INS;regINT;regSWA;regSWB;regSWC;regT3;regZ;wireABUS;wireARINC;wireCIN;wire[39:0]CM;wireDRW;wireIABUS;wireINTDI;wireINTEN;wireLAR;wireLDC;wireLDZ;wireLIAR;wireLIR;wireLPC;wireM;wireMBUS;wireMEMW;wirePCADD;wirePCINC;wire[1:0]RD;wire[1:0]RS;wire[3:0]S;wireSBUS;wireSTOP;ucu_iri1< .ABUS<ABUS>, .ARINC<ARINC>, .C<C>, .CIN<CIN>, .CLR_<CLR_>, .CM<CM>, .DRW<DRW>, .I
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026福建莆田市荔城區(qū)教師進(jìn)修學(xué)校選聘教研員5人備考題庫(kù)及答案詳解(新)
- 蒼溪縣2026年上半年機(jī)關(guān)事業(yè)單位公開考調(diào)工作人員的備考題庫(kù)(80人)含答案詳解
- 2026福建南平市順昌縣工業(yè)園區(qū)開發(fā)有限公司招聘1人備考題庫(kù)及1套完整答案詳解
- 公司關(guān)于對(duì)出境管理相關(guān)制度
- 保證準(zhǔn)備制度
- 2025年米脂縣幼兒園教師招教考試備考題庫(kù)含答案解析(奪冠)
- 2025年牟定縣招教考試備考題庫(kù)附答案解析(奪冠)
- 2025年湖南勞動(dòng)人事職業(yè)學(xué)院馬克思主義基本原理概論期末考試模擬題帶答案解析
- 2025年湖南交通職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)帶答案解析
- 2025年遼寧輕工職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)帶答案解析
- 石子廠規(guī)范管理制度
- 大數(shù)據(jù)驅(qū)動(dòng)下的塵肺病發(fā)病趨勢(shì)預(yù)測(cè)模型
- 成都2025年四川成都市新津區(qū)招聘衛(wèi)生專業(yè)技術(shù)人才21人筆試歷年參考題庫(kù)附帶答案詳解
- 2026屆廣東省高考英語(yǔ)聽說考試備考技巧講義
- 炎德英才大聯(lián)考雅禮中學(xué)2026屆高三月考試卷英語(yǔ)(五)(含答案)
- 2026年經(jīng)營(yíng)人員安全生產(chǎn)責(zé)任制范文
- 2026年及未來(lái)5年中國(guó)鍛造件行業(yè)市場(chǎng)深度分析及發(fā)展前景預(yù)測(cè)報(bào)告
- 2026年及未來(lái)5年市場(chǎng)數(shù)據(jù)中國(guó)大型鑄鍛件行業(yè)市場(chǎng)深度分析及投資戰(zhàn)略數(shù)據(jù)分析研究報(bào)告
- 【道 法】期末綜合復(fù)習(xí) 課件-2025-2026學(xué)年統(tǒng)編版道德與法治七年級(jí)上冊(cè)
- T-CEPPEA 5002-2019 電力建設(shè)項(xiàng)目工程總承包管理規(guī)范
- 暫緩行政拘留申請(qǐng)書
評(píng)論
0/150
提交評(píng)論