全部商品分类

您现在的位置: 全部商品分类 > 电子电脑 > 计算机技术 > 硬件及维护

FPGA设计技巧与案例开发详解(第3版)

  • 定价: ¥168
  • ISBN:9787121334917
  • 开 本:16开 平装
  •  
  • 折扣:
  • 出版社:电子工业
  • 页数:603页
  • 作者:编者:韩彬//于潇...
  • 立即节省:
  • 2019-11-01 第3版
  • 2019-11-01 第1次印刷
我要买:
点击放图片

导语

  

内容提要

  

    本书追根溯源,由浅入深,从可编程逻辑器件的发展历史到未来FPGA的应用发展之路,从FPGA的底层架构分析到单板PCB板卡设计及调试,从基本接口外设驱动开发到图文显示相机成像的方案设计,从高速并行逻辑思维到FPGA深度学习加速引擎的介绍等,以点一线一面的思维,循序渐进,彻底解决了学习FPGA书籍的枯燥乏闷,让读者从FPGA历史、架构、单板、设计思维、设计方案及FPGA的优势等方面,全面地了解FPGA的设计思维与开发方式。
    本书既适合FPGA初学者和爱好者阅读,也可供采用FPGA进行视频图像开发的工程师参考,还可作为大中专院校师生和相关培训学校的教材。本书目前已经累计销售数万册,深受FPGA工程师的喜爱,广受好评,同时也已被选作国内多所高校的教材。

目录

第一部分  FPGA基础理论
  第1章  浅谈FPGA技术、优势、学习途径
    1.1  FPGA的诞生、发展与未来
      1.1.1  FPGA的诞生
      1.1.2  FPGA的发展与未来
      1.1.3  博弈,在入门之前
    1.2  Altera FPGA介绍及其发展、应用
      1.2.1  Altera公司介绍
      1.2.2  Altera公司产品介绍
      1.2.3  Altera FPGA的开发平台
      1.2.4  Altera FPGA的动态与应用
      1.2.5  A1tera FPGA的应用
      1.2.6  对比ARM与DSP,认清FPGA
    1.3  善用网络资源,不断总结自我
  第2章  MAX II CPLD/Cyclone IV FPGA PCB硬件设计
    2.1  浅谈PCB Layout
    2.2  MAX II CPLD核心电路设计
      2.2.1  MAX II CPLD背景及简介
      2.2.2  EPM240T100C5N设计需求研究分析
      2.2.3  EPM240T100C5N核心板原理图设计
      2.2.4  EPM240T100C5N核心板布局布线
    2.3  Cvclone IV FPGA核心电路设计
      2.3.1  Cyclone IV FPGA简介
      2.3.2  EP4CE15F12C8N设计需求研究分析
      2.3.3  Cyclone IV FPGA核心原理图设计
      2.3.4  FPGA核心板Layout注意事项
    2.4  FPGA/CPLD电路焊接、调试经验总结
    2.5  本书配套FPGA开发平台硬件介绍
      2.5.1  VIP_Board硬件资源介绍
      2.5.2  VIP_Board相关外设实物介绍
  第3章  Quartus II软件安装与Venlog HDL简介
    3.1  Quartus II软件安装
      3.1.1  写在前面的话
      3.1.2  Quartus II 18.0软件下载
      3.1.3  Quartus II 18.0软件安装
      3.1.4  USB Blaster下载器驱动程序的安装
    3.2  Verilog HDL设计
      3.2.1  Verilog HDL与VHDL的对比
      3.2.2  Verilog HDL的发展
      3.2.3  Verilog HDL的应用
    3.3  Testbench文件架构
      3.3.1  Testbench的介绍
      3.3.2  Testbench代码设计风格
    3.4  Quartus II工程目录定义约定
