ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:745.45KB ,
资源ID:13371451      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13371451.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VHDLCPU实验报告Word下载.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VHDLCPU实验报告Word下载.docx

1、6.课程设计总结. 221 实验名称微程序控制的模型计算机的设计与调试2 实验目的 1综合运用“计算机组成原理”和“数字电路”等课程的知识,通过对模型机的设计和调试,加深对计算机各部件工作原理的认识。 2进一步掌握运用EDA技术进行设计和调试的工作方法。 3掌握计算机硬件设计的思想,方法及工作过程,进一步培养工程设计的能力。3 实验任务1 自行规定数据格式和指令格式,在所提供的条件范围内设计一台由微程序控制(也可以用其他方式如组合逻辑等)的模型计算机。2 根据设计方案,将模型机调试成功。3 整理出相关文件。(1) 数据格式和指令系统。(2) 总框图。(3) 详细电路图或有关电路的VHDL语言源

2、程序。(4) 微指令格式和微程序。(5) 调试过程和测试结果 (包括测试程序)。4 主要特色1增加了ROM的宽度,改为24位,使得可以在一个时钟内读出24位的微指令。2 对电路进行了合理的修改,具体增加了SRC. DEST结合IR0,IR2,IR1,IR3到RA,RB的译码电路。3SRC. DEST结合IR0,IR2,IR1,IR3到WA,WB的译码电路,实现了对于源操作数的写入。4由微指令到8CPU中对应的端口译码。5重新构造了ROM,RAM,修改了时序电路,调整了M1,M2,M3,M4的时序。6除了书上要求的指令微程序以外,还对微程序进行了扩充,加了逻辑左移指令:SAL(每次执行左移一位)

3、,以及乘法指令:MUL(8位与8位数据相乘,得到16位数据高8位写回源操作数,低8位写回目的操作数)7修改了M1,M2,M3,M4的连接电路。8通过用软件模拟的方法,成功的构造了一个简单的CPU,更加熟练的学会使用EDA技术。试验中结合了数字实验和组成原理部分内容。9用简单易读的方式排列24位控制信号,使得操作更加简便,如图所示5 设计方案5.1数据格式和指令系统(参考教材)采用8位数据通路,数据采用8位二进制定点表示。7 6 5 4 3 2 1 0. 设置7条机器指令和两条面板操作指令(1) 面板操作指令(因为没有一BIOS 及操作系统,所以用面板指令进行初始化,启动机器)a. 输入地址为P

4、C置初始值,即输入程序的起始地址,当K1开关置“1”,K2开关置“0”时执行此操作。b. 输入程序将程序输入到内存的指定区域,当K1,K2开关均置“1”时,由面板输入开关输入程序c. 本模型机设置K3开关,K3置1表示执行单步操作。d. START表示启动开关。(2) 指令系统a. 指令格式操作码 寻址方式有二种寻址方式寄存器寻址 操 作 码 R目R源 7 6 5 4 3 2 1 0直接地址寻址 由于地址要占用一个字节,所以此类指令为双字节指令。 操 作 码 R源 内 存 地 址b. 9条机器指令IN R; 从开关输入数据送入到指定的寄存器R。格式: 0 0 0 1 0 0OUT R;从指定的

5、寄存器R中取出数据送入到输出缓冲器,显示灯亮。 0 0 1 0LD R , address ;从内存指定单元取出数据,送入指定的寄存器R。 格式: 0 0 1 1 ST address, R; 从指定的寄存器R中取出数据,存入内存指定单元。 0 1 0 0 ADD R1, R2;将两个寄存器中的数据相加,结果送到R1。 0 1 0 1 JMP address; 无条件转移,即address PC。 0 1 1 0 HALT ; 停机指令。MUL R1, R2;将两个寄存器中的数据相乘,结果高8位送到R1,低8位送到R2。 1 0 1 0SAL R;将R中的数据左移一位,结果送到R1。 1 0

6、0 15.2本设计的体系结构为了简单方便起见,我们采用单总线结构,总体机构和CPU内部结构设计如图所示总体结构图CPU内部结构1 数据通路设计(1) 采用QuartusII软件工具,先设计出运算器部分,如图所示 .ALU.bdf,经时序仿真正确后,进行符号封装。(2) 采用QuartusII软件工具,先设计出运算器部分,如图所示 MUL.bdf,经时序仿真正确后,进行符号封装。介绍数据通路时打开8CPU.bdf(2)根据指令系统,数据通路中应包括寄存器组,存储器等,采用单总线结构,截图一分为二(1)(2)其中为了做乘法,我们对8cpu加了6个控制信号,如图所示2 控制器设计(1) 控制器总框图

