欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      計(jì)算機(jī)組成CPU數(shù)據(jù)通路verilog實(shí)驗(yàn)報(bào)告

      時(shí)間:2019-05-14 11:32:54下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《計(jì)算機(jī)組成CPU數(shù)據(jù)通路verilog實(shí)驗(yàn)報(bào)告》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《計(jì)算機(jī)組成CPU數(shù)據(jù)通路verilog實(shí)驗(yàn)報(bào)告》。

      第一篇:計(jì)算機(jī)組成CPU數(shù)據(jù)通路verilog實(shí)驗(yàn)報(bào)告

      計(jì)算機(jī)組成與系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告

      實(shí)驗(yàn)?zāi)康?

      院(系): 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 專業(yè)班級(jí): 學(xué) 號(hào): 姓 名: 同 組 者: 指導(dǎo)教師: 實(shí)驗(yàn)時(shí)間: 2012 年 5 月 23 日

      完成處理器的單周期cpu的設(shè)計(jì)。實(shí)驗(yàn)儀器:

      PC機(jī)(安裝Altebra 公司的開發(fā)軟件 QuartusII)一臺(tái)

      實(shí)驗(yàn)原理:

      控制器分為主控制器和局部ALU控制器兩部分。主控制器的輸入為指令操作碼op,輸出各種控制信號(hào),并根據(jù)指令所涉及的ALU運(yùn)算類型產(chǎn)生ALUop,同時(shí),生成一個(gè)R-型指令的控制信號(hào)R-type,用它來(lái)控制選擇將ALUop輸出作為ALUctr信號(hào),還是根據(jù)R-型指令中的func字段來(lái)產(chǎn)生ALUctr信號(hào)。

      實(shí)驗(yàn)過(guò)程及實(shí)驗(yàn)記錄: 1.設(shè)計(jì)過(guò)程:

      第一步:分析每條指令的功能,并用RTL來(lái)表示。

      第二步:根據(jù)指令的功能給出所需的元件,并考慮如何將它們互連。

      第三步:確定每個(gè)元件所需控制信號(hào)的取值。

      第四步:匯總各指令涉及的控制信號(hào),生成所反映指令與控制信號(hào)之間的關(guān)系圖。

      第五步:根據(jù)關(guān)系表,得到每個(gè)控制信號(hào)的邏輯表達(dá)式,據(jù)此設(shè)計(jì)控制電路。

      2.完成代碼的編寫,并調(diào)試運(yùn)行。1)control module Control(op,func,Branch,Jump,RegDst,ALUSrc,ALUctr,MemtoReg,RegWr,MemWr,ExtOp);input [5:0] op,func;output reg Branch,Jump,RegDst,ALUSrc,MemtoReg,RegWr,MemWr,ExtOp;output reg [2:0] ALUctr;always @(op)case(op)6'b000000: begin Branch=0;Jump=0;RegDst=1;ALUSrc=0;MemtoReg=0;RegWr=1;MemWr=0;case(func)6'b100000:ALUctr=3'b001;6'b100010:ALUctr=3'b101;6'b100011:ALUctr=3'b100;6'b101010:ALUctr=3'b111;6'b101011:ALUctr=3'b110;endcase end 6'b001101: begin Branch=0;Jump=0;RegDst=0;ALUSrc=1;MemtoReg=0;RegWr=1;MemWr=0;ExtOp=0;ALUctr=3'b010;end 6'b001001: begin Branch=0;Jump=0;RegDst=0;ALUSrc=1;MemtoReg=0;RegWr=1;MemWr=0;ExtOp=1;ALUctr=3'b000;end

      6'b100011: begin Branch=0;Jump=0;RegDst=0;ALUSrc=1;MemtoReg=1;RegWr=1;MemWr=0;ExtOp=1;ALUctr=3'b000;end 6'b101011: begin Branch=0;Jump=0;ALUSrc=1;RegWr=0;MemWr=1;ExtOp=1;ALUctr=3'b000;end 6'b000100: begin Branch=1;Jump=0;ALUSrc=0;RegWr=0;MemWr=0;ALUctr=3'b100;end 6'b000010: begin Branch=0;Jump=1;RegWr=0;MemWr=0;end endcase endmodule

      2)數(shù)據(jù)通路DataRoad module DataRoad(Run,Clk,RegWr,MemWr,MemtoReg,RegDst,Branch,Jump,ExtOp,ALUctr,ALUSrc,busA,busB,busW,Instruction,Reg0,Reg1,Reg2,Reg3,Reg4,Mem1,Mem2,Mem3,Result,Im);input Run,Clk,RegWr,MemWr,MemtoReg,RegDst,Branch,Jump,ExtOp,ALUSrc;input [2:0] ALUctr;output [31:0] Instruction,busA,busB,busW,Reg0,Reg1,Reg2,Reg3,Reg4,Mem1,Mem2,Mem3,Result,Im;wire [31:0] busC,DataOut;

      wire [15:0] im;wire [4:0] Rs,Rd,Rt;wire Overflow,Zero;QZL qzl(Clk,Branch,Jump,Zero,Instruction,Run);assign Rs=Instruction[25:21];assign Rt=Instruction[20:16];assign Rd=Instruction[15:11];assign im=Instruction[15:0];Register register(Run,RegWr,Overflow,RegDst,Rd,Rs,Rt,busW,busA,busB,Clk,Reg0,Reg1,Reg2,Reg3,Reg4);ALU alu(busA,busC,ALUctr,Zero,Overflow,Result);DataMem(Run,MemWr,Clk,busB,DataOut,Result,Mem1,Mem2,Mem3);MUX mux1(ALUSrc,busB,Im,busC);MUX mux2(MemtoReg,Result,DataOut,busW);Extender ext(im,Im,ExtOp);endmodule 3)取指令

      module QZL(Clk,Branch,Jump,Zero,Instruction,Run);input Clk,Branch,Jump,Zero,Run;output [31:0] Instruction;wire [4:0] addmem;reg [29:0] PC;wire [29:0] Newpc,pc_1,pc_2,pc_3,pc_12,imm30;wire Branch_Zero;assign addmem={PC[2:0],2'b00};InsMem GetIns(addmem,Instruction);always @(negedge Clk)if(Run==1)begin PC<=Newpc;end else begin

      PC<=0;end assign pc_1=PC+1;assign imm30={{14{Instruction[15]}},Instruction[15:0]};assign pc_2=pc_1+imm30;assign pc_3={PC[29:26],Instruction[25:0]};assign Branch_Zero=Branch&Zero;MUX m1(Branch_Zero,pc_1,pc_2,pc_12);MUX m2(Jump,pc_12,pc_3,Newpc);endmodule module InsMem(addmem,Instruction);input [4:0] addmem;output reg[31:0] Instruction;reg [31:0] Mem[31:0];always @(*)begin Mem[0]<={6'b100011,5'b00000,5'b00001,5'b00000,5'b00000,6'b000001};Mem[4]<={6'b100011,5'b00000,5'b00010,5'b00000,5'b00000,6'b000010};Mem[8]<={6'b000000,5'b00001,5'b00010,5'b00011,5'b00000,6'b100000};Mem[12]<={6'b101011,5'b00000,5'b00011,5'b00000,5'b00000,6'b000010};Mem[16]<={6'b001101,5'b00100,5'b00100,5'b11111,5'b11111,6'b111111};Mem[20]<={6'b000000,5'b00011,5'b00010,5'b00010,5'b00000,6'b100010};Mem[24]<={6'b000100,5'b00010,5'b00001,5'b00000,5'b00000,6'b001000};Mem[28]<={6'b000010,5'b00000,5'b00000,5'b00000,5'b00000,6'b000000};end always @(*)

      Instruction=Mem[addmem];Endmodule

      4)ALU module ALU(A,B,ALUctr,Zero,Overflow,Result);parameter n=32;input [n-1:0] A,B;input [2:0] ALUctr;output Zero,Overflow;output [n-1:0] Result;wire SUBctr,OVctr,SIGctr,SignA,SignB,Cin;wire [1:0] OPctr;wire [n-1:0] X,Y,Z,Less,M,N,Add_Result;wire Add_Carry,Add_Overflow,Add_Sign;assign M={n{1'b0}};assign N={n{1'b1}};assign SUBctr=ALUctr[2];assign OVctr=!ALUctr[1]&ALUctr[0];assign SIGctr=ALUctr[0];assign OPctr[1]=ALUctr[2]&ALUctr[1];assign OPctr[0]=!ALUctr[2]&ALUctr[1]&!ALUctr[0];assign Cin=SUBctr;assign X=B^{n{SUBctr}};assign Y=A|B;Adder ad(Cin,A,X,Add_Carry,Add_Overflow,Add_Sign,Add_Result,Zero);assign SignA=Cin^Add_Carry;assign SignB=Add_Overflow^Add_Sign;assign Overflow=Add_Overflow&OVctr;MUX m1(SIGctr,SignA,SignB,Less);defparam m1.k=1;MUX m2(Less,M,N,Z);MUX3_1 m3(Add_Result,Y,Z,Result,OPctr);

      endmodule module MUX3_1(A,B,C,D,ctr);parameter k=32;input [k-1:0] A,B,C;output reg [k-1:0] D;input [1:0] ctr;always @(A or B or C or ctr)if(ctr==2'b00)D=A;else if(ctr==2'b01)D=B;else if(ctr==2'b10)D=C;endmodule module Adder(Cin,X,Y,Add_Carry,Add_Overflow,Add_Sign,Add_Result,Zero);parameter k=32;input [k-1:0] X,Y;input Cin;output reg [k-1:0] Add_Result;output Add_Carry,Add_Overflow,Add_Sign,Zero;reg Add_Carry;assign Zero=~|Add_Result;assign Add_Sign=Add_Result[k-1];assign Add_Overflow=(X[k-1]&Y[k-1]&~Add_Result[k-1])|(~X[k-1]&~Y[k-1]&Add_Result[k-1]);always @(X or Y or Cin){Add_Carry,Add_Result}=X+Y+Cin;Endmodule

      5)數(shù)據(jù)存數(shù) module DataMem(Run,MemWr,Clk,DataIn,DataOut,Adr,Mem1,Mem2,Mem3);

      input Run,MemWr,Clk;input [31:0] DataIn,Adr;output [31:0] DataOut;output [31:0] Mem1,Mem2,Mem3;reg[31:0] Mem[31:0];assign Mem1=Mem[1];assign Mem2=Mem[2];assign Mem3=Mem[3];assign DataOut=Mem[Adr];always @(negedge Clk)if(Run==0)begin Mem[0]=0;Mem[1]=10;Mem[2]=20;Mem[3]=30;end else begin if(MemWr==1)Mem[Adr]=DataIn;end endmodule 6)寄存器 module Register(Run,Regwr,Overflow,RegDst,Rd,Rs,Rt,busW,busA,busB,Clk,Reg0,Reg1,Reg2,Reg3,Reg4);input Regwr,Clk,RegDst,Run,Overflow;input [31:0] busW;input [4:0] Rd,Rt,Rs;output reg [31:0] busA,busB;output [31:0] Reg0,Reg1,Reg2,Reg3,Reg4;reg [31:0] Mem[31:0];reg [4:0] Rw;

      wire [4:0] Ra,Rb;wire RegWr;assign RegWr=Regwr&~Overflow;assign Ra=Rs;assign Rb=Rt;assign Reg0=Mem[0];assign Reg1=Mem[1];assign Reg2=Mem[2];assign Reg3=Mem[3];assign Reg4=Mem[4];always @(Rd or Rt or RegDst)if(RegDst==1'b1)Rw=Rd;else Rw=Rt;always @(negedge Clk)if(Run==1'b1)begin if(RegWr==1'b1)Mem[Rw]=busW;end else begin Mem[0]<=0;Mem[1]<=2;Mem[2]<=4;Mem[3]<=6;Mem[4]<=8;end always @(Ra or Rb)if(Run==1'b1)begin busA=Mem[Ra];busB=Mem[Rb];

      end else begin busA=0;busB=0;end endmodule

      7)數(shù)據(jù)選擇

      module MUX(ctr,X,Y,Z);parameter k=32;input [k-1:0] X,Y;output reg [k-1:0] Z;input ctr;always @(X or Y or ctr)if(ctr==1'b0)Z<=X;else Z<=Y;endmodule 3.進(jìn)行仿真并驗(yàn)證其正確性:

      第二篇:計(jì)算機(jī)組成原理實(shí)驗(yàn)報(bào)告+++數(shù)據(jù)通路實(shí)驗(yàn)

      數(shù)據(jù)通路組成實(shí)驗(yàn)

      一、實(shí)驗(yàn)?zāi)康?/p>

      (1)將雙端口通用寄存器組和雙端口存儲(chǔ)器模塊聯(lián)機(jī);

      (2)進(jìn)一步熟悉計(jì)算機(jī)的數(shù)據(jù)通路;

      (3)掌握數(shù)字邏輯電路中故障的一般規(guī)律,以及排除故障的一般原則和方法;

      (4)鍛煉分析問(wèn)題與解決問(wèn)題的能力,在出現(xiàn)故障的情況下,獨(dú)立分析故障現(xiàn)象,并排除故障。

      二、實(shí)驗(yàn)電路

      圖9.14示出了數(shù)據(jù)通路實(shí)驗(yàn)電路圖,它是將前面進(jìn)行的雙端口存儲(chǔ)器實(shí)驗(yàn)?zāi)K和一個(gè)雙端口通用寄存器組模塊連接在一起形成的,存儲(chǔ)器的指令端口不參與本次實(shí)驗(yàn),通用寄存器組連接運(yùn)算器模塊,本實(shí)驗(yàn)涉及其中的操作數(shù)寄存器DR2。

      由于RAM是三態(tài)門輸出,因而可以將RAM連接到數(shù)據(jù)總線BUS上。此外,BUS上還連接著雙端口通用寄存器組。這樣,寫入RAM的數(shù)據(jù)可由通用寄存器提供,而從RAM讀出的數(shù)據(jù)也可送到通用寄存器保存。

      RAM和DR2在前面的實(shí)驗(yàn)中使用過(guò)。對(duì)于通用寄存器組RF,它由一個(gè)在系統(tǒng)可編程(In System Programable)芯片ispLSI 1016固化了通用寄存器組的功能而成,其功能與雙端口寄存器組MC14580相類似,內(nèi)含四個(gè)8位的通用寄存器,帶有一個(gè)輸入端口和兩個(gè)輸出端口,從而可以同時(shí)寫入一路數(shù)據(jù),讀出兩路數(shù)據(jù)。輸入端口取名為WR端口,連接一個(gè)8位的緩沖寄存器ER(已集成在ispLSI 1016芯片中),輸出端口取名為RS端口、RD端口,分別連接運(yùn)算器模塊的兩個(gè)操作數(shù)寄存器DR1、DR2,其中,連接DR1的RS端口還可通過(guò)一個(gè)8位的三態(tài)門RSO直接向BUS輸出。雙端口通用寄存器組模塊的控制信號(hào)中,RS1、RS0用于選擇從RS端口讀出的通用寄存器,RD1、RD0用于選擇從RD端口讀出的通用寄存器,上述選擇信號(hào)在T1脈沖的上升沿到來(lái)時(shí)生效。而WR1、WR0則用于選擇從WR端口寫入的通用寄存器。WRD是寫入控制信號(hào),WRD=1時(shí),在T2上升沿的時(shí)刻,從ER寫入數(shù)據(jù);WRD=0時(shí),ER中的數(shù)據(jù)不寫入通用寄存器中。LDER信號(hào)控制ER從BUS寫入數(shù)據(jù),RS-BUS信號(hào)則控制RS端口到BUS的輸出三態(tài)門。以上控制信號(hào)各自連接一個(gè)二進(jìn)制開關(guān)。

      三、實(shí)驗(yàn)設(shè)備

      (1)JYS-4計(jì)算機(jī)組成原理實(shí)驗(yàn)儀一臺(tái)(2)雙蹤示波器一臺(tái)(3)直流萬(wàn)用表一只(4)邏輯測(cè)試筆一支

      四、實(shí)驗(yàn)任務(wù)

      (1)將實(shí)驗(yàn)電路與操作面板的有關(guān)信號(hào)進(jìn)行線路連接,方法同前面的實(shí)驗(yàn)。(2)用8位數(shù)據(jù)開關(guān)向RF中的四個(gè)通用寄存器分別置入以下數(shù)據(jù)(十六進(jìn)制):R0=0F,R1=F0,R2=55,R3=AA。

      給R0置入0F的步驟是:先用8位數(shù)碼開關(guān)將0F置入ER,并且選擇WR1=WR0=0,再將ER的數(shù)據(jù)置入RF。給其他通用寄存器置入數(shù)據(jù)的步驟與此類似。

      (3)分別將R0至R3中的數(shù)據(jù)同時(shí)讀入到DR2寄存器和BUS上,觀察其數(shù)據(jù)是否存入R0至R3中的數(shù)據(jù),并記錄數(shù)據(jù)。其中BUS上的數(shù)據(jù)可直接用指示燈顯示,DR2中的數(shù)據(jù)可用邏輯筆測(cè)試有關(guān)引腳。

      (4)用8位數(shù)碼開關(guān)向AR1送入一個(gè)地址0F,然后將R0中的0F寫入RAM。用同樣的方法,依次將R1至R3中的數(shù)據(jù)寫入RAM中的F0、55、AA單元。

      (5)分別將RAM中AA單元的數(shù)據(jù)寫入R0,55單元的數(shù)據(jù)寫入R1,F0單元寫入R2,0F單元寫入R3。然后將R3、R2、R1、R0中的數(shù)據(jù)讀出到BUS上,通過(guò)指示燈驗(yàn)證讀出的數(shù)據(jù)是否正確,并記錄數(shù)據(jù)。

      (6)進(jìn)行RF并行輸入輸出試驗(yàn)。

      1.選擇RS端口對(duì)應(yīng)R0,RD端口對(duì)應(yīng)R1,WR端口對(duì)應(yīng)R2,并使WRD=1,觀察并行輸入輸出的結(jié)果。選擇RS端口對(duì)應(yīng)R2,驗(yàn)證剛才的寫入是否生效。記錄數(shù)據(jù)。2.保持RS端口和WR端口同時(shí)對(duì)應(yīng)R2,WRD=1,而ER中置入新的數(shù)據(jù),觀察并行輸入輸出的結(jié)果,RS端口輸出的是舊的還是新的數(shù)據(jù)?(7)在數(shù)據(jù)傳送過(guò)程中,發(fā)現(xiàn)了什么故障?如何克服的?

      五、實(shí)驗(yàn)要求(1)做好實(shí)驗(yàn)預(yù)習(xí)和準(zhǔn)備工作,掌握實(shí)驗(yàn)電路的數(shù)據(jù)通路特點(diǎn)和通用寄存器組的功能特性。(2)寫出實(shí)驗(yàn)報(bào)告,內(nèi)容為

      1.實(shí)驗(yàn)?zāi)康模?/p>

      2.如碰到故障,記錄故障現(xiàn)象,排除故障的分析思路,故障定位及故障的性質(zhì); 3.實(shí)驗(yàn)數(shù)據(jù)記錄;

      4.值得討論的其他問(wèn)題。

      第三篇:數(shù)據(jù)通路實(shí)驗(yàn)報(bào)告

      數(shù)據(jù)通路實(shí)驗(yàn)報(bào)告

      數(shù)據(jù)通路實(shí)驗(yàn)報(bào)告

      一. 實(shí)驗(yàn)概述。

      1.數(shù)據(jù)通路的設(shè)計(jì)原則。

      數(shù)據(jù)通路的設(shè)計(jì)直接影響到控制器的設(shè)計(jì),同時(shí)也影響到數(shù)字系統(tǒng)的速度指標(biāo)和成本。一般來(lái)說(shuō),處理速度快的數(shù)字系統(tǒng),其中獨(dú)立傳遞信息的通路較多。當(dāng)然,獨(dú)立數(shù)據(jù)傳送通路的數(shù)量增加勢(shì)必提高控制器設(shè)計(jì)復(fù)雜度。因此,在滿足速度指標(biāo)的前提下,為使數(shù)字系統(tǒng)結(jié)構(gòu)盡量簡(jiǎn)單,一般小型系統(tǒng)中多采用單一總線結(jié)構(gòu)。在較大系統(tǒng)中可采用雙總線結(jié)構(gòu)或者三線結(jié)構(gòu)。2.數(shù)據(jù)通路的結(jié)構(gòu)。

      ① 算術(shù)邏輯單元ALU:有S3,S2,S1,S0,M,CN等6個(gè)控制端,用于選擇運(yùn)算類型。

      ② 暫存器A和B:保存通用寄存器組讀出的數(shù)據(jù)或BUS上來(lái)的數(shù)據(jù)。③ 通用寄存器組R:暫時(shí)保存運(yùn)算器單元ALU算出的結(jié)果。④ 寄存器C:保存ALU運(yùn)算產(chǎn)生的進(jìn)位信號(hào)。

      ⑤ RAM隨機(jī)讀寫存儲(chǔ)器:受讀/寫操作以及時(shí)鐘信號(hào)等控制。⑥ MAR:RAM的專用地址寄存器,寄存器的長(zhǎng)度決定RAM的容量。⑦ IR:專用寄存器,可存放由RAM讀出的一個(gè)特殊數(shù)據(jù)。

      ⑧ 控制器:用來(lái)產(chǎn)生數(shù)據(jù)通路中的所有控制信號(hào),它們與各個(gè)子系統(tǒng)上的使能控制信號(hào)一一對(duì)應(yīng)。

      ⑨ BUS:?jiǎn)我粩?shù)據(jù)總線,通過(guò)三態(tài)門與有關(guān)子系統(tǒng)進(jìn)行連接。

      數(shù)據(jù)通路實(shí)驗(yàn)報(bào)告

      二. 實(shí)驗(yàn)設(shè)計(jì)及其仿真檢測(cè)。

      一,運(yùn)算器。

      8位運(yùn)算器VHDL

      數(shù)據(jù)通路實(shí)驗(yàn)報(bào)告

      數(shù)據(jù)通路實(shí)驗(yàn)報(bào)告

      二波形仿真

      存儲(chǔ)器。

      頂層設(shè)計(jì):

      其中sw_pc_ar的VHDL語(yǔ)言描述:,數(shù)據(jù)通路實(shí)驗(yàn)報(bào)告

      波形仿真

      三,原仿真實(shí)驗(yàn)電路。

      數(shù)據(jù)通路實(shí)驗(yàn)報(bào)告

      仿真結(jié)果:

      四,修改電路。

      因?yàn)榇舜螌?shí)驗(yàn)結(jié)果需要下載到FPGA板中進(jìn)行操作及觀察,而原始電路中,需要輸入的變量數(shù)量過(guò)多,導(dǎo)致電板中的輸入按鍵不夠用,所以需要對(duì)電路進(jìn)行修改。此時(shí)我們引入一個(gè)計(jì)數(shù)器PC來(lái)代替需要手動(dòng)輸入的指令alu_sel[5..0]以及數(shù)據(jù)d[7...0]。同時(shí)還需要引入數(shù)碼管的位選信號(hào)譯碼器choose和段選信號(hào)譯碼器xianshi。計(jì)數(shù)器PC的VHDL語(yǔ)言描述

      數(shù)據(jù)通路實(shí)驗(yàn)報(bào)告

      位選信號(hào)譯碼器choose的VHDL語(yǔ)言描述

      數(shù)據(jù)通路實(shí)驗(yàn)報(bào)告

      段選信號(hào)譯碼器的VHDL語(yǔ)言描述

      經(jīng)過(guò)修改和完善以后的電路圖為

      數(shù)據(jù)通路實(shí)驗(yàn)報(bào)告

      完善后的電路的引腳分配情況

      數(shù)據(jù)通路實(shí)驗(yàn)報(bào)告

      三. 實(shí)驗(yàn)過(guò)程。

      a)進(jìn)行數(shù)學(xué)運(yùn)算以及將運(yùn)算結(jié)果儲(chǔ)存在某個(gè)固定的內(nèi)存地址處。然后從該地址處讀出結(jié)果 i.ii.打開pc_sel[2],重置地址計(jì)數(shù)器。

      打開總線開關(guān)bus_sel[0],和PC_sel[2],pc_sel[1],pc_sel[0],讓地址計(jì)數(shù)器開始計(jì)數(shù),跳變到某個(gè)地址x時(shí)關(guān)閉。

      iii.打開總線開關(guān)BUS_SEL[4],打開暫存器r1的開關(guān)ld_reg[4],然后打開計(jì)數(shù)器開關(guān)en計(jì)數(shù)器開始計(jì)數(shù),當(dāng)計(jì)數(shù)到需要的數(shù)字a時(shí),關(guān)閉計(jì)數(shù)器開關(guān)en,此時(shí)數(shù)字a存入暫存器r1,關(guān)閉暫存器的開關(guān)ld_reg[4],后再關(guān)閉總線開關(guān)BUS_SEL[4],然后再打開計(jì)數(shù)器的清零開關(guān)clr再關(guān)閉。iv.v.同理第iii步,在暫存器r2中存入數(shù)據(jù)b。打開總線開關(guān)

      bus_sel[0].地址計(jì)數(shù)器開關(guān)

      ld_reg[0]和pc_sel[2],pc_sel[1],pc_sel[0]選擇存儲(chǔ)地址 vi.打開運(yùn)算器到總線的開關(guān)bus_sel[1],打開計(jì)數(shù)器en計(jì)數(shù)開關(guān)en當(dāng)計(jì)數(shù)器跳

      數(shù)據(jù)通路實(shí)驗(yàn)報(bào)告

      變到加法指令011001時(shí),關(guān)閉計(jì)數(shù)開關(guān)en,然后代開rom的地址開關(guān)pc_sel[2],以及可寫開關(guān)we_rd[1]。將從運(yùn)算器中計(jì)算出來(lái)的運(yùn)算結(jié)果a+b存儲(chǔ)到ram中的x地址中,關(guān)閉可寫開關(guān)we_rd[1],關(guān)閉pc_sel[2]和總線開關(guān),最后將計(jì)數(shù)器清零。

      vii.打開ram的可讀開關(guān),讀取x地址處的數(shù)據(jù)a+b。

      四. 實(shí)驗(yàn)現(xiàn)象。

      輸入數(shù)據(jù)a

      輸入數(shù)據(jù)b

      數(shù)據(jù)通路實(shí)驗(yàn)報(bào)告

      進(jìn)行運(yùn)算并將運(yùn)算結(jié)果寫入內(nèi)存

      數(shù)據(jù)通路實(shí)驗(yàn)報(bào)告

      從內(nèi)存中讀取計(jì)算結(jié)果

      數(shù)據(jù)通路實(shí)驗(yàn)報(bào)告

      五. 實(shí)驗(yàn)心得。

      第一次在電板上進(jìn)行這么多的操作。操作過(guò)程雖然很多,但只要理解操作過(guò)程,明白各個(gè)按鍵所設(shè)置的引腳作用,實(shí)驗(yàn)其實(shí)并不難,重點(diǎn)在于要理解過(guò)程,明白數(shù)據(jù)的輸入,存入寄存器,運(yùn)算以及往內(nèi)存中進(jìn)行存取值的操作,那么數(shù)據(jù)通路的按鍵很容易記住。

      在實(shí)驗(yàn)過(guò)程中還是存在很多問(wèn)題的,尤其的剛開始做實(shí)驗(yàn)的時(shí)候,不理解數(shù)據(jù)通路實(shí)驗(yàn)過(guò)程中各個(gè)門的輸入的意義和順序,但真正懂得的時(shí)候,實(shí)驗(yàn)就變得簡(jiǎn)單了。

      第四篇:非常簡(jiǎn)單CPU數(shù)據(jù)通路設(shè)計(jì)實(shí)驗(yàn)報(bào)告

      非常簡(jiǎn)單CPU數(shù)據(jù)通路設(shè)計(jì)

      【實(shí)驗(yàn)?zāi)康摹?/p>

      1.掌握CPU的設(shè)計(jì)步驟 2.學(xué)會(huì)芯片的運(yùn)用及其功能 【實(shí)驗(yàn)環(huán)境】

      Maxplus2環(huán)境下實(shí)現(xiàn)非常簡(jiǎn)單CPU數(shù)據(jù)通路的設(shè)計(jì) 【實(shí)驗(yàn)內(nèi)容】

      繪制非常簡(jiǎn)單CPU的寄存器:一個(gè)8位累加器AC,一個(gè)6位的地址寄存器AR,一個(gè)6位的程序計(jì)數(shù)器PC,一個(gè)8位的數(shù)據(jù)寄存器DR,一個(gè)2位的指令寄存器IR。其數(shù)據(jù)通路詳見(jiàn)教材P。

      1、零件制作

      6位寄存器

      (自行設(shè)計(jì))

      6位計(jì)數(shù)器

      (自行設(shè)計(jì))

      8位寄存器

      (可選擇74系列宏函數(shù)74273)

      8位計(jì)數(shù)器

      (由兩個(gè)74161構(gòu)成)

      2位寄存器

      (由D觸發(fā)器構(gòu)成,自行設(shè)計(jì))

      6三態(tài)緩沖器

      (自行設(shè)計(jì),可由74244內(nèi)部邏輯修改而成)

      8三態(tài)緩沖器

      (選擇74系列宏函數(shù)74244,或作修改)

      alu模塊

      (自行設(shè)計(jì),限于時(shí)間,其內(nèi)部邏輯不作要求)

      2、選擇器件,加入數(shù)據(jù)通路頂層圖

      8位累加器AC:選擇8位計(jì)數(shù)器

      6位地址寄存器AR:reg6

      6位的程序計(jì)數(shù)器PC:cou6

      8位的數(shù)據(jù)寄存器DR:選擇8位寄存器

      2位的指令寄存器IR:選擇2位寄存器

      3、為PC、DR加入三態(tài)緩沖器。

      4、調(diào)整版面大小,器件位置。

      5、設(shè)計(jì)地址引腳、數(shù)據(jù)引腳、8位內(nèi)部總線,加入數(shù)據(jù)引腳到內(nèi)部總線的緩沖器。

      6、連接各器件之間以及到內(nèi)部總線的線路,設(shè)計(jì)并標(biāo)注各控制信號(hào)。

      7、(選做)編譯之后,給出微操作 AR<-PC 的測(cè)試方法及仿真結(jié)果。

      8、實(shí)驗(yàn)報(bào)告中應(yīng)給出各元部件的實(shí)現(xiàn)方法、內(nèi)部邏輯貼圖、打包符號(hào)說(shuō)

      明及頂層的“非常簡(jiǎn)單CPU”數(shù)據(jù)通路圖。

      實(shí)驗(yàn)報(bào)告

      一、實(shí)驗(yàn)步驟

      基于前面非常簡(jiǎn)單CPU的講解,我掌握了非常簡(jiǎn)單CPU的指令集結(jié)構(gòu)及非常簡(jiǎn)單CPU的指令讀取過(guò)程和執(zhí)行過(guò)程,本次實(shí)驗(yàn)是在上次實(shí)驗(yàn)的基礎(chǔ)之上完成非常簡(jiǎn)單CPU數(shù)據(jù)通路的設(shè)計(jì),其步驟如下:(1)、AC累加器原理圖如下:

      打包后得到如下:

      (2)、兩位高地址寄存器IR的設(shè)計(jì)如下:

      打包后得電路圖如下:

      (3)、6位地址寄存器AR設(shè)計(jì)如下:

      打包后AR如下:

      (4)、八位地址寄存器DR如下:

      打包后如下:

      (5)、程序計(jì)數(shù)器PC如下:(老師已給出)

      打包后得:

      (6)、控制8位地址總線的三態(tài)緩沖器電路如下:

      打包圖如下:

      同理有控制6位地址總線的三態(tài)緩沖器:

      打包圖如下:

      最重要的部分ALU設(shè)計(jì)如下:

      由一個(gè)八與門電路和并行加法器連入一個(gè)16位輸入的數(shù)據(jù)選擇器,在受到SEL和GN控制時(shí)分別選擇and8或者并行加法器得到的結(jié)果并送到AC的輸入端

      打包如下:

      其中八輸入與門為下圖:

      并行加法器為下圖:

      十六位數(shù)據(jù)選擇器為下圖:

      最后得到簡(jiǎn)單CPU設(shè)計(jì)數(shù)據(jù)通路如下:

      仿真波形為下圖:

      說(shuō)明:從圖中可以看出當(dāng)PC輸入為100011時(shí)AR的輸出也為10011,即該CPU實(shí)現(xiàn)了PC到AR的功能。CPU功能驗(yàn)證完畢!實(shí)驗(yàn)結(jié)論:

      整體來(lái)看,簡(jiǎn)單CPU的設(shè)計(jì)基本完工,但是有些地方不夠完善,所以還沒(méi)能夠?qū)崿F(xiàn)所有的 功能。實(shí)驗(yàn)感想:

      本次實(shí)驗(yàn)是在對(duì)基本CPU的設(shè)計(jì)的理解上完成的,其中運(yùn)用到了很多數(shù)電方面的知識(shí)。所以這對(duì)知識(shí)的融會(huì)貫通很有好處。設(shè)計(jì)該簡(jiǎn)單CPU時(shí)比較難的地方就是ALU部分,這里用到了并行加法器,數(shù)據(jù)選擇器和門電路的等,由于在EDA實(shí)驗(yàn)時(shí)有了比較好的基礎(chǔ),所以在設(shè)計(jì)這個(gè)部分時(shí)不時(shí)非常難,但是我也明白了以前知識(shí)的用處是很大的,做好復(fù)習(xí)很重要!

      第五篇:運(yùn)算器數(shù)據(jù)通路實(shí)驗(yàn)報(bào)告

      運(yùn)算器數(shù)據(jù)通路實(shí)驗(yàn)

      設(shè)計(jì)報(bào)告

      學(xué)號(hào): 姓名: 成績(jī): 學(xué)號(hào): 姓名: 成績(jī):

      一、實(shí)驗(yàn)名稱:

      總線、半導(dǎo)體靜態(tài)存儲(chǔ)器實(shí)驗(yàn)

      二、實(shí)驗(yàn)?zāi)康?1.熟悉函數(shù)功能發(fā)生器的功能、使用方法。2.熟悉運(yùn)算器的數(shù)據(jù)傳送通路。

      3.完成幾種算邏運(yùn)算操作,加深對(duì)運(yùn)算器工作原理的理解。

      三、實(shí)驗(yàn)原理

      運(yùn)算器是計(jì)算機(jī)中對(duì)數(shù)據(jù)進(jìn)行運(yùn)算操作的重要部件,它的核心是ALU 函數(shù)功能發(fā)生器(由EPM7064S 構(gòu)成),其次還要有存放操作數(shù)和運(yùn)算的中間結(jié)果之寄存器以及傳送數(shù)據(jù)的總線等部分。選用不同的控制信號(hào),運(yùn)算器可以完成不同的運(yùn)算功能。1.函數(shù)功能發(fā)生器(ALU)的功能。

      該函數(shù)功能發(fā)生器(ALU),當(dāng)輸入為Aj、Bj,對(duì)應(yīng)輸出為Fj(j=0,1,2,3,4,5,6,7),它可 實(shí)現(xiàn)8 種不同的算術(shù)運(yùn)算和邏輯算,而且通過(guò)對(duì)控制參數(shù)SEL2~SEL0S0 來(lái)選擇。2.?dāng)?shù)據(jù)傳送通路實(shí)驗(yàn)電路方案

      實(shí)驗(yàn)方案框圖見(jiàn)圖2—5 所示。

      圖中SA、SB 為存放兩個(gè)現(xiàn)行操作的緩沖寄存器,其中SA 兼作存放中間結(jié)果的累加器,并且可以通過(guò)SA 所連接的八個(gè)數(shù)據(jù)燈顯示。SA、SB 接收來(lái)自總線的數(shù)據(jù)信息送入ALU 進(jìn)行 算術(shù)或邏輯操作。通過(guò)移位門將運(yùn)算操作結(jié)果送到總線。并且ALU 和總線之間需用三態(tài)門隔 離(采用74LS245)。

      四、實(shí)驗(yàn)內(nèi)容

      1.按照實(shí)驗(yàn)電路方案框圖,設(shè)計(jì)一個(gè)能完成下列八種補(bǔ)碼運(yùn)算指令的八位運(yùn)算器。該運(yùn)算器實(shí)現(xiàn)的八種功能如表2—1 所示。

      表2—1:

      2.根據(jù)運(yùn)算器設(shè)計(jì),選擇所需元器件,畫出實(shí)驗(yàn)電路的詳細(xì)邏輯圖,對(duì)開關(guān),單脈沖等 定義。因?yàn)楹蜕洗螌?shí)驗(yàn)類似,也是絕大多數(shù)的器件在“數(shù)據(jù)通路”中已安排好,只要控制各 個(gè)控制點(diǎn)即可,除了開關(guān)組通過(guò)三態(tài)傳輸門(74LS245)的接法和實(shí)驗(yàn)一一樣外,設(shè)置一個(gè)指令寄存器(IR),用74LS573 擔(dān)當(dāng)IR。通過(guò)八根連接線和“數(shù)據(jù)通路”中的八位總線連接起來(lái)。存放ALU 的控制信息SEL2~SEL0。為了便于觀察IR 中內(nèi)容,可以在IR 的輸出端同時(shí)接上三 個(gè)電平顯示燈。有的同學(xué)如用三個(gè)電平開關(guān)設(shè)置SEL2~SLE0。當(dāng)然可以得出結(jié)果,但是由于 IR 是一個(gè)不可缺少的計(jì)算機(jī)部件,為了達(dá)到完整熟悉計(jì)算機(jī)各組成部分的目的,這里專門設(shè)置了指令寄存器IR。

      3.在電路上進(jìn)行表2—1 所列的八種指令的手動(dòng)操作,每次一條指令。實(shí)驗(yàn)時(shí)可由數(shù)據(jù) 開關(guān)輸入指令碼及操作數(shù),予以功能的驗(yàn)證。4.本實(shí)驗(yàn)應(yīng)實(shí)現(xiàn)的操作

      K→SA(開關(guān)輸入的第一個(gè)操作數(shù)置入SA,LED 顯示)K→SB(開關(guān)輸入的第二個(gè)操作數(shù)置入SB,無(wú)顯示)K→IR(開關(guān)輸入的ALU 控制代碼置入IR)

      ALU 運(yùn)算結(jié)果通過(guò)ALU-244→SA(將運(yùn)算結(jié)果送SA 顯示)具體實(shí)驗(yàn)過(guò)程(僅僅作為參考)如下:

      1)從輸入設(shè)備(八個(gè)鈕子開關(guān))置入第一個(gè)數(shù)據(jù),74LS245 的E=0,74LS573 的C 由“0”變?yōu)椤?”(鎖存)后再變?yōu)椤?”(保持);送入Sa(該寄存器接有LED 顯示); 2)從輸入設(shè)備(八個(gè)鈕子開關(guān))置入第一個(gè)數(shù)據(jù),74LS245 的E=0,74LS573 的C 由“0”變?yōu)椤?”(鎖存)后再變?yōu)椤?”(保持);送入Sb(該寄存器沒(méi)有接LED 顯示); 3)從輸入設(shè)備(八個(gè)鈕子開關(guān))將需要進(jìn)行運(yùn)算操作(如加法操作)的控制代碼(具體內(nèi)容可見(jiàn)表3-4)置入到IR,74LS245 的E=0,74LS573 的C 由“0”變?yōu)椤?”(鎖存)后再變?yōu)椤?”(保持);

      4)控制接通ALU-244,使運(yùn)算結(jié)果上總線;

      5)將結(jié)果置入Sa,并通過(guò)所接的LED 將結(jié)果顯示出來(lái)。

      五、測(cè)試結(jié)果與性能分析

      1、測(cè)試結(jié)果:

      1)數(shù)據(jù)A準(zhǔn)備→三態(tài)門①打開→給寄存器Sa脈沖→數(shù)據(jù)進(jìn)入Sa;

      數(shù)據(jù)B準(zhǔn)備→給寄存器Sb脈沖→數(shù)據(jù)進(jìn)入Sb; 數(shù)據(jù)準(zhǔn)備(指令)→給指令寄存器IR脈沖→指令進(jìn)入IR→三態(tài)門①關(guān)閉; 2)ALU按照指令進(jìn)行計(jì)算,結(jié)果進(jìn)入總線→三態(tài)門②(寄存器Sa往顯示燈)打開→給寄存器Sa脈沖→顯示燈顯示計(jì)算結(jié)果

      實(shí)驗(yàn)輸入三組數(shù)據(jù)進(jìn)行計(jì)算 00010000 – 00000001 = 00001111;00010101 & 00001010 = 00000000;00001000 + 00000110 = 00001110;

      2、性能分析

      單總線結(jié)構(gòu)數(shù)據(jù)傳送慢,使用多總線結(jié)構(gòu)可以提高數(shù)據(jù)傳送效率 另外,EPM7064S 器件性能介紹:

      高性能和EEPROM的可編程邏輯器件(PLD)的第二代基于Max 架構(gòu) 5.0-V在系統(tǒng)可編程能力(ISP)具有完整的EPLD的邏輯密度

      5納秒引腳到引腳的邏輯延時(shí)高達(dá)175.4 MHz的計(jì)數(shù)器頻率(包括互連)

      六、課程設(shè)計(jì)總結(jié)(包括設(shè)計(jì)的總結(jié)和需要改進(jìn)之處及體會(huì))

      通過(guò)這次實(shí)驗(yàn)設(shè)計(jì),我們可以了解運(yùn)算器數(shù)據(jù)通路的工作原理,各組數(shù)據(jù)的走向和時(shí)間邏輯關(guān)系,也更清楚認(rèn)識(shí)了指令控制的重要性。另外這是第一次在電腦上對(duì)運(yùn)算器芯片的引腳進(jìn)行設(shè)置,稍微有一點(diǎn)差錯(cuò)就會(huì)造成實(shí)驗(yàn)結(jié)果的差異,因此使得我們?cè)趯?shí)驗(yàn)中更加專注和仔細(xì)。這次實(shí)驗(yàn)的分工也很明確,我負(fù)責(zé)在實(shí)驗(yàn)臺(tái)上搭線,張成濤同學(xué)負(fù)責(zé)在電腦上設(shè)置運(yùn)算器引腳。但最終因?yàn)閷?shí)驗(yàn)臺(tái)的更換問(wèn)題,實(shí)驗(yàn)結(jié)果沒(méi)有調(diào)試出來(lái)。換了一個(gè)電腦進(jìn)行引腳設(shè)置后,終于成功了。由于有協(xié)調(diào)的合作,實(shí)驗(yàn)操作過(guò)程也不會(huì)復(fù)雜繁瑣,這次實(shí)驗(yàn)過(guò)程很有趣,并且讓我們對(duì)機(jī)器內(nèi)部數(shù)據(jù)通路的理解有更進(jìn)一步的啟發(fā)。

      教師評(píng)語(yǔ):

      教師簽字:

      日期:

      下載計(jì)算機(jī)組成CPU數(shù)據(jù)通路verilog實(shí)驗(yàn)報(bào)告word格式文檔
      下載計(jì)算機(jī)組成CPU數(shù)據(jù)通路verilog實(shí)驗(yàn)報(bào)告.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        計(jì)算機(jī)組成原理實(shí)驗(yàn)報(bào)告

        課程名稱:計(jì)算機(jī)組成原理學(xué)院:計(jì)算機(jī)科學(xué)與工程專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)指導(dǎo)教師:廖建明學(xué)生姓名:林怡學(xué)號(hào):實(shí)驗(yàn)成績(jī):日期:實(shí)驗(yàn)報(bào)告 2012060020023 2014 年 11 28 日月 電 子 科......

        計(jì)算機(jī)組成原理實(shí)驗(yàn)報(bào)告

        計(jì)算機(jī)科學(xué)與技術(shù)-計(jì)104 計(jì) 算 機(jī) 組 成 原 理 實(shí) 驗(yàn) 報(bào)姓 名:學(xué) 號(hào): 班 級(jí):指 導(dǎo) 老 師: 鄭- 1 計(jì)算機(jī)科學(xué)與技術(shù)-計(jì)104一個(gè)上升沿,數(shù)據(jù)66H 被寫入W 寄存器。 3)將11H寫入R0寄......

        實(shí)驗(yàn)4 數(shù)據(jù)通路 實(shí)驗(yàn)報(bào)告

        班級(jí):計(jì)算機(jī)科學(xué)與技術(shù)3班 學(xué)號(hào): 20090810310 姓名:康小雪日期: 2011-10-14 實(shí)驗(yàn)3 存儲(chǔ)器實(shí)驗(yàn) 預(yù)習(xí)實(shí)驗(yàn)報(bào)告 疑問(wèn): 1、 數(shù)據(jù)通路是干嘛的? 2、 數(shù)據(jù)通路如何實(shí)現(xiàn)其功能? 3、 實(shí)驗(yàn)......

        傳媒--數(shù)據(jù)通路實(shí)驗(yàn)報(bào)告1號(hào)

        實(shí)驗(yàn)四 數(shù)據(jù)通路實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康?1、理解總線的概念、作用和特性。 2、掌握用總線控制數(shù)據(jù)傳送的方法。 3、進(jìn)一步熟悉教學(xué)計(jì)算機(jī)的數(shù)據(jù)通路。 4、掌握數(shù)字邏輯電路中故障......

        計(jì)算機(jī)組成原理及實(shí)驗(yàn)報(bào)告

        中南大學(xué) 計(jì)算機(jī)組成原理及匯編實(shí)驗(yàn)報(bào)告 姓 名: 代巍 學(xué) 號(hào): 0909121615 專業(yè)班級(jí): 信安1201 指導(dǎo)教師: 盛羽 學(xué) 院: 信息科學(xué)與工程學(xué)院 計(jì)算機(jī)組成原理實(shí)驗(yàn) 實(shí)驗(yàn)1 總......

        計(jì)算機(jī)組成原理--實(shí)驗(yàn)報(bào)告(合集)

        實(shí)驗(yàn)一 寄存器實(shí)驗(yàn) 實(shí)驗(yàn)?zāi)康模毫私饽P蜋C(jī)中各種寄存器結(jié)構(gòu)、工作原理及其控制方法。 實(shí)驗(yàn)要求:利用CPTH 實(shí)驗(yàn)儀上的K16..K23 開關(guān)做為DBUS 的數(shù)據(jù),其它開關(guān)做為控制信號(hào),將數(shù)據(jù)寫......

        計(jì)算機(jī)組成原理實(shí)驗(yàn)報(bào)告[推薦]

        湘潭大學(xué)學(xué)生實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)名稱____________________實(shí)驗(yàn)日期__________________ 學(xué)號(hào):____________姓名:__________班級(jí)_________ 一、 實(shí)驗(yàn)?zāi)康?二、 實(shí)驗(yàn)原理 三、 實(shí)驗(yàn)要......

        計(jì)算機(jī)組成實(shí)驗(yàn)報(bào)告[全文5篇]

        計(jì)算機(jī)組成實(shí)驗(yàn)報(bào)告 一、實(shí)驗(yàn)名稱:計(jì)算機(jī)組成實(shí)驗(yàn) 二、實(shí)驗(yàn)人員:報(bào)告撰寫人: 三、實(shí)驗(yàn)地點(diǎn): 四、實(shí)驗(yàn)日期: 五、實(shí)驗(yàn)器材:10臺(tái)廢舊機(jī)(各種板卡齊全)1臺(tái)新式機(jī),幾臺(tái)故障機(jī),螺絲刀等工具......