计组课设alu设计和4位锁存器设计资料.docx

上传人:b****4 文档编号:27306050 上传时间:2023-06-29 格式:DOCX 页数:20 大小:593.14KB
下载 相关 举报
计组课设alu设计和4位锁存器设计资料.docx_第1页
第1页 / 共20页
计组课设alu设计和4位锁存器设计资料.docx_第2页
第2页 / 共20页
计组课设alu设计和4位锁存器设计资料.docx_第3页
第3页 / 共20页
计组课设alu设计和4位锁存器设计资料.docx_第4页
第4页 / 共20页
计组课设alu设计和4位锁存器设计资料.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

计组课设alu设计和4位锁存器设计资料.docx

《计组课设alu设计和4位锁存器设计资料.docx》由会员分享,可在线阅读,更多相关《计组课设alu设计和4位锁存器设计资料.docx(20页珍藏版)》请在冰豆网上搜索。

计组课设alu设计和4位锁存器设计资料.docx

计组课设alu设计和4位锁存器设计资料

 

计算机与通信工程学院

计算机组成原理课程设计

 

专业名称

计算机科学与技术

班级学号

学生姓名

指导教师

设计时间

2017.12.23~2018.1.3

课程设计任务书

专业:

计算机科学与技术学号:

学生姓名(签名):

设计题目:

一、设计实验条件

综合楼1207实验室

硬件:

PC机

软件:

XilinxISEModelSim

编程语言:

VHDL

二、设计任务及要求

设计任务:

1.7、16、29、42号指令的设计;

2.模型机的ALU;

3.4位锁存器;

要求:

●总线结构:

单总线,数据总线位数8位、地址总线8位;

●存储器:

内存容量64K*8bit

●控制器:

用硬联线控制器实现26位微操作控制信号

●运算器:

单累加器,实现加、减等8种操作

●外设:

⏹输入:

用开关输入二进制量

⏹输出:

7段数码管和LED显示

●指令系统规模:

64条指令,7种类型,5种寻址方式

三、设计报告的内容

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

题目:

8位模型机设计-指令系统及ALU设计

设计内容如下:

1、指令系统设计:

编号

指令

机器码1

机器码2

注释

7

ADDA,EM

000110

EM

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

16

SUBA,#II

001111

II

从累加器A中减去立即数II加入累加器A中

29

MOVA,R?

011100

将寄存器R?

的值送到累加器A中

42

JZEM

101001

EM

当零标志R_Z=1时,跳转到EM地址

2、模型机硬件设计

题目:

模型机ALU设计(8功能ALU设计)。

功能:

实现减法、减法、与、或、进位加法、进位减法、取反、输出。

3、逻辑电路设计

题目:

4位锁存器设计

功能:

只要时钟信号为逻辑“1”,锁存器就让输入数据传送至器输出端。

但是,在时钟信号为低电平的整个期间,其输出时钟保持不变。

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

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

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

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

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

【系统设计】

1.模型机逻辑框图

图1整机逻辑结构框图

图2芯片引脚

图3CPU逻辑结构框图

2.指令系统设计

表2指令类型、寻址方式

第7条指令:

ADDA,EM

指令类型:

算术运算指令

寻址方式:

寄存器寻址和直接寻址

第16条指令:

SUBA#II

指令类型:

算术运算指令

寻址方式:

存储器直接寻址

第29条指令:

MOVAR?

指令类型:

数据传送指令

寻址方式:

寄存器直接寻址

第42条指令:

JZEM

指令类型:

程序跳转控制类指令

寻址方式:

存储器直接寻址

3.微操作控制信号

表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:

将数据总线DBUS上的地址打入地址寄存器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、指令执行流程

表4指令执行流程

编号

助记符

功能

机器码

周期总数CT

节拍数

微操作

控制信号

涉及的硬件

1

_FATCH_

取指令

000000XX

010

T2

PC→MAR

PCOEMAREN

PC,MAREM,W,IR

T1

EM→W

EMENEMRDWEN

T0

W→IR

PC+1PC

IREN

7

ADDA,EM

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

000110XX

111

T7

PC→MAR

PCOEMAREN

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

T6

EM→W

PC+1PC

EMENEMRDWEN

T5

T4

T3

A+WA

S=001X=100AEN

16

