FPGA零基础入门学习路线

这篇具有很好参考价值的文章主要介绍了FPGA零基础入门学习路线。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

FPGA零基础入门指南

我从2021年10月份开始接触FPGA并进行系统学习,练习了已经两年了,离出道的两年半还差一点,不过也有很多收获。目前网上的FPGA的学习路线质量参差不一,对于资料的总结不够全面,导致我自己在学习过程中走了很多弯路,例如看了质量一般的网课、复现了一个错误的项目等,这些信息差都极大的影响了我的学习成本。

因此,我仅作为一名普通的FPGA爱好者,总结了一套适用于零基础FPGA入门指南,包含全套学习路线和资料,都是我本人使用过,并且精心挑选后的资源,力求给大家呈现最简单的FPGA零基础入门!

本文开源地址(内含超多FPGA精品学习资料和license):

https://github.com/ChinaRyan666/FPGA-Getting-Started-Guide

一、每个人都应该会使用GitHub

如果你是一枚Coder,但是你不知道GitHub,那么我觉得你就不是一个菜鸟级别的Coder,因为你压根不是真正Coder,你只是一个Code搬运工。说明你根本不善于突破自己!

为什么这么说?原因很简单,很多优秀的代码以及各种框架源码都存放于GitHub当中!

学习之前我们先要明白Git和Github的基本概念:

Git是一个分布式版本控制系统,简单的说就是一个软件,用于记录一个或若干文件内容变化,以便来查阅特定版本修订情况的软件,通过Git我们可以从Github和Gitee等地方拉取和推送代码,便于管理和团队协作。

Github是一个为用户提供Git服务的网站,简单说就是一个可以放代码的地方(也可以放其他内容)。Github除了提供管理Git的web界面外,还提供了订阅、社区、讨论组、在线编辑器等丰富的功能。

总结起来就是:先学Git,再学GitHub。

学习资源推荐

  • 黑马程序员Git视频教程(约4h)

  • GitHub新手入门图文详解

如果你想更深入的理解Git,玩转GitHub,推荐以下资料

  • 廖雪峰的Git教程
  • 猴子都能懂的Git入门
  • GitHub官方文档
  • 开源指北

二、数字电路

数字电路是学习FPGA的前提

数字电路是指基于数字信号的电子电路,由数字逻辑门和触发器等元件组成。而FPGA(Field Programmable Gate Array)是一种可编程的数字逻辑芯片,它是由大量的可编程逻辑单元、I/O单元和时钟管理单元等组成的。

FPGA可以用来实现数字电路,因为它可以被编程成各种不同的数字逻辑电路,包括逻辑门、计数器、状态机等等。这使得FPGA成为一种灵活、高效的数字电路实现方式,特别适合于需要快速原型开发和设计迭代的应用场景。

FPGA也可以被用来实现数字信号处理(DSP)和嵌入式系统。在这些应用场景中,FPGA可以用来处理实时数字信号,例如音频和视频信号,而数字信号处理器(DSP)和微处理器可能无法处理这些信号。

因此,FPGA可以看作是数字电路的一种高级实现形式,可以用来实现各种不同的数字逻辑电路和数字信号处理应用。

学习资源推荐

  • 数字电路速成课(约10h)
  • 数字电路课本及讲义 百度网盘(提取码:ryan)
  • 记得诚数字电路专栏

对于FPGA的入门开发,学完上面的教程即可,掌握程度70%就可以,如果想系统性的学习数字电路,建议自行上网寻找合适自己的网课进行学习,可参考B站清华大学王红老师讲的数字电路,但我不推荐,原因是时长过长、年限较久远(约10年前的课)、无配套讲义(知识点不够清晰)。

浩瀚互联网,找到适合自己的就行。

三、Verilog HDL

FPGA开发语言

FPGA的开发语言主要分为硬件描述语言和高级语言两种。

1.硬件描述语言:

硬件描述语言(HDL)是一种专门用于FPGA开发的语言,常见的有Verilog和VHDL。使用HDL编程可以直接描述硬件电路的结构和行为,实现电路的功能。HDL语言需要掌握一定的电路原理知识,通常被硬件工程师所使用。

2.高级语言:

高级语言包括C/C++、Python、MATLAB等,可以通过编译或解释实现对FPGA的控制。这种方法需要使用到对应的FPGA开发工具包,如Vivado等。使用高级语言可以简化FPGA的开发难度,但是会牺牲一定的性能。

