《勇敢的芯伴你玩转Altera FPGA》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:吴厚航编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302474210
  • 页数:330 页
图书介绍:使用Xilinx公司的Spartan6 FPGA器件,由浅入深的引领读者从板级设计、基础入门实例、FPGA片内资源应用实例和综合进阶实例等方面,玩转FPGA逻辑设计。本书基于特定的FPGA实验平台,既有足够的理论知识深度作支撑,也有丰富的例程进行实践学习,并且穿插着笔者多年FPGA学习和开发过程中的各种经验和技巧。

第1章 FPGA开发入门 1

1.1 FPGA基础入门 1

1.2 FPGA的优势在哪里 4

1.3 FPGA应用领域 5

1.4 FPGA开发流程 6

第2章 实验平台“勇敢的芯”板级电路详解 8

2.1 板级电路整体架构 8

2.2 电源电路 10

2.3 复位与时钟电路 12

2.3.1 关于FPGA器件的时钟 12

2.3.2 关于FPGA器件的复位 14

2.3.3 实验平台电路解析 14

2.4 FPGA下载配置电路 15

2.5 SRAM接口电路 17

2.6 ADC/DAC芯片电路 18

2.7 UART接口电路 19

2.8 RTC接口电路 19

2.9 4×4矩阵按键电路 20

2.10 VGA显示接口电路 21

2.11 蜂鸣器、流水灯、数码管、拨码开关电路 22

2.12 超声波接口、外扩LCD接口电路 22

第3章 逻辑设计基础 24

3.1 0和1——精彩世界由此开始 24

3.2 表面现象揭秘——逻辑关系 26

3.3 内里本质探索——器件结构 30

第4章 软件安装与配置 35

4.1 软件下载和license申请 35

4.2 Quartus Ⅱ与ModelSim-Altera的安装 36

4.3 文本编辑器Notepad++安装 37

4.4 Quartus Ⅱ中使用Notepad++的关联设置 41

4.5 USB-Blaster的驱动安装 43

4.5.1 Windows XP系统USB-Blaster安装 43

4.5.2 在Windows 7系统安装USB-Blaster 45

4.5.3 在Windows 8系统安装USB-Blaster 47

4.6 串口芯片驱动安装 48

4.6.1 驱动安装 48

4.6.2 设备识别 48

第5章 Verilog语法概述 50

5.1 语法学习的经验之谈 50

5.2 可综合的语法子集 52

5.3 代码风格与书写规范 57

第6章 基于仿真的第一个工程实例 72

6.1 新建工程 72

6.2 Verilog源码文件创建与编辑 75

6.2.1 Verilog源码文件创建 75

6.2.2 Verilog源码文件编辑 75

6.3 Verilog语法检查 76

6.4 ModelSim仿真验证 77

6.4.1 Quartus Ⅱ基本设置 77

6.4.2 测试脚本创建与编辑 77

6.4.3 测试脚本关联设置 80

6.4.4 调用ModelSim仿真 82

第7章 基于板级调试的第二个工程实例 84

7.1 PWM蜂鸣器驱动——功能概述 84

7.2 PWM蜂鸣器驱动——引脚分配 86

7.3 PWM蜂鸣器驱动——综合、映射与配置文件产生 88

7.4 Altera FPGA配置方式 90

7.4.1 概述 90

7.4.2 配置方式 91

7.5 PWM蜂鸣器驱动——FPGA在线下载配置 92

7.6 PWM蜂鸣器驱动——FPGA配置芯片固化 94

7.7 PWM蜂鸣器驱动——复位与FPGA重配置功能 98

第8章 基础入门实例 100

8.1 蜂鸣器开关实例 100

8.1.1 功能简介 100

8.1.2 代码解析 101

8.1.3 打开工程 101

8.1.4 下载配置操作 102

8.2 流水灯实例 103

8.2.1 功能简介 103

8.2.2 代码解析 104

8.2.3 下载配置 104

8.3 3-8译码器实例 104

8.3.1 功能简介 104

8.3.2 代码解析 105

8.3.3 板级调试 106

8.4 按键消抖与LED开关实例 106

8.4.1 按键消抖原理 106

8.4.2 功能简介 107

8.4.3 代码解析 108

8.4.5 板级调试 110

8.5 经典模式流水灯实例 110

8.5.1 功能简介 110

8.5.2 代码解析 111

8.5.3 板级调试 113

8.6 基于PLL分频计数的LED闪烁实例 113

8.6.1 PLL概述 113

8.6.2 功能简介 114

8.6.3 新建IP核文件 114

8.6.4 PLL配置 116

8.6.5 模块化设计概述 120

8.6.6 模块化设计实践 121

8.6.7 代码解析 121

8.6.8 板级调试 123

8.7 数码管驱动实例 123

8.7.1 数码管驱动原理 123

8.7.2 功能概述 124

8.7.3 代码解析 125

8.7.4 板级调试 129

8.8 SRAM读写测试实例 129

8.8.1 SRAM读写时序解读 129

8.8.2 功能简介 132

8.8.3 代码解析 133

8.8.4 仿真设置 139

8.8.5 功能仿真 139

8.8.6 FPGA在线配置 140

8.8.7 触发采样波形 140

8.9 UART loopback测试 142

8.9.1 功能概述 142

8.9.2 代码解析 143

8.9.3 板级调试 150

8.10 VGA驱动ColorBar显示实例 151

8.10.1 VGA概述 151

8.10.2 功能简介 154

8.10.3 代码解析 155

