东秦 组成原理课设.docx

上传人:b****0 文档编号:9780408 上传时间:2023-05-21 格式:DOCX 页数:23 大小:595.66KB
下载 相关 举报
东秦 组成原理课设.docx_第1页
第1页 / 共23页
东秦 组成原理课设.docx_第2页
第2页 / 共23页
东秦 组成原理课设.docx_第3页
第3页 / 共23页
东秦 组成原理课设.docx_第4页
第4页 / 共23页
东秦 组成原理课设.docx_第5页
第5页 / 共23页
东秦 组成原理课设.docx_第6页
第6页 / 共23页
东秦 组成原理课设.docx_第7页
第7页 / 共23页
东秦 组成原理课设.docx_第8页
第8页 / 共23页
东秦 组成原理课设.docx_第9页
第9页 / 共23页
东秦 组成原理课设.docx_第10页
第10页 / 共23页
东秦 组成原理课设.docx_第11页
第11页 / 共23页
东秦 组成原理课设.docx_第12页
第12页 / 共23页
东秦 组成原理课设.docx_第13页
第13页 / 共23页
东秦 组成原理课设.docx_第14页
第14页 / 共23页
东秦 组成原理课设.docx_第15页
第15页 / 共23页
东秦 组成原理课设.docx_第16页
第16页 / 共23页
东秦 组成原理课设.docx_第17页
第17页 / 共23页
东秦 组成原理课设.docx_第18页
第18页 / 共23页
东秦 组成原理课设.docx_第19页
第19页 / 共23页
东秦 组成原理课设.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

东秦 组成原理课设.docx

《东秦 组成原理课设.docx》由会员分享,可在线阅读,更多相关《东秦 组成原理课设.docx(23页珍藏版)》请在冰点文库上搜索。

东秦 组成原理课设.docx

东秦组成原理课设

 

东北大学秦皇岛分校

计算机与通信工程学院

计算机组成原理课程设计

 

专业名称

计算机科学与技术

班级学号

学生姓名

指导教师

袁静波

设计时间

2013.12.23~2014.1.3

 

课程设计任务书

专业:

计算机科学与技术学号:

学生姓名(签名):

设计题目:

指令系统及机器周期电路设计

一、设计实验条件

综合实验室

二、设计任务及要求

1.7号指令;

2.14号指令;

3.28号指令;

4.33号指令;

5.机器周期产生电路;

6.74LS139译码器。

三、设计报告的内容

1.设计题目与设计任务(设计任务书)

题目:

指令系统及ALU设计

1.7号,14号,28号,33号指令设计;

2.机器周期产生电路;

3.74LS139译码器。

2.前言(绪论)

融会贯通计算机组成原理课程的内容,通过知识的综合运用,加深对计算机系统各个模块的工作原理及相互联系的认识;

学习运用VHDL进行FPGA/CPLD设计的基本步骤和方法,熟悉EDA的设计、模拟调试工具的使用,体会FPGA/CPLD技术相对于传统开发技术的优点;

培养科学研究的独立工作能力,取得工程设计与组装调试的实践经验。

 

3.设计主体

1.指令系统设计:

第7号指令:

助记符:

ADDA,EM

格式:

操作码和地址码

操作码:

ADD

地址码:

A,EM

功能:

将存储器EM地址的值加入累加器A中

寻址方式:

直接寻址

第14号指令:

助记符:

SUBA,@R?

格式:

操作码和地址码

操作码:

SUB

地址码:

A,@R?

功能:

从累加器A中减去间址存储器的值

寻址方式:

寄存器间接寻址

第28号指令:

助记符:

ORA,#II

格式:

操作码和地址码

操作码:

OR

地址码:

A,#II

功能:

累加器A“或”立即数II

寻址方式:

立即数寻址

第33号指令:

助记符:

MOVR?

A

格式:

操作码和地址码

操作码:

MOV

地址码:

R?

A

功能:

将A中的值送入R?

寻址方式:

寄存器间接寻址

2.模型机硬件设计:

题目:

机器周期产生电路

功能:

设计电路,实现A、B类指令分别有2和4个机器周期。

3.逻辑电路设计:

题目:

74LS139译码器。

功能:

实现双二—四译码器

表274LS139功能表

【系统设计】

1.模型机逻辑框图

图1整机逻辑框图

 

图2芯片引脚逻辑框图

图3CPU逻辑框图

 

2.指令系统设计

第7号指令:

ADDA,EM

指令类型:

算术运算指令

指令格式:

XX

操作码及寻址类型

第14号指令:

SUBA,@R?

指令类型:

算术运算指令

指令格式:

001101

XX

操作码及R?

的选择00,01,10,11

第28号指令:

ORA,#II

指令类型:

逻辑运算指令

指令格式:

010111XX

←操作码

如:

00011000

←8位立即数

第33号指令:

MOVR?

A

指令类型:

数据传送指令

指令格式:

001001

XX

操作码及R?

的选择00,01,10,11

3.微操作控制信号

1、XRD:

