目录
第1章概述
1.1计算机系统概述
1.1.1计算机系统层次
1.1.2计算机硬件的基础部件
1.1.3计算机系统组成
1.1.4计算机存储结构类型
1.1.5计算机指令集类型
1.1.6单周期、多周期和流水线处理器
1.1.7思考与拓展
1.2EDA工具及其运用
1.2.1EDA工具的分类
1.2.2EDA技术的运用
1.2.3思考与拓展
第2章Minisys实验板介绍
2.1Minisys实验板概述
2.1.1主芯片XC7A100T关键资源
2.1.2Minisys实验板资源
2.2Minisys板上存储器
2.2.1DDR3 SDRAM
2.2.2SRAM
2.2.3Flash Memory
2.3时钟
2.4基本I/O设备
2.4.1拨码开关与LED灯
2.4.2按键开关
2.4.34×4矩阵键盘
2.4.47段数码管
2.4.5VGA模块
2.4.6蜂鸣器
2.4.7麦克风
2.4.8思考与拓展
第3章Verilog HDL语言基础
3.1Verilog HDL设计初步
3.1.1Verilog HDL设计流程简介
3.1.2Verilog HDL语言与C语言的比较
3.1.3基本的Verilog HDL模块
3.2Verilog HDL语言要素
3.2.1词法
3.2.2数据类型
3.2.3寄存器和存储器
3.3Verilog HDL的描述风格
3.3.1结构描述方式
3.3.2数据流描述方式
3.3.3行为描述方式
3.4Verilog HDL的行为语句
3.4.1结构说明语句
3.4.2块语句
3.4.3赋值语句
3.4.4条件分支语句
3.4.5循环控制语句
3.4.6编译预处理语句
3.4.7思考与拓展
3.5有限状态机
3.5.1有限状态机的基本概念
3.5.2用Verilog HDL语言设计有限状态机
第4章数字逻辑电路实验
4.1Vivado工具与Verilog HDL语言的使用
4.1.1拨码开关与LED灯——熟悉Vivado和实验台
4.1.2可配置输入端口数和数据宽度的“与门”IP核设计
4.1.3多种基本门电路的IP核设计
4.1.474系列基本逻辑门电路芯片的设计
4.2多路选择器的设计与IP核封装
4.2.11位2选1多路选择器——使用IP核
4.2.2可配置输入端口数和数据位宽的多选1多路选择器——IP核设计
4.2.38选1多路选择器74151芯片的设计
4.2.432位多路选择器的设计
4.3译码器、比较器和编码器的设计
4.3.174138译码器的设计
4.3.274682比较器的设计
4.3.3优先编码器的设计
4.4加法器的设计
4.5锁存器和触发器的设计
4.5.1同步RS触发器设计
4.5.2异步清零和置1的D触发器设计
4.6寄存器文件的设计
4.6.1带有异步清零和wen使能端的D触发器的设计
4.6.28位寄存器的设计
4.6.3寄存器文件的设计
4.7分频器、计数器和脉冲宽度调制器的设计
4.7.1分频器的设计
4.7.2计数器的设计
4.7.3带模计数器的设计
4.7.4脉冲宽度调制器的设计
4.88位7段数码管控制的设计
4.8.11位7段数码管控制器的设计
4.8.28位7段数码管控制器的设计
4.8.3六十进制数字时钟的设计
4.9移位寄存器的设计
4.9.14位移位器的设计
4.9.2并转串输出模块的设计
4.9.38位桶形移位器的设计
4.9.432位桶形移位器的设计
4.10状态机的设计
4.10.1摩尔状态机检测“1101”序列
4.10.2米里状态机检测“1101”序列
4.11综合实验: 一个逻辑电路小系统的设计
第5章计算机组成部件实验
5.1加减法器的设计
5.1.1可变位宽的加减法器IP核的设计
5.1.28位加减法器的设计
5.2乘法器的设计
5.2.1无符号数乘法器的设计
5.2.2有符号数乘法器的设计
5.2.3利用Vivado自带的乘法器IP核进行乘法器的设计
5.3除法器的设计
5.3.1无符号数除法器的设计
5.3.2有符号数除法器的设计
5.4运算器的设计
5.4.18位运算器的设计
5.4.2用Block Design设计8位运算器
5.5存储器的扩展
5.5.1使用IP核和存储器位扩展技术设计存储器
5.5.2使用IP核和存储器字扩展技术设计存储器
第6章Minisys1单周期CPU的设计
6.1CPU的结构与工作原理
6.1.1CPU的功能与结构
6.1.2CPU的工作原理
6.2CPU的设计流程
6.2.1分析指令系统
6.2.2确定CPU结构的参数
6.2.3设计数据通路
6.2.4设计译码单元和控制单元
6.3目标系统Minisys1概述
6.4Minisys1 的寄存器和指令系统
6.4.1Minisys1的寄存器组
6.4.2Minisys1的指令系统概述
6.4.3Minisys1指令集详解
6.5Minisys1单周期CPU设计
6.5.1预备知识
6.5.2Minisys1数据通路的设计
6.5.3创建Minisys项目
6.5.4Minisys1控制单元的设计
6.5.5Minisys1时钟的设计
6.5.6Minisys1程序ROM单元的设计
6.5.7Minisys1取指单元的设计
6.5.8Minisys1译码单元的设计
6.5.9Minisys1执行单元的设计
6.5.10Minisys1存储单元的设计
6.6Minisys1 CPU的简单接口的设计
6.6.1为Minisys1加I/O功能
6.6.224位LED的设计
6.6.324位拨码开关的设计
6.6.4思考与拓展
6.7Minisys1 CPU的顶层设计与下载
6.7.1顶层文件的设计
6.7.2顶层文件的仿真
6.7.3整体项目的下板验证
第7章Minisys1汇编语言程序设计
7.1Minisys1 汇编语言
7.1.1指令的汇编语句格式
7.1.2汇编伪指令
7.1.3汇编程序结构
7.2Minisys1汇编程序设计
7.2.1程序常见功能的Minisys1汇编语言实现
7.2.2Minisys1汇编练习
第8章多周期Minisys1 CPU的设计
8.1多周期CPU的基本结构
8.1.1多周期CPU的基本思想
8.1.2多周期CPU的基本结构
8.2多周期CPU的设计
8.2.1数据通路修改
8.2.2多周期Minisys1状态机设计
8.2.3相关部件的修改
参考文献