计组实验报告.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武汉大学计算机学院计算机科学与技术专业
CPU设计实验报告
实验名称:开放式实验CPU设计课题名称: 计算机组成原理
班级:
指导教师:徐爱萍
组长:
组员:
二零一五年三月
目录
目录 (1)
1 实验环境 (2)
1.1 Quartus Ⅱ介绍 (2)
1.2 硬件描述语言(VHDL) (3)
1.3实验的主要成果 (3)
2 实验要求 (5)
2. 1 指令格式要求 (5)
2. 2 指令流程及微信号序列分析 (6)
2.2.1 ADD指令分析 (6)
2.2.2 ADC指令分析 (7)
2.2.3 SUB指令分析 (7)
2.2.4 SBC指令分析 (7)
2.2.5 INC指令分析 (7)
2.2.6 DEC指令分析 (8)
2.2.7 SHL指令分析 (8)
2.2.8 SHR指令分析 (8)
2.2.9 MOVR指令分析 (8)
2.2.10 MOVD指令分析 (9)
2.2.11 LDRR指令分析 (9)
2.2.12 STRR指令分析 (10)
2.2.13 JMP指令分析 (10)
2.2.14 JRC指令分析 (11)
2.2.15 JRZ指令分析 (11)
2.2.16 JRS指令分析 (11)
2.2.17 CLC指令分析 (11)
2.2.18 STC指令分析 (11)
3.部件仿真实验 (11)
3.1 八个通用寄存器设计与仿真 (11)
3.1.1 设计代码 (11)
3.1.2 RTL连接图 (17)
3.1.3 仿真过程 (17)
3.2算术逻辑单元设计与仿真 (18)
3.2.1 设计代码 (18)
3.2.2 RTL连接图 (21)
3.2.3 仿真过程 (22)
4. CPU设计 (23)
4.1取指设计 (23)
4.2指令译码的设计 (25)
4.3执行部分设计 (28)
4.4存储器部分设计 (31)
4.5通用寄存器组设计 (32)
4.6寄存器输出设计 (36)
4.7 程序包设计 (37)
4.8顶层实体设计 (41)
5. 测试报告 (45)
5.1规则文件 (45)
5.2测试文件 (45)
5.3指令测试 (46)
6 实验总结 (53)
1 实验环境
1.1 Quartus Ⅱ介绍
QuartusⅡ是Altera公司的综合性PLD/FPGA开发软件,原理图、VHDL、VerilogHDL以及AHDL等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。QuartusⅡ提供了方便的设计输入方式、快速的编译和直接易懂的器件编程。能够支持逻辑门数在百万门以
上的逻辑器件的开发,并且为第三方工具提供了无缝接口。QuartusⅡ支持多种器件系列。QuartusⅡ软件包的编程器是系统的核心,提供功能强大的设计处理,设计者可以添加特定的约束条件来提高芯片的利用率。
1.2 硬件描述语言(VHDL)
在自顶向下的设计方法中,硬件描述语言如VHDL可以在高于逻辑级的抽象层次上用简练的方式提供精确的描述。
把设计任务分解到可控制的规模的方法形成了层次结构。层次结构的优点如下:
(1)在希望抽象的层次上,可以对设计进行精确而简练的描述。
(2)在同一时刻,只需设计系统某一部分的细节,这有利于组织并行的设计工作,开展大规模工程设计,而不是个人单兵作战。
(3)把注意力集中在系统可以控制的一部分,有助于减少设计错误和排错时间。
(4)对各个模块分别进行仿真、测试、功能校验。
(5)分阶段地进行设计,逐步加入各个构造模块。
VHDL的功能非常强大,不仅适合仿真,构建一个大的系统,对系统的行为进行描述,也适合设计具体的硬件电路。VHDL的全称是Very High Speed Integrated Circuit Hardware Description Language,即超高速集成电路描述语言。硬件描述语言有许多种,如ABEL、Verilog等,VHDL是其中著名的一种硬件描述语言。VHDL要适用于许多复杂的情况,还要适应各种硬件设计人员原先的习惯方式和设计风格,因此设计得比较全面。
1.3实验的主要成果
整个实验的过程可以被分为三个部分:通用寄存器组仿真、算术逻辑单元仿真、实验CPU设计及调试。
(1)通用寄存器组仿真。
了解通用寄存器组的用途及对CPU的重要性;掌握通用寄存器组的设计方法;其中共有4个16位的寄存器,具有复位功能和写入读出功能。
4个16位寄存器的通用寄存器组的框图如下图:
(2)算术逻辑单元仿真。掌握运算器的工作原理;验证运算器的功能;实现了对二进制数据进行定点算术运算、逻辑运算和传送数据操作。
算术运算包括定点加减运算;逻辑运算主要有逻辑与、逻辑或、逻辑非操作。
具体操作码及其实现的操作见下表:
(3)实验CPU设计及调试。
成功编写了CPU的设计代码;掌握计算机的工作原理,建立清晰的计算机整体概念;掌握调试软件的使用方法,成功对CPU进行调试。
CPU的指令集如下表:
2 实验要求
2. 1 指令格式要求
基本CPU指令格式: