計算機組成與系統(tǒng)結(jié)構(gòu)實驗報告1_第1頁
計算機組成與系統(tǒng)結(jié)構(gòu)實驗報告1_第2頁
計算機組成與系統(tǒng)結(jié)構(gòu)實驗報告1_第3頁
計算機組成與系統(tǒng)結(jié)構(gòu)實驗報告1_第4頁
計算機組成與系統(tǒng)結(jié)構(gòu)實驗報告1_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選文檔評語:課中檢查完成的題號及題數(shù): 課后完成的題號與題數(shù):成果:自評成果:95試驗報告試驗名稱:基于Verilog語言的運算器和存儲器設(shè)計與實現(xiàn)日期:2015.11.2班級:10011303學(xué)號:2013302534姓名:楊添文一、試驗?zāi)康模?、了解運算器的組成結(jié)構(gòu)。2、把握運算器的工作原理。3、把握靜態(tài)隨機存儲器RAM 工作特性及數(shù)據(jù)的讀寫方法。二、試驗內(nèi)容: 1、基本運算器試驗。 2、靜態(tài)隨機存儲器試驗。 三、項目要求及分析:1、基本運算器試驗:要求:驗證和實現(xiàn)運算器的數(shù)據(jù)運算功能。這些運算除了常規(guī)的加、減、乘、除等基本的算術(shù)運算之外,還包括能進(jìn)行“規(guī)律推斷”的規(guī)律處理力量,即“與”

2、、“或”、“非”這樣的基本規(guī)律運算以及數(shù)據(jù)的比較、移位等操作。分析:(1)運算器原理圖如下圖所示運算器內(nèi)部含有三個獨立運算部件,分別為算術(shù)、規(guī)律和移位運算部件,要處理的數(shù)據(jù)存于暫存器A 和暫存器B,三個部件同時接受來自A 和B 的數(shù)據(jù),各部件對操作數(shù)進(jìn)行何種運算由把握信號S3S0來打算,任何時候,多路選擇開關(guān)只選擇三部件中一個部件的結(jié)果作為ALU 的輸出。假如是算術(shù)運算,還將置進(jìn)位標(biāo)志FC,在運算結(jié)果輸出前,置ALU 零標(biāo)志。(2)ALU 和外圍電路的連接如下圖所示:(圖中的小方框代表排針座)(3)運算器的規(guī)律功能表如表所示: 運算類型S3S2S1S0功能規(guī)律運算0 0 0 0F=A (直通)

3、0 0 0 1F=B (直通)0 0 1 0F=AB (FZ)0 0 1 1F=A+B (FZ)0 1 0 0F=/A (FZ)移位運算0 1 0 1F=A規(guī)律右移B(取低3位)位 (FZ)0 1 1 0F=A規(guī)律左移B(取低3位)位 (FZ)0 1 1 1F=A算術(shù)右移B(取低3位)位 (FZ)1 0 0 0F=A循環(huán)右移B(取低3位)位 (FZ)算術(shù)運算1 0 0 1F=A加B (FC,F(xiàn)Z)1 0 1 0F=A加B加Cn (FC,F(xiàn)Z)1 0 1 1F=A減B (FC,F(xiàn)Z)1 1 0 0F=A減1 (FC,F(xiàn)Z)1 10 1F=A加1 (FC,F(xiàn)Z)1 1 1 0(保留)1 1 1 1

4、(保留)2、靜態(tài)隨機存儲器試驗:要求:實現(xiàn)靜態(tài)隨機存儲器的讀寫操作,通過軟件中的數(shù)據(jù)通路圖來觀測試驗結(jié)果。分析:(1)試驗原理圖如下圖所示: 存儲器數(shù)據(jù)線接至數(shù)據(jù)總線,數(shù)據(jù)總線上接有8個LED 燈顯示D7D0 的內(nèi)容。地址線接至地址總線,地址總線上接有8 個LED 燈顯示A7A0 的內(nèi)容,地址由地址鎖存器(74LS273,位于PC&AR 單元)給出。數(shù)據(jù)開關(guān)(位于IN 單元)經(jīng)一個三態(tài)門(74LS245)連至數(shù)據(jù)總線,分時給出地址和數(shù)據(jù)。地址寄存器為8 位,接入6116 的地址A7A0,6116 的高三位地址A10A8 接地,所以其實際容量為256 字節(jié)。(2)試驗中的讀寫把握規(guī)律如下