外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。

2、EMWR:

程序存储器EM写信号。

3、EMRD:

程序存储器EM读信号。

4、PCOE:

将程序计数器PC的值送到地址总线ABUS上(MAR)。

5、EMEN:

将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD决

是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。

6、IREN:

将程序存储器EM读出的数据打入指令寄存器IR。

7、EINT:

中断返回时清除中断响应和中断请求标志,便于下次中断。

8、ELP:

PC打入允许,与指令寄存器IR3、IR2位结合,控制程序跳转。

9、FSTC:

进位置1,CY=1

10、FCLC:

进位置0,CY=0

11、MAREN:

将地址总线ABUS上的地址打入地址寄存器MAR。

12、MAROE:

将地址寄存器MAR的值送到地址总线ABUS上。

13、OUTEN:

将数据总线DBUS上数据送到输出端口寄存器OUT里。

14、STEN:

将数据总线DBUS上数据存入堆栈寄存器ST中。

15、RRD:

读寄存器组R0-R3,寄存器R?

的选择由指令的最低两位决定。

16、RWR:

写寄存器组R0-R3,寄存器R?

的选择由指令的最低两位决定。

17、CN:

决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。

18、FEN:

将标志位存入ALU内部的标志寄存器。

19、WEN:

将数据总线DBUS的值打入工作寄存器W中。

20、AEN:

将数据总线DBUS的值打入累加器A中。

21-23:

X2~X0:

X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。

24-26:

S2~S0:

S2、S1、S0三位组合决定ALU做何种运算。

 

4.指令执行流程

表2指令简介

编号

助记符

功能

机器码

周期总数CT

节拍数

微操作

控制信号

涉及的硬件

1

_FATCH_

取指令

000000XX

10

T2

PC→MAR

PCOE,MAREN

PC,MAR,EM,W,IR

T1

EM→W

EMEN,EMRD,WEN

T0

W→IR

IREN

PC+1

7

ADDA,

EM

将存储器EM地址的值加入累加器A中

001110XX

111

T7

PC→MAR

POCE,MAREN

PC,MAR,EM,W,A,ALU,F

T6

EM→W

PC→PC+1

EMEN,EMRD,WEN

T5

W→MAR

WEN,WAREN

T4

EM→W

EMEN,WEN

T3

A+W→DBUS→A

S2~S0,AEN,FEN

14

SUBA,

@R

从累加器A中减去间址存储器的值

001101XX

101

T5

R?

→DBUS→MAR

RRD,MAREN,

X2~X0

R,DBUS,MAR,EM,A,W,ALU,F

T4

EM→W

EMEN,EMRD,WEN

T3

ALU(A-W)→DBUS

→A

S2~S0,AEN,FEN

28

ORA,#II

累加器A“或”立即数II

011011XX

101

T5

PC→MAR

PCOEMAREN

PC,MAR,EM,W,A,

ALU,F

T4

EM→W,

PC→PC+1

EMEN,EMRDWEN

T3

WORA→DBUS

→A

S2~S0,AEN

33

MOVR?

A

将A中的值送入R?

100000XX

011

T3

A→DBUS→R?

AEN

A,DBUS,A

以流程图表示如下:

 

图4第7号指令流程图

 

 

 

图5第14条指令流程图

 

图6第28号指令流程图

图7第33号指令流程图

【系统实现】

1、模型机实现

(1)逻辑电路的图形符号表示、功能

图8机器周期产生电路

功能描述:

(2)系统实现

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

entityhlis

PORT(A:

INSTD_LOGIC;

B:

INSTD_LOGIC;

CYA:

INSTD_LOGIC;

CYB:

INSTD_LOGIC;

CLK:

INSTD_LOGIC;

CYAO:

OUTSTD_LOGIC;

CYBO:

OUTSTD_LOGIC);

endhl;

architectureBehavioralofhlis

begin

PROCESS(CLK)IS

BEGIN

IF(CLK'EVENTANDCLK='1')THEN

IF(A='1')THEN

IF(CYA='0'ANDCYB='0')THENCYAO<='1';CYBO<='1';

ENDIF;

IF(CYA='1'ANDCYB='1')THENCYAO<='0';CYBO<='0';

ENDIF;

ENDIF;

IF(B='1')THEN

IF(CYA='0'ANDCYB='0')THENCYAO<='0';CYBO<='1';

ENDIF;

IF(CYA='0'ANDCYB='1')THENCYAO<='1';CYBO<='0';

ENDIF;

IF(CYA='1'ANDCYB='0')THENCYAO<='1';CYBO<='1';

ENDIF;

IF(CYA='1'ANDCYB='1')THENCYAO<='0';CYBO<='0';

ENDIF;

ENDIF;

ENDIF;

ENDPROCESS;

ENDbehavior;

2、逻辑电路设计

(1)逻辑电路的图形符号表示、功能

图1074LS139

(2)系统实现

libraryIEEE;

useIEEE.STD_LOGIC_1164.ALL;

useIEEE.STD_LOGIC_ARITH.ALL;

useIEEE.STD_LOGIC_UNSIGNED.ALL;

entitylsis

port(

G1,A1,B1,G2,A2,B2:

STD_LOGIC;

Y1:

OUTSTD_LOGIC_VECTOR(0TO3);

Y2:

OUTSTD_LOGIC_VECTOR(0TO3)

);

endls;

architectureBehavioraloflsis

SIGNALIN1:

STD_LOGIC_VECTOR(1DOWNTO0);

SIGNALIN2:

STD_LOGIC_VECTOR(1DOWNTO0);

begin

IN1<=B1&A1;

IN2<=B2&A2;

P1:

PROCESS(G1,IN1)

BEGIN

IF(G1='0')THEN

CASEIN1IS

WHEN"00"=>Y1<="0111";

WHEN"01"=>Y1<="1011";

WHEN"10"=>Y1<="1101";

WHEN"11"=>Y1<="1110";

WHENOTHERS=>Y1<="XXXX";

ENDCASE;

ELSE

Y1<="XXXX";

ENDIF;

ENDPROCESS;

P2:

PROCESS(G2,IN2)

BEGIN

IF(G2='0')THEN

CASEIN2IS

WHEN"00"=>Y2<="0111";

WHEN"01"=>Y2<="1011";

WHEN"10"=>Y2<="1101";

WHEN"11"=>Y2<="1110";

WHENOTHERS=>Y2<="XXXX";

ENDCASE;

ELSE

Y2<="XXXX";

ENDIF;

ENDPROCESS;

endBehavioral;

【系统测试】

(一)、模型机测试(机器周期产生电路)

1、功能仿真

仿真过程如下:

●在sources窗口处右击,加入新的源文件

●创建波形仿真激励文件.tbw:

选TestBenchWaveform,并输入文件名test_alu

●初始化时钟周期及相关参数→finash

●右侧会出现.tbw文件窗口,设置输入引脚的值,存盘

●左侧sources窗口选择“behavioralsimulation”,下面processes窗口会自动出现"ModelsimSimulator"

●双击其中的“Simulatebehavioralmodel”会自动调用“Modelsim”进行仿真,观察波形窗口,观察是否正确

当A=1,B=0,CYACYB=11时,输出CYAOCYBO=00时:

图11

当A=0,B=1,CYACYB=11时,CYAOCYBO=00时:

图12

 

2、RTL级逻辑电路

图13

 

(二)硬件测试(74LS139译码器)

1、功能仿真

仿真过程如下:

●在sources窗口处右击,加入新的源文件

●创建波形仿真激励文件.tbw:

选TestBenchWaveform,并输入文件名test_74ls

●初始化时钟周期及相关参数→finash

●右侧会出现.tbw文件窗口,设置输入引脚的值,存盘

●左侧sources窗口选择“behavioralsimulation”,下面processes窗口会自动出现"ModelsimSimulator"

●双击其中的“Simulatebehavioralmodel”会自动调用“Modelsim”进行仿真,观察波形窗口,观察是否正确

图14

仿真证实:

当B1A1=10,B2A2=01时,对应Y1=1101,Y2=1011,与74LS139功能表一致。

2、RTL级逻辑电路

图15

2.结束语

通过此次课程设计我学习到了运用VHDL进行FPGA/CPLD设计的基本步骤和方法,熟悉EDA的设计、模拟调试工具的使用,体会FPGA/CPLD技术相对于传统开发技术的优点,同时培养科学研究的独立工作能力,取得工程设计与组装调试的实践经验。

但是在此过程中也遇到了很多困难,比如在设计开始的阶段对于XILINXISE和ModelsimSE这两个软件就不会用,通过和同学交流我大概了解了软件的用法,在进行ALU仿真时,总是运行不了,经过仔细分析,才发现可能是我的ModelsimSE版本的问题。

通过这次课程设计,使我对一门新的语言有了一些了解,VHDL是一门不同于我们以前学习的软件编程语言的硬件编程语言。

在短短一周的时间内,了解一门编程语言和与其相关的软件是一件不容易的事。

对于我们来说是个挑战,但通过一周的辛苦努力终于完成了既定的实习内容。

但程序中不乏一些有待继续研究的问题。

 

3.参考资料

[1]程晓荣,翟学明,王晓霞.计算机组成与结构[M].北京:

中国电力出版社,2007.

[2]袁静波,丁顺利,王和兴,宋欣.计算机组成与结构[M].北京:

机械工业出版社,2011.

[3]陈耀和.VHDL语言设计技术[M].北京:

电子工业出版社,2004.

[4]汉泽西.EDA技术及其应用[M].北京:

北京航空航天出版社,2004

四、设计时间与安排

1、设计时间:

2周

2、设计时间安排:

熟悉实验设备、收集资料:

2天

设计图纸、实验、计算、程序编写调试:

7天

编写课程设计报告:

2天

答辩:

1天

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

当前位置:首页 > 小学教育 > 语文

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

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