内容推荐 本书以线上线下结合的方式,使用FPGA平台完成数字电路及计算机组成原理实验,并用Python编程的方式与自己设计的硬件系统交互,来进行系统验证与调试。全书包含三大部分内容: 首先是实验所用的软硬件工具和平台; 其次是实验设计方法; 很后介绍实验内容安排的建议。书中主要讲述了PYNQ平台与基于Python的软硬件交互、Vivado开发工具、硬件描述语言简介、RISCV开源项目及组成原理实验内容建议等。 本书可用作高等院校计算机类、电子信息类专业的数字电路与组成原理相关课程的实验教材,也可作为FPGA及嵌入式系统软硬件学习的参考用书。 目录 章 PYNQ开发平台介绍 1.1 PYNQ开发板 1.1.1 PYNQ Z1 1.1.2 PYNQ Z2 1.2 Zynq 7020芯片 1.3 PYNQ框架 1.4 PYNQ平台的使用 第2章 实验环境的准备 2.1 线下方式实验环境的准备 2.1.1 在本机安装Vivado软件 2.1.2 PYNQ板卡的准备 2.1.3 使用Jupyter Notebook与PYNQ建立连接 2.2 线上方式实验环境的准备 第3章 基于PYNQ的组成原理实验流程概览 3.1 整体开发流程介绍 3.2 Vivado开发流程概览 3.3 基于Python的硬件交互 第4章 Vivado开发流程 4.1 创建工程 4.2 设计输入 4.2.1 原理图方式 4.2.2 Verilog/VHDL方式 4.3 仿真 4.4 综合 4.5 引脚绑定(I/O处理) 4.5.1 物理引脚的绑定 4.5.2 与监控模块(PS)的连接 4.6 实现 4.7 TCL使用介绍 4.8 实例演示 4.8.1 原理图方式 4.8.2 Verilog方式 第5章 基于Python的I/O交互 5.1 Jupyter Notebook介绍 5.1.1 Jupyter组件 5.1.2 Notebook基础 5.1.3 Notebook用户界面 5.2 使用PYNQ Overlay加载流文件 5.3 Python引脚绑定 5.4 基于Python调试组合逻辑 5.5 基于Python调试时序逻辑 5.6 实例演示 5.6.1 上传.bit和.tcl文件 5.6.2 基于Python的I/O交互 第6章 硬件描述语言简介 6.1 “模块”的描述 6.1.1 输入/输出端口说明 6.1.2 数据对象和数据类型 6.1.3 顺序语句与并行语句 6.2 模块基本用法示例 6.2.1 八位乘法器 6.2.2 译码器 6.2.3 八位二进制比较器 6.2.4 JK触发器设计 6.3 层次化设计 6.3.1 描述方式 6.3.2 层次化设计的写法 6.4 VHDL语言基础 6.4.1 标识符 6.4.2 数据对象 6.4.3 数据类型 6.4.4 数据类型转换 6.4.5 运算符 6.4.6 运算符优先级 6.4.7 VHDL常用语法 6.5 Verilog HDL语言基础 6.5.1 数据类型 6.5.2 数字表示形式 6.5.3 parameter定义常量 6.5.4 宏定义'define 6.5.5 运算符及表达式 6.5.6 运算符优先级 6.5.7 Verilog HDL常用语法 第7章 基于开源CPU的组成原理实验 7.1 RISC-V指令集 7.2 基于RISC-V的逐条增加指令式实验 7.2.1 5级流水介绍 7.2.2 单条指令的RISC-V处理器设计 7.2.3 2条指令的RISC-V处理器设计 7.2.4 3条指令的RISC-V处理器设计 7.2.5 10条指令的RISC-V处理器设计 7.3 开源RISC-V处理器蜂鸟E200介绍 7.4 基于开源项目的CPU综合实验 7.4.1 从完整SoC项目中抽取出CPU内核上板验证 7.4.2 删减掉特定的部分并补全 7.4.3 扩展开源处理器的流水线级数 7.4.4 优秀工作的遴选方法 第8章 实验内容设计 8.1 基于原理图的实验 8.1.1 全加器 8.1.2 译码器 8.1.3 多路选择器 8.1.4 触发器与寄存器 8.1.5 移位寄存器 8.1.6 计数器 8.1.7 有限状态机 8.1.8 运算器/ALU 8.1.9 存储器 8.1.10 寄存器堆 8.1.11 总线 8.1.12 微程序控制器 8.2 基于Verilog HDL的实验 8.2.1 全加器 8.2.2 译码器 8.2.3 多路选择器 8.2.4 触发器与寄存器 8.2.5 移位寄存器 8.2.6 计数器 8.2.7 有限状态机 8.2.8 运算器/ALU 8.2.9 存储器 8.2.10 寄存器堆 8.2.11 总线 8.2.12 微程序控制器 8.2.13 中断 8.2.14 基于开源项目的CPU内核的实现 8.2.15 为开源CPU增加指令 8.2.16 增加开源CPU的流水线级数 参考文献 |