目录
第1章万丈高楼平地起——FPGA基础入门
1.1FPGA基础概念
1.1.1FPGA是什么
1.1.2FPGA与ASIC
1.1.3FPGA、ARM和DSP
1.1.4Verilog与VHDL
1.1.5Altera与Xilinx
1.2FPGA发展概述
1.3FPGA的优势
1.4FPGA应用领域
1.5FPGA开发流程
1.6FPGA开发技能
1.7FPGA进阶之路
第2章化繁为简0和1——逻辑设计基础
2.10和1——精彩世界由此开始
2.2表面现象揭秘——逻辑关系
2.2.1基本逻辑门电路
2.2.2逻辑门电路与二进制运算
2.2.3逻辑门电路与触发器
2.2.4时序逻辑与组合逻辑
2.3内里本质探索——器件结构
2.3.1逻辑门电路的晶体管实现
2.3.2基于LUT的FPGA门电路实现
2.3.3Xilinx FPGA的可配置逻辑块
2.3.4Xilinx FPGA的内部结构
2.4从现象到本质——映射关系
2.4.1HDL代码
2.4.2RTL综合
2.4.3综合
2.4.4实现
2.4.5生成烧录文件
第3章码农人生也精彩——Verilog语法、代码风格与书写规范
3.1语法学习的经验之谈
3.2可综合的语法子集
3.3代码风格与书写规范
第4章慢工细活出工匠——FPGA板级电路设计
4.1板级电路整体架构
4.2电源电路
4.3FPGA时钟与复位电路
4.3.1FPGA时钟晶振电路
4.3.2FPGA复位电路
4.4FPGA配置电路
4.5FPGA供电电路
4.6DDR3芯片电路
4.7UART芯片电路
4.8LVDS接口电路
4.9RTC接口电路
4.104×4矩阵按键电路
4.11DAC芯片电路
4.12蜂鸣器、流水灯、数码管与拨码开关电路
4.13外扩LCD接口、超声波接口电路
4.14FPGA引脚定义
第5章工欲善其事,必先利其器——软件安装与配置
5.1Xilinx账户注册与Vivado软件下载
5.1.1Xilinx账户注册
5.1.2Vivado下载
5.2Vivado安装与免费License申请
5.2.1Vivado安装
5.2.2免费License申请
5.3文本编辑器Notepad 安装
5.4Vivado中使用Notepad 的关联设置
5.5串口芯片驱动安装
5.5.1驱动安装
5.5.2设备识别
5.6TortoiseSVN安装
第6章千里之行始于足下——个完整的工程实例
6.1蜂鸣器实例
6.1.1功能概述
6.1.2新建Vivado工程
6.1.3创建工程源码、约束和仿真文件
6.1.4功能仿真
6.1.5编译
6.2Xilinx 7系列FPGA配置概述
6.2.1FPGA配置比特流的大小
6.2.2FPGA加载配置方式选择
6.2.3配置引脚功能定义
6.3XADC温度监控界面
6.4bit文件的FPGA在线烧录
6.5mcs文件的QSPI Flash固化
6.5.1FPGA配置选项
6.5.2生成mcs文件
6.5.3下载mcs文件
第7章代码也要5S——基于SVN的工程源码备份管理
7.1SVN介绍
7.2SVN使用实例
7.2.1次备份工程文件
7.2.2提交新版本工程文件
7.2.3取回老版本工程文件
第8章实践出真知——基础入门实例篇
8.1拨码开关的LED控制实例
8.1.1功能概述
8.1.2代码解析
8.1.3板级调试
8.2流水灯实例
8.2.1功能概述
8.2.2代码解析
8.2.3板级调试
8.3PLL的IP核配置实例
8.3.1功能概述
8.3.2模块化设计
8.3.3PLL IP核配置说明
8.3.4代码解析
8.3.5板级调试
8.4自定义IP核创建与配置实例
8.4.1创建IP核
8.4.2移植IP核
8.4.3配置、例化IP核
8.4.4板级调试
8.538译码器实例
8.5.1功能概述
8.5.2代码解析
8.5.3板级调试
8.6按键消抖实例
8.6.1按键消抖原理
8.6.2功能概述
8.6.3代码解析
8.6.4板级调试
8.7数码管驱动实例
8.7.1数码管驱动原理
8.7.2功能概述
8.7.3代码解析
8.7.4板级调试
8.84×4矩阵按键实例
8.8.1矩阵按键工作原理
8.8.2功能概述
8.8.3代码解析
8.8.4板级调试
8.9UART的loopback实例
8.9.1功能概述
8.9.2代码解析
8.9.3板级调试
8.10超声波测距实例
8.10.1功能概述
8.10.2距离计算公式实现
8.10.3进制换算实现
8.10.4乘法器IP核添加与配置
8.10.5除法器IP核添加与配置
8.10.6代码解析
8.10.7板级调试
8.11SPI接口DAC驱动控制
8.11.1DAC芯片概述
8.11.2功能概述
8.11.3代码解析
8.11.4板级调试
8.12I2C接口RTC时间显示控制
8.12.1功能概述
8.12.2I2C协议介绍
8.12.3代码解析
8.12.4板级调试
8.137寸液晶屏ColorBar显示驱动
8.13.1功能概述
8.13.2装配说明
8.13.3代码解析
8.13.4板级调试
第9章无处不模拟——XADC实例篇
9.1基于XADC的A/D采集显示
9.1.1功能概述
9.1.2XADC的 IP核创建与配置
9.1.3代码解析
9.1.4板级调试
9.2基于XADC的FPGA内部温度采集显示
9.2.1功能概述
9.2.2查找表生成
9.2.3ROM IP核添加与配置
9.2.4板级调试
第10章存储重要——DDR3实例篇
10.1DDR3 IP核配置与仿真
10.1.1DDR3 IP核概述
10.1.2DDR3 IP核配置
10.1.3DDR3 IP核仿真
10.2基于在线逻辑分析仪调试DDR3数据读写
10.2.1功能概述
10.2.2DDR3控制器IP接口时序解析
10.2.3代码解析
10.2.4在线逻辑分析仪配置
10.2.5在线逻辑分析仪调试
10.3基于UART命令的DDR3批量数据读写
10.3.1功能概述
10.3.2代码解析
10.3.3板级调试
第11章我愿全速漂移——LVDS实例篇
11.1LVDS数据收发实例
11.1.1功能概述
11.1.2bit align处理
11.1.3代码解析
11.1.4装配说明
11.1.5板级调试
11.2带CRC校验的LVDS数据收发实例
11.2.1功能概述
11.2.2CRC校验基本原理
11.2.3CRC8检验代码生成
11.2.4代码解析
11.2.5板级调试
第12章实战演练——综合项目实例篇
12.1倒车雷达
12.1.1功能概述
12.1.2代码解析
12.1.3板级调试
12.2波形发生器
12.2.1功能概述
12.2.2CORDIC的IP核配置与例化
12.2.3代码解析
12.2.4板级调试
12.3工业现场监控界面设计
12.3.1功能概述
12.3.2代码解析
12.3.3字符取模
12.3.4板级调试
第13章雕虫小技——板级在线调试篇
13.1Vivado在线调试概述
13.2在线逻辑分析仪应用实例
13.2.1探测阶段
13.2.2实现阶段
13.2.3分析阶段
13.3虚拟I/O应用实例
13.3.1探测阶段
13.3.2实现阶段
13.3.2分析阶段
参考文献