ALU
- 格式:ppt
- 大小:749.00 KB
- 文档页数:24


计算机组成原理与接口技术实验
实 验 报 告
实 验 人: 学 号: 日 期: 2010-03-20
院(系): 软件学院 专业(班级):
实验题目: ALU设计(4位和8位)
一. 实验目的
1. 了解ALU(算术逻辑单元)的功能和使用方法
2. 认识和掌握超前(并行)进位的设计方法
3. 认识和掌握ALU的逻辑电路组成
4. 认识和掌握ALU的设计方法
二. 实验原理
从结构原理图上可推知,本实验中的ALU运算逻辑单元由4个一位的ALU运算逻辑单元组成。每一位的ALU电路由全加器和函数发生器组成。事实上,ALU的设计是在全加器的基础上,对全加器功能的扩展来实现符合要求的多种算术/逻辑运算的功能。为了实现多种功能的运算,An、Bn数据是不能直接与全加器相连接的,它们受到功能变量F3—F1的制约,因此,可由An、Bn数据和功能变量F3-F1组合成新的函数Xn 、Yn,然后,再将Xn 、Yn和下一位进位Cn-1通过全加器进行全加运算以实现所需的运算功能。ALU中,C0为最低位的进位输入端,C4为最高位的进位输出端,Sn为每一位运算结果。一位算术/逻辑运算单元的逻辑表达式(n=1、2、3、4)如下:
Sn=XnYnCn-1
Cn=XnYn+(Xn+Yn)Cn-1
令Pn=Xn+Yn
Gn=XnYn
则Cn=Gn+PnCn-1
图1 ALU的逻辑结构原理图 计算机组成原理与接口技术实验
实验要求进位位采用超前(先行、并行)进位实现。超前进位电路同时形成各位进位,因此实现快速进位,达到快速加法的目的。这种加法器称为超前进位加法器。
各超前(先行)进位位的形成根据表达式Cn=XnYn+(Xn+Yn)Cn-1来确定,其中n=1、2、3、4。后产生的进位与前进位有关,最终每个进位也只和Xn、Yn、C0有关,而Xn、Yn又是An、Bn的函数,如:
算术逻辑部件ALU实验报告
一、实验目的
(1)熟悉硬件描述语言及开发环境,了解硬件系统开发的基本过程。
(2)掌握ALU基本设计方法和简单运算器的数据传送通路。
(3)验证ALU的功能。
二、实验环境
(1)硬件环境:安装有Windows 7 或以上操作系统的PC,THINPAD教学计算机。
(2)软件开发:FPGA开发工具软件Xilinx ISE 12.3或以上。
三、实验内容
(1)根据实验原理中的要求,用VHDL语言实现一个简单的ALU。
(2)在教学计算机THINPAD上验证实现的ALU的功能。
四、实验原理
算术逻辑部件ALU的主要功能是对二进制数据进行定点算术运算、逻辑运算和各种移位操作等。算术运算包括定点加减乘除运算,逻辑运算主要用逻辑与、逻辑或、逻辑异或和逻辑非等操作。ALU通常有两个数据输入端A和B输出操作数,一个数据输出端Y以及标志位输出结果,通过输入操作码op来确定所要进行的操作,本实验通过实现一个状态机,根据状态机状态的变化来输人操作数及操作码,并最终实现不同的运算,将结果和标志位呈现出来。
本实验中的ALU要求实现基本的算术运算、逻辑运算、移位运算等,具体功能如下:
操作码 功能 描述
ADD A+B 加法
SUB A-B 减法
AND A and B 与
OR A or B 或
XOR A xor B 异或
NOT not A 取非
SLL A sll B 逻辑左移B位
SRL A srl B 逻辑右移B位
SRA A sra B 算术右移B位
ROL A rol B 循环左移B位
ALU的输入数据为16位,操作码op为4位,算术运算时数据用补码表示。
五、实验步骤
本实验通过VHDL语言实现一个比较简单的ALU模块。
(1)用VHDL语言编写ALU功能代码,并用状态机对其进行控制,使其完成实验要求的操作。操作码和操作数的输入用微型开关SW0~SW15,计算结果的输出用数字机上的LED灯来展示。
南通大学计算机科学与技术学院上机实验报告
课程名称:计算机组成原理实验 年级: 上机日期:
姓名: 学号: 班级:
实验名称:ALU实验 教师: 成绩:
一、目的及要求
1、设计一位全加器,并进行封装;
2、用封装好的一位全加器做位扩展,实现8位串行进位加法器;
3、8位加法器要求具备加减功能和溢出判断能力;
4、设计波形文件,进行仿真;
4、完成该实验的实验报告。
二、环境(软、硬件平台)
软件:Quartus 2.0
硬件:pc机
三、内容及步骤(包括程序流程及说明)
1、一位全加器真值表
输入 输出
Ai Bi Ci Si Ci1
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1 0 0
1 0
1 0
0 1
1 0
0 1
0 1
1 1
Si=Ai⊕Bi⊕Ci
Ci1=AiBi+BiCi+CiAi=AiBi+﹙Ai⊕Bi﹚Ci
.
. 青岛理工大学
实 验 报 告
实验课程: 计算机组成原理I
实验日期: 2013 年 9月18日, 交报告日期:2013 年9月30日,成绩:
实验地点:现代教育技术中心101(计算机实验室)
计算机工程 学院,计算机科学与技术 专业, 班级:计算112班
实验指导教师:盛建伦 批阅教师:
同组学生 姓名 任师锋 秦世帅
学号 201107063 201107061
一、 实验课题
设计一个16位ALU的逻辑,决定外部的端口(名称、有效电平)和内部各元件的连接,画出系统框图和逻辑图,设计仿真数据,用VHDL编程和仿真。
实验内容:
(1)、主要元件设计
1.4位并行进位加法器
功能要求:能完成两个4位二进制数(补码和无符号数)的加法和逻辑加运算。内部有并行进位链。可以扩展成多位组。
2.组间并行进位链逻辑
功能要求:4个4位小组的组间并行进位链逻辑。 .
. 将组间并行进位链逻辑与4个4位超前进位加法器连接可以构成16位
进位加法器。可参考74182的逻辑函数。
3.函数发生器
功能要求:能把输入的两个16位二进制数进行变换,与后面的16位超前进
加法器配合完成两个16位二进制数(补码和无符号数)的8种算术运算(有
些运算考虑低位来的进位)和8种逻辑运算。
提示:ALU的功能参考数字逻辑课程的“多功能加法器”实验
(2)、顶层设计
用层次结构设计的方法设计一个16位ALU。内部包括4个4位并行进位加
法器、组间并行进位链、16位函数发生器等。
功能要求:能完成两个16位二进制数以及低位来的进位的8种算术运算和8种逻辑运算。可参考74181
(3)、仿真
设计仿真波形数据,要考虑到所有可能的情况。在实验报告中必须清楚写明
仿真波形数据是怎样设计的。
二、逻辑设计