计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc

上传人:聆听****声音 文档编号:805688 上传时间:2023-04-29 格式:DOC 页数:17 大小:3.35MB
下载 相关 举报
计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc_第1页
第1页 / 共17页
计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc_第2页
第2页 / 共17页
计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc_第3页
第3页 / 共17页
计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc_第4页
第4页 / 共17页
计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc_第5页
第5页 / 共17页
计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc_第6页
第6页 / 共17页
计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc_第7页
第7页 / 共17页
计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc_第8页
第8页 / 共17页
计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc_第9页
第9页 / 共17页
计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc_第10页
第10页 / 共17页
计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc_第11页
第11页 / 共17页
计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc_第12页
第12页 / 共17页
计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc_第13页
第13页 / 共17页
计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc_第14页
第14页 / 共17页
计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc_第15页
第15页 / 共17页
计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc_第16页
第16页 / 共17页
计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc

《计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc(17页珍藏版)》请在冰点文库上搜索。

计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现Word下载.doc

(3)学习微程序控制器的设计过程和相关技术,掌握LPM_ROM的配置方法;

(4)掌握微程序的设计方法,学会编写二进制微指令代码表;

(5)在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机;

(6)通过这次的课程设计让学生通过动脑和动手解决计算机设计中的实际问题。

综合运用所学计算机组成原理知识,在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本的模型计算机,掌握整机概念,并设计机器指令系统,编写程序,在所设计的模型计算机上调试运行。

第二章实验原理及方案

2.1实验原理

本实验将能在微过程控制下自动产生各部件单元控制信号,实现特定的功能。

实验中,计算机数据通路的控制将由微过程控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。

该模型机的总的数据通路如图2.1.1所示。

图2.1.1模型机的数据通路

2.2实验方案

2.2.1指令系统

本实验采用五条机器指令。

指令编码如下表:

表一指令编码

助记符

操作码

addr地址码

功能描述

IN

00H

“INPUT”→R0,键盘输入数据

ADDaddr

10H

XXH

R0+[addr]→R0

STAaddr

20H

R0→[addr]

OUTaddr

30H

BUS→“OUTPUT”,显示输出数据

JMPaddr

40H

addr→PC

指令分单字节和双字节,单字节指令只有IN一条,其余都是双字节指令。

指令各式如表二和表三。

表二单字节指令格式

7654

32

10

源寄存器

目的寄存器

表三双字节指令格式

76543210

操作数(内存地址码)

源和目的寄存器可以是三个工作寄存器之一,寄存器标号R0为00,R1为01,R2为10。

为了在试验台上用键盘输入程序和数据到内存,以及通过液晶屏显示输出,设计了3个控制台操作命令,通过按键SWB和SWA组合实现(括号中是SWB,SWA的键值):

存储器读KRD(00)操作,存储器KWE(01)操作,启动程序执行RP(11)操作。

2.2.2模型计算机硬件

在本此设计的模型机硬件主要有以下部分组成:

运算器:

采用8位运算器ALU181,实现算术逻辑运算。

该电路的两个操作数输入端设置两个寄存器DR0和DR1。

程序计数器PC:

用来指示执行指令的地址,以便从内存取得指令。

地址寄存器AR:

存放并输出访问内存单元的地址。

指令寄存器IR:

锁存取得的指令,供控制电路解码分析执行。

此外,还提供了3个工作寄存器R0,R1和R2。

存放可编程程序和数据的存储器RAM也在芯片上实现(像单片机一样)。

各个功能模块通过总线连接。

控制器采用微程序设计。

整个模型机各功能部件的工作及通路连接的微操作代码如表3.11和表3.12所示。

采用字宽24位的ROM存放微程序,3个3-8译码器组成24位输出译码电路。

2.2.3微指令设计

2.2.3.1微代码定义

由于在本次设计的模型机中只设计五条指令,以及它们所实现的任务,可以将每条微指令用24位的微代码来表示,如表四所示

表四 24位微代码定义

24

23

22

21

20

19

18

17

16

151413

121110

987

6

5

4

3

2

1

S3

S2

S1

S0

M

Cn

WE

A9

A8

A字段

B字段

C字段

uA5

uA4

uA3

uA2

uA1

uA0

操作控制信号

译码器

下址字段

如表四所示的24位微代码信号的功能解释如下:

①S3-S0,ALU的操作选择信号,控制执行16种算术逻辑操作之一种;

②M,ALU操作方式选择,等于O为算术操作,等于1时执行逻辑操作;

