8位cpu的设计,vhdl语言,综合性实验实验报告

8位cpu的设计,vhdl语言,综合性实验实验报告

ID:792643

大小:642.53 KB

页数:44页

时间:2017-09-05

8位cpu的设计,vhdl语言,综合性实验实验报告_第1页
8位cpu的设计,vhdl语言,综合性实验实验报告_第2页
8位cpu的设计,vhdl语言,综合性实验实验报告_第3页
8位cpu的设计,vhdl语言,综合性实验实验报告_第4页
8位cpu的设计,vhdl语言,综合性实验实验报告_第5页
资源描述:

《8位cpu的设计,vhdl语言,综合性实验实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、综合性实验报告计算机组成原理年级专业班级:10级软工R3班小组号:5完成日期:2012-06-06小组成员、组内分工及各成员成绩学号姓名(组长排第一个)分工工作量比例(组长指定)自评成绩(组长指定)201031000326杨湧通用寄存器34%100201031000325严英鹏ALU相关22%100201031000430郑兆龙存储器22%100201031000327杨宇控制逻辑22%100【分工包括:取指及调试、控制逻辑、执行(ALU相关)、通用寄存器组、存储器等】(一)实验类型:验证性+设计性(二)实验类别:综合性专业基础实验(三)实验学时数:8

2、学时(四)实验目的理解和验证参考代码,并在其基础上,通过适当改造,尝试设计一个简单的CPU,并测试其结果。(五)实验内容设计一个能验证计算机CPU工作原理的实验系统,包括取指部分、指令译码部分、执行部分、通用寄存器组以及存储器,并测试其结果。(六)实验要求根本目标:缩小到8位的数据通路,也即是4位OP和4位的地址码。(参考代码是16位数据通路,也即8位OP和8位的地址码)(参见实践报告.doc中的9-11页的指令系统总体说明)学生按照实验要求,在实验平台上实现具有存储与运算功能的计算机系统,并能通过测试,以验证其正确性。具体要求如下:(1)取指及调试(

3、组长兼任)。熟悉指令取指过程,并把16位的部分改为8位。使用DebugController和系统中的调试模块(reg_testa.vhd,reg_test.vhd)。(2)熟悉电原理图的连接,以通用寄存器组部分为例。实现上,用实验4所用的简单通用寄存器组(4个寄存器+1个2-4译码器+2个4选1多路开关)设计方法,替代参考代码中的通用寄存器组部分。(3)学习和掌握控制逻辑。设计一套指令集(可在原参考代码指令集的基础上做删减,从中选取16条基本的指令),并修改控制器中指令集的译码部分。(4)执行部件,ALU的改造。可在原参考代码的基础上,改变某些运算功能

4、的实现方式,比如加、减、增1、减1等算术运算。实现上,原参考代码采用了最少编码量的“+”、“-”号实现。可以改用通过portmap语句调用系统自带的加法器,也可以进一步自己编写加法器,然后用portmap语句调用。(5)存储器部分的加入。原参考代码采用的带外部存储器的模式。实现上,可以在实验3的基础上,设计一个适合加到本CPU系统的存储器部分,通过与原参考代码系统连接外带存储器的数据线、控制线和地址线相连接。此部分设计中,存储器的指令置入是一个难点。可以考虑简单点的作为只读模式把指令写死在存储器中(可用于验证指令的执行);或者考虑在reset的那一拍里

5、,实现存储器中待指令的置入。存储器模块单独调试可行后再加到系统上。(七)实验设备TEC-CA组成原理实验箱。(八)实验课承担单位:信息学院(九)总结构图(组长负责组织填写)(十)指令集(组长负责组织填写)(参考实验大纲中的示例,结合各小组自己的设计),撰写内容可参照参考材料的实践报告.doc中的指令系统总体说明(p9-11页)(1)指令格式分类(按指令字长和操作数不同):①单字单操作数指令743210OPCODEDEST_REG00OPCODEOFFSET包括:DEC,INC,SHL,SHR,JR,JRC,JRNC,JRZ,JRNZ,JRS,JRNS②

6、单字双操作数指令743210OPCODEDEST_REGSOUR_REG包括:ADD,SUB,AND,CMP,XOR,TEST,OR,MVRR,ADC,SBB,LDRR,STRR③单字无操作数指令743210OPCODE0000包括:CLC,STC④双字单操作数指令743210OPCODE0000ADR包括:JMPA⑤双字双操作数指令743210OPCODEDEST_REG00DATA包括:MVRD(2)指令的分组及节拍:由于没有中断操作,本机指令的执行步骤可概括如下:读取指令:地址寄存器<-指令地址,修改PC内容使其指向下一条将要执行的指令;读内存,

7、指令寄存器<-读出的内容。分析指令执行指令:通用寄存器之间的运算或传送,可1步完成;读写内存,通常要两步完成。根据指令的执行步骤不同,可以把全部指令分为A、B两组。其中A组指令完成的是通用寄存器之间的数据运算或传送,或其他一些特殊操作,在取指之后可一步完成,包括:ADD、SUB、AND、XOR、OR、INC、DEC、CMP、ADC、JR、JRC、JRNC;B组指令完成的是一次内存读写操作,在取指之后可两步完成,包括:JMPA,LDRR,STRR,MVRD。在编码的时候以指令操作码的最高位来区分A、B组指令,0为A组指令,1为B组指令。在控制器方面我们选

8、用了组合逻辑控制器方案。使用节拍来标记每条指令的执行步骤。由指令而定,在我们的系统中不同的执行

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。