【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

相关推荐
Qhumaing18 小时前
C++学习:【PTA】数据结构 7-2 实验6-2(图-邻接表)
数据结构·c++·学习
好奇龙猫18 小时前
【日语学习-日语知识点小记-日本語体系構造-JLPT-N2前期阶段-第一阶段(1):再次起航】
学习
wdfk_prog18 小时前
[Linux]学习笔记系列 -- [fs]sysfs
linux·笔记·学习
菜的不敢吱声19 小时前
swift学习第5天
学习·ssh·swift
其美杰布-富贵-李19 小时前
TabNet: 注意力驱动的可解释表格学习架构
学习·表格数据·tabnet
im_AMBER19 小时前
Leetcode 98 从链表中移除在数组中存在的节点
c++·笔记·学习·算法·leetcode·链表
jamesge201019 小时前
kafka学习笔记
笔记·学习·kafka
_李小白20 小时前
【AlohaMini学习笔记】第一天:初见AlohaMini
笔记·学习
LaoZhangGong12320 小时前
学习TCP/IP的第1步:ARP数据包
网络·stm32·学习·tcp/ip·以太网·arp·uip
Hooray1120 小时前
前后端分离_案例学习_Python+Flask+VUE3
后端·python·学习·flask