5、圖所示:功能1000X100X010不選擇讀寫寫IOM 用來選擇是對I/O 還是對MEM 進(jìn)行讀寫操作,RD=1 時為讀,WR=1 時為寫。四、具體實現(xiàn): 1、 基本運算器試驗:(1) 按下圖連接試驗電路,并檢查無誤。圖中將用戶需要連接的信號用圓圈標(biāo)明(其它試驗相同)。(2) 將時序單元的狀態(tài)開關(guān)置為單步檔,MEM 單元的編程開關(guān)置為運行檔。(3) 打開電源開關(guān),假如聽到有嘀報警聲,說明有總線競爭現(xiàn)象,應(yīng)馬上關(guān)閉電源,重新檢查接線,直到錯誤排解。然后按動CON 單元的CLR 按鈕,將運算器的A、B 和FC、FZ清零。(4) 用輸入開關(guān)向暫存器A 置數(shù)。 撥動CON 單元的SD27SD20 數(shù)據(jù)

6、開關(guān),形成二進(jìn)制數(shù)01100101(或其它數(shù)值),數(shù)據(jù)顯示亮為1,滅為0。 置LDA=1,LDB=0,按動時序單元的TS 按鈕,產(chǎn)生一個T2 上沿,則將二進(jìn)制數(shù)01100101置入暫存器A 中,暫存器A 的值通過ALU 單元的A7A0 八位LED 燈顯示。(5) 用輸入開關(guān)向暫存器B 置數(shù)。 撥動CON 單元的SD27SD20 數(shù)據(jù)開關(guān),形成二進(jìn)制數(shù)10100111(或其它數(shù)值)。 置LDA=0,LDB=1,按動時序單元的TS 按鈕,產(chǎn)生一個T2 上沿,則將二進(jìn)制數(shù)10100111置入暫存器B 中,暫存器B 的值通過ALU 單元的B7B0 八位LED 燈顯示。(6) 轉(zhuǎn)變運算器的功能設(shè)置,觀看

7、運算器的輸出。置ALU_B=0、LDA=0、LDB=0,然后按表1-1-1 置S3、S2、S1、S0 和Cn 的數(shù)值,并觀看數(shù)據(jù)總線LED 顯示燈顯示的結(jié)果。如置S3、S2、S1、S0 為0010,運算器作規(guī)律與運算,置S3、S2、S1、S0 為1001,運算器作加法運算。假照試驗箱和PC 聯(lián)機操作,則可通過軟件中的數(shù)據(jù)通路圖來觀測試驗結(jié)果,方法是:打開軟件,選擇聯(lián)機軟件的“【試驗】【運算器試驗】”,打開運算器試驗的數(shù)據(jù)通路圖,如下圖所示。進(jìn)行上面的手動操作,每按動一次TS 按鈕,數(shù)據(jù)通路圖會有數(shù)據(jù)的流淌,反映當(dāng)前運算器所做的操作,或在軟件中選擇“【調(diào)試】【單周期】”,其作用相當(dāng)于將時序單元的

8、狀態(tài)開關(guān)置為單步檔后按動了一次TS 按鈕,數(shù)據(jù)通路圖也會反映當(dāng)前運算器所做的操作。2、 靜態(tài)隨機存儲器試驗:(1) 關(guān)閉試驗系統(tǒng)電源,按下圖連接試驗電路,并檢查無誤,圖中將用戶需要連接的信號用圓圈標(biāo)明。(2) 將時序單元的狀態(tài)開關(guān)置為單步檔(時序單元的介紹見附錄二),MEM 單元的編程開關(guān)置為運行檔。(3) 將CON 單元的IOR 開關(guān)置為1(使IN 單元無輸出),打開電源開關(guān),假如聽到有嘀報警聲,說明有總線競爭現(xiàn)象,應(yīng)馬上關(guān)閉電源,重新檢查接線,直到錯誤排解。(4) 給存儲器的00H、01H、02H、03H、04H 地址單元中分別寫入數(shù)據(jù)11H、12H、13H、14H、15H。由前面的存儲器