SUBA,II

从累加器A中减去立即数II加入累加器A中

001111XX

101

T5

PCMAR

PCOEMAREN

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

T4

EMW

PCPC+1

EMENEMRDWEN

T3

W+ADBUS

DBUSA

S2~S0AEN

29

MOVA,R?

将R?

中的值送入A中

011100XX

100

T4

RDBUS

DBUSW

RRDWEN

R,DBUS,W,A

T3

WA

AEN

42

JZEM

当零标志R_Z=1时,跳转到EM地址

101001XX

100

T4

PCMAR

EMW,

PC+1PC

PCOEMAREN

EMRD

EMENWEN

PC

PC,MAR,EM,ABUS,

T3

若Z=1则

WPC

否则无操作

ELP

5.指令流程图

图4指令执行流程图

6、组合逻辑控制器设计:

假设该模型机采用组合逻辑控制器,根据指令执行流程,划分机器周期及节拍,安排操作时序表,写出每个控制信号的逻辑表达式

表5指令操作时序表

控制信号

M0

M1

M2

T0

T1

T2

T3

T4

T5

T6

T7

EMRD

ALL

J

A,S

A

PCOE

ALL

A,S,J

EMEN

ALL

J

A,S

A

IREN

ALL

ELP

J/z=1

MAREN

ALL

A,S,J

A

RRD

M

WEN

ALL

M,J

A,S

A

AEN

M

S

A

S(+)

S

A

X(+)

A

ALL代表所有指令,A代表ADD指令,S代表SUB指令,M代表MOVI指令,J代表JZ指令。

控制信号的逻辑表达式:

EMRD=M0·T1+J·M1·T3+(S+A)·M1·T4+A·M2·T6

PCOE=M0·T0+(A+S+J)·M1·T3

EMEN=M0·T2+J·M1·T3+(A+S)·M1·T4+A·M2·T6

IREN=M0·T2

ELP=J·(Z=1)·M1·T4

MAREN=M0·T0+(A+S+J)·M1·T3+A·M1·T5

RRD=M·M1·T3

WEN=M0·T1+(M+J)·M1·T3+(A+S)·M2·T4+A·M2·T6

AEN=M·M1·T4+S·M1·T5+A·M2·T7

S(+)=S·M1·T5+A·M2·T7

X(+)=A·M2·T7

7、微程序控制器设计:

假设该模型机采用微程序控制器,根据指令执行流程,安排微指令格式,为每条微指令安排微地址及下址,设计微地址修改逻辑。

假设微指令采用水平格式,操作控制字段采用直接表示法,后继微地址采用断点方式获得,采用T1、T2两级时序系统,T1取微指令,T2执行微指令并在此周期修改微地址形成后继微地址。

123……2223252632

操作控制字段

判断字段

下址字段

转移控制字段用两位表示:

P1P0=000(P=0):

顺序执行,下址字段送UAR

P1P0=001(P=1):

由IR11IR10修改UAR4UAR3

因此地址转移逻辑表达式为

UAR4=R11·(P=1)·T2

UAR3=R10·(P=1)·T2

断定方式下的微程序与微地址安排如图:

模型机的伪指令及其编号:

1.XRD:

6.IREN:

11.MAREN:

16.RWR:

21.S(+).

2.EMWR:

7.EINT:

12.MAROE:

17.CN:

22.X(+)

3.EMRD:

8.ELP:

13.OUTEN:

18.FEN:

4.PCOE:

9.FSTC:

14.STEN:

19.WEN:

5.EMEN:

10.FCLC:

15.RRD:

20.AEN:

操作控制字段直接表示法的微程序:

【系统实现】

1、模型机实现

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

图5ALU图形符号表示、功能

功能描述:

通过三位二进制控制量S2~S0数值的变化来实现八种功能操作:

加、减、带进位的加、带进位的减、与、或、取反、输出。

表6ALU输入端代表的功能

S2

S1

S0

助记符

功能描述

0

0

0

A+w

0

0

1

A-W

0

1

0

A|W

0

1

1

A&W

1

0

0

A+W+Cin

带进位加

1

0

1

A-W-Cin

带进位减

1

1

0

~A

A取反

1

1

1

A

输出A

(2)系统实现

libraryIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

entityaluis

