计算机组成原理实验报告八位补码加减法器的设计与实现.docx
- 文档编号:25851050
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:19
- 大小:300.19KB
计算机组成原理实验报告八位补码加减法器的设计与实现.docx
《计算机组成原理实验报告八位补码加减法器的设计与实现.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验报告八位补码加减法器的设计与实现.docx(19页珍藏版)》请在冰豆网上搜索。
计算机组成原理实验报告八位补码加减法器的设计与实现
计算机科学与技术学院
计算机组成原理
实验报告书
实验名称
八位补码加/减法器的设计与实现
班级
学号
姓名
指导教师
日期
成绩
实验1八位补码加/减法器的设计与实现
一、实验目的
1.掌握算术逻辑运算单元(ALU)的工作原理。
2.熟悉简单运算器的数据传送通路。
3.掌握8位补码加/减法运算器的设计方法。
4.掌握运算器电路的仿真测试方法
二、实验任务
1.设计一个8位补码加/减法运算器
(1)参考图1,在QUARTUSII里输入原理图,设计一个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)实验完毕,写出实验报告,内容如下:
1实验目的。
2实验电路图。
3按实验任务3的要求,填写下表,以记录各控制信号的值及时序关系。
表中的序号表示各控制信号之间的时序关系。
要求一个控制任务填一张表,并
可用文字对有关内容进行说明。
序号
nsw-bus
nR0-BUS
LDR0
LDR1
LDR2
m
nalu-bus
IN7~IN0
BUS7~BUS0
④仿真波形及仿真结果的分析方法、分析过程和分析结果。
⑤实验体会与小结。
四、实验预习内容
1.实验电路设计原理及思路说明
本实验利用基本逻辑门电路设计一位全加器(FA),如表1:
表1-一位全加器(FA)电路的输入输出信号说明
信号名称
说明
输入信号
Ai
加数
Bi
加数
Ci
低位输入的进位
输出信号
Si
和
Cj
运算产生的进位
然后以此基础上实现八位补码加/减法器的设计,考虑到实现所需既可以实现加法又可以实现减法,所以使用了一个M输入来进行方式控制加减。
2.实验电路原理图
实验参考电路如下图所示,下图(a)是1位全加器的电路原理图,图(b)是由1位全加器采用行波进位方法设计的多位补码加/减法运算器。
图1-多位补码加/减法运算器原理图
图2-8位运算器通路原理图
3.实验电路功能说明
表2-一位全加器(FA)功能表
输入
输出
Ci
Bi
Ai
Si
Cj
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
表3-M与Bi异或关系原理图
M
Bi
M异或Bi
0
0
0
0
1
1
1
0
1
1
1
0
当M为0时,Bi与M值无关,当M为1时,Bi取反。
也就是当M为0时,执行加法运算,反之进行减法运算。
FA实现Ai与(Bi异或M)的加法运算,再加上Ci输出Si
表4-图4功能端口解析
接口
解析
输入
A[7..0]
8位信号输入(加/被减数)
B[7..0]
8位信号输入(加/减数)
M
控制信号(0加,1减)
输出
S[7..0]
输出8位计算结果
OVER
溢出信号(0不溢出,1溢出)
表5-图3功能端口解析
接口
解析
输入
IN[7..0]
8位信号输入
nsw-bus
控制输入信号(0有效,1无效)
nalu-bus
控制输入信号(0有效,1无效)
nR0-BUS
控制输入信号(0有效,1无效)
LDR0
时钟信号,上升沿有效
LDR1
时钟信号,上升沿有效
LDR2
时钟信号,上升沿有效
m
溢出信号(0不溢出,1溢出)
输出
BUS[7..0]
8位信号输出
注:
1.74244b的AGN和BGN接口与74374b的OEN接口都是低电平有效,nsw-bus,nalu-bus和nR0-BUS控制器件的输入,当输入0时,输入有效,否则无效
2.74273b的CLK接口为上升沿有效,当LDR的时钟处于上升沿,即0->1变化时,输入有效
4.器件的选型
本实验用到以下基本逻辑器件:
异或门,一位加法器FA,7486等
表6-一位全加器(FA)电路所用主要器件清单
名称
说明
AND2
二输入与门
XOR2
异或门
OR2
或门
INPUT
信号输入端子
OUTPUT
信号输出端子
表7-8位补码加/减法运算器器件清单
XOR2
二输入异或门
FA
一位加法器(自选器件)
INPUT
信号输入端子
OUTPUT
信号输出端子
表8-8位运算器通路电路
INPUT
信号输入端子
OUTPUT
信号输出端子
8位补码加/减法运算器
计算元件(自选器件)
74273b
数据缓存元件
74244b
数据缓存元件
5.实验方法与实验步骤等
本实验利用EDA工具软件(QuartusII2.0或以上版本)完成,实验分为:
原理图的录入与编辑、仿真波形的设计及仿真结果的分析这3个步骤。
具体为:
(1)原理图的录入与编译
在EDA工具软件(QuartusII2.0或以上版本)中,采用原理图的录入的方法,绘制电路原理图。
绘制完成存盘后进行编译。
编译通过后,可以进行步骤
(2)的操作。
如果编译不通过,则检查原理图,改正错误后,重新存盘并编译。
这一过程重复进行,直至原理图编译通过。
(2)仿真波形的设计
根据电路的功能,设定输入信号的初值后,利用EDA工具软件(QuartusII2.0或以上版本)的波形仿真功能,验证电路的正确性。
根据8位补码加/减法运算器的功能要求,选定8组输入信号的初值,如下表所示:
表9-一位全加器(FA)电路仿真波形输入信号初值
序号
Ci
Bi
Ai
1
0
0
0
2
0
0
1
3
0
1
0
4
0
1
1
5
1
0
0
6
1
0
1
7
1
1
0
8
1
1
1
表10-8位补码加/减法运算器仿真波形输入信号初值
序号
A(十进制)
B(十进制)
M(01信号)
S(二进制)
溢出
1
0
20
0
00010100
0
2
40
20
0
00111100
0
3
80
20
0
01100100
0
4
120
20
0
10001100
1
5
10
10
1
00000000
0
6
50
10
1
00101000
0
7
80
10
1
01000110
0
8
110
10
1
01100100
0
(3)仿真结果的分析
在EDA工具软件(QuartusII2.0或以上版本)中,新建仿真波形文件,按表所示的输入信号的初值进行设定后,进行仿真。
阅读仿真波形,对照电路功能,进行分析并给出结论。
五、实验电路图
根据电路原理图,实验时在QuartusII2.0环境里绘制的实验电路如下图所示。
图3-一位全加器(FA)
图4-8位补码加/减法运算器
图5-8位运算器通路电路
6、仿真调试的过程、仿真结果的分析和仿真测试的结论
在QuartusII2.0中新建仿真波形文件,如下图6示。
图6-一位全加器(FA)仿真结果
分析图所示的仿真波形,可得到下表所示的实验结果。
表11-一位全加器(FA)电路仿真实验结果
输入
输出
周期
时间
Ci
Bi
Ai
Si
Cj
1
0-800ns
0
0
0
0
0
2
800ns-1.6μs
0
0
1
1
0
3
1.6μs-2.4μs
0
1
0
1
0
4
2.4μs-3.2μs
0
1
1
0
1
5
3.2μs-4.0μs
1
0
0
1
0
6
4.0μs-4.8μs
1
0
1
0
1
7
4.8μs-5.6μs
1
1
0
0
1
8
5.6μs-6.4μs
1
1
1
1
1
将表9与表11相对照,可知一位全加器FA正确。
在QuartusII2.0中新建仿真波形文件,如下图7所示。
图7-8位补码加/减法运算器仿真结果
分析图所示的仿真波形,可得到下表所示的实验结果
表12-八位补码加/减法器电路仿真实验结果
输入
输出
周期
时间
A
B
M
S
OVER
1
0~5ns
0
20
0
00010100
0
2
5~10ns
40
20
0
00111100
0
3
10~15ns
80
20
0
01100100
0
4
15~20ns
120
20
0
10001100
1
5
20~25ns
10
10
1
00000000
0
6
25~30ns
50
10
1
01000110
0
7
30~35ns
80
10
1
01100100
0
8
35~40ns
110
10
1
00000100
0
表记录的实验结果与上面计算数据中要求的值一致。
经分析比较可知,本次实验设计的电路实现了八位补码加/减法器的功能。
8位运算器通路电路
(1)首先对建立好的通路进行仿真波形图测试,测试结果如图8所示。
并检查数据是否一致
图8-8位运算器通路电路仿真结果
检查图8,可知输入IN与输出BUS一致,数据一致
(2)给DR1存入55H,检查数据是否存入,请说明检查方法。
检查方法:
在DR1中存入55H,同时在DR2中存入00H,检测总线输出的数即为存入的数据,波形图如下图9:
图9
表13-时序关系图
序号
nsw-
bus
nR0-
bus
LDR0
LDR1
LDR2
Control
Nalu-
Bus
IN
[7..0]
BUS
[7..0]
1
0
0
上升沿
0
0
0
1
55H
55H
2
1
0
0
上升沿
0
0
1
00H
ZZH
3
0
0
上升沿
0
0
0
1
00H
00H
4
1
0
0
0
上升沿
0
1
55H
ZZH
5
1
0
0
0
0
0
0
55H
55H
(3)给DR2存入AAH,检查数据是否存入,请说明检查方法。
和检测DR1相同,如图10
图10
表14-时序关系图
序号
nsw-
bus
nR0-
bus
LDR0
LDR1
LDR2
Control
Nalu-
Bus
IN
[7..0]
BUS
[7..0]
1
0
0
上升沿
0
0
0
1
00H
00H
2
1
0
0
上升沿
0
0
1
00H
ZZH
3
0
0
上升沿
0
0
0
1
AAH
AAH
4
1
0
0
0
上升沿
0
1
AAH
ZZH
5
1
0
0
0
0
0
0
AAH
AAH
(4)完成加法运算,求55H+AAH,检查运算结果是否正确,请说明检查方法。
波形图如下:
图11
表15-时序关系图
序号
nsw-
bus
nR0-
bus
LDR0
LDR1
LDR2
Control
Nalu-
Bus
IN
[7..0]
BUS
[7..0]
1
0
0
上升沿
0
0
0
1
55H
00H
2
1
0
0
上升沿
0
0
1
00H
00H
3
0
0
上升沿
0
0
0
1
00H
00H
4
1
0
0
0
上升沿
0
1
AAH
00H
5
1
0
0
0
0
0
0
00H
FFH
(5)完成减法运算,分别求55H-AAH和AAH-55H,检查运算结果是否正确,请说明检查方法。
55H-AAH波形图如下:
表16-时序关系图
序号
nsw-
bus
nR0-
bus
LDR0
LDR1
LDR2
Control
Nalu-
Bus
IN
[7..0]
BUS
[7..0]
1
0
0
上升沿
0
0
1
1
55H
00H
2
1
0
0
上升沿
0
1
1
00H
00H
3
0
0
上升沿
0
0
1
1
00H
00H
4
1
0
0
0
上升沿
1
1
AAH
00H
5
1
0
0
0
0
1
0
00H
ABH
AAH-55H波形图如下:
表17-时序关系图
序号
nsw-
bus
nR0-
bus
LDR0
LDR1
LDR2
Control
Nalu-
Bus
IN
[7..0]
BUS
[7..0]
1
0
0
上升沿
0
0
1
1
55H
00H
2
1
0
0
上升沿
0
1
1
00H
00H
3
0
0
上升沿
0
0
1
1
00H
00H
4
1
0
0
0
上升沿
1
1
AAH
00H
5
1
0
0
0
0
1
0
00H
55H
(6)求12H+34H-56H,将结果存入寄存器R0,检查运算结果是否正确,同时检查数据是否存入,请说明检查方法。
①计算结果:
12H+34H-56H波形图如下:
表18-时序关系图
序号
nsw-
bus
nR0-
bus
LDR0
LDR1
LDR2
Control
Nalu-
Bus
IN
[7..0]
BUS
[7..0]
1
0
0
上升沿
0
0
0
0
12H
12H
2
1
0
0
上升沿
0
0
0
00H
ZZH
3
0
0
上升沿
0
0
0
0
34H
34H
4
1
0
0
0
上升沿
0
0
00H
ZZH
5
1
0
上升沿
0
0
0
0
00H
46H
6
1
0
0
0
上升沿
0
1
00H
ZZH
7
0
0
上升沿
0
0
0
1
56H
56H
8
1
0
0
上升沿
0
0
1
00H
ZZH
9
1
0
0
0
0
0
1
00H
F0H
7、实验体会与小结
通过这次运算器的计算机组成原理实验,我对QUARTUS2软件的使用更加得心应手,学会在这之上用门电路搭建和组合原理图并实现封装调用等等。
在实验中,我遇到很多问题,例如,在绘制电路图后,由于工程文件的存储地址错误,导致编译失败之类的问题。
并且,我一开始没有使用总线输入,导致输入有19个端,大大加重了工作量。
除此之外,我学会了把缓存器,寄存器,ALU合理的串接成为8位运算器通路。
在这之中,时序的波形设计对我来说有一定的难度,每个时钟周期里,各个部件的工作状态都不相同,必须仔细分析每个部件状态才能熟练设计。
最后,在老师的教导下,我终于完成了本次实验。
通过本次实验,我对计算机组成原理这门课有了更加深刻的理解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 实验 报告 八位 补码 加减 法器 设计 实现