9、試驗原理圖可以看出,由于數(shù)據(jù)和地址由同一個數(shù)據(jù)開關(guān)給出,因此數(shù)據(jù)和地址要分時寫入,先寫地址,具體操作步驟為:先關(guān)掉存儲器的讀寫(WR=0,RD=0),然后利用數(shù)據(jù)開關(guān)設(shè)定地址,輸出地址到數(shù)據(jù)總線(IOR=0),最終打開地址寄存器門控信號(LDAR=1),按動TS 產(chǎn)生T2 脈沖,即將地址打入到AR 中。再寫數(shù)據(jù),具體操作步驟為:先關(guān)掉存儲器的讀寫(WR=0,RD=0)和地址寄存器門控信號(LDAR=0),然后利用數(shù)據(jù)開關(guān)給出要寫入的數(shù)據(jù),輸出數(shù)據(jù)到數(shù)據(jù)總線(IOR=0),最終使存儲器處于寫狀態(tài)(WR=1,RD=0,IOM=0),按動TS 產(chǎn)生T2 脈沖,即將數(shù)據(jù)打入到存儲器中。寫存儲器的流程如

10、下圖所示(以向00 地址單元寫入11H 為例):(5) 依次讀出第00、01、02、03、04 號單元中的內(nèi)容,觀看上述各單元中的內(nèi)容是否與前面寫入的全都。同寫操作類似,也要先給出地址,然后進(jìn)行讀,地址的給出和前面一樣,而在進(jìn)行讀操作時,應(yīng)先關(guān)閉IN 單元的輸出(IOR=1),然后使存儲器處于讀狀態(tài)(WR=0,RD=1, IOM=0),此時數(shù)據(jù)總線上的數(shù)即為從存儲器當(dāng)前地址中讀出的數(shù)據(jù)內(nèi)容。讀存儲器的流程如下圖所示(以從00 地址單元讀出11H 為例):(6)假照試驗箱和PC 聯(lián)機操作,則可通過軟件中的數(shù)據(jù)通路圖來觀測試驗結(jié)果,方法是:打開軟件,選擇聯(lián)機軟件的“【試驗】【存儲器試驗】”,打開存

11、儲器試驗的數(shù)據(jù)通路圖,如下圖所示。進(jìn)行上面的手動操作,每按動一次TS 按鈕,數(shù)據(jù)通路圖會有數(shù)據(jù)的流淌,反映當(dāng)前存儲器所做的操作(即使是對存儲器進(jìn)行讀,也應(yīng)按動一次TS 按鈕,數(shù)據(jù)通路圖才會有數(shù)據(jù)流淌),或在軟件中選擇“【調(diào)試】【單周期】”,其作用相當(dāng)于將時序單元的狀態(tài)開關(guān)置為單步檔后按動了一次TS 按鈕,數(shù)據(jù)通路圖也會反映當(dāng)前存儲器所做的操作。3、用Verilog語言在Modelsim上實現(xiàn): 源代碼: module logic_operation#(parameter ISA_WIDTH = 4, DATA_WIDTH = 8) ( input sys_clock, input sys_re

12、set, input ISA_WIDTH - 1 : 0 control, input DATA_WIDTH - 1 : 0 data_a, input DATA_WIDTH - 1 : 0 data_b, output regDATA_WIDTH - 1 : 0 result);integer i;always (posedge sys_clock or posedge sys_reset) begin if (sys_reset = 1'b0) begin result <= 4'b0; end else begin case (control) 4'b000

13、0: begin for (i = 0; i < DATA_WIDTH; i = i + 1) resulti = data_ai; end 4'b0001: begin for (i = 0; i < DATA_WIDTH; i = i + 1) resulti = data_bi; end 4'b0010: begin for (i = 0; i < DATA_WIDTH; i = i + 1) resulti = data_ai & data_bi; end 4'b0011: begin for (i = 0; i < DATA_W

14、IDTH; i = i + 1) resulti = data_ai | data_bi; end 4'b0100: begin for (i = 0; i < DATA_WIDTH; i = i + 1) resulti = data_ai; end default: ; endcase endendendmodule五、調(diào)試運行結(jié)果: 試驗結(jié)果以表格方式呈現(xiàn): 六、思考題的解答與分析: 1、基本運算器試驗: (1)利用上述運算器能否實現(xiàn)大于8位二進(jìn)制數(shù)的算術(shù)運算?假如能,需要實行什么樣的措施? 答:可以利用上述運算器實現(xiàn)大于8位的二進(jìn)制算數(shù)運算,前提是,將上述兩個寄存器連接起

