新書推薦:
《
道德经新注 81幅作者亲绘哲理中国画,图文解读道德经
》
售價:HK$
143.4
《
清俗纪闻
》
售價:HK$
98.6
《
镜中的星期天
》
售價:HK$
76.2
《
世界前沿技术发展报告2024
》
售價:HK$
188.2
《
可转债——新手理财的极简工具
》
售價:HK$
65.0
《
新加坡教育:神话与现实
》
售價:HK$
96.3
《
“口袋中的世界史”第一辑·冷战中的危机事件
》
售價:HK$
291.2
《
绝美的奥伦堡蕾丝披肩编织
》
售價:HK$
177.0
|
編輯推薦: |
知识的全面性。内容涵盖FPGA结构、FPGA设计方法、FPGA设计实现、FPGA嵌入式系统、FPGA应用等,全面深入介绍FPGA数字系统的设计方法、设计手段。
? 内容的新颖性。以CNN手写数字识别系统为例,详细介绍了系统结构设计、卷积加速核设计、软硬件设计等,让读者深入掌握基于FPGA的人工智能应用和开发方法。
? 实践的系统性。梳理出数字系统结构一般包含信号采集、信号传输、信号处理、信号输出,针对性地设置了四部分基础实验内容,并以此为基础设置了综合实验环节。
? 用例的准确性。在长期的工程实践中,积累了严格的硬件描述语言的规范及检测工具,所有的用例经过工具检测,确保用例的准确性,主要用例均经过严格仿真。
|
內容簡介: |
本书在全面介绍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开发板
参考文献
|
內容試閱:
|
前言
随着半导体技术的发展和EDA设计技术的进步,现代数字系统向着高集成度、高速度、低功耗、系统化的方向发展,传统的数字电路设计方法已经难以适应现代数字系统发展,基于FPGA平台、采用硬件描述语言进行数字系统设计是现代数字系统设计的重要方向。近年来随着人工智能的兴起,在深度学习的效率方面,FPGA表现出GPU无法比拟的优势。
为了便于读者学习和掌握FPGA相关内容,本书主要突出了基础与提高并重、强化实践、面向应用的思想。
为了体现基础与提高并重的指导思想,内容上设置了基础篇和提高篇两个篇章,基础篇包括第1~5章,涵盖可编程器件基础、Verilog HDL语言基础、数字逻辑HDL描述、基于Vivado的FPGA开发流程、FPGA基础实验,基础篇内容对Verilog HDL语言规范进行了适当删减,删除了诸如原语、fork join等实际FPGA应用中较少涉及的内容,使读者专注于掌握FPGA基本电路设计; 提高篇包括第6~10章,内容包括FPGA高级设计举例、FPGA的时序约束与时序分析、Zynq SoC嵌入式系统设计、基于Zynq的AI应用CNN手写数字识别系统、FPGA综合实验,可适用于高年级相关专业本科生、研究生设计复杂FPGA电路和系统。
实践是学习FPGA的关键一环,我们梳理出数字系统结构一般包含信号采集、信号传输、信号处理、信号输出(执行)四部分,为此在基础实验部分设置了对应的四部分FPGA实验,使读者掌握FPGA基础电路设计的同时,全面了解数字系统的基本结构,为设计FPGA数字系统奠定基础; 提高篇的综合实验部分,以信号采集、信号传输、信号处理、信号输出(执行)为基础,设置了经典数字电路、多媒体处理和人工智能三个综合性实验。通过基础实验和综合实验,强化读者的FPGA实践能力。
FPGA有着广泛的应用,书中的许多实例来自工程实际。考虑人工智能是当今科技发展的热点方向并且基于FPGA的人工智能获得了重要应用,我们针对性地设置了CNN手写数字识别系统的章节和综合实验,既让读者掌握了FPGA嵌入式系统开发方法,又学习了FPGA在人工智能领域应用的优势,让读者体会到利用FPGA实现人工智能的乐趣。
本书共10章,具体内容为:
第1章可编程逻辑器件基础。内容包括专用集成电路的分类、CPLDFPGA的工作原理和典型的CPLDFPGA器件结构。
第2章Verilog HDL语言基础。内容包括硬件描述语言、Verilog HDL模块结构、语言要素、表达式和运算符、行为建模、结构化建模、系统任务和系统函数、编译指令。
第3章数字逻辑HDL描述。内容包括组合逻辑电路设计、时序逻辑电路设计、有限状态机设计,通过实例介绍了相关电路的设计方法。
第4章基于Vivado的FPGA开发流程。内容包括设计规划、设计输入、功能仿真、综合、时序仿真、FPGA调试,覆盖了FPGA开发的各个过程。
第5章FPGA基础实验。内容包括信号采集、信号传输、信号处理、信号输出。
第6章FPGA高级设计举例。内容包括FPGA编码技巧、流水线设计、FIR滤波器设计、SPI接口设计、异步FIFO设计。
第7章FPGA的时序约束与时序分析。内容包括静态时序分析、DFF时序参数、时序分析与时序约束,最后结合实例讨论了时序分析的过程。
第8章Zynq SoC嵌入式系统设计。内容包括Zynq结构、系统互连、基于Zynq平台的软硬件设计、Zynq设计举例。
第9章基于Zynq的AI应用CNN手写数字识别系统。内容包括算法分析、系统架构、卷积加速核设计、硬件架构设计、软件架构设计,最后对系统性能进行了评估分析。
第10章FPGA综合实验。内容包括语音处理系统的FPGA实现、数字示波器的FPGA实现、基于Zynq的CNN手写数字识别系统实现。
为了方便读者的学习,提供了本书的教学课件和所用设计实例的完整代码,可以在清华大学出版社网站(http:www.tup.com.cn)下载。本书的实验不限于Basys3、ZYBO FPGA板,后续我们将进一步增加其他主流FPGA实验板的约束文件。
在本书的编写过程中,引用和参考了诸多专家和教授的研究成果,同时也参考了Xilinx公司的大量技术文档,在此向他们表示衷心的感谢。全书由薛一鸣、文娟、何宁宁、李木槿编写。我校王建平教授、中国科学院半导体所肖宛昂研究员审校了全书。全书由薛一鸣负责统稿。在编写过程中陈鹞、刘树荣参加了部分编码和测试工作,在此一并向他们表示感谢。在本书的出版过程中,得到了清华大学出版社王芳编辑的帮助和精心指导,也得到了美国Digilent公司的大力支持和帮助,在此也表示深深的谢意。感谢作者的家人对我工作的理解和支持。
时光如梭,今年是作者从事芯片、FPGA设计二十年,同时也是作者将科研引入教学开设EDA技术课程二十年。二十年来作者先后开发了多款多媒体大规模集成电路,更欣慰的是作者指导过的多名学生如今在国内外著名集成电路设计公司从事集成电路的前沿设计工作。这本书凝结了作者多年科研和教学的一些体会,但由于作者经验、能力有限,书中难免有疏漏的地方,敬请读者批评指正。
薛一鸣2019年10月
|
|