




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
6.9通用寄存器實驗報告一、實驗目的:1、了解通用寄存器組的用途及對CPU的重要性。2、掌握通用寄存器組的設計方法。二、實驗內容:1、通用寄存器組的作用通用寄存器組是CPU的重要組成部分。(1)從存儲器和外部設備(除DMA方式外)取來的數據要放在通用寄存器中;(2)向存儲器和外部設備(除DMA方式外)輸出的數據從通用寄存器中取出;(3)參加算術運算和邏輯運算的數據從通用寄存器組中取出,同時通用寄存器也是運算結果的暫存地。(4)通用寄存器組有兩個讀端口,負責提供進行算術邏輯單元需要的源操作數和目的操作數;有一個寫端口,負責將運算結果保存到指定的寄存器內。2、通用寄存器組功能實現根據通用寄存器組的功能要求,一個只有四個16位寄存器的通用寄存器組的框圖如下圖所示:⑴寄存器部分:當reset為低電平時,將四個16位寄存器R0-R3復位為0;當寄存器的write和sel為高電平時,在時鐘信號clk的上升沿將D端的輸入D[15-0]寫入寄存器,然后送到寄存器的輸出Q[15-0]。4個寄存器的允許寫信號write和外部產生的目的寄存器寫信號DRWr直接相連。每個寄存器還有另一個選擇信號sel,它決定哪一個寄存器進行寫操作。4個寄存器的選擇信號分別和2-4譯碼器產生的sel00、sel01、sel10、sel11相連。只有當一個寄存器被選中(sel為高電平時),才允許對該寄存器進行寫操作。⑵2-4譯碼器:2-4譯碼器的輸入sel[1-0]接DR[1-0],2-4譯碼器對2位的輸入信號sel[1-0]進行2-4譯碼,產生4個輸出sel00、sel01、sel10、sel11,分別送往4個寄存器R0、R1、R2和R3的選擇端sel。⑶4選1多路器4選1多路選擇器1從4個寄存器R0、R1、R2和R3的輸出Q[15-0]選擇1路送到DR_data[15-0],給算術邏輯單元提供目的操作數;選擇信號sel[1-0]接DR[1-0]。4選1多路選擇器2從4個寄存器R0、R1、R2和R3的輸出Q[15-0]選擇1路送到SR_data[15-0],給算術邏輯單元提供源操作數;選擇信號sel[1-0]接SR[1-0]。三、實驗要求:1、實驗設計目標設計一個通用寄存器組滿足以下要求:(1)通用寄存器組中有4個16位的寄存器。(2)當復位信號reset=0時,將通用寄存器組中的4個寄存器清零。(3)通用寄存器組中有1個寫入信號,當DRWr=1時,在時鐘clk的上升沿將數據總線上的數寫入DR[1-0]指定的寄存器。(4)通用寄存器組中有兩個讀出端口,一個對應算術邏輯單元的目的操作數DR,另一個對應算術邏輯單元的源操作數SR。DR[1-0]選擇目的操作數;SR[1-0]選擇源操作數。(5)設計要求層次設計。底層的設計實體有三個:16位寄存器,具有復位功能和允許寫功能;一個2-4譯碼器,對應寄存器寫選擇;一個4選1多路開關,負責選擇寄存器的讀出。頂層設計構成一個完整的通用寄存器組。2、頂層設計實體的引腳要求引腳要求對應關系如下:(1)clk對應試驗臺上的時鐘(單脈沖)。(2)reset對應實驗臺上的CPU復位信號CPU_RST。(3)SR[1-0]對應實驗臺開關SA1,SA0。(4)DR[1-0]對應實驗臺開關SA3,SA2。(5)DRWr對應實驗臺開關SA5。(6)目的操作數用實驗臺上的指示燈A15-A0顯示,源操作數用實驗臺上的指示燈R15-R0顯示。四、實驗數據:步驟A15-A0R15-R0R0R1R2R3R0R1R2R3(1)reset0x00000x00000x00000x00000x00000x00000x00000x0000(2)R0寫入0x33330x33330x00000x00000x00000x33330x00000x00000x0000(3)R1寫入0x55550x33330x55550x00000x00000x33330x55550x00000x0000(4)R2寫入0xAAAA0x33330x55550xAAAA0x00000x33330x55550xAAAA0x0000(5)R1寫入0xFFFF0x33330xFFFF0xAAAA0x00000x33330xFFFF0xAAAA0x0000五、實驗體會:通過本次實驗了解到通用寄存器組對CPU的重要性,同時也了解了通用寄存器的作用以及功能。在開始做實驗時,不知道該如何來描述這個看起來特別復雜的通用寄存器組。但是通過解讀實驗原理,了解到要通過一些小的部件來組成通用寄存器組,包括2-4譯碼器、4選1多路選擇器以及寄存器。這些簡單的小部件便可組成通用寄存器組,從而支持CPU的功能實現。六源代碼2-4譯碼器libraryieee;useieee.std_logic_1164.all;entitytranscodeisport(sel:instd_logic_vector(1downto0);sel00,sel01,sel10,sel11:outstd_logic);endentitytranscode;architecturetranscodeoftranscodeis---beginprocess(sel)isbegincaseseliswhen"00"=>sel00<='1';sel01<='0';sel10<='0';sel11<='0';when"01"=>sel00<='0';sel01<='1';sel10<='0';sel11<='0';when"10"=>sel00<='0';sel01<='0';sel10<='1';sel11<='0';when"11"=>sel00<='0';sel01<='0';sel10<='0';sel11<='1';endcase;endprocess;endarchitecture;四選一電路libraryieee;useieee.std_logic_1164.all;entitychoose4_1isport(sel:instd_logic_vector(1downto0);input0,input1,input2,input3:instd_logic_vector(15downto0);output:outstd_logic_vector(15downto0));endentity;architecturechooseofchoose4_1isbeginprocess(sel)isbegincaseseliswhen"00"=>output(15downto0)<=input0(15downto0);when"01"=> output(15downto0)<=input1(15downto0);when"10"=> output(15downto0)<=input2(15downto0); when"11"=> output(15downto0)<=input3(15downto0); endcase;endprocess;endarchitecture;libraryieee;useieee.std_logic_1164.all;---------------------------------單個寄存器entityoneregisterisport(clr,clk,allow_write,sel:instd_logic;D:instd_logic_vector(15downto0);Q:outstd_logic_vector(15downto0));endentity;architectureoneofoneregisterisbeginprocess(clk,clr,allow_write,sel)isbeginif(clk'eventandclk='1')thenif(allow_write='1'andsel='1')thenQ<=D;endif;endif;if(clr='0')thenQ<="0000000000000000";endif;endprocess;endarchitecture;單個寄存器組合成的寄存器組libraryieee;useieee.std_logic_1164.all;entityregistersisport(d_input:instd_logic_vector(15downto0);DRWr,reset,clk:instd_logic;DR,SR:instd_logic_vector(1downto0);DR_data,SR_data:outstd_logic_vector(15downto0));endentity;architectureresofregistersiscomponenttranscodeisport(sel:instd_logic_vector(1downto0);sel00,sel01,sel10,sel11:outstd_logic);endcomponent;componentchoose4_1isport(sel:instd_logic_vector(1downto0);input0,input1,input2,input3:instd_logic_vector(15downto0);output:outstd_logic_vector(15downto0));endcomponent;componentoneregisterisport(clr,clk,allow_write,sel:instd_logic;D:instd_logic_vector(15downto0);Q:outstd_logic_vector(15downto0));endcomponent;signalsel0,sel1,sel2,sel3:std_logic;signaloutq0,outq1,outq2,outq3:std_logic_vector(15downto0);begin transcode1:transcodeportmap(DR,sel0,sel1,sel2,sel3); ---------------------------------------------------------- R0:oneregisterportmap(reset,clk,DRWr,sel0,d_input,outq0); R1:oneregisterportmap(reset,clk,DRWr,sel1,d_input,outq1); R2:oneregisterportmap(reset,clk,DRWr,sel2,d_input,outq2); R3:oneregisterport
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 租賃商場場地合同
- 公司員工激勵演講稿
- 養(yǎng)老護理行業(yè)老年人照護需求評估
- 肉羊養(yǎng)殖購銷合同
- 生物醫(yī)藥領域新藥研發(fā)投資合同
- 有關個人向公司借款協議書
- 城市道路施工安全管理規(guī)定
- 好品質故事解讀
- 電影制作公司演員拍攝安全協議
- 2025年漢語拼音yw助力企業(yè)營銷策略分析
- 胸膜疾病課件
- 公路施工技術全套課件
- 胸痹心痛中醫(yī)診療方案及臨床路徑
- 泛讀2unit2-music
- 中學生防溺水安全教育課件(PPT 44頁)
- 2019版外研社高中英語選擇性必修二Unit 1 Growing up 單詞表
- 重慶危險性較大的分部分項工程安全管理實施細則
- 三菱 PLC FX2N-4AD 4DA 模擬量模塊教材(課堂PPT)
- 有機金屬化學1
- JIT標準作業(yè)作業(yè)指導書
- 安徽省2020-2021學年七年級語文下學期期末測試卷[含答案]
評論
0/150
提交評論