第一篇:計(jì)算機(jī)組成原理實(shí)驗(yàn)
ALU設(shè)計(jì)
module ALU(ALU_OP,AB_SW,F_LED_SW,LED);
input[2:0] ALU_OP,AB_SW,F_LED_SW;
output[7:0] LED;reg[7:0] LED;
reg[31:0] A,B,F;reg OF,ZF;
always@(*)begin
end
always@(*)begin
ZF=0;OF=0;case(ALU_OP)
3'b000: begin F=A&B;end 3'b001: begin F=A|B;end 3'b010: begin F=A^B;end 3'b011: begin F=~(A|B);end 3'b100: begin {OF,F}=A+B;OF=OF^F[31];end 3'b101: begin {OF,F}=A-B;OF=OF^F[31];end 3'b110: begin F=A
3'b000: begin A=32'h0000_0000;B=32'h0000_0000;end 3'b001: begin A=32'h0000_0003;B=32'h0000_0607;end 3'b010: begin A=32'h8000_0000;B=32'h8000_0000;end 3'b011: begin A=32'h7FFF_FFFF;B=32'h7FFF_FFFF;end 3'b100: begin A=32'h8000_0000;B=32'hFFFF_FFFF;end 3'b101: begin A=32'hFFFF_FFFF;B=32'h8000_0000;end 3'b110: begin A=32'h1234_5678;B=32'h3333_2222;end 3'b111: begin A=32'h9ABC_DEF0;B=32'h1111_2222;end endcase endcase
if(F==32'b0)ZF=1;end
always@(*)begin
end case(F_LED_SW)
3'b000: LED=F[7:0];3'b001: LED=F[15:8];3'b010: LED=F[23:16];3'b011: LED=F[31:24];default:begin LED[7]=ZF;LED[0]=OF;LED[6:1]=6'b0;end endcase
endmodule 管腳配置
NET “AB_SW[0]” LOC = T10;NET “AB_SW[1]” LOC = T9;NET “AB_SW[2]” LOC = V9;NET “ALU_OP[0]” LOC = M8;NET “ALU_OP[1]” LOC = N8;NET “ALU_OP[2]” LOC = U8;NET “F_LED_SW[0]” LOC = V8;NET “F_LED_SW[1]” LOC = T5;NET “F_LED_SW[2]” LOC = B8;NET “LED[0]” LOC = U16;NET “LED[1]” LOC = V16;NET “LED[2]” LOC = U15;NET “LED[3]” LOC = V15;NET “LED[4]” LOC = M11;NET “LED[5]” LOC = N11;NET “LED[6]” LOC = R11;NET “LED[7]” LOC = T11;寄存器 module jicunqi(input Clk, input Reset, input [4:0] Reg_Addr, input Write_Reg, input [1:0] Sel, input AB, output reg [7:0] LED);reg [31:0] W_Data;wire [31:0] R_Data_A,R_Data_B,LED_Data;REG RU1(Clk,Reset,Reg_Addr,Reg_Addr,Reg_Addr,W_Data,Write_Reg,R_Data_A,R_Data_B);assign LED_Data=AB?R_Data_A : R_Data_B;always @(*)begin
W_Data=32'h0000_0000;
LED=8'b0000_0000;
if(Write_Reg)
begin
case(Sel)
2'b00: W_Data= 32'h1234_5678;
2'b01: W_Data= 32'h89AB_CDEF;2'b10: W_Data= 32'h7FFF_FFFF;2'b11: W_Data= 32'hFFFF_FFFF;endcase end
else
begin
case(Sel)
2'b00: LED=LED_Data[7:0];2'b01: LED=LED_Data[15:8];2'b10: LED=LED_Data[23:16];2'b11: LED=LED_Data[31:24];
endcase end end endmodule `timescale 1ns / 1ps // REG.v module REG(input Clk, input Reset, input [4:0] R_Addr_A, input [4:0] R_Addr_B, input [4:0] W_Addr, input [31:0] W_Data, input Write_Reg, output [31:0] R_Data_A, output [31:0] R_Data_B);
reg [31:0] REG_Files[0:31];integer i;
assign R_Data_A=REG_Files[R_Addr_A];assign R_Data_B=REG_Files[R_Addr_B];
always @(posedge Clk or posedge Reset)begin
if(Reset)
begin
for(i=0;i<=31;i=i+1)
REG_Files[i]<=32'h0000_0000;
end
else
begin
if(Write_Reg)
begin
REG_Files[W_Addr]<=W_Data;
end end end endmodule
管腳配置 NET “Clk” LOC=“C9”;NET “Reset” LOC=“D9”;NET “Reg_Addr[4]” LOC=“T5”;NET “Reg_Addr[3]” LOC=“V8”;NET “Reg_Addr[2]” LOC=“U8”;NET “Reg_Addr[1]” LOC=“N8”;NET “Reg_Addr[0]” LOC=“M8”;NET “Write_Reg” LOC=“V9”;NET “Sel[1]” LOC=“T9”;NET “Sel[0]” LOC=“T10”;NET “AB” LOC=“A8”;NET “LED[7]” LOC=“T11”;NET “LED[6]” LOC=“R11”;NET “LED[5]” LOC=“N11”;NET “LED[4]” LOC=“M11”;NET “LED[3]” LOC=“V15”;NET “LED[2]” LOC=“U15”;NET “LED[1]” LOC=“V16”;NET “LED[0]” LOC=“U16”;
第二篇:_計(jì)算機(jī)組成原理實(shí)驗(yàn)3
計(jì)算機(jī)組成原理實(shí)驗(yàn)日志3 實(shí)驗(yàn)題目:
靜態(tài)隨機(jī)存儲(chǔ)器實(shí)驗(yàn) 實(shí)驗(yàn)?zāi)康模?/p>
掌握靜態(tài)隨機(jī)存儲(chǔ)器RAM工作特性及數(shù)據(jù)的讀/寫(xiě)方法。實(shí)驗(yàn)主要步驟:
(1)形成時(shí)鐘脈沖信號(hào)T3。具體接線方法和操作步驟如下:
①接通電源,把示波器接到方波信號(hào)源的輸出插孔H23調(diào)節(jié)電位器W1及W2,使H23端輸出實(shí)驗(yàn)所期望的頻率和占空比的方波。
②將時(shí)序電路模塊(STATE UNIT)單元中的φ和信號(hào)源單元(SIGNAL UNIT)中的H23排針相連。
③在時(shí)序電路模塊中有兩個(gè)二進(jìn)制開(kāi)關(guān)“STOP”和“STEP”。將“STOP”開(kāi)關(guān)置為“RUN”狀態(tài)、“STEP”開(kāi)關(guān)置為“EXEC”狀態(tài)時(shí),按動(dòng)微動(dòng)開(kāi)關(guān)START,則T3端輸出連續(xù)的方波信號(hào),此時(shí)調(diào)節(jié)電位器W1,用示波器觀察,使T3輸出實(shí)驗(yàn)要求的脈沖信號(hào)。當(dāng)“STOP”開(kāi)關(guān)置為“RUN”狀態(tài)、“STEP”開(kāi)關(guān)置為“STEP”狀態(tài)時(shí),每按動(dòng)一次微動(dòng)開(kāi)關(guān)START,則T3輸出一個(gè)單脈沖,其脈沖寬度與連續(xù)方式相同。用PC聯(lián)機(jī)軟件中的示波器功能也能看到波形。這樣可以代替真實(shí)示波器。
(2)按圖2-2連接實(shí)驗(yàn)線路,仔細(xì)查線無(wú)誤后接通電源。
圖2-2 靜態(tài)隨機(jī)存儲(chǔ)器實(shí)驗(yàn)接線圖(3)寫(xiě)存儲(chǔ)器。給存儲(chǔ)器的00、01、02、03、04地址單元中分別寫(xiě)入數(shù)據(jù)11H、12H、13H、14H、15H。
由上面的存儲(chǔ)器實(shí)驗(yàn)原理圖(圖2-2)看出,由于數(shù)據(jù)和地址全由一個(gè)數(shù)據(jù)開(kāi)關(guān)給出,因此要分時(shí)地給出。下面的寫(xiě)存儲(chǔ)器要分兩個(gè)步驟:第一步寫(xiě)地址,先關(guān)掉存儲(chǔ)器的片選(CE=1),打開(kāi)地址鎖存器門控信號(hào)(LDAR=1),打開(kāi)數(shù)據(jù)開(kāi)關(guān)三態(tài)門(SW-B=0),由開(kāi)關(guān)給出要寫(xiě)入的存儲(chǔ)單元的地址,按動(dòng)START產(chǎn)生T3脈沖將地址打入到地址鎖存器;第二步寫(xiě)數(shù)據(jù),關(guān)掉地址鎖存器門控信號(hào)(LDAR=0),打開(kāi)存儲(chǔ)器片選(CE=0),使之處于寫(xiě)狀態(tài)(CE=0,WE=1),由開(kāi)關(guān)給出此單元要寫(xiě)入的數(shù)據(jù),按動(dòng)STRAT產(chǎn)生T3脈沖將數(shù)據(jù)寫(xiě)入到當(dāng)前的地址單元中。寫(xiě)其他單元依次循環(huán)上述步驟。
寫(xiě)存儲(chǔ)器流程如圖2-3所示(以向00號(hào)單元寫(xiě)入11H為例)。
圖2-3 寫(xiě)存儲(chǔ)器流程圖
(4)讀存儲(chǔ)器。
依次讀出第00、01、02、03、04號(hào)單元中的內(nèi)容,觀察上述各單元中的內(nèi)容是否與前面寫(xiě)入的一致。同寫(xiě)操作類似,讀每個(gè)單元也需要兩步:第一步寫(xiě)地址,先關(guān)掉存儲(chǔ)器的片選(CE=1),打開(kāi)地址鎖存器門控信號(hào)(LDAR=1),打開(kāi),由開(kāi)關(guān)給出要讀存儲(chǔ)單元的地址,按動(dòng)START產(chǎn)生T3脈沖將地址打入到地址鎖存器;第二步讀存儲(chǔ)器,關(guān)掉數(shù)據(jù)開(kāi)關(guān)三態(tài)門(SW-B=1),打開(kāi)存儲(chǔ)器(CE=0),使它處于讀狀態(tài)(CE=0,WE=0),此時(shí)數(shù)據(jù)總線上顯示的數(shù)據(jù)即為從存儲(chǔ)器當(dāng)前地址中讀出的數(shù)據(jù)內(nèi)容。讀其他單元依次循環(huán)上述步驟。
讀存儲(chǔ)器操作流程如下圖2-4所示(以從00號(hào)單元讀出11H數(shù)據(jù)為例)。
圖2-4 讀存儲(chǔ)器流程圖
實(shí)驗(yàn)結(jié)果:
置入存儲(chǔ)器地址00 寫(xiě)入存儲(chǔ)器數(shù)據(jù) 11H 置入存儲(chǔ)器地址01 寫(xiě)入存儲(chǔ)器數(shù)據(jù)12H 置入存儲(chǔ)器地址02 寫(xiě)入存儲(chǔ)器數(shù)據(jù)13H 置入存儲(chǔ)器地址03 寫(xiě)入存儲(chǔ)器數(shù)據(jù)14H 置入存儲(chǔ)器地址04 寫(xiě)入存儲(chǔ)器數(shù)據(jù)15H
讀數(shù)據(jù)
置入存儲(chǔ)器地址00 讀出存儲(chǔ)器數(shù)據(jù)11H 置入存儲(chǔ)器地址01 讀出存儲(chǔ)器數(shù)據(jù)12H 置入存儲(chǔ)器地址02 讀出存儲(chǔ)器數(shù)據(jù)13H 置入存儲(chǔ)器地址03 讀出存儲(chǔ)器數(shù)據(jù)14H 置入存儲(chǔ)器地址04 讀出存儲(chǔ)器數(shù)據(jù)15H 實(shí)驗(yàn)思考題
(1)一片靜態(tài)存儲(chǔ)器6116(2K×8),容量是多大?因?qū)嶒?yàn)箱上地址寄存器只有8位接入6116的A7-A0,而高三位A8-A10接地,所以實(shí)際存儲(chǔ)容量是多少?為什么?
答:容量是16kbit大小,當(dāng)只有A7-A0只有8位字時(shí),實(shí)際容量是256*8=4Kbit大小。(2)歸納出向存儲(chǔ)器寫(xiě)入一個(gè)數(shù)據(jù)的過(guò)程,包括所需的控制信號(hào)(為“1”還是為“0”)有效。
答:根據(jù)實(shí)驗(yàn)指導(dǎo)書(shū)上WR0有效,此時(shí)為寫(xiě)入數(shù)據(jù)
心得體會(huì):
通過(guò)這次實(shí)驗(yàn)掌握了靜態(tài)存儲(chǔ)器的基本原理,以及存儲(chǔ)器是如何寫(xiě)入數(shù)據(jù)和讀取數(shù)據(jù)的,強(qiáng)化了計(jì)算機(jī)存儲(chǔ)器的理解
第三篇:計(jì)算機(jī)組成原理實(shí)驗(yàn)(存儲(chǔ)器)
實(shí)驗(yàn)3 半導(dǎo)體存儲(chǔ)器原理實(shí)驗(yàn)
(一)、實(shí)驗(yàn)?zāi)康?/p>
(1)熟悉靜態(tài)隨機(jī)存儲(chǔ)器RAM和只讀存儲(chǔ)器ROM的工作特性和使用方法;(2)熟悉半導(dǎo)體存儲(chǔ)器存儲(chǔ)和讀出數(shù)據(jù)的過(guò)程;(3)了解使用半導(dǎo)體存儲(chǔ)器電路時(shí)的定時(shí)要求。
(二)、實(shí)驗(yàn)要求
利用Quartus Ⅱ器件庫(kù)提供的參數(shù)化存儲(chǔ)單元,設(shè)計(jì)一個(gè)由128X8位的RAM和128X8位的ROM構(gòu)成的存儲(chǔ)器系統(tǒng)。請(qǐng)?jiān)O(shè)計(jì)有關(guān)邏輯電路,要求仿真通過(guò),并設(shè)計(jì)波形文件,驗(yàn)證該存儲(chǔ)器系統(tǒng)的存儲(chǔ)與讀出。
(三)、實(shí)驗(yàn)原理圖與仿真圖
ram內(nèi)所存儲(chǔ)的數(shù)據(jù):
rom內(nèi)所存儲(chǔ)的數(shù)據(jù):
仿真圖如下:
(四)心得體會(huì)
本次試驗(yàn)中,我們應(yīng)該熟練掌握Quartus Ⅱ軟件的使用方法;熟悉靜態(tài)隨機(jī)存儲(chǔ)器RAM和只讀存儲(chǔ)器ROM的工作特性和使用方法;熟悉半導(dǎo)體存儲(chǔ)器存儲(chǔ)和讀出數(shù)據(jù)的過(guò)程;了解使用半導(dǎo)體存儲(chǔ)器電路時(shí)的定時(shí)要求。并且制定實(shí)驗(yàn)方案然后進(jìn)行實(shí)驗(yàn)驗(yàn)證。要學(xué)會(huì)將學(xué)到的知識(shí)運(yùn)用到實(shí)際中。
第四篇:計(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上還連接著雙端口通用寄存器組。這樣,寫(xiě)入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í)寫(xiě)入一路數(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端口寫(xiě)入的通用寄存器。WRD是寫(xiě)入控制信號(hào),WRD=1時(shí),在T2上升沿的時(shí)刻,從ER寫(xiě)入數(shù)據(jù);WRD=0時(shí),ER中的數(shù)據(jù)不寫(xiě)入通用寄存器中。LDER信號(hào)控制ER從BUS寫(xiě)入數(shù)據(jù),RS-BUS信號(hào)則控制RS端口到BUS的輸出三態(tài)門。以上控制信號(hào)各自連接一個(gè)二進(jìn)制開(kāi)關(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ù)開(kāi)關(guān)向RF中的四個(gè)通用寄存器分別置入以下數(shù)據(jù)(十六進(jìn)制):R0=0F,R1=F0,R2=55,R3=AA。
給R0置入0F的步驟是:先用8位數(shù)碼開(kāi)關(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ù)碼開(kāi)關(guān)向AR1送入一個(gè)地址0F,然后將R0中的0F寫(xiě)入RAM。用同樣的方法,依次將R1至R3中的數(shù)據(jù)寫(xiě)入RAM中的F0、55、AA單元。
(5)分別將RAM中AA單元的數(shù)據(jù)寫(xiě)入R0,55單元的數(shù)據(jù)寫(xiě)入R1,F0單元寫(xiě)入R2,0F單元寫(xiě)入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)證剛才的寫(xiě)入是否生效。記錄數(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)寫(xiě)出實(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)題。
第五篇:計(jì)算機(jī)組成原理
《計(jì)算機(jī)組成原理》實(shí)驗(yàn)任務(wù)
計(jì)
識(shí)。算機(jī)原理是計(jì)算機(jī)科學(xué)與技術(shù)及相關(guān)專業(yè)的一門專業(yè)基礎(chǔ)課,是一門重點(diǎn)科,在計(jì)算機(jī)硬件的各個(gè)領(lǐng)域中運(yùn)會(huì)用到計(jì)算計(jì)原理的有關(guān)知
本實(shí)驗(yàn)課程的教學(xué)目的和要求是使學(xué)生通過(guò)實(shí)驗(yàn)手段掌握計(jì)算機(jī)硬件的組成與設(shè)計(jì)、制造﹑調(diào)試﹑制造﹑維護(hù)等多方面的技能同時(shí)訓(xùn)練動(dòng)手的能力,也使學(xué)生系統(tǒng)科學(xué)地受到分析問(wèn)題和解決問(wèn)題的訓(xùn)練.