总之,选择何种开发语言取决于FPGA应用的需求和开发者的技术水平。对于入门而言,先学Verilog即可。

学习资源推荐

  • HDLBits刷题网站
  • HDLBits答案及讲解(不习惯网站刷题也可以直接看这个)
  • Verilog数字系统设计教程 夏宇闻(Verilog最强语法书,不接受反驳)

使用这门硬件描述语言的时候我们像是在建模,这点区别于编程语言,这往往是新手首先需要绕过来的难关!

入门只需把HDLBits刷70%即可,细节不必深究,在具体实验中去品味。

四、FPGA开发

正片开始,仅属于FPGA的浪漫。

基础扫盲

Xilinx和Altera是我们主要使用到的FPGA芯片厂商,此外还有国产的紫光、安陆等。

对我们用户来说,他们的区别主要在于EDA软件的不同,比如Xilinx使用的是Vivado、Altera使用的是Quartus。(Xilinx已被AMD收购,Altera已被Intel收购)

软件选择也就影响了我们的板卡选择,选择Vivado还是Quartus取决于设计人员所需要的功能和设计对象。

如果设计人员需要设计Xilinx FPGA芯片,则Vivado是更好的选择;如果需要设计Altera FPGA芯片,则Quartus更适合。同时,如果速度和处理能力是设计人员的首要考虑因素,那么Vivado是更好的选择;如果设计人员需要更多的工具和优化功能,则Quartus可能更适合。

虽然对于入门来说选择哪个没有太多区别,但学习FPGA的时候手上最好要有一块板卡,上板验证会有更多的成就感。所以,用什么家的板卡,就用什么软件。

学习资源推荐

  • 小梅哥Xilinx FPGA开发全套网课

    目前我认为全网最好的免费FPGA逻辑端开发教程,只要你按照这套教程用心学完,你就是个有开发经验的FPGA工程师了。

    如果走马观花,心浮气躁的浏览完整个课程,那就只能算是扩展知识面了。眼睛觉得会了,手表示自己不会写。按照教程推荐的方法学,越学越简单,越学越有信心,如果走马观花,不注重基础的打造,只想看结果,不注重学习和调试的过程,只会越学越困难,最后放弃。

  • 小梅哥官网

    宝藏网站,我总结了以下几种打开方式:

    1.选择一款芯片(基本涵盖市面上所有常见的),找到对应小梅哥家的板卡名称,搜索即可查到全套软硬件、网课及开发资料。重点看开发板的文档手册,小梅哥的文档总结非常详细,强烈推荐。

    2.开发时遇到报错,将报错信息复制到此网站的搜索栏,绝大部分报错都是有对应解决方法的。

    3.逛三大专栏:FPGA学习交流、MCU学习交流、ARM Linux学习交流,你将会打开一个新世界。


至此,FPGA入门就结束了,如果你能用心学完这些,相信你会对FPGA的世界更感兴趣,就可以开始进阶学习了,例如ZYNQ、HLS高层次综合、计算机体系结构、深度神经网络加速器等等。

最后再推荐一个网站和一套人工智能的学习资料,供大家一起进步!

  • Road To Coding

    B站程序羊做的一个开源编程学习网站,有六大方向的学习路线和知识点大梳理,包括但不限于Java后端、前端、C/C++后台开发、大数据开发、嵌入式开发,还有很多宝藏资料,考研求职摸鱼…一起去探索吧!做一个全栈大佬!

  • 人工智能全套学习路线

    B站Future做的全套学习路线,从0到1,这年头不会人工智能都不好意思坐在实验室了!

之后我会继续更新FPGA的详细进阶指南,先挖个坑(因为我也还在进阶中),希望我练习完两年半可以出道。

一起学起来吧!!

No gall no glory(不经磨练,难现辉煌)

微博:沂舟Ryan (@沂舟Ryan 的个人主页 - 微博 )

GitHub:ChinaRyan666

微信公众号:沂舟无限进步

如果对您有帮助的话请点赞支持下吧!文章来源地址https://www.toymoban.com/news/detail-599479.html

到了这里,关于FPGA零基础入门学习路线的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA/Verilog HDL/AC620零基础入门学习——第一个项目按键控制LED

    最近要考试了,所以我赶紧补习FPGA,我们用的是小梅哥的AC620开发板,软件是Quartus。推荐看这个视频教程:零基础轻松学习FPGA,小梅哥FPGA设计思想与验证方法视频教程 用按键控制LED灯的亮灭就是一个二选一多路器,两个IO,a、b,可以是高电平,也可以是低电平。 输入按键

    2024年02月05日
    浏览(43)
  • 【FPGA】FPGA入门 —— 基本开发流程

    快速上手verilog语法 状态机,线性序列机 FPGA常见的设计方法 自己写代码,下载代码进行使用,使用厂家/第三方提供的IP核 常见接口设计 等等。。 学习时间:基础内容的学习 - 20*8h,啊啊啊我可以我能行,看来这个月我给把时间砸这上面了~~ 仿真两大作用:检查验证设计功能

    2024年02月11日
    浏览(42)
  • 想学 fpga 开发该怎么入门?

    个人根据自己的一些心得总结一下fpga 需要掌握的基础知识,希望对你有帮助。 知识点: 1、数电(必须掌握的基础),然后进阶学模电, 2、掌握HDL(verilog或VHDL)一般建议先学verilog,然后可以学System Verilog和VHDL。 3、掌握FPGA设计流程/原理(推荐教材:FPGA权威指南、Altera

    2024年03月12日
    浏览(37)
  • 学习FPGA之四:FPGA开发方法

            FPGA是一个很特殊的芯片,可能在2个月前,我还对它一无所知。我们熟知的芯片都是CPU,GPU,或者知道ASIC的概念。但实际上,FPGA已经走过了30个年头,它目前已经成为一个包含各种先进电路,逻辑单元,接口,芯片封装,制造等技术的“集大成者”。在硬件不断发

    2024年02月06日
    浏览(40)
  • FPGA学习笔记-1 FPGA原理与开发流程

    注:笔记主要参考: B站 正点原子 教学视频“正点原子手把手教你学FPGA-基于达芬奇Pro开发板 Artix-7 XC7A35T/XC7A100T”。 小梅哥爱漂流 教学视频“【零基础轻松学习FPGA】小梅哥Xilinx FPGA基础入门到项目应用培训教程”。 B站搬运 “特权同学2020版《深入浅出玩转FPGA视频教程》

    2024年02月05日
    浏览(35)
  • FPGA 开发必备:从零开始学习 FPGA 设计

    FPGA 开发必备:从零开始学习 FPGA 设计 FPGA 是一种可编程逻辑器件,可以在不用重新设计硬件电路的情况下修改其功能。它是数字电路设计中最重要的组成部分之一。FPGA 的广泛应用领域包括通信、计算机、图像处理、音频处理等。 要想成为一名合格的 FPGA 工程师,你需要了

    2024年02月07日
    浏览(45)
  • 【FPGA基础入门实践】Verilog 基本项目操作逐步演示

    0x00 回顾:AND/OR/NOT 逻辑的特性 AND: 与门可以具有两个或更多的输入,并返回一个输出。当所有输入值都为 1 时,输出值为 1。如果输入值中有任何一个为 0,则输出值为 0。 OR: 或门可以具有两个或更多的输入,并返回一个输出。如果输入值中至少有一个为 1,则输出值为

    2024年02月12日
    浏览(31)
  • FPGA学习经验分享——入门篇

    FPGA是一个高度集成化的芯片,其学习过程既需要编程,又需要弄懂硬件电路和计算机架构。涉及到的知识和基础非常多,如果不合理地安排学习内容,学习过程会非常漫长和枯燥。这篇文章主要阐述了对于入门FPGA的一些经验分享,希望能够给想学FPGA的人一些引导,少走一些

    2024年02月03日
    浏览(31)
  • 《FPGA至简设计原理与应用》学习笔记1 —— FPGA基础

    视频:https://www.bilibili.com/video/BV14K4y1u7kH/ 资料:https://www.aliyundrive.com/s/E9H7Mc5hqhu FPGA是什么东西? FPGA全称Field-Programmable Gate Array,即现场可编程门阵列 简而言之FPGA是一个可以通过 编程 来 改变内部结构 的芯片。 如果要实现相应的功能,需要通过编程即使用硬件描述语言进行

    2024年02月08日
    浏览(33)
  • 从1开始学习FPGA——FPGA的一些基础知识(1)

            这应该是笔者的第一篇CSDN博客了,之所以起名叫从1开始学习FPGA,原因在于笔者已经有一定的FPGA基础,并且使用FPGA完成了一些项目。但是基本没有系统成理论的学习FPGA,经常是用到哪看到哪,导致很多之前用过的东西往往经过一段时间就忘了。开始写CSDN博客更多的

    2024年04月10日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包