③CN,进位标志,等于0时,最低位有进位输入,等于1表示无进位;

④WE,控制RAM的读写信号,0值为读,1值为写;

⑤A9,A8,经译码产生键盘SW_B,存储器RAM,输出显示LED通路选择信号;

⑥A字段,经译码产生各部件从总线输入选通信号,参考表五;

表五微指令译码字段说明

15

14

13

选择

12

11

10

9

8

7

LDRi

RS_B

P

(1)

LDR1

RD_B

P

(2)

LDR2

RJ_B

P(3)

LDIR

SFT_B

P(4)

LOAD

ALU_B

LDAR

PC_B

LDPC

⑦B字段,经译码产生各部件到总线输出选通信号,参考表五;

⑧C字段,经译码产生测试转移P1~P4,装入程序计数器LDPC,参考表五;

⑨μA5~μA0,微程序地址信号

2.2.3.2微代码具体设计

综上所述,实现模型机指令的解释与执行的微程序代码。

这些微代码写入ROM中。

注意,表六中的微地址是8进制表示。

表六 微代码

微地址

微指令

S3S2S1S0MCNWEA9A8

A

B

C

μA5~μA0

00

000000011

000

100

01

01ED82

110

02

00C048

000000001

001

03

00E004

04

00B005

011

05

01A206

010

06

919A01

100100011

101

07

00E00D

000000000

01ED83

01ED87

01ED8E

01ED96

00E00F

00A015

01ED92

01ED94

01A010

000001100

25

010A01

000000010

26

00D181

2.2.4控制台解释微程序

为了在实验台上用键盘输入程序和数据到内存,以及通过液晶屏显示输出,设计了3个控制台操作命令,通过安检SWA和SWB组合实现,同时根据微代码的设计可以将控制台设计为如下的解释微程序。

控制台键盘译码微程序流程如图2.2.4.1所示。

图2.2.4.1控制台键盘译码微程序流程

2.2.5运行指令流程图

根据每条机器指令执行的微操作顺序,微程序流程图如下图:

第三章具体设计过程

3.1各个主要基本部件设计

在设计模型机的主要的顺序是从底层开始设计,逐步向上设计,最后实现顶层的电路图的设计。

3.1.1算术逻辑部件(ALU)

ALU是计算机的核心部件之一,它能执行加法和减法等算术运算,也能执行“与”、“或”等逻辑运算。

ALU的基本功能根据74LS181的功能用VHDL编辑而成的。

本次设计中的运算器功能部件可以对8为数据进行算术/逻辑运算,采用硬件描述语言VHDL设计。

该元件,共有两个数据输入端A[7…0]、B[7…0],S[3…0]控制执行16种算术/逻辑运算中的一种,M端控制操作方式的选择(算术运算和逻辑运算),CN表示进位标志(进位和无进位)。

具体设计如下:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYALU181IS

PORT(

S:

INSTD_LOGIC_VECTOR(3DOWNTO0);

A:

INSTD_LOGIC_VECTOR(7DOWNTO0);

B:

F:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

COUT:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

M:

INSTD_LOGIC;

CN:

CO:

OUTSTD_LOGIC;

FZ:

OUTSTD_LOGIC);

ENDALU181;

ARCHITECTUREbehavOFALU181IS

SIGNALA9:

STD_LOGIC_VECTOR(8DOWNTO0);

SIGNALB9:

SIGNALF9:

BEGIN

A9<

='

0'

&

A;

B9<

B;

PROCESS(M,CN,A9,B9,S)

BEGIN

CASESIS

WHEN"

0000"

=>

IFM='

THENF9<

=A9+CN;

ELSEF9<

=NOTA9;

ENDIF;

WHEN"

0001"

=(A9ORB9)+CN;

=NOT(A9ORB9);

0010"

=(A9OR(NOTB9))+CN;

=(NOTA9)ANDB9;

0011"

="

"

-CN;

="

;

0100"

=A9+(A9ANDNOTB9)+CN;

=NOT(A9ANDB9);

0101"

=(A9ORB9)+(A9ANDNOTB9)+CN;

=NOTB9;

0110"

=A9-B9-CN;

=A9XORB9;

0111"

=(A9AND(NOTB9))-CN;

=A9AND(NOTB9);

1000"

=A9+(A9ANDB9)+CN;

=(NOTA9)ORB9;

1001"

=A9+B9+CN;

=NOT(A9XORB9);

1010"

=(A9OR(NOTB9))+(A9ANDB9)+CN;

=B9;

1011"

=(A9ANDB9)-CN;

=A9ANDB9;

