当前位置:首页 > 工业技术
卓越工程能力培养与工程教育专业认证系列规划教材  FPGA系统设计
卓越工程能力培养与工程教育专业认证系列规划教材  FPGA系统设计

卓越工程能力培养与工程教育专业认证系列规划教材 FPGA系统设计PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:(中国)蔡述庭,陈平,李嘉辉
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2019
  • ISBN:9787111628309
  • 页数:384 页
图书介绍:本书描述了FPGA系统的设计方法、流程、技巧以及工具使用,内容涵盖了FPGA设计流程、硬件描述语言Verilog HDL、基础电路设计、逻辑综合、Synplify与DC工具使用、测试平台的撰写以及ModelSim的使用;重点对卷积神经网络(CNN)的FPGA实现进行了深入阐述;随后通过一个电机控制实例来描述FPGA系统级的设计过程;接着介绍了DO-254标准在FPGA设计中的应用。为了便于读者实践操作,书中给出了丰富的FPGA设计实验,包括基础实验和基于Qsys、SOPC的综合实验,同时介绍了VivadoHLS工具的使用。本书实例丰富,且贴近实际开发,书中给出的源代码都经过了实际项目的检验,读者可在机械工业出版社网站下载相关的源代码。  本书可作为电子、通信、自动化、计算机科学与技术等相关专业的高年级本科生及研究生的教学用书,也可作为从事FPGA设计工作的工程师的参考图书。
《卓越工程能力培养与工程教育专业认证系列规划教材 FPGA系统设计》目录

第1章 FPGA设计概论 1

1.1 FPGA芯片结构与特点 1

1.2 FPGA工作原理 3

1.3 FPGA主要器件 4

1.3.1 Xilinx 4

1.3.2 Altera 8

1.4 FPGA设计流程 12

1.5 FPGA开发工具 15

1.6 FPGA应用 17

第2章 硬件描述语言Verilog 18

2.1 Verilog HDL的基本规范 19

2.1.1 标识符 19

2.1.2 转义标识符 19

2.1.3 空白符 19

2.1.4 注释 19

2.2 数据类型 20

2.2.1 逻辑值 20

2.2.2 线网与寄存器 20

2.2.3 数字的表示 21

2.2.4 向量 22

2.2.5 数组 23

2.2.6 参数 23

2.2.7 字符串 23

2.3 运算符 24

2.3.1 算术运算符 24

2.3.2 逻辑操作符 24

2.3.3 关系运算符 24

2.3.4 按位操作符 25

2.3.5 缩减操作符 25

2.3.6 移位操作符 26

2.3.7 拼接操作符 26

2.3.8 重复操作符 26

2.3.9 条件操作符 26

2.3.10 操作符的优先级 26

2.4 模块 27

2.4.1 模块的基本概念 27

2.4.2 模块的例化 30

2.4.3 模块的测试 33

2.5 过程语句 34

2.5.1 两个过程 34

2.5.2 寄存器变量的过程赋值 35

2.5.3 线网变量的连续赋值 36

2.5.4 时序控制 36

2.5.5 顺序代码块与并行代码块 38

2.6 流程控制 39

2.7 任务和函数 40

2.8 系统任务 40

2.9 编译指令 40

2.10 阻塞赋值与非阻塞赋值 41

第3章 FPGA基础电路设计 43

3.1 组合电路 43

3.2 时序电路 47

3.3 数据通路 57

3.3.1 加法器基础理论 57

3.3.2 常用数据通路设计 63

第4章 逻辑综合 68

4.1 逻辑综合目的 68

4.2 DC综合 69

4.2.1 准备Design Compiler启动脚本文件 70

4.2.2 约束文件 70

4.2.3 报告分析 77

4.2.4 优化的参数选择 80

4.2.5 关于综合结果 80

4.3 Synplify的综合设计 81

4.4 HDL的可综合性设计 88

4.4.1 状态机设计 89

4.4.2 实例化资源 90

4.4.3 综合选项 90

第5章 testbench与ModelSim仿真 93

