资料详情

模型机流水硬连线控制器设计

头像

理工论文

编号:11053

3.3 模型机流水硬连线控制器设计

3.3.1 模型机流水硬连线控制器设计

一、教学目的

⑴ 融会贯通计算机组成与体系结构课程各章教学内容,通过知识的综合运用,加深对

CPU 各模块工作原理及相互联系的认识。

⑵ 掌握流水硬连线控制器的设计方法。

⑶ 学习运用当代的 EDA 设计工具,掌握用 EDA 设计大规模复杂逻辑电路的方法。

⑷ 培养科学研究能力,取得设计和调试的实践经验。二、实验设备

三、设计与调试任务

1.设计一个流水硬连线控制器,和 TEC-8 模型计算机的数据通路结合在一起,构成一个完整的 CPU,该 CPU 要求:

⑴ 能够完成控制台操作:启动程序运行、读存储器、写存储器、读寄存器和写寄存器。

⑵ 能够执行本章第 3.1 节的表 3.1 中的指令,完成规定的指令功能。2.在 Quartus Ⅱ下对硬连线控制器对设计方案进行编程和编译

3. 将编译后的流水硬连线控制器下载到 TEC-8 实验台上的 ISP 器件 EPM7128 中去,使EPM7128 成为一个流水硬连线控制器。

4.根据指令系统,编写检测流水硬连线控制器正确性的测试程序,并用测试程序对硬连线控制器在单拍方式下进行调试,直到成功。

5.在调试成功的基础上,整理出设计文件,包括:

⑴ 流水硬连线控制器逻辑模块图

⑵ 流水硬连线控制器指令周期流程图

⑶ 流水硬连线控制器的 VHDL 源程序

⑷ 测试程序

⑸ 设计说明书

⑹ 调试总结

四、设计提示

1.流水硬连线控制器参考流程图

流水硬连线控制器参考流程图见图 3.3。


ST0=

SBUS

SBUS

LAR

MEMW

STOP

ARINC

SST0

STOP

SHORT

SELCTL

SHORT SELCTL

LIR PCINC SHORT

图 3.3 流水硬连线控制器参考流程图

在 TEC-8 实验系统中,由于按下复位按钮 CLR 后,指令寄存器 IR 被复位为 00H,因此, 无论存储器中写入什么测试程序,在图 3.3 所示的流程图中,第 1 条被执行的指令的代码总是 00H。我们规定,指令代码为 00H 的指令是条 nop 指令。

其它的设计提示参考本章 3.1 节。

五、设计报告要求

1. 采用 VHDL 语言描述流水硬连线控制器的设计,列出设计源程序。

2. 测试程序。

3. 写出调试中出现的问题、解决办法、验收结果。

4. 写出设计、调试中遇到的困难和心得体会。


3.3.2 实验报告记录:


3.4 含有阵列乘法器的 ALU 设计

3.4.1 含有阵列乘法器的 ALU 设计

一、教学目的

⑴ 掌握阵列乘法器的组织结构和实现方法。

⑵ 改进 74181 的内部结构设计,仅实现加、减、乘、传送、与、加 1、取反、求补等 8 种操作。

⑶ 学习运用当代的 EDA 设计工具,掌握用 EDA 设计大规模复杂逻辑电路的方法。

⑷ 培养科学研究能力,取得设计和调试的实践经验。二、实验设备

三、设计与调试任务

1.设计 1 个 4 位×4 位的阵列乘法器,其积为 8 位。

2.设计一个 ALU,能够对 2 个 4 位操作数 A 和 B 进行 8 种运算,由 3 位操作码控制进行何种运算。3 位操作码从电平开关 SWA、SWB、SWC 输入。要求:

操作模式

功能选择

备 注

000

A+B

001

A-B

010

A and B

011

A or B

100

not A

101

A xor B

110

not(A and B)

111

操作数 A 从开关 K3~K0 输入,操作数 B 从开关 K11~K8 输入。运算结果送指示灯 L7~L0 输出,L0 为最低位,L7 为最高位。在做加、减法时,L4 显示进位。在做与、或、求反、异或、与非运算时,L7~L4 显示 0。

2.在 Quartus Ⅱ下对改进 ALU 的设计方案进行编程和编译

3.将编译后的 ALU 下载到 TEC-8 实验台上的 ISP 器件 EPM7128 中去,使 EPM7128 成为含有阵列乘法器的 ALU。

4.测试方法和正确性验证。

5.写出设计、调试报告总结。

四、设计提示


1.无符号阵列乘法器结构

无符号阵列乘法器的结构框图如图 3.4 所示。它由一系列全加器 FA 用流水方法(时间并行)和资源重复方式(空间并行)有序组成。图 3.4 所示为 5×5 位的阵列乘法器。


a4b0

a3b0

a2b0

a1b0

a0b0


 


P9 P8

P7 P6

P5 P4 P3

P2 P1 P0


图 3.4 无符号阵列乘法器框图

2.EPM7128 和电平开关 K15~K0、指示灯 L11~L0 的连接

EPM7128 通过一条 34 芯扁平电缆和电平开关 K15~K0、指示灯 L15~L0 连接。连接时扁平电缆的 34 芯端插到插座 J6 上,扁平电缆的 12 芯端插到插座 J4 上(请注意:P12 的滑面朝下或者箭头朝在左边),16 芯插到插座 J8 上。电平开关 K15~K0、指示灯 L11~L0 对应的

EPM7128 引脚如下表 3.5 所示。


表 3.5 电平开关、指示灯对应的 EPM7128 引脚号

电平开关

方向

引脚号

指示灯

方向

引脚号

S0

输入

54

L0

输出

37

S1

输入

81

L1

输出

39

S2

输入

80

L2

输出

40

S3

输入

79

L3

输出

41

S4

输入

77

L4

输出

44

S5

输入

76

L5

输出

45

S6

输入

75

L6

输出

46

S7

输入

74

L7

输出

48

S8

输入

73

L8

输出

49

S9

输入

70

L9

输出

50

S10

输入

69

L10

输出

51

S11

输入

68

L11

输出

52

S12

输入

67

S13

输入

65

S14

输入

64

S15

输入

63

SWA

输入

4

SWB

输入

5

SWC

输入

6

3.运算测试

⑴ 用测试数据表 3.6 中的数据对乘法进行验证测试,运算结果正确。

表 3.6 乘法测试数据

组号数据

1

2

3

4

5

6

被乘数 A

9

15

0

15

随机

随机

乘数 B

8

15

15

0

随机

随机

乘积 P

72

225

0

0

⑵ ALU 的其它 7 种操作验证测试与乘法类似,自行设计测试数据表。五、设计报告要求

1. 采用 VHDL 语言或者原理图描述改进 ALU 的设计,列出源程序或者画出原理图。

2. 测试数据表及测试结果。

3. 写出调试中出现的问题、解决办法、验收结果。

4. 写出设计、调试中遇到的困难和心得体会。

六、实验完成后,必须要将硬连线控制器重新装入 EPM7128 中。以备以后做其他实验使用。


3.3.2 实验报告记录: