书籍 FPGA设计技巧与案例开发详解  第3版的封面

FPGA设计技巧与案例开发详解 第3版PDF电子书下载

韩彬

购买点数

20

出版社

出版时间

2019

ISBN

标注页数

0 页

PDF页数

622 页

图书目录

第一部分 FPGA基础理论 1

第1章 浅谈FPGA技术、优势、学习途径 2

1.1 FPGA的诞生、发展与未来 2

1.1.1 FPGA的诞生 2

1.1.2 FPGA的发展与未来 5

1.1.3 博弈,在入门之前 9

1.2 Altera FPGA介绍及其发展、应用 10

1.2.1 Altera公司介绍 10

1.2.2 Altera公司产品介绍 11

1.2.3 Altera FPGA的开发平台 17

1.2.4 Altera FPGA的动态与应用 20

1.2.5 Altera FPGA的应用 22

1.2.6 对比ARM与DSP,认清FPGA 25

1.3 善用网络资源,不断总结自我 28

第2章 MAX Ⅱ CPLD/Cyclone Ⅳ FPGA PCB硬件设计 32

2.1 浅谈PCB Layout 32

2.2 MAX Ⅱ CPLD核心电路设计 33

2.2.1 MAX Ⅱ CPLD背景及简介 33

2.2.2 EPM240T100C5N设计需求研究分析 35

2.2.3 EPM240T100C5N核心板原理图设计 39

2.2.4 EPM240T100C5N核心板布局布线 42

2.3 Cyclone Ⅳ FPGA核心电路设计 43

2.3.1 Cyclone Ⅳ FPGA简介 43

2.3.2 EP4CE15F12C8N设计需求研究分析 45

2.3.3 Cyclone Ⅳ FPGA核心原理图设计 49

2.3.4 FPGA核心板Layout注意事项 54

2.4 FPGA/CPLD电路焊接、调试经验总结 57

2.5 本书配套FPGA开发平台硬件介绍 60

2.5.1 VIP_Board硬件资源介绍 61

2.5.2 VIP_Board相关外设实物介绍 62

第3章 Quartus Ⅱ软件安装与Verilog HDL简介 67

3.1 Quartus Ⅱ软件安装 67

3.1.1 写在前面的话 67

3.1.2 Quartus Ⅱ 18.0软件下载 68

3.1.3 Quartus Ⅱ 18.0软件安装 69

3.1.4 USB Blaster下载器驱动程序的安装 72

3.2 Verilog HDL设计 75

3.2.1 Verilog HDL与VHDL的对比 75

3.2.2 Verilog HDL的发展 76

3.2.3 Verilog HDL的应用 77

3.3 Testbench文件架构 82

3.3.1 Testbench的介绍 82

3.3.2 Testbench代码设计风格 82

3.4 Quartus Ⅱ工程目录定义约定 85

第二部分 FPGA初级入门 87

第4章 4位计数器的设计与仿真验证 88

4.1 写在前面的话 88

4.2 FPGA/CPLD开发流程 88

4.3 基于Quartus Ⅱ 18.0的4位计数器设计流程 90

4.3.1 Quartus Ⅱ工程的创建 90

4.3.2 4位计数器的逻辑电路设计 93

4.3.3 Quartus Ⅱ编译流程与工程设置分析 96

4.4 基于Modelsim-Intel 10.5 b的4位计数器仿真验证流程 104

4.4.1 关于FPGA设计的各种仿真概念分析 104

4.4.2 Modelsim版本的简要介绍 105

4.4.3 Modelsim工程的创建 106

4.4.4 Testbench激励文件的编写 108

4.4.5 Modelsim波形的仿真与分析 111

4.5 设计思路的验证与总结 118

第5章 LED驱动电路设计 119

5.1 LED驱动电路设计方案1——入门 119

5.1.1 LED驱动电路设计方案 119

5.1.2 8位LED的自加显示实验 122

5.2 LED驱动电路设计方案2——升级 133

5.2.1 LED驱动电路设计方案 133

5.2.2 74HC595驱动分析与实现 134

5.3 8位LED跑马灯显示实验 144

5.4 LED特效呼吸灯的设计 151

