資源描述:
《ARM桶形移位器》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在工程資料-天天文庫。
1、實用文檔《計算機組成原理實驗》實驗報告第5次實驗:桶形移位器實驗姓名:學號:111220120大全實用文檔11級計算機科學與技術系03班郵箱:@qq.com時間:2012年10月18日大全實用文檔一,實驗目的:1、學習掌握桶形移位器的工作原理。2、掌握桶形移位器的設計方法。二,實驗設備:1、裝有QuartusII的計算機一臺。2、AlteraDE2-70開發(fā)板或AlteraDE2-115開發(fā)板一塊。三,實驗原理圖:Mips8位桶形移位器方框圖:大全實用文檔Mips8位桶形移位器組邏輯圖:大全實用文檔大全實用文檔ARM32位桶形移位器方框圖:ARM32位桶
2、形移位器邏輯圖:大全實用文檔大全實用文檔四,實驗任務:1、用VerilogHDL語言或VHDL語言來編寫,實現(xiàn)MIPS32位CPU中的桶形移位器。并在QuartusII上實現(xiàn)模擬仿真。2、用VerilogHDL語言或VHDL語言來編寫,在AlteraDE2-70開發(fā)板或AlteraDE2-115開發(fā)板上實現(xiàn)一個8位的桶形移位器(如圖3.2.4.1)。不MIPS32位CPU中的桶形移位器原理相同,使其能夠正常工作。3、用VerilogHDL語言或VHDL語言來編寫,實現(xiàn)ARM32位CPU中的桶形移位器。并在QuartusII上實現(xiàn)模擬仿真。五實驗步驟1,做
3、Mips8位桶形移位器:代碼設計思想:Mips桶形移位器共有四種移位方式:邏輯左移,邏輯右移,算術右移,循環(huán)右移。大全實用文檔其中,邏輯左移和邏輯右移比較簡單,先進行移位,在給空位填0就行。算術右移和邏輯右移有所差別。算術右移時,先進行右移,再在高位填上符號位。如果符號位為0,則可以和邏輯右移合并在一起,如果符號位為1,則只需先移位,再在高位填1就行。輸入實驗代碼:moduleshifter_111220120(in,op,out,amount);input[7:0]in;input[1:0]op;input[2:0]amount;outputreg[7
4、:0]out;always@(oporinoramount)case(op)0:begincase(amount)3'b000:out<=in;大全實用文檔3'b001:out<={in[6:0],1'b0};3'b010:out<={in[5:0],2'b0};3'b011:out<={in[4:0],3'b0};3'b100:out<={in[3:0],4'b0};3'b101:out<={in[2:0],5'b0};3'b110:out<={in[1:0],6'b0};3'b111:out<={in[0],7'b0};endcaseend1:beg
5、incase(amount)3'b000:out<=in;3'b001:out<={1'b0,in[7:1]};3'b010:out<={2'b0,in[7:2]};3'b011:out<={3'b0,in[7:3]};3'b100:out<={4'b0,in[7:4]};3'b101:out<={5'b0,in[7:5]};3'b110:out<={6'b0,in[7:6]};大全實用文檔3'b111:out<={7'b0,in[7]};endcaseend2:beginif(in[7]==0)begincase(amount)3'b000:out<=
6、in;3'b001:out<={1'b0,in[7:1]};3'b010:out<={2'b0,in[7:2]};3'b011:out<={3'b0,in[7:3]};3'b100:out<={4'b0,in[7:4]};3'b101:out<={5'b0,in[7:5]};3'b110:out<={6'b0,in[7:6]};3'b111:out<={7'b0,in[7]};endcaseendelse大全實用文檔begincase(amount)3'b000:out<=in;3'b001:out<={1'b1,in[7:1]};3'b010:out<
7、={2'b10,in[7:2]};3'b011:out<={3'b100,in[7:3]};3'b100:out<={4'b1000,in[7:4]};3'b101:out<={5'b10000,in[7:5]};3'b110:out<={6'b100000,in[7:6]};3'b111:out<={7'b1000000,in[7]};endcaseendend3:begincase(amount)3'b000:out<=in;3'b001:out<={in[0],in[7:1]};3'b010:out<={in[1:0],in[7:2]};大全實用文
8、檔3'b011:out<={in[2:0],in[7:3]};3'b100:ou