5.1 testbench实例 93

5.1.1 产生时钟信号 98

5.1.2 提供激励信号 99

5.1.3 显示结果 100

5.1.4 Verilog HDL testbench实例 101

5.1.5 自动验证 103

5.1.6 自我检查testbench 103

5.1.7 编写testbench的准则 103

5.2 仿真工具ModelSim 104

第6章 基于HDL的卷积神经网络的实现 109

6.1 引言 109

6.2 设计的架构与设计特点 109

6.2.1 设计的架构 109

6.2.2 加速模块的设计特点 110

6.3 加速器控制器accelerator_controller的实现 110

6.3.1 寄存器的定义 110

6.3.2 可读写寄存器的写操作 111

6.3.3 所有寄存器的读操作 113

6.3.4 只读寄存器的更新 115

6.3.5 加速器控制器端口的补充说明 116

6.4 DDR读写模块data_transfer的实现 117

6.4.1 写通道模块write_channel的实现 118

6.4.2 读通道模块的实现 131

6.5 加速模块cnnff_fpga的实现 135

6.5.1 cnnff_fpga的整体构成 135

6.5.2 第一卷积层conv1的实现 137

6.5.3 第二卷积层conv2的实现 148

6.5.4 全连接层fc的实现 156

6.5.5 第一下采样层samp1的实现 159

6.5.6 激活函数计算及相关公共模块的实现 160

6.5.7 使用各层构建整个网络 163

6.6 在Vivado上的实践 165

6.6.1 在Vivado上实现一个卷积神经网络加速系统 165

6.6.2 软件代码讲解 191

6.6.3 上板实践 196

6.7 本章小结 200

6.8 附录:卷积神经网络的简介 201

第7章 数字直放站的FPGA设计 203

7.1 直放站FPGA系统设计 203

7.2 数据接口 204

7.2.1 ADC接口 204

7.2.2 DAC接口 211

7.2.3 SPI接口 213

7.3 信号处理部分 216

7.3.1 数据的抽取和内插 216

7.3.2 信号的上变频(DUC)和下变频(DDC) 223

第8章 永磁同步电动机矢量控制系统的FPGA实现 239

8.1 永磁同步电动机矢量控制系统简介 239

8.2 系统的硬件平台 241

8.3 软件开发平台 243

8.4 FPGA片上电路设计 245

8.5 实验验证 276

第9章 可靠性设计——DO-254 281

9.1 DO-254 281

9.2 FPGA与DO-254 282

9.2.1 DO-254基本情况 282

9.2.2 DO-254硬件的生命周期 283

9.2.3 规划 284

9.2.4 硬件安全性评价 284

9.2.5 硬件设计流程 284

9.2.6 支持流程 285

9.2.7 文档和组织 285

9.3 DO-254标准和美国联邦航空局 286

9.3.1 联邦航空局授权审查 286

9.3.2 美国联邦航空局的介入程度 286

9.3.3 DO-254附加的主题 286

9.4 DO-254项目的FPGA工具流程 287

9.4.1 评估 288

9.4.2 合格认证 288

9.5 FPGA设计的工具流程 288

9.5.1 需求获取 288

9.5.2 概要设计 289

9.5.3 详细设计 289

9.5.4 实施 289

9.5.5 生产转化 290

9.6 本章小结 290

第10章 FPGA实验 292

实验一 LED灯控制 292

实验二 基于IP核设计的数码管显示 298

实验三 基于Verilog设计的数码管显示 303

实验四 基于DSP Builder设计的clark坐标变换模块 304

实验五 分别基于SOPC Builder和Qsys工具控制LED灯 317

实验六 基于NiosⅡ定时中断控制LED闪烁 334

实验七 NiosⅡ与LabVIEW的串口通信 340

实验八 程序烧写 347

实验九 Vivado HLS设计流程实验 353

实验十 基于SoC平台的图像显示 364

实验十一 基于SoC平台的以太网通信及图像显示 376

参考文献 384

相关图书
作者其它书籍
返回顶部