實驗4-數據通路-實驗報告_第1頁
實驗4-數據通路-實驗報告_第2頁
實驗4-數據通路-實驗報告_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

班級:計算機科學與技術3班學號:20230810310姓名:康小雪日期:2011-實驗3存儲器實驗預習實驗報告疑問:數據通路是干嘛的?數據通路如何實現其功能?實驗書上的存儲器局部總線開關接在高電平上,是不是錯了?實驗報告波形圖:參數設置:Endtime:2.0usGridsize:100.0ns信號設置:clk:時鐘信號,設置周期為100ns占空比為50%。bus_sel:sw|r4|r5|alu|pc_bus的組合,分別代表的是總線〔sw_bus〕開關,將存儲器r4的數據顯示到總線上,將存儲器r5的數據顯示到總線上,將alu的運算結果顯示到總線上,將pc的數據打入AR中二進制輸入,低電平有效。alu_sel:m|cn|s[3..0]的組合,代表運算器的運算符號選擇,二進制輸入,高電平有效。ld_reg:lddr1|lddr2|ldr4|ldr5|ld_ar的組合,分別表示將總線數據載入存放器r1,r2,r4,r5或AR中,二進制輸入,高電平有效。pc_sel:pc_clr|ld|en的組合,分別代表地址計數器PC的清零〔pc_clr〕、裝載〔pc_ld〕和計數使能信號〔pc_en〕,二進制輸入,低電平有效。we_rd:信號we和rd的組合,分別代表對ram的讀(we)與寫(rd)的操作,二進制輸入,高電平有效k:k[7]~k[0],數據輸入端信號,十六進制輸入。d:d[7]~d[0],數據輸出中間信號,十六進制雙向信號。d~result:d[7]result~d[0]result,最終的數據輸出信號,十六進制輸出。ar:ar[7]~ar[0],地址存放器AR的輸出結果,十六進制輸出。pc:pc[7]~pc[0],地址計數器PC的輸出結果,十六進制輸出。仿真波形以在01H單元中寫入05H、02H單元中寫入0AH并進行【〔A加B〕減〔非A與B〕加B】為例:初始狀態:bus_sel=11111,alu_sel=00000,ld_reg=00000,pc_sel=100,we_rd=00,k=00H,總線上無數據,呈高阻態。讀取01H單元的05A:置數法PC=01H:bus_sel=01111,pc_sel=101PC->AR:bus_sel=11110,ld_reg=00001讀01H單元的數據放入R1中:bus_sel=11111,ld_reg=10000,we_rd=01讀取02H單元的0AH:PC+1,PC->AR:bus_sel=11110,ld_reg=00001,pc_sel=111讀01H單元的數據放入R2中:bus_sel=11111,ld_reg=01000,we_rd=01將地址加到03H:bus_sel=11110,ld_reg=00001,pc_sel=111驗證數據并運算:bus_sel=11101讀取R1中的數據:alu_sel=010000,得到R1=05H讀取R2中的數據:alu_sel=101010,得到R2=0AH計算〔A加B〕結果存于R4中:alu_sel=011001,ld_reg=00100,結果為0FH計算〔非A與B〕結果存于03H單元中:alu_sel=100010,we_rd=10,結果為0AH計算〔〔A加B〕加B〕結果存于04H單元中:R4->R1:bus_sel=10111,ld_reg=10000PC+1,PC->AR:bus_sel=11110,ld_reg=00001,pc_sel=111計算〔〔A加B〕加B〕結果存于04H單元中:bus_sel=11101,alu_sel=011001,we_rd=10計算〔〔〔A加B〕加B〕減〔非A與B〕〕結果存于05H中:〔〔A加B〕加B〕->R1:bus_sel=11111,ld_reg=10000,we_rd=01〔非A與B〕->R2:PC=03H:k=03H,bus_sel=01111,pc_sel=101PC->AR:bus_sel=11110,ld_reg=00001〔非A與B〕->R2:bus_sel=11111,ld_reg=01000,we_rd=01PC=05H:PC=05H:k=03H,bus_sel=01111,pc_sel=101PC->AR:bus_sel=11110,ld_reg=00001〔〔〔A加B〕加B〕減〔非A與B〕〕結果存于05H中:bus_sel=11101,alu_sel=000110,we_rd=10最后結果為0FH。結論:本實驗的設計能結合了運算器和存儲器,能實現在mif文件中進行初始化,將固定地址單元中存儲的數據讀取到運算器中進行〔〔〔A加B〕加B〕減〔非A與B〕〕的運算并將結果存于指定的內存單元中,與實驗要求一致,故電路設計正確。二、實驗日志預習疑問解答:通路是干嘛的?在數字系統中,各個子系統通過數據總線連接形成的數據傳送路徑稱為數據通路.2.通路如何實現其功能?在這次的實驗中,數據通路主要是由運算器局部和存儲器局部組成的,通過運算器的運算結合存儲器在mif文件的中的操作進行數據的傳輸與存儲,從而構成一個數據通路.錯書上的存儲器局部總線開關接在高電平上,是不是錯了?事實證明沒有接錯.思考題:畫數據通路電路圖時,如何連結單一總線?如圖:ALU模塊的sw_bus依然連接bus_sel,存儲器局部的sw_bus連接高電平.如何統一兩個模塊的總線輸入端k[7..0]及inputd[7..0]?答:如圖:輸入放在運算器局部,存儲器局部無輸入,存儲器局部的數據要么來自總線傳輸,要么從mif文件中讀取.實驗中遇到的問題:1.把之前的alu和ram的原理圖拷到了當前工程下面。直接生成該工程的符號文件,連接起來,但是仿真有問題。幾乎是在每一次和總線交換數據的時候都得不到正確的值。下面是解決的過程:我疑心是兩個模塊之間通過總線傳輸的數據沒有傳輸成功,于是把alu模塊的d引了一個輸出端口d_alu,從ram模塊的d引出了一個輸出端口d_ram,在仿真波形圖上,然后就可以看到了數據到達總線上了,而且這個時候d的值也能看到了,只是后面的最后一個讀操作出來的數據不對,本來應該是寫進去的07,但現在是17,再仿真就會變成別的數據。2.在連接電路圖的時候,我以為存儲器局部的sw_bus連在高電平上是錯的,然后又連到了bus_sel[4],所以得到了上一個局部的仿真結果,后來不研究了一下那個高電平,發現是用來處理單一總線問題的,就改成了與書上一樣的圖,我以為上面出現的錯誤結果和這個有關,改了之后波形圖有變化,但是,還是是錯誤的.但是在兩種情況下功能仿真的結果都是正確的:問題解決了~原因是周期太短,計算結果還來不及存入到內存單元中,把寫入內存的時間周期延長一個周期

溫馨提示

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

評論

0/150

提交評論