ALU 与 ALU 控制器设计实验
一、实验目的
掌握 ALU 的工作原理和逻辑功能。
掌握 ALU 的工作原理和作用。
二、实验设备
装有 Quartus II 的计算机一台。
Altera DE2-70 开发板一块。
三、实验任务
实现 32 位 ALU,使其能够支持基本的指令。
用 Verilog 语言来编写,实现 ALU 和 ALU 的控制器。
四、实验原理
在 MIPS 中,ALU 可执行的执行的功能与操作如下表,需要 4 位操作信号,3 位控制信
号。
ALUop
ALUctr
功能
0000
110
加法
0001
110
有符合减法
0010
000
前导 0
0011
000
前导 1
0100
100
与
0101
101
slt/slti
0110
010
或
0111
101
sltu/sltiu
1000
011
或非
1001
001
异或
ALU 的原理示意图如下:
对原理图的说明:
ALU 的输入为数据 A,B(32 位)和操作信号 ALUop(4 位),输出为运算结果 Result
和 4 个标志信号 Carry(有进位为 1,否则为 0)、Zero(Result=0 为 1,否则为 0)、Overflow
(溢出时为 1,否则为 0)、Less(A<B 为 1,否则为 0)。
为提高 ALU 的控制效率,ALU 采用两级控制,即通过 ALU 控制器控制 ALU,而不
是直接控制 ALU。如 ALU 原理图所示,ALUop 通过 ALU 控制器生成 3 位控制信号以选