8.10.4 板级调试 161

8.11 LCD基本驱动实例 161

8.11.1 LCD驱动时序 161

8.11.2 功能简介 163

8.11.3 代码解析 163

8.11.4 装配 167

8.11.5 板级调试 167

8.12 LCD字符显示驱动实例 168

8.12.1 字符取模 168

8.12.2 ROM初始化文档创建 171

8.12.3 新建源文件 172

8.12.4 ROM配置 173

8.12.5 功能简介 176

8.12.6 代码解析 176

8.12.7 板级调试 180

8.13 矩阵按键扫描检测实例 181

8.13.1 键盘概述 181

8.13.2 矩阵按键工作原理 181

8.13.3 功能概述 182

8.13.4 代码解析 183

8.13.5 RTL Viewer 188

8.13.6 State Machine Viewer 190

8.13.7 Technology Map Viewer 191

8.13.8 板级调试 192

第9章 FPGA片内资源应用实例 193

9.1 基于SignalTap Ⅱ的超声波测距调试实例 193

9.1.1 超声波测距原理 193

9.1.2 功能简介 194

9.1.3 代码解析 194

9.1.4 硬件装配 197

9.1.5 SignalTapⅡ源文件创建 197

9.1.6 SignalTapⅡ配置 198

9.1.7 SignalTapⅡ调试 202

9.2 FPGA片内ROM实例 202

9.2.1 功能概述 202

9.2.2 代码解析 203

9.2.3 ROM初始化文档创建 205

9.2.4 新建IP核源文件 206

9.2.5 ROM配置 208

9.2.6 功能仿真 211

9.2.7 FPGA在线调试 211

9.3 FPGA片内RAM实例 212

9.3.1 功能概述 212

9.3.2 代码解析 213

9.3.3 新建IP核源文件 215

9.3.4 RAM配置 216

9.3.5 功能仿真 218

9.3.6 FPGA在线调试 220

9.4 FPGA片内FIFO实例 221

9.4.1 功能概述 221

9.4.2 代码解析 221

9.4.3 新建IP核源文件 224

9.4.4 FIFO配置 225

9.4.5 功能仿真 228

9.4.6 FPGA在线调试 229

9.5 FPGA片内异步FIFO实例 230

9.5.1 功能概述 230

9.5.2 代码解析 231

9.5.3 新建IP核源文件 234

9.5.4 FIFO配置 234

9.5.5 功能仿真 236

9.5.6 FPGA在线调试 238

9.6 FPGA片内ROM、FIFO、RAM联合实例 240

9.6.1 功能概述 240

9.6.2 代码解析 240

9.6.3 功能仿真 244

9.6.4 FPGA在线调试 245

第10章 综合进阶实例 247

10.1 基于数码管显示的超声波测距回响脉宽计数实例 247

10.1.1 功能简介 247

10.1.2 代码解析 248

10.1.3 板级调试 250

10.2 基于均值滤波处理的超声波测距回响脉宽计数实例 250

10.2.1 功能简介 250

10.2.2 滤波算法与实现 251

10.2.3 代码解析 251

10.2.4 板级调试 253

10.3 基于进制换算的超声波测距结果显示实例 253

10.3.1 功能简介 253

10.3.2 距离计算公式实现 253

10.3.3 进制换算实现 254

10.3.4 代码解析 254

10.3.5 乘法器IP核创建、配置与例化 256

10.3.6 除法器IP核创建、配置与例化 259

10.3.7 板级调试 262

10.4 倒车雷达实例 263

10.4.1 应用背景 263

10.4.2 功能简介 263

10.4.3 代码解析 264

10.4.4 板级调试 266

10.5 基于SRAM批量读写的UART bulk测试实例 266

10.5.1 功能概述 266

10.5.2 代码解析 267

10.5.3 板级调试 275

10.6 基于数码管显示的RTC读取实例 277

10.6.1 RTC芯片解析 277

10.6.2 功能简介 278

10.6.3 代码解析 279

10.6.4 板级调试 288

10.7 基于UART发送的RTC读取实例 289

10.7.1 功能简介 289

10.7.2 代码解析 289

10.7.3 板级调试 292

10.8 基于UART收发的RTC读写实例 293

10.8.1 功能简介 293

10.8.2 代码解析 293

10.8.3 板级调试 296

10.9 基于UART控制的VGA多模式显示实例 297

10.9.1 功能简介 297

10.9.2 代码解析 298

10.9.3 板级调试 298

10.10 基于LED显示的D/A输出驱动实例 299

10.10.1 D/A芯片概述 299

10.10.2 功能简介 300

10.10.3 代码解析 300

10.10.4 板级调试 305

10.11 基于按键调整和数码管显示的D/A输出实例 306

10.11.1 功能简介 306

10.11.2 代码解析 306

10.11.3 板级调试 307

10.12 波形发生器实例 307

10.12.1 功能简介 307

10.12.2 代码解析 308

10.12.3 IP核CORDIC配置与例化 312

10.12.4 板级调试 317

10.13 基于数码管显示的A/D采集实例 317

10.13.1 A/D芯片接口概述 317

10.13.2 功能简介 318

10.13.3 代码解析 318

10.13.4 板级调试 322

10.14 A/D和D/A联合测试实例 322

10.14.1 功能简介 322

10.14.2 代码解析 322

10.14.3 板级调试 324

10.15 RTC时间的LCD显示和UART设置实例 325

10.15.1 功能简介 325

10.15.2 代码解析 325

10.15.3 板级调试 329

参考文献 330