计算机组成原理实验报告八位补码加减法器的设计与实现.docx

上传人:b****6 文档编号:3973759 上传时间:2022-11-26 格式:DOCX 页数:17 大小:300.25KB
下载 相关 举报
计算机组成原理实验报告八位补码加减法器的设计与实现.docx_第1页
第1页 / 共17页
计算机组成原理实验报告八位补码加减法器的设计与实现.docx_第2页
第2页 / 共17页
计算机组成原理实验报告八位补码加减法器的设计与实现.docx_第3页
第3页 / 共17页
计算机组成原理实验报告八位补码加减法器的设计与实现.docx_第4页
第4页 / 共17页
计算机组成原理实验报告八位补码加减法器的设计与实现.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

计算机组成原理实验报告八位补码加减法器的设计与实现.docx

《计算机组成原理实验报告八位补码加减法器的设计与实现.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验报告八位补码加减法器的设计与实现.docx(17页珍藏版)》请在冰豆网上搜索。

计算机组成原理实验报告八位补码加减法器的设计与实现.docx

计算机组成原理实验报告八位补码加减法器的设计与实现

计算机科学与技术学院

计算机组成原理

实验报告书

 

实验名称

八位补码加/减法器的设计与实现

班级

学号

姓名

指导教师

日期

成绩

 

实验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位运算器通路。

在这之中,时序的波形设计对我来说有一定的难度,每个时钟周期里,各个部件的工作状态都不相同,必须仔细分析每个部件状态才能熟练设计。

最后,在老师的教导下,我终于完成了本次实验。

通过本次实验,我对计算机组成原理这门课有了更加深刻的理解。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1