下载此文档

ARM桶形移位器.doc


文档分类:论文 | 页数:约29页 举报非法文档有奖
1/29
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/29 下载此文档
文档列表 文档介绍
《计算机组成原理实验》实验报告第5次实验:桶形移位器实验姓名:学号:**********级计算机科学与技术系03班邮箱:@时间:2012年10月18日实验目的:1、学****掌握桶形移位器的工作原理。2、掌握桶形移位器的设计方法。实验设备:1、装有QuartusII的计算机一台。2、AlteraDE2-70开发板或AlteraDE2-115开发板一块。三,实验原理图:Mips8位桶形移位器方框图:Mips8位桶形移位器组逻辑图:ARM32位桶形移位器方框图:ARM32位桶形移位器逻辑图:四,实验任务:1、用VerilogHDL语言或VHDL语言来编写,实现MIPS32位CPU中的桶形移位器。并在QuartusII上实现模拟仿真。2、用VerilogHDL语言或VHDL语言来编写,在AlteraDE2-70开发板或AlteraDE2-115开发板上实现一个8位的桶形移位器()。不MIPS32位CPU中的桶形移位器原理相同,使其能够正常工作。3、用VerilogHDL语言或VHDL语言来编写,实现ARM32位CPU中的桶形移位器。并在QuartusII上实现模拟仿真。五实验步骤做Mips8位桶形移位器:代码设计思想:Mips桶形移位器共有四种移位方式:逻辑左移,逻辑右移,算术右移,循环右移。其中,逻辑左移和逻辑右移比较简单,先进行移位,在给空位填0就行。算术右移和逻辑右移有所差别。算术右移时,先进行右移,再在高位填上符号位。如果符号位为0,则可以和逻辑右移合并在一起,如果符号位为1,则只需先移位,再在高位填1就行。输入实验代码:moduleshifter_111220120(in,op,out,amount);input[7:0]in;input[1:0]op;input[2:0]amount;outputreg[7:0]out;always@(oporinoramount)case(op) 0:begin case(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}; endcase end 1:begin case(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]}; endcase end 2:begin if(in[7]==0) begin case(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]}; endcase end else begin case(amount) 3'b000:out<=in; 3'b001:out<={1'b1,in[7:1]}; 3'b010:out<={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]}; endcase end end 3:begin case(amount) 3'b000:out<=in; 3'b001:out<={in[0],in[7:1]}; 3'b010:out<={in[1:0],in[7:2]}; 3'b011:out<={in[2:0],in[7:3]}; 3'b100:out<={in[3:0],in[7:4]}; 3'b101:

ARM桶形移位器 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数29
  • 收藏数0 收藏
  • 顶次数0
  • 上传人changjinlai
  • 文件大小3.16 MB
  • 时间2019-10-18