“我想学FPGA?怎么入门呢”
“是不是需要买开发板,买了就可以上手吗”
“那个开发板比较好?”



图1 学习FPGA的问题

自明德扬创建答疑群以来,小伙伴的这些疑惑问题以非常高频的方式出现在群里。今天让我们来好好聊聊,学FPGA是不是一定要买开发板。

1、学习FPGA需要开发板,但有开发板≠学会FPGA

学FPGA要不要买开发板的问题不在疑惑本身,而在这问题本身就有问题。为什么这么说,先看我们的调研统计数据:曾经买过开发板的人,他们中至少有60%的人最后都吃灰了,而且他并没有真正通过这个板子和附赠的所谓“教程”学会;已经学会并且已经成功地进入FPGA开发行业的人,100%都购买过开发板,并且至少80%购买1个以上的开发板。

总结一下:购买开发板是学习FPGA的必要条件,而非充分条件。事实上,购买开发板对于学习FPGA的有帮助,但不是学会FPGA设计最关键的一部分。那么关键是什么呢?怎样学习FPGA呢?

2、学习FPGA先从知识开始

学习不仅是学习知识,还包括经验继承、技能训练、思想修养、情感交流等。

因此,这里所说的知识是广义的知识,包括我们需要学习的所有内容。活到老学到老,即学习广义上的知识(下同)。为什么要一直学习?为什么知识如此之多,而学不完?因为社会在不断发展,每天都在变化,所以新的知识每天都在产生。制造知识的速度也远远超过了学习的速度,这也是“知识爆炸”时代的特点。学知识难不难,难,确实很难!为什么觉得难?

最主要的原因是:知识本身就是网状的,而我们的学习只能是线性的。

全人类社会所创造的一切知识都是相互联系的,任何一个知识点在它的前后左右都有各种各样的相关知识点,最后,所有的知识点以及它们之间的相关性,构成了一个非常复杂的网络。

图2 知识网络

这非常像一片浩瀚无边长满树的知识森林。里面的每一棵树就是一个知识点,树与树之间的空隙形成的路则是知识点之间的关联。所以大家想象一下,这么浩瀚庞杂的一张网,如果把你丢到里面,还要让你走出来有多难?你每走一步都有很多支路选,而且每一步都很艰难(没学会一个知识点都不容易),而且你精力和时间有限(人的生命有限,且还要生活,能拿到学习的时间有限),这场游戏你最终能否走出来?

太难了

这就是为什么很多人终其一生都所得甚少,所知甚少,人生高度有限。其实不能怪他。因为看似社会给了你无数条路选,但其实你根本无路可走。而FPGA学习就是这样的一片知识汪洋

3、学习FPGA的救星在于“地图”化课程体系

黄帝战蚩尤,胜负的关键就在于黄帝发明了指南车(传说)。大航海时代的开启,很关键就是六分仪、经纬度和航海地图等技术的兴起,解决了茫茫大海上的“无路可走”。那我们学习时深陷“知识”的海洋时靠什么走出去?这里的“地图”就是体系化课程。体系化课程是什么?这是一套理论和学习资料。要有计划,先学什么再学什么,学到什么程度,并有指引和说明。如此一套体系化的课程,会给你一张标注路线的地图。你只要按图索骥就能走出去,这就是你的救星。

图3 明德扬MP801开发板的学习地图

例如,明德扬MP801开发板提供一整套相对完整且具体的学习资料,并且给了你学习“地图”,在FPGA的知识海洋中遨游随时为我们指引前进方向。

4、职业成长的真正困难在于缺少体系化的成长地图

为什么说“有路”是一种幸福?

当你开始学习FPGA的时候,你就会明白(事实上,学习很多东西也会明白…),学校的课程体系和教学路线跟不上市场,一是教学路线不好(很多学校讲微电脑原理还是8086…),二是与需要脱节(很多学校讲FPGA的老师自己都没有做过FPGA项目…),三是自己上大学的时候也没有好好学习(泡妹子玩游戏)。一言以蔽之,种种因素导致你即将毕业准备找工作,或者已经毕业体会了职场不易想要学点真本事了,才发现FPGA这玩意儿是真不容易学。匆匆忙忙听人说买板子,听说板还送了几G的学习资料,感觉可以啊,赶紧找回来学。结果发现学不会,学得越糊涂,越慌张。

那是典型的一觉醒来就被扔进知识海洋,突然间醒过来想找出路出去。再在旁边随便捡一张地图跟着走,这样你就可以走出地狱了吗?

5、开发板诚可贵,课程价更高

学习的关键在课程,而不在开发板。

