版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 計算機組成原理課程設計</p><p> 指令設計及工作寄存器設計</p><p><b> 課程設計任務書</b></p><p> 專業(yè):計算機與通信工程學院 學號: 學生姓名(簽名): </p><p> 設計題目:指令系統(tǒng)及工作寄存器設計</p><p>
2、;<b> 1、設計實驗條件</b></p><p><b> 綜合樓808實驗室</b></p><p><b> 硬件:PC機</b></p><p> 軟件:Xilinx ISE ModelSim</p><p><b> 編程語言:VHDL&l
3、t;/b></p><p><b> 2、設計任務及要求</b></p><p> 指令:7、20、47、60號指令;</p><p><b> 工作寄存器W;</b></p><p><b> 二-十進制編碼器;</b></p><p>
4、 要求:?總線結構:單總線,數(shù)據(jù)總線位數(shù)8位、地址總線8位;</p><p> ?存儲器:內存容量64K*8bit</p><p> ?控制器:用硬聯(lián)線控制器實現(xiàn)26位微操作控制信號</p><p> ?運算器:單累加器,實現(xiàn)加、減等8種操作</p><p><b> ?外設:</b></p>&
5、lt;p> –輸入:用開關輸入二進制量</p><p> –輸出:7段數(shù)碼管和LED顯示</p><p> ?指令系統(tǒng)規(guī)模:64條指令,7種類型,5種尋址方式</p><p><b> 3、設計報告的內容</b></p><p><b> ?。?)設計目的:</b></p>
6、<p> 融會貫通計算機組成原理課程的內容,通過知識的綜合運用,加深對計算機系統(tǒng)各個模塊的工作原理及相互聯(lián)系的認識;</p><p> 學習運用VHDL進行FPGA/CPLD設計的基本步驟和方法,熟悉EDA的設計、模擬調試工具的使用,體會FPGA/CPLD技術相對于傳統(tǒng)開發(fā)技術的優(yōu)點;</p><p> 培養(yǎng)科學研究的獨立工作能力,取得工程設計與組裝調試的實踐經驗。&l
7、t;/p><p><b> ?。?)設計主體:</b></p><p> 圖1 整機邏輯結構框圖</p><p><b> 圖2 芯片引腳</b></p><p> 圖3 cpu邏輯結構框圖</p><p><b> 【設計指令系統(tǒng)】</b><
8、;/p><p><b> 設計的指令</b></p><p> 表1 指令類型、尋址方式</p><p><b> ?。?)控制信號</b></p><p> 1、XRD : 外部設備讀信號,當給出了外設的地址后,輸出此信號,從指定外設讀數(shù)據(jù)。</p><p> 2、E
9、MWR: 程序存儲器EM寫信號。</p><p> 3、EMRD: 程序存儲器EM讀信號。</p><p> 4、PCOE: 將程序計數(shù)器PC的值送到地址總線ABUS上(MAR)。</p><p> 5、EMEN: 將程序存儲器EM與數(shù)據(jù)總線DBUS接通,由EMWR和EMRD 決定是將DBUS數(shù)據(jù)寫到EM中,還是從EM讀出數(shù)據(jù)送到DBUS。</p>
10、<p> 6、IREN: 將程序存儲器EM讀出的數(shù)據(jù)打入指令寄存器IR。</p><p> 7、EINT: 中斷返回時清除中斷響應和中斷請求標志,便于下次中斷。</p><p> 8、ELP: PC打入允許,與指令寄存器IR3、IR2位結合,控制程序跳轉。</p><p> 9、FSTC:進位置1,CY=1</p><p&
11、gt; 10、 FCLC:進位置0,CY=0</p><p> 11、MAREN:將地址總線ABUS上的地址打入地址寄存器MAR。</p><p> 12、MAROE:將地址寄存器MAR的值送到地址總線ABUS上。</p><p> 13、OUTEN:將數(shù)據(jù)總線DBUS上數(shù)據(jù)送到輸出端口寄存器OUT里。</p><p> 14、ST
12、EN: 將數(shù)據(jù)總線DBUS上數(shù)據(jù)存入堆棧寄存器ST中。</p><p> 15、 RRD: 讀寄存器組R0-R3,寄存器R?的選擇由指令的最低兩位決定。</p><p> 16、 RWR: 寫寄存器組R0-R3,寄存器R?的選擇由指令的最低兩位決定。</p><p> 17、 CN: 決定運算器是否帶進位移位,CN=1帶進位,CN=0不帶進位。<
13、/p><p> 18、 FEN: 將標志位存入ALU內部的標志寄存器。</p><p> 19、 WEN: 將數(shù)據(jù)總線DBUS的值打入工作寄存器W中。</p><p> 20、 AEN: 將數(shù)據(jù)總線DBUS的值打入累加器A中。</p><p> 21-23: X2~ X0 : X2、X1、X0三位組合來譯碼選擇將數(shù)據(jù)送到DB
14、US上的寄存器。 </p><p> 24-26: S2~ S0 : S2、S1、S0三位組合決定ALU做何種運算。</p><p> (3)指令執(zhí)行流程:</p><p> 表2 指令分解與微操作對應控制信號</p><p><b> 流程圖:</b></p><p> 1、
15、第7條指令 ADD A, EM</p><p> 2、第20條指令SUBC A, #II </p><p><b> DI</b></p><p><b> 3、第47條指令</b></p><p><b> 4、第60條指令</b></p&g
16、t;<p> 【模型及實現(xiàn)(工作寄存器W)】</p><p> ?。?)邏輯電路圖形符號表示:</p><p> 圖4 工作寄存器的邏輯電路圖</p><p> 圖5 工作寄存器的RTL邏輯電路圖</p><p> 圖5 工作寄存器的FDC邏輯電路圖</p><p> ?。?)邏輯電路的功能
17、:暫存和傳送數(shù)據(jù)</p><p><b> ?。?)仿真測試:</b></p><p><b> 圖6 波形分析圖</b></p><p><b> 圖7 結果顯示圖</b></p><p><b> 結果分析:</b></p>&l
18、t;p> D為數(shù)據(jù)輸入、R為數(shù)據(jù)輸出、CLK為時序控制、EN為讀寫控制端、RST為復位端、R為數(shù)據(jù)輸出。因此由于RST為1,雖然D端輸入數(shù)據(jù)為:1111100010101011,輸出端仍為0(從波形可以看出來),EN為0,表示寫數(shù)據(jù)。</p><p> (4)VDHLM描述如下:</p><p> library IEEE;</p><p> use
19、IEEE.STD_LOGIC_1164.ALL;</p><p> use IEEE.STD_LOGIC_ARITH.ALL;</p><p> use IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ---- Uncomment the following library declaration if instantiating&
20、lt;/p><p> ---- any Xilinx primitives in this code.</p><p> --library UNISIM;</p><p> --use UNISIM.VComponents.all;</p><p> entity REG is</p><p> PORT (C
21、LK : IN STD_LOGIC ;</p><p> D : IN STD_LOGIC_VECTOR(15 DOWNTO 0);</p><p> EN : IN STD_LOGIC;</p><p> RST : IN STD_LOGIC;</p><p> R: OUT STD_LOGIC_VECTOR(15 DOWNTO 0
22、));</p><p><b> end REG;</b></p><p> architecture Behavioral of REG is</p><p> SIGNAL Q1 : STD_LOGIC_VECTOR(15 DOWNTO 0); --類似于在芯片內部定義一個數(shù)據(jù)的暫存節(jié)點</p><p>&
23、lt;b> begin</b></p><p> PROCESS (CLK,Q1)</p><p><b> BEGIN</b></p><p> IF (RST = '1') THEN</p><p> Q1 <= "0000000000000000"
24、;;</p><p><b> ELSE</b></p><p> IF (CLK'EVENT AND CLK = '1' )THEN </p><p> IF(EN = '0') THEN</p><p><b> Q1 <= D ;</b>
25、</p><p><b> ELSE </b></p><p> Q1 <= "XXXXXXXXXXXXXXXX";</p><p><b> END IF; </b></p><p><b> END IF; </b></p>
26、<p><b> END IF;</b></p><p> END PROCESS ;</p><p> R <= Q1 ; </p><p> end Behavioral;</p><p> 【邏輯功能實現(xiàn)(二-十進制編碼器)】</p><p> ?。?)二
27、-十進制功能表如下所示:</p><p> ?。?)邏輯電路設計 </p><p> 邏輯電路的圖形符號表示、功能 :</p><p> 圖8 二-十進制編碼器功能將輸入數(shù)字信號變成相應輸出二進制信號</p><p><b> 系統(tǒng)實現(xiàn) </b></p><p&g
28、t; LIBRARY IEEE; </p><p> USE IEEE.STD_LOGIC_1164.ALL; </p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> entity SY3is</p><p> Port ( d : i
29、n STD_LOGIC_VECTOR (9 downto 0);</p><p> clk : in STD_LOGIC;</p><p> e : in STD_LOGIC;</p><p> q : out STD_LOGIC_VECTOR (3 downto 0));</p><p><b> end SY3;
30、</b></p><p> architecture Behavioral of SY3 is</p><p><b> begin</b></p><p> p1:process(d) </p><p><b> begin </b></p><p&g
31、t; if (d(0)='0' AND e='0') THEN </p><p> Q<="0000"; </p><p> ELSIF (d(1)='0' AND e='0') THEN </p><p> Q<
32、="0001"; </p><p> ELSIF (d(2)='0' AND e='0') THEN </p><p> Q<="0010"; </p><p> ELSIF (d(3)='0' AND e='0') THEN
33、 </p><p> Q<="0011"; </p><p> ELSIF (d(4)='0' AND e='0') THEN </p><p> Q<="0100"; </p><p> ELSIF (d(
34、5)='0' AND e='0') THEN </p><p> Q<="0101"; </p><p> ELSIF (d(6)='0' AND e='0') THEN </p><p> Q<="0110
35、"; </p><p> ELSIF (d(7)='0' AND e='0') THEN </p><p> Q<="0111"; </p><p> ELSIF (d(8)='0' AND e='0') THEN
36、 </p><p> Q<="1000"; </p><p> ELSIF (d(9)='0' AND e='0') THEN </p><p> Q<="1001"; </p><p> ELSIF ( e='1
37、39;) THEN </p><p> Q<="1111"; </p><p><b> END IF; </b></p><p> END PROCESS P1; </p><p> end Behavioral;</p>&
38、lt;p><b> (3)仿真測試</b></p><p><b> 仿真過程如下:</b></p><p> (1) 在sources窗口處右擊,加入新的源文件</p><p> ?。?)創(chuàng)建波形仿真激勵文件.tbw:選Test Bench Waveform,并輸入文件名
39、0;</p><p> ?。?)初始化時鐘周期及相關參數(shù)→finish</p><p> ?。?)右側會出現(xiàn) .tbw文件窗口,設置輸入引腳的值,存盤</p><p> ?。?)左側sources窗口選擇“behavioral simulation”,下面processes窗口會自動出現(xiàn)"Modelsim Simulator&
40、quot; </p><p> (6)雙擊其中的“Simulate behavioral model”會自動調用“Modelsim ”進行仿真,觀察波形窗口,觀察是否正確</p><p><b> 圖9 波形顯示圖</b></p><p> 圖10 二-十進制編碼器結果分析圖
41、0;</p><p> 仿真證實:所設計二-十進制編碼器能將輸入數(shù)字信號變成相應輸出二進制信號。 </p><p> ?。?)RTL級邏輯電路</p><p> 圖11 RTL級邏輯電路</p><p><b> 四.心得與體會</b></p><p> 通過此次課
42、程設計我學習到了運用VHDL進行FPGA/CPLD設計的基本步驟和方法,熟悉EDA的設計、模擬調試工具的使用,體會FPGA/CPLD技術相對于傳統(tǒng)開發(fā)技術的優(yōu)點,同時培養(yǎng)科學研究的獨立工作能力,取得工程設計與組裝調試的實踐經驗。 </p><p> 但是在此過程中也遇到了很多困難,比如在設計開始的階段對于XILINX ISE 和Modelsim SE這兩個軟件就不會用,通
43、過和同學交流我大概了解了軟件的用法,學習到了很多知識。</p><p><b> 五.參考資料</b></p><p> [1]袁靜波.計算機組成與結構[M].北京:機械工業(yè)出版社,2011.8.</p><p> [2]程曉榮,翟學明,王曉霞. 計算機組成與結構[M].北京:中國電力出版社,2007. </p&
44、gt;<p> [3]陳耀和.VHDL語言設計技術[M]. 北京:電子工業(yè)出版社,2004. </p><p> [4]漢澤西.EDA技術及其應用[M]. 北京:北京航空航天出版社,2004 </p><p> [5]李云松,宋銳.Xilinx FPGA 數(shù)據(jù)基礎(VHDL)版[M] .陜西:西安電子科技大學出版社,2008.&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機組成原理課程設計--多寄存器減法右移位輸入輸出等指令實驗計算機設計
- 計算機組成原理課程設計---設計指令系統(tǒng)
- 計算機組成原理課程設計--跳轉指令的實現(xiàn)
- 計算機組成原理課程設計--跳轉指令的實現(xiàn)
- 計算機組成原理課程設計---模型機組成設計
- 《計算機組成原理》課程設計
- 計算機組成原理課程設計
- 計算機組成原理課程設計
- 計算機組成原理課程設計
- 計算機組成原理課程設計
- 計算機組成原理課程設計
- 計算機組成原理課程設計--計算機組成原理算法實現(xiàn)
- 16位精簡指令cpu設計—計算機組成原理課程設計
- 計算機組成原理課程設計報告
- 計算機組成原理-課程設計報告
- 計算機組成原理課程設計--模型計算機設計
- 計算機組成原理課程設計--簡單計算機的設計
- 計算機組成原理課程設計報告
- 計算機組成原理課程設計日志
- 計算機組成原理課程設計報告
評論
0/150
提交評論