编辑点评:正点原子领航者FPGA开发指南参考书籍
FPGA 器件属于专用集成电路中的一种半定制电路,是可编程的逻辑列阵,能够有效的解决原有的器件门电路数较少的问题。FPGA 的基本结构包括可编程输入输出单元,可配置逻辑块,数字时钟管理模块,嵌入式块RAM,布线资源,内嵌专用硬核,底层内嵌功能单元。
图片预览
内容简介
领航者ZYNQ之FPGA开发指南将由浅入深的带领大家开启ZYNQ的学习之旅。本手册主要学习ZYNQ的 PL(Program Logic,可编程逻辑)部分,共分为硬件篇、软件篇、语法篇与实战篇共四个篇章。
硬件篇:硬件篇主要介绍本手册的硬件实验平台以及硬件资源详解。
软件篇:软件篇主要介绍 FPGA 常用开发软件的安装教程与使用方法。
语法篇:语法篇主要介绍 FPGA 的硬件描述语言 Verilog 的语法知识。
实战篇:实战篇主要通过 21 个实例带领大家一步步深入了解 FPGA。
本手册为领航者 ZYNQ 开发板的配套教程,在开发板配套的光盘里面,有开发板的原理图以及所有实例的完整代码,这些代码都有详细的注释,所有源码都经过我们严格测试,不会有任何编译错误。另外,源代码有我们生成好的 bit 文件(用于下载程序的文件),大家只需要通过下载器下载到开发板即可看到实验现象,亲自体验实验过程。
本手册不仅非常适合广大学生和电子爱好者学习 FPGA,其大量的实验以及详细的注释,也是公司产品开发的不二参考。
目录大全
内容简介 …………………………………………………………………… 9
前 言 …………………………………………………………………… 10
第一篇 硬件篇 …………………………………………………………. 11
ZYNQ简介 ……………………………………………………….. 12
ZYNQ简介 …………………………………………………………… 13
FPGA简介 …………………………………………………………… 15
ZYNQ PL简介 ………………………………………………………… 20
ZYNQ PS简介 ………………………………………………………… 26
实验平台简介 ……………………………………………………. 31
领航者ZYNQ开发板资源初探 …………………………………………….. 32
领航者开发板底板资源 …………………………………………… 32
领航者开发板核心板资源 …………………………………………. 34
领航者ZYNQ开发板资源说明 …………………………………………….. 36
硬件资源说明 ………………………………………………….. 36
软件资源说明 ………………………………………………….. 42
硬件资源详解 ……………………………………………………. 45
领航者ZYNQ的IO分配 ………………………………………………….. 46
PL端的IO分配 ………………………………………………….. 46
PS端的IO分配 ………………………………………………….. 51
开发板底板原理图详解 ………………………………………………… 56
底板电源 ……………………………………………………… 56
ZYNQ 启动模式 …………………………………………………. 59
有源蜂鸣器 ……………………………………………………. 59
PL LED ……………………………………………………….. 60
PS LED ……………………………………………………….. 60
PL按键 ……………………………………………………….. 61
PS按键 ……………………………………………………….. 61
电容触摸按键 ………………………………………………….. 62
14-Pin JTAG接口 ……………………………………………….. 63
USB串口 ……………………………………………………… 63
RS232 接口 …………………………………………………… 64
RS485 接口 …………………………………………………… 65
RGB LCD 模块接口………………………………………………. 66
XADC接口 …………………………………………………….. 67
OLED/摄像头模块接口 …………………………………………… 68
EEPROM ………………………………………………………. 68
实时时钟 …………………………………………………….. 69
ATK模块接口…………………………………………………… 70
I2S音频编解码 ………………………………………………… 71
HDMI接口 …………………………………………………….. 72
PL端千兆以太网接口(RJ45)……………………………………… 74
USB 2.0接口 ………………………………………………….. 76
Micro SD卡接口 ……………………………………………….. 79
CAN接口 ……………………………………………………… 80
IO扩展口 …………………………………………………….. 81
开发板核心板原理图详解 ………………………………………………. 82
核心板电源 ……………………………………………………. 82
ZYNQ主控芯片 ………………………………………………….. 85
DDR3 SDRAM存储器 ………………………………………………. 88
6-Pin JTAG 接口………………………………………………… 91
PS复位按键 ……………………………………………………. 92
PL LED ……………………………………………………….. 92
PS LED ……………………………………………………….. 93
PL时钟输入 ……………………………………………………. 93
PS时钟输入 ……………………………………………………. 93
PL配置状态指示灯 ……………………………………………… 94
PS端千兆以太网 ……………………………………………….. 94
QSPI FLASH …………………………………………………… 96
eMMC ………………………………………………………… 97
开发板使用注意事项 ………………………………………………….. 98
ZYNQ的学习方法 ……………………………………………………… 99
第二篇 软件篇 ………………………………………………………… 101
Vivado软件的安装和使用 ………………………………………….. 102
Vivado软件的安装 …………………………………………………… 103
Vivado软件的使用 …………………………………………………… 112
新建工程 …………………………………………………….. 113
设计输入 …………………………………………………….. 121
分析与综合 …………………………………………………… 127
约束输入 …………………………………………………….. 131
设计实现 …………………………………………………….. 134
下载比特流 …………………………………………………… 136
在线逻辑分析仪的使用 ……………………………………………….. 141
HDL实例化调试探针流程………………………………………….. 142
Hardware Manager中观察调试信号………………………………….. 148
网表插入调试探针流程 ………………………………………….. 153
在Vivado中进行功能仿真 ……………………………………………… 162
第三篇 语法篇 ………………………………………………………… 178
Verilog HDL语法 ………………………………………………… 179
Verilog概述 ……………………………………………………….. 180
Verilog简介 ………………………………………………….. 180
为什么需要Verilog …………………………………………….. 180
Verilog和VHDL区别 …………………………………………….. 180
Verilog和C的区别 ……………………………………………… 181
Verilog基础知识 ……………………………………………………. 181
Verilog的逻辑值 ………………………………………………. 181
Verilog的标识符 ………………………………………………. 182
Verilog的数字进制格式………………………………………….. 182
Verilog的数据类型 …………………………………………….. 182
Verilog的运算符 ………………………………………………. 183
Verilog程序框架 ……………………………………………………. 186
注释 ………………………………………………………… 186
关键字 ………………………………………………………. 186
程序框架 …………………………………………………….. 187
Verilog高级知识点 ………………………………………………….. 190
阻塞赋值(Blocking)…………………………………………… 190
非阻塞赋值(Non-Blocking)……………………………………… 191
assign和always区别 ……………………………………………. 193
带时钟和不带时钟的always……………………………………….. 193
什么是latch ………………………………………………….. 194
状态机 ………………………………………………………. 195
模块化设计 …………………………………………………… 199
Verilog编程规范 ……………………………………………………. 203
编程规范重要性 ……………………………………………….. 203
工程组织形式 …………………………………………………. 204
文件头声明 …………………………………………………… 204
输入输出定义 …………………………………………………. 205
parameter定义 ………………………………………………… 205
wire/reg定义 …………………………………………………. 205
信号命名 …………………………………………………….. 206
always块描述方式 ……………………………………………… 206
assign块描述方式 ……………………………………………… 207
空格和TAB …………………………………………………… 207
注释 ……………………………………………………….. 207
模块例化 ……………………………………………………. 208
其他注意事项 ………………………………………………… 208
第四篇 实战篇 ………………………………………………………… 210
LED灯闪烁实验 ………………………………………………….. 211
LED灯简介 …………………………………………………………. 212
实验任务 ………………………………………………………….. 212
硬件设计 ………………………………………………………….. 212
程序设计 ………………………………………………………….. 213
下载验证 ………………………………………………………….. 216
按键控制LED闪烁实验 …………………………………………….. 219
按键简介 ………………………………………………………….. 220
实验任务 ………………………………………………………….. 220
硬件设计 ………………………………………………………….. 220
程序设计 ………………………………………………………….. 221
下载验证 ………………………………………………………….. 223
按键控制蜂鸣器实验 ……………………………………………… 224
蜂鸣器简介 ………………………………………………………… 225
实验任务 ………………………………………………………….. 225
硬件设计 ………………………………………………………….. 225
程序设计 ………………………………………………………….. 226
下载验证 ………………………………………………………….. 230
触摸按键控制LED灯实验 …………………………………………… 231
触摸按键简介 ………………………………………………………. 232
实验任务 ………………………………………………………….. 232
硬件设计 ………………………………………………………….. 232
程序设计 ………………………………………………………….. 233
下载验证 ………………………………………………………….. 236
呼吸灯实验 …………………………………………………….. 238
呼吸灯简介 ……………………………………………………….. 239
实验任务 …………………………………………………………. 239
硬件设计 …………………………………………………………. 239
程序设计 …………………………………………………………. 240
下载验证 …………………………………………………………. 242
IP核之MMCM/PLL实验 ……………………………………………… 243
MMCM/PLL IP核简介 …………………………………………………. 244
实验任务 …………………………………………………………. 247
硬件设计 …………………………………………………………. 247
程序设计 …………………………………………………………. 248
下载验证 …………………………………………………………. 255
IP核之RAM实验 ………………………………………………….. 257
RAM IP核简介 ……………………………………………………… 258
实验任务 …………………………………………………………. 259
硬件设计 …………………………………………………………. 259
程序设计 …………………………………………………………. 259
下载验证 …………………………………………………………. 267
IP核之FIFO实验 …………………………………………………. 269
FIFO IP核简介 …………………………………………………….. 270
实验任务 …………………………………………………………. 271
硬件设计 …………………………………………………………. 271
程序设计 …………………………………………………………. 271
下载验证 …………………………………………………………. 284
UART串口通信实验 ……………………………………………….. 286
UART串口简介 ……………………………………………………… 287
实验任务 …………………………………………………………. 288
硬件设计 …………………………………………………………. 288
程序设计 …………………………………………………………. 289
下载验证 …………………………………………………………. 301
RS485串口通信实验 ………………………………………………. 304
RS-485简介 ……………………………………………………….. 305
实验任务 …………………………………………………………. 305
硬件设计 …………………………………………………………. 306
程序设计 …………………………………………………………. 307
下载验证 …………………………………………………………. 313
RGB TFT-LCD彩条显示实验………………………………………….. 315
RGB TFT-LCD简介 …………………………………………………… 316
实验任务 …………………………………………………………. 322
硬件设计 …………………………………………………………. 322
程序设计 …………………………………………………………. 325
下载验证 …………………………………………………………. 335
RGB TFT-LCD字符和图片显示实验…………………………………….. 337
RGB TFT-LCD简介 …………………………………………………… 338
实验任务 …………………………………………………………. 338
硬件设计 …………………………………………………………. 338
程序设计 …………………………………………………………. 338
下载验证 …………………………………………………………. 350
HDMI彩条显示实验 ……………………………………………….. 351
简介 …………………………………………………………….. 352
实验任务 …………………………………………………………. 355
硬件设计 …………………………………………………………. 355
程序设计 …………………………………………………………. 357
下载验证 …………………………………………………………. 374
HDMI方块移动实验 ……………………………………………….. 376
HDMI简介 …………………………………………………………. 377
实验任务 …………………………………………………………. 377
硬件设计 …………………………………………………………. 377
程序设计 …………………………………………………………. 377
下载验证 …………………………………………………………. 381
EEPROM读写测试实验 ……………………………………………… 383
EEPROM简介 ……………………………………………………….. 384
实验任务 …………………………………………………………. 389
硬件设计 …………………………………………………………. 389
程序设计 …………………………………………………………. 391
下载验证 …………………………………………………………. 402
RTC实时时钟LCD显示实验……………………………………….. 403
PCF8563简介 ………………………………………………………. 404
实验任务 …………………………………………………………. 406
硬件设计 …………………………………………………………. 407
程序设计 …………………………………………………………. 408
下载验证 …………………………………………………………. 424
频率计实验 …………………………………………………. 425
等精度频率计简介 ………………………………………………….. 426
实验任务 …………………………………………………………. 427
硬件设计 …………………………………………………………. 427
程序设计 …………………………………………………………. 428
下载验证 …………………………………………………………. 439
高速AD/DA实验 ………………………………………………. 441
高速AD/DA简介 …………………………………………………….. 442
实验任务 …………………………………………………………. 445
硬件设计 …………………………………………………………. 445
程序设计 …………………………………………………………. 448
下载验证 …………………………………………………………. 456
MDIO接口读写测试实验…………………………………………. 459
简介 …………………………………………………………….. 460
实验任务 …………………………………………………………. 466
硬件设计 …………………………………………………………. 466
程序设计 …………………………………………………………. 468
下载验证 …………………………………………………………. 478
以太网ARP测试实验 …………………………………………… 481
简介 …………………………………………………………….. 482
实验任务 …………………………………………………………. 494
硬件设计 …………………………………………………………. 494
程序设计 …………………………………………………………. 496
下载验证 …………………………………………………………. 518
以太网UDP测试实验 …………………………………………… 525
简介 …………………………………………………………….. 526
实验任务 …………………………………………………………. 530
硬件设计 …………………………………………………………. 530
程序设计 …………………………………………………………. 530
关于FPGA
FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA设计不是简单的芯片研究,主要是利用 FPGA 的模式进行其他行业产品的设计。 与 ASIC 不同,
FPGA在通信行业的应用比较广泛。通过对全球FPGA产品市场以及相关供应商的分析,结合当前我国的实际情况以及国内领先的FPGA产品可以发现相关技术在未来的发展方向,对我国科技水平的全面提高具有非常重要的推动作用。
与传统模式的芯片设计进行对比,FPGA 芯片并非单纯局限于研究以及设计芯片,而是针对较多领域产品都能借助特定芯片模型予以优化设计。从芯片器件的角度讲,FPGA 本身构成 了半定制电路中的典型集成电路,其中含有数字管理模块、内嵌式单元、输出单元以及输入单元等。在此基础上,关于FPGA芯片有必要全面着眼于综合性的芯片优化设计,通过改进当前的芯片设计来增设全新的芯片功能,据此实现了芯片整体构造的简化与性能提升。
Comments