FPGA初学者开发板选择及学习路线
- [1. 开发板选择](#1. 开发板选择)
- [2. 学习路线](#2. 学习路线)
-
- [2.1 硬件描述语言](#2.1 硬件描述语言)
- [2.2 掌握操作开发软件流程](#2.2 掌握操作开发软件流程)
- [2.3 FPGA 原理结构](#2.3 FPGA 原理结构)
- [2.4 FPGA常用IP核](#2.4 FPGA常用IP核)
- [2.5 多实践,提升FPGA开发知识深度](#2.5 多实践,提升FPGA开发知识深度)
- [2.6 关注FPGA最新技术](#2.6 关注FPGA最新技术)
- 3.参考资料
1. 开发板选择
初学者可以考虑成本与功耗平衡的FPGAs系列:
- Xilinx(AMD收购)FPGA芯片: ZYNQ 7000系列、Aritex 7系列、kentix 7系列
- ALtera(Intel收购)FPGA芯片:Cyclone 系列
初学者可以选择学习资料比较多的品牌:正点原子、小梅哥、野火、黑金等
2. 学习路线
- 理解HDL语言:学习HDL开发语言
- 掌握软件操作:开发软件(仿真、调试)
- 学习FPGA基础:逐步理解FPGA芯片结构及其基本组成单元,如查找表、逻辑块、DSP存储器等
- 实践拓展知识图谱:FPGA常用IP,例如,PLL、FIFO、Bram、软核处理器、通信IP等,自己设计IP实战全流程,高级开发技巧等。
- 关注最新技术:论坛、期刊、研讨会、交流群、开源项目网站
2.1 硬件描述语言
硬件描述语言(HDL)是FPGA设计的核心,又称寄存器传输级语言RTL。主要有Verilog和VHDL两种语言。VHDL和Verilog各有优缺点,比如VHDL的语法更加严谨,Verilog更加灵活,比较像C语言。在实际项目中往往会有不同模块分别采用VHDL和其他语言编写。Verilog 在半导体行业广泛使用,而 VHDL 在航空航天和国防领域更为普遍。SystemVerilog,它是Verilog的一个超集,提供了更多高级特性。
-
在线学习网站:
HDLBitsHDLBits 在提供 Verilog 基础语法教程的同时,还能够在线仿真你的 Verilog 模块,将你的输出与正确的时序比较,可以说真的是很棒了。
牛客网牛客网是一个综合类刷题网站,包含了Verilog基础题、进阶题和面试题,题目挺丰富,可以在线仿真和对比结果
runoob一个综合类编程知识网站,有中文的Verilog教程,包含了Verilog基础知识和参考代码。
-
推荐书籍:
《Verilog HDL数字设计与综合》----Samir Palnitkar
《Verilog HDL高级数字设计》----Micheal D.Ciletti
《Verilog 系统设计教程》----夏宇闻
《SystemVerilog硬件设计及建模》----Stuart Sutherland
《SystemVerilog验证 -- 测试平台编写指南》----克里斯.斯皮尔
2.2 掌握操作开发软件流程
- 常用的开发软件:
Vivado:Xilinx的集成开发环境,提供从设计输入到硬件实现的全套工具。
Quartus:Intel的FPGA开发软件,同样提供全面的FPGA设计流程。
跑一些例程,学习如何使用这些软件进行设计输入、逻辑仿真、综合、布局布线、烧录。 - 仿真软件:
ModelSim、VCS,二选一,业界使用的其实是Modelsim的高级版Questasim,初学者可以使用ModelSim。
推荐书籍:
《ModelSim Advanced Simulation and Debugging》
《Modelsim 电子系统分析及仿真》----于斌
- 调试工具:
逻辑分析仪(ILA)和虚拟输入输出(VIO)等调试工具,可以帮助你监测和分析设计在FPGA上的实际运行情况。
2.3 FPGA 原理结构
了解FPGA的基本构成,包括可编程逻辑块、输入/输出块、连接线等。学习FPGA的工作原理和可编程特性。
推荐书籍:《FPGA原理和结构》----天野英晴
2.4 FPGA常用IP核
推荐书籍:
《Xilinx系列FPGA芯片IP核详解》----刘东华
《IP核芯志---数字逻辑设计思想》----吴涛
2.5 多实践,提升FPGA开发知识深度
通过实践项目来巩固学习,从简单的实验开始,逐步过渡到更复杂的通信协议和信号处理等实验。
推荐书籍:
《FPGA从入门到精通》----志芯科技
《FPGA设计实战演练》----王敏志
2.6 关注FPGA最新技术
-
开源项目网站
Fpga4funFPGA基础项目和进阶项目网站,有设计逻辑文档、项目源代码可下载。
githubgithub中也有FPGA开源代码,但比较分散,是很多个人或公司的开源仓库
Openhwxilinx开源项目网站
-
论坛
Xilinx官方论坛xilinx官方论坛,很活跃,可以提问题,有xilinx公司的工作人员回答。
EETOP易特创芯数字IC论坛,里面有FPGA开发类板块。
电子发烧友论坛电子类专业学习网站,资料很丰富,有FPGA学习板块。
ChipdebugFPGA问答类专业论坛,资料很丰富,论坛活跃度一般
opendev正点原子的开源论坛,有嵌入式、FPGA类板块