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

来源:工作范文网 时间:2020-10-25 09:24:04

计算机科学和技术学院

计算机组成原理

试验汇报书

实 验 名 称

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

班 级

学 号

姓 名

指 导 教 师

日 期

成 绩

试验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,检验运算结果是否正确,同时检验数据是否存入,请说明检验方法。

三、试验要求

做好试验预习,掌握运算器数据传送通路和ALU功效特征。

试验完成,写出试验汇报,内容以下:

试验目标。

试验电路图。

按试验任务3要求,填写下表,以统计各控制信号值立即序关系。表中序号表示各控制信号之间时序关系。要求一个控制任务填一张表,并

可用文字对相关内容进行说明。

序号

nsw-bus

nR0-BUS

LDR0

LDR1

LDR2

m

nalu-bus

IN7~IN0

BUS7~BUS0

= 4 \* GB3 ④仿真波形及仿真结果分析方法、分析过程和分析结果。

= 5 \* GB3 ⑤试验体会和小结。

四、试验预习内容

1.试验电路设计原理及思绪说明

本试验利用基础逻辑门电路设计一位全加器(FA),如表1:

表1-一位全加器(FA)电路输入输出信号说明

信号名称

说明

输入信号

Ai

加数

Bi

加数

Ci

低位输入进位

输出信号

Si

Cj

运算产生进位

然后以此基础上实现八位补码加/减法器设计,考虑到实现所需既能够实现加法又能够实现减法,所以使用了一个M输入来进行方法控制加减。

2. 试验电路原理图

试验参考电路以下图所表示,下图(a)是1位全加器电路原理图,图(b)是由1位全加器采取行波进位方法设计多位补码加/减法运算器。

图1-多位补码加/减法运算器原理图

图2-8位运算器通路原理图

试验电路功效说明

表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.74244bAGN和BGN接口和74374bOEN接口全部是低电平有效,nsw-bus,nalu-bus和nR0-BUS控制器件输入,当输入0时,输入有效,不然无效

2.74273bCLK接口为上升沿有效,当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

数据缓存元件

试验方法和试验步骤等

本试验利用EDA工具软件(Quartus II 2.0或以上版本)完成,试验分为:原理图录入和编辑、仿真波形设计及仿真结果分析这3个步骤。具体为:

(1)原理图录入和编译

在EDA工具软件(Quartus II 2.0或以上版本)中,采取原理图录入方法,绘制电路原理图。绘制完成存盘后进行编译。编译经过后,能够进行步骤(2)操作。假如编译不经过,则检验原理图,更正错误后,重新存盘并编译。这一过程反复进行,直至原理图编译经过。

(2)仿真波形设计

依据电路功效,设定输入信号初值后,利用EDA工具软件(Quartus II 2.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

00

2

40

20

00

3

80

20

00

4

120

20

01

5

10

10

10

6

50

10

10

7

80

10

10

8

110

10

10

(3)仿真结果分析

在EDA工具软件(Quartus II 2.0或以上版本)中,新建仿真波形文件,按表所表示输入信号初值进行设定后,进行仿真。阅读仿真波形,对照电路功效,进行分析并给出结论。

五、试验电路图

依据电路原理图,试验时在Quartus II 2.0环境里绘制试验电路以下图所表示。

图3-一位全加器(FA)

图4-8位补码加/减法运算器

图5-8位运算器通路电路

仿真调试过程、仿真结果分析和仿真测试结论

在Quartus II 2.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正确。

在Quartus II 2.0中新建仿真波形文件,以下图7所表示。

图7-8位补码加/减法运算器仿真结果

分析图所表示仿真波形,可得到下表所表示试验结果

表12-八位补码加/减法器电路仿真试验结果

输入

输出

周期

时间

A

B

M

S

OVER

1

0~5ns

0

20

00

2

5~10ns

40

20

00

3

10~15ns

80

20

00

4

15~20ns

120

20

01

5

20~25ns

10

10

10

6

25~30ns

50

10

10

7

30~35ns

80

10

10

8

35~40ns

110

10

10

表统计试验结果和上面计算数据中要求值一致。经分析比较可知,此次试验设计电路实现了八位补码加/减法器功效。

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

试验体会和小结

经过这次运算器计算机组成原理试验,我对QUARTUS2软件使用愈加得心应手,学会在这之上用门电路搭建和组合原理图并实现封装调用等等。在试验中,我碰到很多问题,比如,在绘制电路图后,因为工程文件存放地址错误,造成编译失败之类问题。而且,我一开始没有使用总线输入,造成输入有19个端,大大加重了工作量。除此之外,我学会了把缓存器,寄存器,ALU合理串接成为8位运算器通路。在这之中,时序波形设计对我来说有一定难度,每个时钟周期里,各个部件工作状态全部不相同,必需仔细分析每个部件状态才能熟练设计。最终,在老师教导下,我最终完成了此次试验。

经过此次试验,我对计算机组成原理这门课有了愈加深刻了解。