在FPGA学习方面,与其它学习不同。例如,举一个学习烹饪的例子,好的课程就像是一个厉害的师傅,而开发板就像是一把好刀或一口好锅。学好厨子的关键在于有名师指点,传授知识、技术、经验给你,传授给你的是方法,带你练习好手法,而不是买一把好刀或者好锅回家自己琢磨做菜。x

有人说开发板也会附送课程啊,我按照这个课程不行吗?其实也不是绝对不行,只是每个人学习能力和理解能力不同。我有个简单的公式给你解释这个道理。

假如说学会这个技术难度分数是10分,如果你用的教程质量是8分,那你自己的努力和悟性、毅力、学习能力、辛苦程度等只需要负担2分就过线了,你就学会了。而如果你找个3分质量的课程,那你自己就得有7分才能成功。

这就像学烹饪。有人在家照着网上的菜谱就能自学成才,开店做大厨大家觉得做得真好吃。这种人就是自身有7分(天赋+后天兴趣+生活所迫等综合因素吧),所以他随便找个3分的菜谱教程也能成功。

而大部分人是没有7分的,可能才4、5分吧,所以你照着网络菜谱学不会,但是真的送你去厨师技校学几个月就学会了。再说FPGA,FPGA本身难度比学厨师要难多了,所以FPGA学习的学会线是100分,不是10分。

6、学习FPGA之前先自知

有人自带90分(譬如好学校,高学历,人家上学时就是学霸,脑瓜聪明学什么都快,晚上学到12点是家常便饭,连续学习完全不累,不用人催不用人管,自律性爆棚),这样的人你随便给本书就行了,几天就会了,一年后就是大神了。

还有人自带五六十分(大部分普通正常人都这样吧),你给他个好课程他就如鱼得水,顺利学会,两年左右就年薪30万+了。但是你给他个垃圾课程,他就死活学不会,从入门到放弃了。课程只有20分,你让人怎么办?这样的垃圾课程只有学霸才顶得住啊。所以,跟我一样的正常的普通人,在选购开发板学习的同时,需要对比一下配套的学习资料的质量,是很快学会,还是从入门到放弃,就看这次的选择正不正确,这决定了今后的发展。

还有人更惨可能只有10、20分(譬如英文不灵光,数电模电都不太会,计算机只会打字、看视频、玩游戏,除了一腔热血什么都没有的),那你给他很好的在线自学课程他可能都搞不定,因为基础分太少了,课程得有80甚至90分才能救得了他。但是在线课程自学这种方式限于形式很难达到这个分数,所以这种人更适合找线下培训班(当然是优质的培训班),被别人一步一步带着学。或者更适合转行找适合自己的行业,不是所有人都适合做FPGA的。

7、学FPGA要开发板,重心却在选课程三标准

买开发板学习,除了考虑开发板的硬件功能及性能参数外,就像上面说的最重要的就是考虑课程质量了。

几乎所有的开发板的资料都是可以免费下载的,先下载试听,衡量标准如下:

(1)能否听进去
课程好不好的重要标准就是自己能否听懂,能否听得下去,能否持续学习。在这推荐潘文明至简设计法教程《FPGA至简设计原理与应用》课程链接:
https://pan.baidu.com/s/1dFLcTlv2yHP3H0fDhEc4Dw
提取码:srxx

(2)是否教方法
FPGA设计,不是学习上板看效果,学习设计方法才是最重要的,一个课程好不好最重要在于是否教方法;

(3)售后答疑服务是否到位
新手嘛,肯定会遇到很多问题,为了不被问题卡住,肯定需要能及时得到解答最好。所有板子都会打答疑的旗号,但答疑是否耐心、及时、到位,这很重要。

8、学习资源圈推荐

在这推荐微电集成电路FPGA学习群:764574006,此群是学习FPGA的交流群,聚集了各大高校的FPGA学习者,平时都会有大佬们免费在线指导和答疑的。

综上所述,要想学好FPGA,首先确认自己是否适合学习,然后评估自身条件分数,然后选择合适的学习途径,最后拥有合适的学习材料,坚持脚踏实地学下去,轻松快速学会FPGA拿高薪就水到渠成了。

大家,加油!

