杭電計組實驗3_多功能ALU設計實驗_第1頁
杭電計組實驗3_多功能ALU設計實驗_第2頁
杭電計組實驗3_多功能ALU設計實驗_第3頁
杭電計組實驗3_多功能ALU設計實驗_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、電子科技大學計算機學院實驗報告實驗項目:課程名稱:計算機組成原理與系統(tǒng)結構課程設計:學號:同組:學號:實驗位置(機號) :實驗日期:指導教師:一、實驗目的( 1)學習多功能 ALU的工作原理,掌握運算器的設計方法。( 2)掌握運用 Verilog HDL 進行數(shù)據(jù)流描述與建模的技巧和方法,掌握運算器的設計方法。二、實驗儀器實驗ISE 工具軟件容三、步驟、方法(算( 1)啟動 XilinxISE 軟件,選擇 File-NewProject, 輸入工程名 shiyan2,默認選擇后,法、點擊 Next 按鈕,確認工程信息后點擊Finish按鈕,創(chuàng)建一個完整的工程。程( 2)在工程管理區(qū)的任意位置右

2、擊,選擇New Source 命令。彈出 New Source Wizard 對序、話框,選擇 VerilogModule, 并輸入 Verilog文件名 shiyan3 ,點擊 Next 按鈕進入下一步,步驟點擊 Finish 完成創(chuàng)建。和方( 3)編輯程序源代碼,然后編譯,綜合;選擇Synthesize-XST 項中的 Check Syntax 右法)擊選擇 Run 命令,并查看 RTL 視圖;如果編譯出錯,則需要修改程序代碼,直至正確。( 4)在工程管理區(qū)將 View 類型設置成Simulation ,在任意位置右擊,選擇New Source命令,選擇 VerilogTest Fixtu

3、re 選項 , 輸入實驗名 shiyan3_test 。點擊 Next ,點擊 Finish ,完成。編寫激勵代碼,觀察仿真波形,如果驗證邏輯有誤,則修改代碼,重新編譯,仿真,直至正確。( 5)由于實驗三并未實驗板,所以后面的實驗板的步驟此處沒有。一,操作過程實驗過程和描述:module shiyan3(ALU_OP,AB_SW,OF,ZF,F);reg 31:0A,B;input 2:0ALU_OP;input 2:0AB_SW;操作wire OF;過程reg ZF;及結reg 31:0F;果output OF;output ZF;output F;reg C32;always(*)begi

4、ncase(AB_SW)3b000: begin A=32h0000_0000; B=32h0000_0000; end3b001: begin A=32h0000_0003; B=32h0000_0607; end3b010: begin A=32h8000_0000; B=32h8000_0000; end3b011: begin A=32h7FFF_FFFF; B=32h7FFF_FFFF; end3b100: begin A=32hFFFF_FFFF; B=32hFFFF_FFFF; end3b101: begin A=32h8000_0000; B=32hFFFF_FFFF; end

5、3b110: begin A=32hFFFF_FFFF; B=32h8000_0000; end3b111: begin A=32h1234_5678; B=32h3333_2222; enddefault: begin A=32h9ABC_DEF0; B=32h1111_2222; endendcaseendalways(*)begincase(ALU_OP)3b000: F=A&B;3b001: F=A|B;3b010: F=AB;3b011: F=AB;3b100: C32,F=A+B;3b101: C32,F=A-B;3b110: begin if(AB) F=32h0000_0001

6、; else F=32h0000_0000; end3b111: beginF=BA; enddefault: F=32h0000_0000;endcaseendalways(*)beginif(F=32h0000_0000)ZF=1;elseZF=0;endassign OF=C32F31A31B31;endmodule仿真代碼module shiyan3_test;/ Inputsreg 2:0 ALU_OP;reg 2:0 AB_SW;/ Outputs wire OF;wire ZF;wire 31:0 F;/ Instantiate the Unit Under Test (UUT)

7、 shiyan3 uut (.ALU_OP(ALU_OP),.AB_SW(AB_SW),.OF(OF),.ZF(ZF),.F(F);initial begin/ Initialize InputsALU_OP = 0;AB_SW = 0;/ Wait 100 ns for global reset to finish #100;/ Add stimulus here#100;ALU_OP = 001;AB_SW = 001;#100;ALU_OP = 010;AB_SW = 010;#100;ALU_OP = 011;AB_SW = 011;#100;ALU_OP = 100;AB_SW =

8、100;#100;ALU_OP = 101;AB_SW = 101;#100;ALU_OP = 110;AB_SW = 110;#100;ALU_OP = 111;AB_SW = 111;endendmoduleRTL圖二、結果思考題:(2) 經(jīng)過分析,該 ALU不能實現(xiàn) MIPS核心指令集的所有指令。它還需要:帶進位的加法運算、帶進位的減法運算、位清除指令、負數(shù)比較、位測試指令、比較指令、相等測試指令等。(3) 通過本實驗,無法得出: slt 操作中的“ AB”是對有符號數(shù)的比較還是無符號數(shù)的比較,這個結論。若A=32 b0,B=32 bFFFF_FFFF,則所得到的答案是F=0000_00

9、01.這個問題應該再設置一個變量SIGctr信號,控制ALU 是執(zhí)行“帶符號整數(shù)比較小于置于 1”還是“無符號數(shù)比較小于置1”功能,當SIGctr=0 ,則執(zhí)行“無符號數(shù)比較小于置 1”,當 SIGctr=1 ,則執(zhí)行“帶符號整數(shù)比較小于置1”。(6)在做這個實驗的時候,我遇到的問題是,F(xiàn) 的輸出是決定著ZF 的輸出,當F 全零時, ZF 輸出 1, ;否則 ZF 輸出 0。解決方法:運用if.else.。根據(jù)F 的假設值, 對 ZF 進行賦值運算。 以及八種運算的表示方法不太熟悉進行了查閱實驗指導書。在這個多功能ALU設計實驗中,這個實驗做的時候忘記了不需要連實驗板,老師驗收的時候說不需要連接實驗板,所以臨時修改了代碼,取消了LED的設置。后來不知道怎么回事,怎么看都沒有錯誤,但是就是運行出錯。于是就剪切了代碼,重新生成了文件,粘貼后再次運行時結果出其醫(yī)療的成功了??偨Y一下估計是之前哪里的東西被我刪掉了才導致了錯誤。又再次設置了ZF 與 F 以及 OF的輸出。最后驗證了仿真波形,實驗成功。通過做這個多功能

溫馨提示

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

評論

0/150

提交評論