text: FPGA数字系统设计
  《FPGA数字系统设计》是2019年11月清华大学出版社出版的图书，作者是薛一鸣、文娟。
  内容简介
  本书在全面介绍FPGA器件结构、Verilog语法和经典数字逻辑设计的基础上，着重介绍基于Vivado的FPGA开发流程、基于FPGA的基础和高级设计技术、FPGA时序约束与时序分析方法、Zynq SoC嵌入式系统设计，最后详细介绍CNN手写数字识别系统的设计和实现。
  全书共分两篇： 第1～5章为基础篇，着重介绍FPGA设计的基础知识，包括FPGA电路结构、Verilog HDL语法、经典数字逻辑设计，同时详细讲解基于Vivado的FPGA开发流程，基础实验涵盖信号采集、信号传输、信号处理、信号输出等信息处理全过程； 第6～10章为提高篇，深入介绍FPGA的高级设计技术、FPGA的时序约束和时序分析、基于Zynq的SoC嵌入式系统设计，并以CNN手写数字识别系统为例讨论FPGA数字系统设计过程中的实现细节，综合实验围绕人工智能、多媒体处理和经典数字电路展开。
  本书适合作为高等院校电子工程类、自动控制类、计算机类专业大学本科生、研究生的教学用书，同时可供对FPGA设计开发比较熟悉的开发人员、广大科技工作者和研究人员参考。
  图书目录
  基础篇
  第1章可编程逻辑器件基础
  1.1可编程逻辑器件概述
  1.2CPLD的原理与结构
  1.2.1乘积项的工作原理
  1.2.2CPLD的一般结构
  1.3FPGA的原理与结构
  1.3.1查找表的基本原理
  1.3.2FPGA的结构
  第2章Verilog HDL语言基础
  2.1硬件描述语言概述
  2.2Verilog HDL模块的结构
  2.3Verilog HDL语言要素
  2.3.1标识符与关键词
  2.3.2注释
  2.3.3四值逻辑
  2.3.4常量及其表示
  2.3.5数据类型
  2.4表达式和运算符
  2.4.1连接与复制操作符
  2.4.2符号运算符
  2.4.3算术运算符
  2.4.4关系运算符
  2.4.5逻辑运算符
  2.4.6全等比较运算符
  2.4.7按位运算符
  2.4.8归约运算符
  2.4.9移位操作符
  2.4.10条件运算符
  2.4.11优先级说明
  2.5Verilog HDL的行为建模
  2.5.1行为描述的结构
  2.5.2过程结构
  2.5.3时序控制
  2.5.4赋值语句
  2.5.5条件与控制语句
  2.5.6任务与函数结构
  2.5.7可综合与不可综合
  2.6Verilog HDL的结构化建模
  2.6.1内置的基本门及其例化
  2.6.2模块实例化
  2.6.3层次化设计
  2.7系统任务和系统函数
  2.7.1显示任务
  2.7.2文件输入/输出任务
  2.7.3从文件中读取数据任务
  2.7.4仿真控制任务
  2.7.5仿真时间函数
  2.8编译指令
  2.9验证平台搭建
  2.9.1验证平台结构
  2.9.2待验证设计
  2.9.3时钟生成器
  2.9.4激励发生器（Stimulator)
  2.9.5比较器（Checker)
  2.9.6验证平台完整实例
  第3章数字逻辑HDL描述
  3.1组合逻辑电路设计举例
  3.1.1比较器
  3.1.2编码器
  3.1.3译码器
  3.1.4简单的ALU电路
  3.2时序逻辑电路设计举例
  3.2.1D触发器
  3.2.2移位寄存器
  3.2.3计数器
  3.2.4分频电路
  3.3有限状态机设计
  第4章基于Vivado的FPGA开发流程
  4.1FPGA基本开发流程
  4.2设计规划
  4.2.1规划的内容及意义
  4.2.2设计规划实例
  4.3设计输入
  4.3.1设计输入方式
  4.3.2设计实例
  4.4功能仿真
  4.4.1功能仿真的目的
  4.4.2功能仿真的原理
  4.4.3编写测试验证程序
  4.4.4功能仿真实例
  4.5综合
  4.5.1综合的目的
  4.5.2综合的原理
  4.5.3综合实例
  4.6实现
  4.6.1实现的目的
  4.6.2实现的原理
  4.6.3实现实例
  4.7时序仿真
  4.7.1时序仿真的目的
  4.7.2时序仿真的原理
  4.7.3仿真实例
  4.8FPGA调试
  4.8.1FPGA逻辑分析仪
  4.8.2使用流程
  4.8.3调试实例
  第5章FPGA基础实验
  5.1预备实验
  5.1.1实验设备
  5.1.2功能要求
  5.1.3设计分析
  5.1.4逻辑设计
  5.1.5实现流程
  5.1.6拓展任务
  5.2信号采集
  5.2.1实验设备
  5.2.2功能要求
  5.2.3设计分析
  5.2.4逻辑设计
  5.2.5实现流程
  5.2.6拓展任务
  5.3信号传输
  5.3.1实验设备
  5.3.2功能要求
  5.3.3设计分析
  5.3.4逻辑设计
  5.3.5实现流程
  5.3.6拓展任务
  5.4信号处理
  5.4.1实验设备
  5.4.2功能要求
  5.4.3设计分析
  5.4.4逻辑设计
  5.4.5仿真结果
  5.4.6实现流程
  5.4.7拓展任务
  5.5信号输出（执行)
  5.5.1实验设备
  5.5.2功能要求
  5.5.3设计分析
  5.5.4逻辑设计
  5.5.5实现流程
  5.5.6拓展任务
  提高篇
  第6章FPGA高级设计举例
  6.1FPGA编码技巧
  6.2流水线设计
  6.2.1流水线技术的原理
  6.2.2流水线设计及实现思路
  6.2.3流水线设计实例
  6.3FIR滤波器设计
  6.3.1FIR滤波器的数学原理
  6.3.2基于FPGA的FIR滤波器设计及实现思路
  6.3.3FIR滤波器的FPGA实现结构
  6.3.4FIR设计实例
  6.4SPI接口设计
  6.4.1SPI接口原理
  6.4.2SPI接口的设计及实现思路
  6.4.3SPI接口设计实例
  6.5异步FIFO设计
  6.5.1异步FIFO的工作原理
  6.5.2异步FIFO设计及实现思路
  6.5.3异步FIFO设计实例
  第7章FPGA的时序约束与时序分析
  7.1静态时序分析
  7.2DFF时序参数
  7.3时序分析与时序约束
  7.3.1时序分析模型
  7.3.2寄存器与寄存器间时序约束
  7.3.3输入接口时序约束
  7.3.4输出接口时序约束
  7.4时序分析举例
  7.4.1约束文件(xdc、sdc)
  7.4.2约束检查(check_timing)
  7.4.3时序分析
  第8章Zynq SoC嵌入式系统设计
  8.1Zynq结构
  8.1.1Zynq结构概述
  8.1.2APU
  8.1.3PL
  8.1.4片上外设
  8.2系统互连
  8.2.1AXI4总线协议
  8.2.2Zynq内部互连
  8.3基于Zynq平台的嵌入式系统设计
  8.3.1基于Zynq平台的嵌入式系统开发流程
  8.3.2系统设计输入
  8.3.3HLS设计
  8.3.4IP集成
  8.3.5软件设计
  8.4Zynq设计举例
  8.4.1IP集成设计
  8.4.2软件开发
  8.4.3运行效果
  第9章基于Zynq的AI应用——CNN手写数字识别系统
  9.1算法分析
  9.1.1手写识别算法分析
  9.1.2CNN算法简介
  9.1.3Lenet5网络结构
  9.2系统架构
  9.3卷积加速核设计
  9.4硬件架构设计
  9.5软件架构设计
  9.6系统性能分析
  9.6.1功耗评估
  9.6.2器件资源利用率
  9.6.3时序约束
  9.6.4加速性能
  第10章FPGA综合实验
  10.1语音处理系统的FPGA实现
  10.1.1实验设备
  10.1.2功能要求
  10.1.3设计分析
  10.1.4逻辑设计
  10.1.5仿真结果
  10.1.6实现流程
  10.1.7拓展任务
  10.2数字示波器的FPGA实现
  10.2.1实验设备
  10.2.2功能要求
  10.2.3设计分析
  10.2.4逻辑设计
  10.2.5仿真结果
  10.2.6实现流程
  10.2.7拓展任务
  10.3基于Zynq的CNN手写数字识别系统实现
  10.3.1实验设备
  10.3.2功能要求
  10.3.3设计分析
  10.3.4实现步骤
  10.3.5实验效果
  10.3.6拓展任务
  附录ABasys3开发板
  附录BZYBO开发板
  参考文献