东北大学秦皇岛分校组成课设报告汇编.docx

上传人:b****3 文档编号:1145433 上传时间:2022-10-17 格式:DOCX 页数:19 大小:554.78KB
下载 相关 举报
东北大学秦皇岛分校组成课设报告汇编.docx_第1页
第1页 / 共19页
东北大学秦皇岛分校组成课设报告汇编.docx_第2页
第2页 / 共19页
东北大学秦皇岛分校组成课设报告汇编.docx_第3页
第3页 / 共19页
东北大学秦皇岛分校组成课设报告汇编.docx_第4页
第4页 / 共19页
东北大学秦皇岛分校组成课设报告汇编.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

东北大学秦皇岛分校组成课设报告汇编.docx

《东北大学秦皇岛分校组成课设报告汇编.docx》由会员分享,可在线阅读,更多相关《东北大学秦皇岛分校组成课设报告汇编.docx(19页珍藏版)》请在冰豆网上搜索。

东北大学秦皇岛分校组成课设报告汇编.docx

东北大学秦皇岛分校组成课设报告汇编

 

东北大学秦皇岛分校

计算机与通信工程学院

计算机组成原理课程设计

 

专业名称

计算机科学与技术

班级学号

2153127

学生姓名

黎楠

指导教师

张冬丽

设计时间

2017.12.18~2017.12.29

课程设计任务书

专业:

计算机与通信工程学院学号:

2153127学生姓名(签名):

设计题目:

指令系统及微地址修改电路设计

一、设计实验条件

1207实验室

硬件:

PC机

软件:

XilinxISEModelSim

编程语言:

VHDL

二、设计任务及要求

1.设计5号指令、21号指令、32号指令、56号指令;

2.断点方式下的微地址修改逻辑电路,实现“取指后,获取6、21、32、56号指令的微程序入口地址”;

3.8位求补器。

三、设计报告的内容

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

【题目:

指令系统及微地址修改电路设计】

1.5号,21号,32号,56号指令设计;

2.断点方式下的微地址修改逻辑电路,实现“取指后,获取6、21、32、56号指令的微程序入口地址”;

3.8位求补器。

2.前言(绪论)(设计的目的、意义等)

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

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

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

3.设计主体(各部分设计内容、分析、结论等)

【模型机逻辑框图】

图1整机逻辑框图

图2芯片引脚逻辑框图

图3CPU逻辑框图

【微操作控制信号】

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做何种运算。

3.1.指令系统设计:

第5号指令:

助记符:

ADDA,R?

格式:

操作码和地址码

操作码:

ADD

地址码:

A,R

功能:

累加器A“与”寄存器R?

的值

寻址方式:

寄存器直接寻址

第21号指令:

助记符:

ANDA,R?

格式:

操作码和地址码

操作码:

AND

地址码:

A,R

功能:

累加器A“与”寄存器R?

的值

寻址方式:

寄存器直接寻址

第32号指令:

助记符:

MOVA,#II

格式:

操作码和地址码

操作码:

MOV

地址码:

A,#II

功能:

将立即数II送到累加器A中

寻址方式:

立即数寻址

第56号指令:

助记符:

RLCA

格式:

操作码和地址码

操作码:

RLC

地址码:

A

功能:

累加器A带进位左移

寻址方式:

累加器寻址

【指令格式】

第5号指令:

ADDA,R?

指令类型:

算术运算指令

指令格式:

000100

XX

操作码寻址类型

第21号指令:

ANDA,R?

指令类型:

逻辑运算指令

指令格式:

010100

XX

操作码寻址类型

第32号指令:

MOVA,#II

指令类型:

数据传送指令

指令格式:

011111XX

←操作码

如:

00011000

←8位立即数

第56号指令:

RLCA

指令类型:

移位指令

指令格式:

110111

XX

【指令执行流程】

表1各指令执行流程图

编号

助记符

功能

机器码

周期总数

节拍数

微操作

控制信号

涉及硬件

1

FATCH

取指令

000000

010

T2

PC->MAR

PCOE,