7、 控 制 信 号(2) 微指令格式和微命令首先对数据通路进行分析,需要22个控制信号。此外还要2个信号:UPC (表示一段微程序结束),HALT(停机),共需要24个控制信号。采用水平型格式表示。控制数据通路的16个信号说明如下:G1,G2,G3,G4ramormul,cmul 分别控制6个多路开关A,B,C,D,EO,P,Q 分别控制对应的寄存器输入F 控制计数器PC的输入和计数I 控制指令寄存器的输入DEST 目的寄存器的读出控制信号SRC 源寄存器的读出控制信号WE 对RAM的写入信号GWN 通用寄存器组的写入信号LDN PC置初值的控制信号SRCWE 源或目的寄存器的写入信号(3) 控

8、存的安排和时序信号本方案采用的时序控制信号是由74393b产生的。对于时序,本来是有六个时钟周期的,我们将其缩短在了四个,有效的提高了运行效率。修改后的时序电路图时序脉冲(4) 微地址入口电路的设计为简单起见,微地址采用8位,其高4位由指令操作码控制,低4位由一个4位的计数器控制。将ROM的高段地址区用于存放面板指令的微程序,低段地址存储区存放一般指令的微程序,控制电路可参考图6。 图3-6 微地址入口电路(5) 微命令译码电路a. 本方案中寄存器组采用的是74670芯片,每次写入可以为源寄存器,也可以为目的寄存器,所以Wa,Wb要经过译码与IR2,IR3连接,读出时目的和源寄存器均可读出,所

9、以依然要用译码电路。电路设计如下:写寄存器译码电路读寄存器译码电路 b. 停机电路以下几种情况需停机:(a)总清. (b) 执行单指令操作,且一条指令执行完。 (c) 执行停机指令。根据这三种情况可以设计出停机电路。c. UPC微命令表示一段微程序结束,因此该命令要做的工作是:(a)置“0”微程序计数器(74161)。 (b)置“0”指令寄存器。3 微程序和总电路图微程序定义如下:8cpu中的端口译码电路如下:Rom修改为24位,修改电路如下:24位重新排列微指令顺序8CPU重新封装效果图CPU总的电路图:(截成四部分)时序及upc产生部分 8cpu及寄存器读写译码部分 控制信号译码部分 Ro

10、m及取微指令部分、6 测试结果与性能分析(测试程序、时序图、编译报告中资源使用情况)仿真:微程序和电路设计完成后,进行编译,并通过仿真来检验cup的各项功能。仿真时,先用面板指令输入程序的起始地址和一段小程序。我们输入的程序为:初始地址为00H,即Ram中程序如下:进行仿真,首先开关K1置1,K2置0,kdata为00H,为PC置初始值00即程序口地址,接着将K1置0,执行程序。此时,我们置kdata始终为02H,通过IN指令输入到R0和R1中,然后继续执行程序!建立vwf文件如下:仿真结果如下:7 课程设计总结本实验是设计一个小型CPU,主要工作是在给定的CUP主体结构上完善电路,修正已有电

11、路错误以及设计微程序。本实验有相当的综合性:在实践过程中,我们充分使用了组成原理、微机接口、数字电路等相关知识。通过本次实验,我们对CPU的结构和工作原理有了切实的认识。尤其在总线,时序,微指令等方面,投入的时间不少,体会很深。我们深刻理解了总线作为指令和数据传输的道路和桥梁,在CUP的工作过程中扮演的重要角色;弄懂了通过时序的调节解决总线的冲突的方法;在全面细致地分析了CUP结构和工作原理的基础上,我们掌握了编写微指令的方法与技巧。通过组内讨论和求教于老师、同学,我们顺利的完成了基本的实验目标,并做了进一步研究。利用加法指令,我们增加了SAL(左移一位)指令。采用控制RA、RB读信号的控制思

12、路,我们使得源、目的寄存器均可写入。在此基础上,我们引入了8位乘法器,将结果16位二进制数,成功写入源、目的寄存器。对现有的24位控制信号,我们充分利用了每一位。同时,我们注意到实验中还有很多可以改进的地方。由于时间和给定CPU规格的限定,很多想法未能实施。比如,编写微指令时,我们注意到:一条指令中的某条指令在M3时已经完成,空等一个M4,才取下一条。这样的情况并不少见。如果将执行微指令、取微指令等改为下降沿也能触发,就可以把下一条提到M4做,这就省了一个整个指令周期。宏观的时间节省量自然也十分可观。再如,实验提供的ROM为24位,这使得控制信号剩余不多,一旦想多加其它组件,就会为之苦恼。我们想到自取名为“多面手控制信号”的解决方案:对于互斥的两条指令A和B(如ADD和MUL(肯定不会同时做),可以根据需要,让A的控制型号同时控制B,所需做的额外工作是修改ROM中的微指令即可。比起想法设法地扩展ROM,这种方法既快速,又充分利用资源。实验提供的CPU中有不少这样的控制信号,值得好好利用。当然,缺点也显而易见,由于控制信号一对多,修改、删除时得慎之再慎,增加了CUP维护的难度。 总之,通过本次实验,我们体会了学以致用的快乐,为进一步的深入的学习增添了几分信心。

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

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