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的一个超集,提供了更多高级特性。

  • 在线学习网站:
    HDLBits
    HDLBits 在供应 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最新技术

  • 开源项目网站
    Fpga4fun
    FPGA基础项目和进阶项目网站,有设计逻辑文档、项目源代码可下载。
    github
    github中也有FPGA开源代码,但比较分散,是很多个人或公司的开源仓库
    Openhw
    xilinx开源项目网站

  • 论坛
    Xilinx官方论坛
    xilinx官方论坛,很活跃,行提问题,有xilinx公司的工作人员回答。
    EETOP易特创芯
    数字IC论坛,里面有FPGA开发类板块。
    电子发烧友论坛
    电子类专业学习网站,资料很丰富,有FPGA学习板块。
    Chipdebug
    FPGA问答类专业论坛,资料很丰富,论坛活跃度一般
    opendev
    正点原子的开源论坛,有嵌入式、FPGA类板块

3.参考资料

1、入行10年后,FPGA学习路线经验总结
2、如何飞快入门FPGA?一份详细的初学者学习路线奉上,避免学习中的困扰和弯路。
3、FPGA学习路线整理
4、FPGA学习网站链接汇总 on GitHub