第二部分  FPGA初级入门
  第4章  4位计数器的设计与仿真验证
    4.1  写在前面的话
    4.2  FPGA/CPLD开发流程
    4.3  基于Quartus II 18.0的4位计数器设计流程
      4.3.1  Quartus II工程的创建
      4.3.2  4位计数器的逻辑电路设计
      4.3.3  Quartus II编译流程与工程设置分析
    4.4  基于Modelsim-Intel 10.5b的4位计数器仿真验证流程
      4.4.1  关于FPGA设计的各种仿真概念分析
      4.4.2  Modelsim版本的简要介绍
      4.4.3  Modelsim工程的创建
      4.4.4  Testbench激励文件的编写
      4.4.5  Modelsim波形的仿真与分析
    4.5  设计思路的验证与总结
  第5章  LED驱动电路设计
    5.1  LED驱动电路设计方案1——入门
      5.1.1  LED驱动电路设计方案
      5.1.2  8位LED的自加显示实验
    5.2  LED驱动电路设计方案2——升级
      5.2.1  LED驱动电路设计方案
      5.2.27  4HC595驱动分析与实现
    5.3  8位LED跑马灯显示实验
    5.4  LED特效呼吸灯的设计
      5.4.1  PWM协议的基本介绍
      5.4.2  LED呼吸灯的设计
  第6章  独立按键与矩阵键盘的FPGA驱动电路实现
    6.1  按键及其工作模式介绍
      6.1.1  按键抖动原理分析
      6.1.2  硬件消抖动
      6.1.3  软件消抖动
    6.2  独立按键的FPGA驱动电路设计
      6.2.1  独立按键电路设计
      6.2.2  FSM状态机的Verilog HDL介绍
      6.2.3  FPGA按键驱动电路设计方案1
      6.2.4  FPGA按键驱动电路设计方案2
    6.3  矩阵键盘的FPGA驱动电路设计
      6.3.1  工作原理及电路设计
      6.3.2  FPGA矩阵键盘驱动电路设计
  第7章  “Hello Word”的LCD1602显示驱动电路实现
    7.1  LCD1602介绍及硬件设计
      7.1.1  LCD1602字符液晶介绍
      7.1.2  LCD1602硬件电路设计
      7.1.3  LCD1602的时序及初始化分析
    7.2  LCD1602的FPGA驱动电路实现
      7.2.1  LCD1602的C语言实现方案
      7.2.2  LCD1602的Verilog HDL实现方案
  第8章  优化设计FPGA全局时钟管理模块
    8.1  异步复位,同步释放机制
      8.1.1  组合电路中的竞争一冒险
      8.1.2  时序电路中的竞争一冒险
    8.2  无PLL的全局时钟管理模块设计
    8.3  Quartus II IP核介绍及PLL的定制
      8.3.1  Quartus II IP核的介绍
      8.3.2  PLL IP核的定制与分析
    8.4  带PLL的全局时钟管理模块设计
  第9章  基于FPGA与MCU通信的SPI总线协议设计
    9.1  SPI总线协议介绍及硬件的设计
      9.1.1  SPI总线协议介绍
      9.1.2  STM8的硬件电路设计
      9.1.3  SPI总线协议时序分析
    9.2  SPI总线协议的通信实现
      9.2.1  STM8的SPI总线收发设计
      9.2.2  边沿检测电路的FPGA实现
      9.2.3  SPI通信的数据接收模块设计
      9.2.4  SPI通信的数据发送模块设计
  第10章  基于FPGA与PC通信的UART串口设计
    10.1  追根溯源解析串口通信
      10.1.1  串口通信简介
      10.1.2  串口波特率
      10.1.3  串口协议分析
    10.2  串口电路的设计
      10.2.1  TTL转RS-232电路的设计
      10.2.2  USB转UART电路的设计
      10.2.3  UART电路的调试
    10.3  细说真正的任意分频
      10.3.1  分频电路的重要性
      10.3.2  任意频率发生器的原理
      10.3.3  任意频率发生器的验证
    10.4  串口通信的硬件实现
      10.4.1  uart_receiver接收模块的设计
      10.4.2  uart_transfer发送模块的设计
      10.4.3  PC2FPGA UART联调测试
  第11章  基于FPGA的VGA驱动显示设计
    11.1  VGA接口、时序及驱动电路设计
      11.1.1  VGA接口介绍
      11.1.2  VGA时序分析
      11.1.3  RGB三原色模型
      11.1.4  VGA驱动电路设计
    11.2  VGA驱动的FPGA实现
      11.2.1  VGA驱动时序电路的设计
      11.2.2  任意分辨率的VGA显示控制器设计
    11.3  “Hello World”的VGA显示驱动实现
      11.3.1  “Hello World”字模的提取
      11.3.2  C2Mif软件的介绍与Mif文件的生成
      11.3.3  VGA字符显示的FPGA实现
    11.4  彩色图像的VGA显示驱动电路
      11.4.1  彩色图像显示的理论分析
      11.4.2  彩色图像的数据提取
      11.4.3  VGA彩色图像显示的FPGA实现
