VHDLCPU实验报告Word文件下载.docx
- 文档编号:16200524
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:19
- 大小:745.51KB
VHDLCPU实验报告Word文件下载.docx
《VHDLCPU实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《VHDLCPU实验报告Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
5.2本设计的体系结构…………………………………………………………5
5.测试结果与性能分析………………………………………………………20
6.课程设计总结………………………………………………………………….22
1.实验名称
微程序控制的模型计算机的设计与调试
2.实验目的
1.综合运用“计算机组成原理”和“数字电路”等课程的知识,通过对模型机的设计和调试,加深对计算机各部件工作原理的认识。
2.进一步掌握运用EDA技术进行设计和调试的工作方法。
3.掌握计算机硬件设计的思想,方法及工作过程,进一步培养工程设计的能力。
3.实验任务
1.自行规定数据格式和指令格式,在所提供的条件范围内设计一台由微程序控制(也可以用其他方式如组合逻辑等)的模型计算机。
2.根据设计方案,将模型机调试成功。
3.整理出相关文件。
(1)数据格式和指令系统。
(2)总框图。
(3)详细电路图或有关电路的VHDL语言源程序。
(4)微指令格式和微程序。
(5)调试过程和测试结果(包括测试程序)。
4.主要特色
1.增加了ROM的宽度,改为24位,使得可以在一个时钟内读出24位的微指令。
2.对电路进行了合理的修改,具体增加了SRC.DEST结合IR0,IR2,IR1,IR3到RA,RB的译码电路。
3.SRC.DEST结合IR0,IR2,IR1,IR3到WA,WB的译码电路,实现了对于源操作数的写入。
4.由微指令到8CPU中对应的端口译码。
5.重新构造了ROM,RAM,修改了时序电路,调整了M1,M2,M3,M4的时序。
6.除了书上要求的指令微程序以外,还对微程序进行了扩充,加了逻辑左移指令:
SAL(每次执行左移一位),以及乘法指令:
MUL(8位与8位数据相乘,得到16位数据高8位写回源操作数,低8位写回目的操作数)
7.修改了M1,M2,M3,M4的连接电路。
8.通过用软件模拟的方法,成功的构造了一个简单的CPU,更加熟练的学会使用EDA技术。
试验中结合了数字实验和组成原理部分内容。
9.用简单易读的方式排列24位控制信号,使得操作更加简便,如图所示
5.设计方案
5.1数据格式和指令系统(参考教材)
采用8位数据通路,数据采用8位二进制定点表示。
76543210
.
设置7条机器指令和两条面板操作指令
(1)面板操作指令(因为没有一BIOS及操作系统,所以用面板指令进行初始化,启动机器)
a.输入地址
为PC置初始值,即输入程序的起始地址,当K1开关置“1”,K2开关置“0”时执行此操作。
b.输入程序
将程序输入到内存的指定区域,当K1,K2开关均置“1”时,由面板输入开关输入程序
c.本模型机设置K3开关,K3置1表示执行单步操作。
d.START表示启动开关。
(2)指令系统
a.指令格式
操作码
寻址方式
有二种寻址方式
寄存器寻址
操作码
R目
R源
76543210
直接地址寻址
由于地址要占用一个字节,所以此类指令为双字节指令。
操作码
R源
内存地址
b.9条机器指令
INR;
从开关输入数据送入到指定的寄存器R。
格式:
0001
00
OUTR;
从指定的寄存器R中取出数据送入到输出缓冲器,显示灯亮。
0010
LDR,address;
从内存指定单元取出数据,送入指定的寄存器R。
格式:
0011
STaddress,R;
从指定的寄存器R中取出数据,存入内存指定单元。
0100
ADDR1,R2;
将两个寄存器中的数据相加,结果送到R1。
0101
JMPaddress;
无条件转移,即address→PC。
0110
HALT;
停机指令。
MULR1,R2;
将两个寄存器中的数据相乘,结果高8位送到R1,低8位送到R2。
1010
SALR;
将R中的数据左移一位,结果送到R1。
1001
5.2本设计的体系结构
为了简单方便起见,我们采用单总线结构,总体机构和CPU内部结构设计如图所示
总体结构图
CPU内部结构
1.数据通路设计
(1)采用Quartus—II软件工具,先设计出运算器部分,如图所示.ALU.bdf,经时序仿真正确后,进行符号封装。
(2)采用Quartus—II软件工具,先设计出运算器部分,如图所示MUL.bdf,经时序仿真正确后,进行符号封装。
介绍数据通路时打开8CPU.bdf
(2)根据指令系统,数据通路中应包括寄存器组,存储器等,采用单总线结构,
截图一分为二
(1)
(2)
其中为了做乘法,我们对8cpu加了6个控制信号,如图所示
2.控制器设计
(1)控制器总框图
控制信号
(2)微指令格式和微命令
首先对数据通路进行分析,需要22个控制信号。
此外还要2个信号:
UPC(表示一段微程序结束),HALT(停机),共需要24个控制信号。
采用水平型格式表示。
控制数据通路的16个信号说明如下:
G1,G2,G3,G4
ramormul,cmul分别控制6个多路开关
A,B,C,D,E
O,P,Q分别控制对应的寄存器输入
F控制计数器PC的输入和计数
I控制指令寄存器的输入
DEST目的寄存器的读出控制信号
SRC源寄存器的读出控制信号
WE对RAM的写入信号
GWN通用寄存器组的写入信号
LDNPC置初值的控制信号
SRCWE源或目的寄存器的写入信号
(3)控存的安排和时序信号
本方案采用的时序控制信号是由74393b产生的。
对于时序,本来是有六个时钟周期的,我们将其缩短在了四个,有效的提高了运行效率。
修改后的时序电路图
时序脉冲
(4)微地址入口电路的设计
为简单起见,微地址采用8位,其高4位由指令操作码控制,低4位由一个4位的计数器控制。
将ROM的高段地址区用于存放面板指令的微程序,低段地址存储区存放一般指令的微程序,控制电路可参考图6。
图3-6微地址入口电路
(5)微命令译码电路
a.本方案中寄存器组采用的是74670芯片,每次写入可以为源寄存器,也可以为目的寄存器,所以Wa,Wb要经过译码与IR2,IR3连接,读出时目的和源寄存器均可读出,所以依然要用译码电路。
电路设计如下:
写寄存器译码电路
读寄存器译码电路
b.停机电路
以下几种情况需停机:
(a)总清.(b)执行单指令操作,且一条指令执行完。
(c)执行停机指令。
根据这三种情况可以设计出停机电路。
c.UPC微命令表示一段微程序结束,因此该命令要做的工作是:
(a)置“0”微程序计数器(74161)。
(b)置“0”指令寄存器。
3.微程序和总电路图
微程序定义如下:
8cpu中的端口译码电路如下:
Rom修改为24位,修改电路如下:
24位重新排列微指令顺序
8CPU重新封装效果图
CPU总的电路图:
(截成四部分)
时序及upc产生部分
8cpu及寄存器读写译码部分
控制信号译码部分
Rom及取微指令部分
、
6.测试结果与性能分析(测试程序、时序图、编译报告中资源使用情况)
仿真:
微程序和电路设计完成后,进行编译,并通过仿真来检验cup的各项功能。
仿真时,先用面板指令输入程序的起始地址和一段小程序。
我们输入的程序为:
初始地址为00H,即
Ram中程序如下:
进行仿真,首先开关K1置1,K2置0,kdata为00H,为PC置初始值00即程序口地址,接着将K1置0,执行程序。
此时,我们置kdata始终为02H,通过IN指令输入到R0和R1中,然后继续执行程序!
建立vwf文件如下:
仿真结果如下:
7.课程设计总结
本实验是设计一个小型CPU,主要工作是在给定的CUP主体结构上完善电路,修正已有电路错误以及设计微程序。
本实验有相当的综合性:
在实践过程中,我们充分使用了组成原理、微机接口、数字电路等相关知识。
通过本次实验,我们对CPU的结构和工作原理有了切实的认识。
尤其在总线,时序,微指令等方面,投入的时间不少,体会很深。
我们深刻理解了总线作为指令和数据传输的道路和桥梁,在CUP的工作过程中扮演的重要角色;
弄懂了通过时序的调节解决总线的冲突的方法;
在全面细致地分析了CUP结构和工作原理的基础上,我们掌握了编写微指令的方法与技巧。
通过组内讨论和求教于老师、同学,我们顺利的完成了基本的实验目标,并做了进一步研究。
利用加法指令,我们增加了SAL(左移一位)指令。
采用控制RA、RB读信号的控制思路,我们使得源、目的寄存器均可写入。
在此基础上,我们引入了8位乘法器,将结果——16位二进制数,成功写入源、目的寄存器。
对现有的24位控制信号,我们充分利用了每一位。
同时,我们注意到实验中还有很多可以改进的地方。
由于时间和给定CPU规格的限定,很多想法未能实施。
比如,编写微指令时,我们注意到:
一条指令中的某条指令在M3时已经完成,空等一个M4,才取下一条。
这样的情况并不少见。
如果将执行微指令、取微指令等改为下降沿也能触发,就可以把下一条提到M4做,这就省了一个整个指令周期。
宏观的时间节省量自然也十分可观。
再如,实验提供的ROM为24位,这使得控制信号剩余不多,一旦想多加其它组件,就会为之苦恼。
我们想到自取名为“多面手控制信号”的解决方案:
对于互斥的两条指令A和B(如ADD和MUL(肯定不会同时做)),可以根据需要,让A的控制型号同时控制B,所需做的额外工作是修改ROM中的微指令即可。
比起想法设法地扩展ROM,这种方法既快速,又充分利用资源。
实验提供的CPU中有不少这样的控制信号,值得好好利用。
当然,缺点也显而易见,由于控制信号一对多,修改、删除时得慎之再慎,增加了CUP维护的难度。
总之,通过本次实验,我们体会了学以致用的快乐,为进一步的深入的学习增添了几分信心。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDLCPU 实验 报告