蒋丽华编著的《基于EDA技术的单周期CPU设计与实现——计算机组成原理实践》将EDA技术引入“计算机组成原理”实验及课程设计中,实现与目前国外计算机组成原理实验较好的接轨。
针对“计算机组成原理”课程教学的要求,以“模块化、项目化”的模式进行编写,围绕国家重点支持的微处理器CPU产品,逐一设计多路选择器、加减器、算术逻辑单元、寄存器堆、控制器、CPU和存储器等各个元部件,最终设计出能运行MIPS指令程序的完整的计算机主机系统。
《基于EDA技术的单周期CPU设计与实现——计算机组成原理实践》内容丰富,通过大量实例说明设计中的一些问题,工程性强,利于培养学生综合分析、创新开发和工程设计能力。
蒋丽华编著的《基于EDA技术的单周期CPU设计与实现——计算机组成原理实践》借鉴国内外最新的计算机组成实践的教学方法,结合作者多年指导计算机组成原理实验课的教学经验,并引用目前市面上主流的MIPS指令集,翔实、具体地讲解了计算机各个组成部件的设计原理和典型指令的执行过程。
《基于EDA技术的单周期CPU设计与实现——计算机组成原理实践》首先介绍了EDA技术、Quartus II软件以及VHDL的使用方法;然后讲解了MIPS体系结构中比较典型的指令,并使用Quartus II软件,通过原理图以及VHDL语言,设计出计算机组成的各个部件;最终形成了一个能执行MIPS指令集指令程序的计算机主机系统。书中的所有部件及CPU逻辑电路都能进行正确的功能仿真模拟及FPGA下载验证。
本书既可作为高等院校计算机相关专业的计算机组成原理课程的实验及课程设计教材,也可供计算机硬件开发人员、电子技术及工程技术人员参考使用。
第1章 绪论
1.1 实践内容
1.1.1 计算机组成原理实验
1.1.2 计算机主机系统设计
1.2 实践环境
第2章 EDA设计工具
2.1 建立工程项目
2.1.1 启动Quartus II
2.1.2 使用Quartus II
2.1.3 Quartus II文件后缀及其含义
2.1.4 原理图设计
2.2 VHDL简介
2.2.1 VHDL程序的基本结构
2.2.2 VHDL客体及词法单元
2.2.3 VHDL的基本描述语句
2.2.4 属性的描述与定义
2.2.5 VHDL设计
2.3 原理图转换
2.3.1 原理图转换为VHDL文件
2.3.2 VHDL文件转换为原理图
2.4 编译与器件封装
2.4.1 局部工程编译
2.4.2 封装成器件放入用户库
2.5 电路仿真
2.5.1 建立仿真文件
2.5.2 仿真设置工具
2.5.3 功能仿真
2.5.4 时序仿真
2.6 工程下载验证
2.6.1 引脚锁定设置
2.6.2 配置文件下载
第3章 MIPS指令和CPU设计思路
3.1 MIPS寄存器堆
3.2 指令格式和主机系统指令
3.2.1 指令格式
3.2.2 主机系统指令
3.3 CPU设计思路
3.3.1 单周期CPU逻辑设计
3.3.2 R类型指令
3.3.3 I类型指令
3.3.4 J类型指令
第4章 多路选择器
4.1 1位2选1多路选择器
4.1.1 1位2选1多路选择器原理图设计
4.1.2 1位2选1多路选择器的VHDL设计
4.1.3 1位2选1多路选择器的仿真验证
4.2 5位2选1多路选择器
4.2.1 5位2选1多路选择器的原理图设计
4.2.2 5位2选1多路选择器的VHDL设计
4.2.3 5位2选1多路选择器的仿真验证
4.3 8位2选1多路选择器
4.3.1 8位2选1多路选择器的原理图设计
4.3.2 8位2选1多路选择器的VHDL设计
4.3.3 8位2选1多路选择器的仿真验证
4.4 32位2选1多路选择器
4.4.1 32位2选1多路选择器的原理图设计
4.4.2 32位2选1多路选择器的VHDL设计
4.4.3 32位2选1多路选择器的仿真验证
4.5 32位4选1多路选择器
4.5.1 32位4选1多路选择器的原理图设计
4.5.2 32位4选1多路选择器的VHDL设计
4.5.3 32位4选1多路选择器的仿真验证
4.6 32位32选1多路选择器
4.6.1 32位32选1多路选择器的原理图设计
4.6.2 32位32选1多路选择器的VHDL设计
4.7 1pm_mux宏模块的设置
第5章 加减器
5.1 1位加法器
5.1.1 1位加法器的原理图设计
5.1.2 1位加法器的VHDL设计
5.1.3 1位加法器的仿真验证
5.2 1位加减器
5.2.1 1位加减器的原理图设计
5.2.2 1位加减器的VHDL设计
5.2.3 1位加减器的仿真验证
5.3 8位加法器
5.3.1 8位加法器的原理图设计
5.3.2 8位加法器的VHDL设计
5.3.3 8位加法器的仿真验证
5.4 32位加减器
5.4.1 32位加减器的原理图设计
5.4.2 32位加减器的VHDL设计
5.4.3 32位加减器的仿真验证
第6章 移位运算器
6.1 移位运算器的原理图设计
6.2 移位运算器的VHDL设计
6.3 移位运算器的仿真验证
第7章 算术逻辑运算器
7.1 0操作数检测模块
7.2 算术逻辑运算器的原理图设计
7.3 算术逻辑运算器的VHDL设计
7.4 算术逻辑运算器的仿真验证
第8章 寄存器堆
8.1 寄存器号译码
8.1.1 寄存器号译码的原理图设计
8.1.2 寄存器号译码的VHDL设计
8.1.3 寄存器号译码的仿真验证
8.2 8位触发器
8.2.1 8位触发器的原理图设计
8.2.2 8位触发器的VHDL设计
8.2.3 8位触发器的仿真验证
8.3 32位触发器
8.3.1 32位触发器的原理图设计
8.3.2 32位触发器的VHDL设计
8.3.3 32位触发器的仿真验证
8.4 32位寄存器
8.4.1 32位寄存器的原理图设计
8.4.2 32位寄存器的VHDL设计
8.5 32位寄存器堆
8.5.1 32位寄存器堆的原理图设计
8.5.2 32位寄存器堆的VHDL设计
8.5.3 32位寄存器堆的仿真验证
第9章 计算机主机系统设计
9.1 跳转指令寄存器指定元件
9.1.1 跳转指令寄存器指定元件的原理图设计
9.1.2 跳转指令寄存器指定元件的VHDL设计
9.1.3 跳转指令寄存器指定元件的仿真验证
9.2 指令译码器
9.2.1 指令译码器的原理图设计
9.2.2 指令译码器的VHDL设计
9.2.3 指令译码器的仿真验证
9.3 控制部件设计
9.3.1 控制部件的原理图设计
9.3.2 控制部件的VHDL设计
9.3.3 控制部件的仿真验证
9.4 指令存储器
9.4.1 指令存储器的原理图设计
9.4.2 指令存储器的仿真验证
9.5 数据存储器
9.5.1 数据存储器的原理图设计
9.5.2 数据存储器的仿真验证
9.6 单周期中央处理器CPU设计
9.6.1 单周期中央处理器的原理图设计
9.6.2 单周期中央处理器的VHDL设计
9.7 计算机主机系统设计
9.7.1 计算机主机系统的原理图设计
9.7.2 计算机主机系统的VHDL设计
9.8 调试程序编制及主机系统的调试
9.8.1 加法调试程序
9.8.2 加法程序调试仿真
9.8.3 乘法调试程序
9.8.4 乘法程序调试仿真
附录A DE2-70简介及调试注意事项
A.1 DE2-70硬件实验平台简介
A.2 DE2-70引脚分配的一般性指导
A.3 实验板基本输入/输出引脚信号
附录B 设计调试过程中的注意事项
参考文献