MAREN

PC,MAR,EM,W,IR

T1

EM->W

EMEN,

EMRD,

WEN

T0

W->IR

PC+1->PC

IREN

5

ADDA,R?

将寄存器R?

的值加入累加器A中

000100

100

T4

R->W

RRD

X2~X0

WEN

R,DBUS,W,ALU,F

T3

ALU(A+W)->A

S2S1S0

=011

AENFEN

21

ANDA,R?

累加器A“与”寄存器R?

的值

010100

100

T4

R->W

RRD

X2~X0

WEN

R,DBUS,W,ALU

T3

ALU(A&W)->A

S2S1S0

=011

AENFEN

32

MOVA,#II

将立即数II送到累加器A中

011111

101

T5

PC->MAR

PCOE,

MAREN

PC,MAREM,W,A,

ALU

T4

EM->DBUS->W

EMEN

EMRD

WEN

T3

W->DBUS->A

AEN

56

RLCA

累加器A带进位左移

110111

100

T4

A->ALU->L

X=110

FEN

CN=1

R,DBUS,W,A,

FCN

T3

L->DBUS->A

AEN

【流程图】

图4第5号指令流程图

图5第21号指令流程图

图6第32号指令流程图

图7第56号指令流程图

3.2.模型机硬件设计:

题目:

断点方式下的微地址修改逻辑电路,实现“取指后,获取6、21、32、56号指令的微程序入口地址”

【逻辑电路的图形符号表示、功能】

表2各指令微程序入口地址

编号

指令助记符

标志位P1P0

微程序入口地址

1

FATCH

001

6

ADDA,@R?

00

101

21

ANDA,R?

01

010

32

MOVA,#II

10

011

56

RLCA

11

100

【微程序入口地址】

图8微程序入口地址

【源代码】

libraryIEEE;

useIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

entityln_zlxtis

Port(addr1:

inSTD_LOGIC_VECTOR(2DOWNTO0);

P1P0:

inSTD_LOGIC_VECTOR(1DOWNTO0);

addr2:

outSTD_LOGIC_VECTOR(2DOWNTO0));

endln_zlxt;

architectureBehavioralofln_zlxtis

begin

PROCESS(addr1,P1P0)

BEGIN

IFP1P0(1DOWNTO0)="00"THEN

addr2(2DOWNTO0)<=addr1(2DOWNTO0)+'1';

ELSE

addr2(2DOWNTO0)<=addr1(2DOWNTO0)+P1P0(1DOWNTO0);

ENDIF;

ENDPROCESS;

endBehavioral;

【结果】

图9微程序入口地址

【RTL级逻辑电路】

图10RTL级逻辑电路

【仿真】

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

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

选TestBenchWaveform,并输入文件名YUMIAO

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

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

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

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

第一组测试:

输入:

code_in=110,10

图11输入波形

输出:

code_out=000

图12输出波形

第二组测试:

输入:

code_in=101,10

图13输入波形

输出:

code_out=111

图14输出波形

3.3.数字电路:

题目:

8位求补器

功能:

对输入的8位二进制进行求补计算

【功能描述】输入code_in是8位二进制原码,输出code_out是8位二进制补码。

【源代码】

libraryIEEE;

useIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

entityln_szdlis

Port(code_in:

inSTD_LOGIC_VECTOR(7DOWNTO0);

code_out:

outSTD_LOGIC_VECTOR(7DOWNTO0));

endln_szdl;

architectureBehavioralofln_szdlis

begin

Process(code_in)

BEGIN

code_out(7)<=code_in(7);

ifcode_in(7)='0'THEN

code_out(6DOWNTO0)<=code_in(6DOWNTO0);

ELSE

code_out(6DOWNTO0)<=NOTcode_in(6DOWNTO0)+'1';

ENDIF;

ENDPROCESS;

endBehavioral;

【结果】

图15八位求补器

【RTL级逻辑电路】

图16RTL级逻辑电路

【仿真】

●在sources窗口处右击,

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

当前位置:首页 > 工程科技 > 能源化工

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

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