5.4.1 PWM协议的基本介绍 151

5.4.2 LED呼吸灯的设计 152

第6章 独立按键与矩阵键盘的FPGA驱动电路实现 163

6.1 按键及其工作模式介绍 163

6.1.1 按键抖动原理分析 164

6.1.2 硬件消抖动 164

6.1.3 软件消抖动 166

6.2 独立按键的FPGA驱动电路设计 166

6.2.1 独立按键电路设计 166

6.2.2 FSM状态机的Verilog HDL介绍 167

6.2.3 FPGA按键驱动电路设计方案1 170

6.2.4 FPGA按键驱动电路设计方案2 183

6.3 矩阵键盘的FPGA驱动电路设计 188

6.3.1 工作原理及电路设计 188

6.3.2 FPGA矩阵键盘驱动电路设计 190

第7章 “Hello World”的LCD1602显示驱动电路实现 202

7.1 LCD1602介绍及硬件设计 202

7.1.1 LCD1602字符液晶介绍 202

7.1.2 LCD1602硬件电路设计 203

7.1.3 LCD1602的时序及初始化分析 206

7.2 LCD1602的FPGA驱动电路实现 210

7.2.1 LCD1602的C语言实现方案 211

7.2.2 LCD1602的Verilog HDL实现方案 212

第8章 优化设计FPGA全局时钟管理模块 225

8.1 异步复位,同步释放机制 225

8.1.1 组合电路中的竞争—冒险 226

8.1.2 时序电路中的竞争—冒险 226

8.2 无PLL的全局时钟管理模块设计 231

8.3 QuartusⅡIP核介绍及PLL的定制 239

8.3.1 QuartusⅡIP核的介绍 239

8.3.2 PLL IP核的定制与分析 245

8.4 带PLL的全局时钟管理模块设计 252

第9章 基于FPGA与MCU通信的SPI总线协议设计 259

9.1 SPI总线协议介绍及硬件的设计 259

9.1.1 SPI总线协议介绍 259

9.1.2 STM8的硬件电路设计 261

9.1.3 SPI总线协议时序分析 264

9.2 SPI总线协议的通信实现 266

9.2.1 STM8的SPI总线收发设计 266

9.2.2 边沿检测电路的FPGA实现 267

9.2.3 SPI通信的数据接收模块设计 269

9.2.4 SPI通信的数据发送模块设计 278

第10章 基于FPGA与PC通信的UART串口设计 285

10.1 追根溯源解析串口通信 285

10.1.1 串口通信简介 285

10.1.2 串口波特率 288

10.1.3 串口协议分析 288

10.2 串口电路的设计 289

10.2.1 TTL转RS-232电路的设计 289

10.2.2 USB转UART电路的设计 290

10.2.3 UART电路的调试 291

10.3 细说真正的任意分频 292

10.3.1 分频电路的重要性 292

10.3.2 任意频率发生器的原理 292

10.3.3 任意频率发生器的验证 294

10.4 串口通信的硬件实现 298

10.4.1 uart_receiver接收模块的设计 298

10.4.2 uart_transfer发送模块的设计 306

10.4.3 PC2FPGA UART联调测试 309

第11章 基于FPGA的VGA驱动显示设计 316

11.1 VGA接口、时序及驱动电路设计 316

11.1.1 VGA接口介绍 316

11.1.2 VGA时序分析 318

11.1.3 RGB三原色模型 321

11.1.4 VGA驱动电路设计 324

11.2 VGA驱动的FPGA实现 329

11.2.1 VGA驱动时序电路的设计 329

11.2.2 任意分辨率的VGA显示控制器设计 340

11.3 “Hello World”的VGA显示驱动实现 344

11.3.1 “Hello World”字模的提取 344

11.3.2 C2Mif软件的介绍与Mif文件的生成 346

11.3.3 VGA字符显示的FPGA实现 351

11.4 彩色图像的VGA显示驱动电路 354

11.4.1 彩色图像显示的理论分析 354

11.4.2 彩色图像的数据提取 356

11.4.3 VGA彩色图像显示的FPGA实现 357

第三部分 FPGA高级进阶 360