第三部分  FPGA高级进阶
  第12章  基于SDRAM的VGA显示控制器的设计与实现
    12.1  跨时钟域数据交互
    12.2  SDRAM的介绍及其控制器的移植与优化
      12.2.1  SDRAM的特性及时序驱动介绍
      12.2.2  SDRAM的硬件驱动电路设计
      12.2.3  SDRAM控制器的移植与优化
      12.2.4  Sdram_Control_2Port的封装与协议制定
    12.3  基于SDRAM的VGA显示控制器的实现
  第13章  基于OV7725的摄像头视频图像采集系统
    13.1  系统框架设计思路分析
      13.1.1  系统框架分析
      13.1.2  算法的实现流程
    13.2  OV7725摄像头介绍与视频采集实现
      13.2.1  CMOS摄像头的简介
      13.2.2  OV7725的特性介绍及驱动电路设计
      13.2.3  OV7725 SCCB接口及寄存器介绍
      13.2.4  OV7725感光阵列与视频时序分析
      13.2.5  OV7725寄存器I2C初始化设计
      13.2.6  OV7725的视频采集模块设计
    13.3  OV7725视频图像显示的实现
    13.4  本章小结
  第14章  TimeQuest时序分析与实战演练
    14.1  写在前面的话
    14.2  保持裕量和建立裕量的深刻理解
    14.3  时钟约束——内对内模型
      14.3.1  内对内模型公式分析
      14.3.2  约束时钟及PLL
    14.4  output引脚约束——内对外模型
      14.4.1  内对外模型公式分析
      14.4.2  output引脚约束
    14.5  input引脚约束——外对内模型
    14.6  阶段性小总结
    14.7  约束异常
      14.7.1  Set Multicycle Path
      14.7.2  Set False Path
    14.8  决战SDRAM时序约束
      14.9  Altium Designer查看走线报表
第四部分  FPGA终极修炼
  第15章  基于FPGA的硬件系统设计
    15.1  FPGA芯片选型
    15.2  FPGA的与众不同——PCB布局在设计原理图之前
    15.3  存储器的选型
    15.4  FPGA外围器件的选择与设计
      15.4.1  电阻
      15.4.2  电容
      15.4.3  磁珠
      15.4.4  熔丝
    15.5  基于核心板的系统设计
    15.6  基于低功耗系统的电源选型
    15.7  高速系统的PCB设计要点
      15.7.1  结构布局
      l5.7.2  电路板的多层设计
      15.7.3  过孔设计要点
      15.7.4  防止串扰的布线原则
      15.7.5  差分线布线原则
      15.7.6  开关电源PCB设计要点
    15.8  本章小结
  第16章  FPGA与深度学习加速器
    16.1  引言
    16.2  AI兴起的背景与三要素
    16.3  深度学习背后的技术——AI计算平台发展现状
      16.3.1  算力需求的来源——深度学习中的训练与推断
      16.3.2  深度学习中的计算平台
      16.3.3  深度学习与FPGA
    16.4  深度学习的FPGA设计导向
    16.5  基于FPGA的深度学习加速器的优化要点
      16.5.1  流式处理与构架优化对数据复用率的提升
      16.5.2  CNN中的数据复用
      16.5.3  片上存储
      16.5.4  位宽压缩
      16.5.5  基于稀疏的模型压缩与计算架构
    16.6  CNN的FPGA加速器设计
      16.6.1  CNN中的基本算子
      16.6.2  CNN加速器中的卷积计算
      16.6.3  CNN加速器中的存储器优化
      16.6.4  CNN加速器中的非卷积运算单元
      16.6.5  CNN加速器的数据依赖与任务并行
      16.6.6  CNN加速器的设计——实例1
      16.6.7  CNN加速器的设计——实例2
    16.7  CNN设计思路的讨论
    本章小结
    本章参考文献
缩略语对照表
会议缩略语对照表
符号对照表