1100"

=A9+A9+CN;

1101"

=(A9ORB9)+A9+CN;

=A9OR(NOTB9);

1110"

=(A9OR(NOTB9))+A9+CN;

=A9ORB9;

1111"

=A9-CN;

=A9;

WHENOTHERS=>

F9<

;

ENDCASE;

IF(A9=B9)THEN

FZ<

ELSEFZ<

1'

ENDIF;

ENDPROCESS;

F<

=F9(7DOWNTO0);

CO<

=F9(8);

COUT<

WHENF9(8)='

ELSE"

ENDbehav;

3.1.2程序计数器(PC)

程序计数器采用LPM库中的元件lpm_counter来完成的,计数器的数据宽度为8位。

程序计数器(PC)是为能够进行主机系统设计实验,控制程序的自动运行而设计的部件。

改程序计数器可以提供8为的程序地址,具有自增1和接收转移地址的功能。

图3.1.2.1程序计数器元件图

图3.1.2.2程序计数器功能部件详细设计图

3.1.3寄存器

在该模型机中用到的寄存器主要有数据缓冲寄存器、地址寄存器、工作寄存器和指令寄存器。

数据缓冲寄存器是用来存放CPU主存读取的一个指令字或一个数据字,它是采用锁存器结构来实现的。

他们都是可以直接从LPM库中调用的。

图3.1.3.1数据缓冲寄存器逻辑结构图3.1.3.2指令寄存器逻辑结构

图3.1.3.3工作寄存器元件图

图3.1.3.4工作寄存器逻辑结构

3.1.4存储器

用于存储微程序的LPM_ROM用初始化存储器编辑窗口LPM_ROM配置文件.mif的,其中rom5.mif的数据是微指令码,如图3.1.4.1.

图3.1.4.1rom5.mif中的数据

图3.1.4.2存储器

3.2模型机顶层框图设计

通过各个小的部件的设计,最后将各个部件如数据通路一样的将部件连接起来,完成如图的顶层框图。

图3.2.18位CPU的顶层电路图

第四章程序测试和指令调试

4.1波形仿真

电路的设计与仿真在QuartusⅡ6.0的环境下完成的,硬件测试平台为杭州康芯电子有限公司“SOPC/EDA组成原理实验开发系统”上完成的。

其中编写的rom5.mif保存在预实验电路cpu5.bdf工程所在的文件夹中,与实验电路cpu5.bdf一同编译后得到下载文件cpu5.sof,设计波形激励文件进行波形的仿真,结果如图4.1.1.

图4.1.1波形仿真图

4.2实验调试

下载编程和试验台联机测试

下载编程芯片方法在前面实验已经介绍,下面主要讲述测试。

在GW48实验系统上选用电路模式NO.0。

实验台资源应用说明如下:

l液晶屏LCD显示程序运行监测信息如图3.39,功能说明如表七。

l数码管LED,数码管2,1显示手工输入数据的值。

表七LCD液晶显示功能说明

名称

作用

INPUT输入单元

OUT

OUTPUT输出单元

ALU

算术逻辑单元

R0

寄存器R0

R1

寄存器R1

R2

寄存器R2

DR1

暂存器DR1

DR2

暂存器DR2

BUS

内部数据总线

PC

程序计数器

AR

地址寄存器

RAM

程序/数据存储器

IR

指令积存器

μA

微程序地址

MC

微指令代码

l键盘,按键8,7,4,3分别表示模型机复位RST,模拟节拍SETP,控制台控制信号SWB,SWA。

是乒乓开关,按一次为高电平,对应的发光管点亮,再按一次即变为低平,对应发光管灭,再按又变高。

l按键2,1为数据录入键,16进制输入,每按一次加一,显示在数码管上。

1)手动输入实验程序

实验程序用来检查模型机的指令执行情况,包含了指令系统全部5条指令,用机器指令代码编程,参考实验程序如表八:

表八机器指令试验程序

存储器地址

内容

说明

01H

ADD[0AH]

[R0]+[0AH]→R0

02H

0AH

03H

STA[0BH]

[R0]→[0BH]

04H

0BH

05H

OUT[OBH]

[0BH]“OUTPUT”,显示输出数据

06H

[09H]→PC,以[08H]内容为转移地址

07H

JMP[08H]

08H

09H

34H

DB34H

被加数

求和结果

输入程序的方法如下:

① 通过按键4,3,置SWB,SWA为01,并按复位按键8.令模型机工作在控制台写存储器状态,执行KWE微程序;

② 通过按

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2