第12章 基于SDRAM的VGA显示控制器的设计与实现 361

12.1 跨时钟域数据交互 361

12.2 SDRAM的介绍及其控制器的移植与优化 365

12.2.1 SDRAM的特性及时序驱动介绍 365

12.2.2 SDRAM的硬件驱动电路设计 369

12.2.3 SDRAM控制器的移植与优化 371

12.2.4 Sdram_Control_2Port的封装与协议制定 388

12.3 基于SDRAM的VGA显示控制器的实现 393

第13章 基于OV7725的摄像头视频图像采集系统 404

13.1 系统框架设计思路分析 405

13.1.1 系统框架分析 405

13.1.2 算法的实现流程 406

13.2 OV7725摄像头介绍与视频采集实现 409

13.2.1 CMOS摄像头的简介 409

13.2.2 OV7725的特性介绍及驱动电路设计 411

13.2.3 OV7725 SCCB接口及寄存器介绍 416

13.2.4 OV7725感光阵列与视频时序分析 425

13.2.5 OV7725寄存器I2C初始化设计 428

13.2.6 OV7725的视频采集模块设计 442

13.3 OV7725视频图像显示的实现 459

13.4 本章小结 469

第14章 TimeQuest时序分析与实战演练 470

14.1 写在前面的话 470

14.2 保持裕量和建立裕量的深刻理解 470

14.3 时钟约束——内对内模型 473

14.3.1 内对内模型公式分析 473

14.3.2 约束时钟及PLL 474

14.4 output引脚约束——内对外模型 483

14.4.1 内对外模型公式分析 483

14.4.2 output引脚约束 485

14.5 input引脚约束——外对内模型 486

14.6 阶段性小总结 487

14.7 约束异常 488

14.7.1 Set Multicycle Path 488

14.7.2 Set False Path 492

14.8 决战SDRAM时序约束 492

14.9 Altium Designer查看走线报表 502

第四部分 FPGA终极修炼 505

第15章 基于FPGA的硬件系统设计 506

15.1 FPGA芯片选型 506

15.2 FPGA的与众不同——PCB布局在设计原理图之前 513

15.3 存储器的选型 515

15.4 FPGA外围器件的选择与设计 516

15.4.1 电阻 516

15.4.2 电容 516

15.4.3 磁珠 520

15.4.4 熔丝 521

15.5 基于核心板的系统设计 523

15.6 基于低功耗系统的电源选型 524

15.7 高速系统的PCB设计要点 529

15.7.1 结构布局 529

15.7.2 电路板的多层设计 529

15.7.3 过孔设计要点 530

15.7.4 防止串扰的布线原则 531

15.7.5 差分线布线原则 531

15.7.6 开关电源PCB设计要点 532

15.8 本章小结 533

第16章 FPGA与深度学习加速器 534

16.1 引言 534

16.2 AI兴起的背景与三要素 535

16.3 深度学习背后的技术——AI计算平台发展现状 537

16.3.1 算力需求的来源——深度学习中的训练与推断 537

16.3.2 深度学习中的计算平台 539

16.3.3 深度学习与FPGA 540

16.4 深度学习的FPGA设计导向 543

16.5 基于FPGA的深度学习加速器的优化要点 545

16.5.1 流式处理与构架优化对数据复用率的提升 545

16.5.2 CNN中的数据复用 549

16.5.3 片上存储 550

16.5.4 位宽压缩 552

16.5.5 基于稀疏的模型压缩与计算架构 557

16.6 CNN的FPGA加速器设计 559

16.6.1 CNN中的基本算子 559

16.6.2 CNN加速器中的卷积计算 563

16.6.3 CNN加速器中的存储器优化 565

16.6.4 CNN加速器中的非卷积运算单元 569

16.6.5 CNN加速器的数据依赖与任务并行 570

16.6.6 CNN加速器的设计——实例1 571

16.6.7 CNN加速器的设计——实例2 574

16.7 CNN设计思路的讨论 580

本章小结 583

本章参考文献 583

缩略语对照表 587

会议缩略语对照表 601

符号对照表 602

查看更多关于的内容

出版社其它书籍
本类热门
在线购买PDF电子书
下载此书RAR压缩包