
《计算机组成原理实验》实验报告
第
姓名:
学号: 111220120
11级 计算机科学与技术系 03 班
邮箱:@qq.com
时间:2012年10月18日
桶形移位寄存器 ARM桶形移位器
一, 实验目的:
1、学习掌握桶形移位器的工作原理。桶形移位寄存器[]
2、掌握桶形移位器的设计方法。
二, 实验设备:
1、装有Quartus II的计算机一台。
2、Altera DE2-70开发板或Altera DE2-115开发板一块。
三,实验原理图:
Mips 8位桶形移位器方框图:

桶形移位寄存器 ARM桶形移位器
Mips 8位桶形移位器组逻辑图:

桶形移位寄存器 ARM桶形移位器
ARM32 位桶形移位器方框图:
ARM32位桶形移位器逻辑图:

桶形移位寄存器 ARM桶形移位器

桶形移位寄存器 ARM桶形移位器
四,实验任务:
1、用Verilog HDL语言或VHDL 语言来编写,实现MIPS32位CPU中的
桶形移位器。[)并在Quartus II上实现模拟仿真。
2、用Verilog HDL语言或VHDL 语言来编写,在Altera DE2-70开发板 或Altera DE2-115开发板上实现一个8位的桶形移位器(如图3.2.4.1)。不
MIPS32位CPU中的桶形移位器原理相同,使其能够正常工作。
3、用Verilog HDL语言或VHDL 语言来编写,实现ARM32位CPU中的
桶形移位器。并在Quartus II上实现模拟仿真。
五实验步骤
1, 做Mips8位桶形移位器:

代码设计思想:
Mips桶形移位器共有四种移位方式:逻辑左移,逻辑右移,算术右移,循环右移。桶形移位寄存器
其中,逻辑左移和逻辑右移比较简单,先进行移位,在给空位填0就行。
算术右移和逻辑右移有所差别。算术右移时,先进行右移,再在高位填上符号位。如果符号位为0,则可以和逻辑右移合并
桶形移位寄存器 ARM桶形移位器
在一起,如果符号位为1,则只需先移位,再在高位填1就行。()
输入实验代码:
module shifter_111220120(in,op,out,amount);
input [7:0]in;
input [1:0]op;
input [2:0]amount;
output reg [7:0]out;
always@(op or in or amount)
case(op)
0:begin
case(amount)
3b000:out<=in;
3b001:out<={in[6:0],1b0};
3b010:out<={in[5:0],2b0};
3b011:out<={in[4:0],3b0};
3b100:out<={in[3:0],4b0};
3b101:out<={in[2:0],5b0};
3b110:out<={in[1:0],6b0};
3b111:out<={in[0],7b0};
endcase
end
1:begin
case(amount)
3b000:out<=in;
3b001:out<={1b0,in[7:1]};
3b010:out<={2b0,in[7:2]};
3b011:out<={3b0,in[7:3]};
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-22711-1.html
老是用这种下三滥的手段来打擦边球没有多大意思
说的再有道理也是放屁