聊聊FPGA学习与开发板的那些事儿相关推荐

  1. 烧录imx6需要的linux空间,IMX6Q学习笔记——开发板的Linux系统更新和烧录

    IMX6Q学习笔记--开发板的Linux系统更新和烧录 记录自己在电鱼电子开发SAIL-IMX6Q全能板后,并且对系统和模块进行简单测试的过程之后对开发板的Linux系统进行更新和烧录的记录过程,算是 ...

  2. 零基础学习MSP430F552LP开发板,学习前期准备,Code Composer Studio(CCS)软件的安装

    零基础学习MSP430F552LP开发板 一.前言 零基础学习MSP430F552LP开发板,为电子设计竞赛做准备以及学好这一款芯片. 在选择比赛题目时,发现有的题目时规定使用ti的芯片作为控制MCU ...

  3. 51单片机 | 如何学习单片机 | 开发板功能介绍 | 开发板使用方法 | 51单片机介绍

    文章目录 一.如何学习单片机 1.学习哪种类型的单片机 2.学习单片机的最佳方法 3.学习单片机的准备工作 4.学习单片机的常见疑问 二.开发板功能及使用介绍 1.开发板功能介绍 2.开发板使用方法 ...

  4. android原生系统开发板,安卓学习必备开发板-Rayeager PX2

    由谷歌主导并推动的移动终端操作系统Android,由于其开源开放的特性,自发布之日起便受到全球各大IT厂商的欢迎.在各厂商的热情推动下,基于Android系统的手机.平板.智能手表等各类产品层出不穷, ...

  5. 小梅哥FPGA学习笔记——开发流程及仿真示例

    开发流程及仿真示例 FPGA整体设计开发流程 1. 设计定义 2. 设计输入(Quartus II) 3. 分析和综合(Quartus II) 4. 功能仿真(modelsim-altera/mode ...

  6. Linux安装教程以及开发板预学习

    关于Linux系统的安装教程: 1.1. 虚拟化技术 可以更好的利用计算机闲置的资源 我们可以在计算机中虚拟出多台虚拟机帮助我们执行程序或者业务 虚拟机的各种组成理论上和真实主机是一样的 如果要使用这 ...

  7. 17套FPGA开发板资料汇总 | 免费下载

    资料大全​ 目录 1-CYCLONE开发套件资料 2-CYCLONE2开发套件资料 3-特权同学SF-CY3_FPGA套件开发指南 4-至芯科技ZX-2开发板资料 5-Xilinx FPGA开发套件资 ...

  8. OK6410开发板学习之外部中断(按键点亮led和蜂鸣器)

    中断在嵌入式里面是很常见的一个功能了.通过这个功能,可以让CPU减轻很多负担,不用不断的查询设备的状态.提高了CPU的效率. 中断的大体过程如下: 中断源检测中断信号产生,然后将中断信号发送给中断控制 ...

  9. zynq7020安装linux图形界面,ZYNQ开发板的NFS文件系统安装 - ZYNQ7020学习

    ZYNQ开发板的NFS文件系统安装 - ZYNQ7020学习 ZYNQ开发板的NFS文件系统安装 - ZYNQ7020学习 这篇博客主要讲解NFS的安装和开发板与Linux虚拟机如何mount成功.重 ...

  10. 学习嵌入式Linux开发——RK3288开发板学习规划及目标

    目录 概述 学习规划 学习目标 概述 昨天收到开发板,安耐不住自己躁动的心暂时放弃这两天的C语言复习先提前熟悉一下开发板,我买的是Firefly出的开源主板RK3288.折腾了一天虽然收获很大但是基本 ...

最新文章

  1. 微信小程序页面之间数据传递
  2. 【Linux】8_存储管理逻辑卷LVM
  3. JSTL标准标签库的国际化标签
  4. Java黑皮书课后题第8章:*8.27(列排序)用下面的方法实现一个二维数组中的列排序。返回新数组,且原数组保持不变。编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵
  5. C++ list用法总结
  6. 打印二叉搜索树的叶子结点_求孩子兄弟树叶子节点数目
  7. 【.NET类库】通过SharpSocket进行TCP/UDP通信数据传输
  8. java内存管理(堆、栈、方法区)
  9. 支付宝玉伯:我心目中的优秀API
  10. 准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC、AUC
  11. 三维空间点到直线距离计算
  12. C/C++实现atoll函数
  13. Javaweb(html+css+javascript)
  14. 暗影精灵5触摸板双指手势失效问题
  15. 怎么让照片里的人嘴巴动起来_让照片动起来软件下载-让照片动起来制作软件下载-西西软件下载...
  16. NDK中LOCAL_SHARED_LIBRARIES
  17. 生物信息学(3)——双序列比对之BLAST算法简介
  18. 支持电竞比分实时查询的软件~和比分网之间的对比
  19. Nginx简单配置转发
  20. 【Windows】修改已连接的蓝牙设备名称

热门文章

  1. 三星堆的青铜机器人_三星堆“青铜纵目人像”到底是谁?专家终于讲出了真相...
  2. 如何检测网站死链接?
  3. TARA-Asset穷举
  4. 【一键激活win8.1系统】
  5. tomcat-解决get请求中文乱码问题
  6. android 获取声音资源,Android从视频中提取出音频
  7. 请求 Provisional headers are shown 问题
  8. JavaScript如何实现汉字按拼音首字母分组拼序
  9. Spring核心机制——IoC和AOP
  10. 搜狗url自动推送工具 - 最新版 一直更新