【FPGA】FPGA初学者开发板选择及学习路线

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

  • 在线学习网站:
    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

相关推荐
Bathwind-w3 小时前
FOC开发工具学习
学习
Coder_Boy_3 小时前
DDD从0到企业级:迭代式学习 (共17章)之 四
java·人工智能·驱动开发·学习
deng-c-f4 小时前
Linux C/C++ 学习日记(49):线程池
c++·学习·线程池
HyperAI超神经4 小时前
【vLLM 学习】Prithvi Geospatial Mae
人工智能·python·深度学习·学习·大语言模型·gpu·vllm
175063319456 小时前
Vivado Zynq7020 生成正弦波(查表法) + 行为级仿真
fpga开发
Terasic友晶科技6 小时前
4-DE10-Nano的HDMI方块移动案例——I2C通信协议
fpga开发·i2c·hdmi·de10-nano·i2c通信协议
TL滕6 小时前
从0开始学算法——第十八天(分治算法)
笔记·学习·算法
思成不止于此7 小时前
【MySQL 零基础入门】MySQL 约束精讲(一):基础约束篇
数据库·笔记·sql·学习·mysql
小黄人软件7 小时前
【过度滥用眼】真正的理解,从闭眼开始:如何把“眼睛视觉依赖”降到最低,把大脑效率提到最高。【最少用眼的工作与学习体系】
学习
老华带你飞7 小时前
建筑材料管理|基于springboot 建筑材料管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·学习·spring