PORT(

A:

inSTD_LOGIC_VECTOR(15DOWNTO0);

W:

inSTD_LOGIC_VECTOR(15DOWNTO0);

S0:

inSTD_LOGIC;

S1:

inSTD_LOGIC;

S2:

inSTD_LOGIC;

D:

outSTD_LOGIC_VECTOR(15DOWNTO0);

CIN:

inSTD_LOGIC;

COUT:

outSTD_LOGIC

);

endalu;

architectureBehavioralofaluis

SIGNALT:

STD_LOGIC_VECTOR(16DOWNTO0);

BEGIN

T<=('0'&A)+('0'&W)WHENS2='0'ANDS1='0'ANDS0='0'ELSE

('0'&A)-('0'&W)WHENS2='0'ANDS1='0'ANDS0='1'ELSE

('0'&A)OR('0'&W)WHENS2='0'ANDS1='1'ANDS0='0'ELSE

('0'&A)AND('0'&W)WHENS2='0'ANDS1='1'ANDS0='1'ELSE

('0'&A)+('0'&W)+CINWHENS2='1'ANDS1='0'ANDS0='0'ELSE

('0'&A)-('0'&W)-CINWHENS2='1'ANDS1='0'ANDS0='1'ELSE

–SUBCA,EM

NOT('0'&A)WHENS2='1'ANDS1='1'ANDS0='0'ELSE('0'&A);

D<=T(15DOWNTO0);

COUT<=T(16);

endBehavioral;

2.图6RTL级电路

(3)功能仿真

图7ALU功能仿真

通过仿真证实:

上述程序能够实现八种功能的ALU的设计。

通过对输入量S0~S2变化来实现八种功能并通过cin来控制加减进位的问题。

并比较随机抽选的数据和根据电平推测出的结果相同,证明时序图能反映出各种功能之间通过S0~S1完成转换。

上图S0、S1、S2分别为000,查表可知为ALU的加法功能,所以TA+W。

由上图可知运算结果是正确的。

2、逻辑电路设计

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

图84位锁存器的图形符号表示、功能

功能描述:

只要时钟信号为逻辑“1”,锁存器就让输入数据传送至器输出端。

但是,在时钟信号为低电平的整个期间,其输出时钟保持不变。

(2)系统实现

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

entityfoursuocun1is

PORT(

LK:

INSTD_LOGIC;

DIN:

INSTD_LOGIC_VECTOR(3DOWNTO0);

DOUT:

OUTSTD_LOGIC_VECTOR(3DOWNTO0)

);

endfoursuocun1;

architectureBehavioroffoursuocun1is

BEGIN

PROCESS(LK,DIN)

BEGIN

IFLK'EVENTANDLK='1'THEN

DOUT<=DIN;

ENDIF;

ENDPROCESS;

ENDbehavior;

图8RTL级电路

图9Technology级电路

(3)功能仿真

仿真证实:

上述程序实现了4位锁存器电路:

LK控制高阻态,DIN控制输入,DOUT控制输出。

查看图中电平的状态和输出的结果与根据电平状态推出的结果相同,可证明实现结果正确。

功能:

通过LK和DIN的输入在DOUT端口能够控制输出:

锁存状态和传送状态,主要通过LK的高低电平来实现,当LK为高电平时,可传送,当LK为低电平时,为锁存状态。

本电路成功实现了4位锁存器功能。

4.结束语(设计的收获、体会等)

为了写这次课程设计,我又去温习了一下计算机组成原理课程的组合逻控制器设计和微程序设计。

深刻理解了计算机发出控制信号的两种方式。

能够将课堂上的知识应用于实践,提高了自己综合的水平,收获颇多。

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

5.参考资料

[1] 袁静波等. 计算机组成与结构.北京:

机械工业出版社,2011.

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

电子工业出版社,2004. 

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

北京航空航天出版社,2004

[4]苗丽华等.VHDL数字电路设计教程北京:

电子工业出版社,2012

[5]李云松,宋锐 XilinxFPGA数据基础(VHDL)版[M] 西安电子科技大学出版社,2008. 

 

四、设计时间与安排

1、设计时间:

2周

2、设计时间安排:

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

2天

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

8天

编写课程设计报告:

2天

答辩:

1天

 

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

当前位置:首页 > PPT模板 > 中国风

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

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