计组课设alu设计和4位锁存器设计资料.docx
- 文档编号:14983243
- 上传时间:2023-06-29
- 格式:DOCX
- 页数:20
- 大小:593.14KB
计组课设alu设计和4位锁存器设计资料.docx
《计组课设alu设计和4位锁存器设计资料.docx》由会员分享,可在线阅读,更多相关《计组课设alu设计和4位锁存器设计资料.docx(20页珍藏版)》请在冰点文库上搜索。
计组课设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文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计组课设 alu 设计 位锁存器 资料