计算机科学与技术学院
计算机组成原理
实验报告书
实?验?名?称
班级
学号
姓名
指?导?教?师
日期
成绩
八位补码加/减法器的设计与实现
实验?1?八位补码加/减法器的设计与实现
一、实验目的
1.掌握算术逻辑运算单元(ALU)的工作原理。
2.熟悉简单运算器的数据传送通路。
3.掌握?8?位补码加/减法运算器的设计方法。
4.掌握运算器电路的仿真测试方法
二、实验任务
1.设计一个?8?位补码加/减法运算器
(1)参考图?1,在?QUARTUS?II?里输入原理图,设计一个?8?位补码加/减法
运算器。
(2)创建波形文件,对该?8?位补码加/减法运算器进行功能仿真测试。
(3)测试通过后,封装成一个芯片。
2.设计?8?位运算器通路电路
参考下图,利用实验任务?1?设计的?8?位补码加/减法运算器芯片建立运
算器通路。
3.利用仿真波形,测试数据通路的正确性。
设定各控制信号的状态,完成下列操作,要求记录各控制信号的值及时
序关系。
(1)在输入数据?IN7~IN0?上输入数据后,开启输入缓冲三态门,检查总线
BUS7~BUS0?上的值与?IN0~IN7?端输入的数据是否一致。
(2)给?DR1?存入?55H,检查数据是否存入,请说明检查方法。
(3)给?DR2?存入?AAH,检查数据是否存入,请说明检查方法。
(4)完成加法运算,求?55H+AAH,检查运算结果是否正确,请说明检查方法。
(5)完成减法运算,分别求?55H-AAH?和?AAH-55H,检查运算结果是否正确,请
说明检查方法。
(6)求?12H+34H-56H,将结果存入寄存器?R0,检查运算结果是否正确,同
时检查数据是否存入,请说明检查方法。
三、实验要求
(1)?做好实验预习,掌握运算器的数据传送通路和?ALU?的功能特性。
(2)?实验完毕,写出实验报告,内容如下:
①实验目的。
②实验电路图。
③按实验任务?3?的要求,填写下表,以记录各控制信号的值及时序关系。
表中的序号表示各控制信号之间的时序关系。要求一个控制任务填一张表,并
可用文字对有关内容进行说明。
序
号
nsw
-bu
s
nR0-
BUS
LD
R0
LD
R1
LD
R2?????m
nal
u-b
us
IN7~
IN0
BUS7~B
US0
④仿真波形及仿真结果的分析方法、分析过程和分析结果。
⑤实验体会与小结。
四、实验预习内容
1.实验电路设计原理及思路说明
本实验利用基本逻辑门电路设计一位全加器(FA),如表?1:
表?1-一位全加器(FA)电路的输入输出信号说明
输入信号
信号名称
Ai
Bi
说明
加数
加数
Ci
输出信号Si
Cj
低位输入的进位
和
运算产生的进位
然后以此基础上实现八位补码加/减法器的设计,考虑到实现所需既可以实现加
法又可以实现减法,所以使用了一个?M?输入来进行方式控制加减。
2.?实验电路原理图
实验参考电路如下图所示,下图(a)是?1?位全加器的电路原理图,图(b)是
由?1?位全加器采用行波进位方法设计的多位补码加/减法运算器。
图?1-多位补码加/减法运算器原理图
图?2-8?位运算器通路原理图
3.?实验电路功能说明
表?2-一位全加器(FA)功能表
输入
输出
Ci
0
0
0
0
1
1
Bi
0
0
1
1
0
0
Ai
0
1
0
1
0
1
Si
0
1
1
0
1
0
Cj
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
M
0
0
1
1
表?3-M?与?Bi?异或关系原理图
Bi
0
1
0
1
M?异或?Bi
0
1
1
0
当?M?为?0?时,Bi?与?M?值无关,当?M?为?1?时,Bi?取反。也就是当?M?为?0?时,执行加法运算,反之
进行减法运算。
FA?实现?Ai?与(Bi?异或?M)的加法运算,再加上?Ci?输出?Si
输入
输出
输入
表?4-图?4?功能端口解析
接口
A[7..0]
B[7..0]
M
S[7..0]
OVER
表?5-图?3?功能端口解析
接口
IN[7..0]
nsw-bus
nalu-bus
nR0-BUS
解析
8?位信号输入(加/被减数)
8?位信号输入(加/减数)
控制信号(0?加,1?减)
输出?8?位计算结果
溢出信号(0?不溢出,1?溢
出)
解析
8?位信号输入
控制输入信号(0?有效,1
无效)
控制输入信号(0?有效,1
无效)
控制输入信号(0?有效,1
无效)
LDR0
LDR1
LDR2
m
输出BUS[7..0]
时钟信号,上升沿有效
时钟信号,上升沿有效
时钟信号,上升沿有效
溢出信号(0?不溢出,1?溢
出)
8?位信号输出