15、來實現(xiàn)一個16位的寄存器,輸入與輸出都可以利用這個寄存器。 (2)給出一組數(shù)據(jù),驗證桶形移位器的功能。答:設(shè)計了一個8位桶形移位器,能左右進(jìn)行循環(huán)移位,移位的數(shù)量可以在07進(jìn)行變化。 以下是源代碼,3位選擇移位數(shù),還有一位是方向選擇:module shifter1(IN,S,d,out);input 7:0 IN;input 2:0 S;input d;output7:0 out;reg7:0 out;always (IN or S or d)beginif(d)case(S)3'b000:beginout<=IN;end3'b001:beginout7<=IN0;

16、out6:0<=IN7:1;end3'b010:beginout7:6<=IN1:0;out5:0<=IN7:2;end3'b011:beginout7:5<=IN2:0;out4:0<=IN7:3;end3'b100:beginout7:4<=IN3:0;out3:0<=IN7:4;end3'b101:beginout7:3<=IN4:0;out2:0<=IN7:5;end3'b110:beginout7:2<=IN5:0;out1:0<=IN7:6;end3'b111:begi

17、nout7:1<=IN6:0;out0<=IN7;endendcaseelse if(d)case(S)3'b000:beginout<=IN;end3'b001:beginout0<=IN7;out7:1<=IN6:0;end3'b010:beginout1:0<=IN7:6;out7:2<=IN5:0;end3'b011:beginout2:0<=IN7:5;out7:3<=IN4:0;end3'b100:beginout3:0<=IN7:4;out7:4<=IN3:0;end3

18、9;b101:beginout4:0<=IN7:3;out7:5<=IN2:0;end3'b110:beginout5:0<=IN7:2;out7:6<=IN1:0;end3'b111:beginout6:0<=IN7:1;out7<=IN0;endendcaseendendmodule 2、靜態(tài)隨機存儲器:(1) 隨機存儲器和只讀存儲器的區(qū)分是什么,能否通過外加電路實現(xiàn)用隨機存儲器代替只讀存儲器?答:只讀存儲器就是ROM,而隨機存儲器就是RAM。只讀存儲器是只能讀出事先所存數(shù)據(jù)的固態(tài)半導(dǎo)體存儲器,ROM所存數(shù)據(jù),一般是裝入整機前事先寫好的,整機工作過程中只能讀出,而不像隨機存儲器那樣能快速地、便利地加以改寫。ROM所存數(shù)據(jù)穩(wěn)定 ,斷電后所存數(shù)據(jù)也不會轉(zhuǎn)變;其結(jié)構(gòu)較簡潔,讀出較便利,因而常用于存儲各種固定程序和數(shù)據(jù),就像電腦硬盤一樣。隨即存儲器是以相同速度高速地、隨機地寫入和讀出數(shù)據(jù)(寫入速度和讀出速度可以不同)的一種半導(dǎo)體存儲器,RAM的優(yōu)點是存取速度快、讀寫便利,缺點是數(shù)據(jù)不能長期保持,斷電后自行消逝,因此主要用于計算機主存儲器等要求快速存儲的系統(tǒng),比如,電腦的內(nèi)存條就是RAM。(2) 動態(tài)隨機存儲器和靜態(tài)隨機存儲器的區(qū)分是什么,與靜態(tài)隨機存儲器相比,動態(tài)隨機存儲器在電路設(shè)計需要考慮什

溫馨提示

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

評論

0/150

提交評論