0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

学用FPGA的几大误区

电子工程师 来源:工程师李察 2019-05-05 10:58 次阅读

FPGA对于硬件工程师以及高校师生来说是非常重要的一项技能,其重要性甚至要超过PCB设计,不仅是因为在电子产品系统中(尤其是通信、音视频相关产品)可编程器件是非常重要的组成部分;IC设计也离不开HDL编程、通过FPGA设计、验证等;更重要的是“数字逻辑”的概念是每个硬件工程师必须具备的思维方式。

可现实呢?几乎所有高校毕业的电子类学生,除了少数参与过一些竞赛项目或做与FPGA相关的毕业设计的,几乎没有人讲得清楚什么是FPGA;即便是高校从事研发工作的硕士/博士同学们,也只是对自己正在用的型号、有限的功能有一定的掌握;企业的工程师?还好一些,毕竟在实战的项目中得到了体验,但这个比例是非常的小。

我国高校每年有至少100万的本科学生(除了电子、电气、自动化之外,还有计算机、物理、物联网等专业)要学习数字电路这门课程,70%以上的学校仍然在面包板上用分立的门电路来做数字电路课程实验;70%以上的学校仍然用8086/8088/8255/8251来做微机原理与接口技术/计算机系统结构的实验;EDA课程基本上也都是若干年前Altera或Xilinx通过大学计划提供的教学套具(很强大、很贵的设备),常见的模式是学生按照实验手册上的流程走一遍过场,编写几行代码,而至于这玩意是怎么工作的,实事求是地讲,多数负责教学的老师都未必知道。

同在高校如火如荼的“嵌入式系统”课程、人人都可以号称懂“嵌入式”相比,为什么FPGA成了这么高冷的一门技能呢?

我认为主要是在学习和应用FPGA的过程中存在以下几个误区:

FPGA很难学- 这是学生以及工程师在谈到FPGA的时候第一反应,因为他们看到的都是上千块甚至几千块钱一个的板子,配一个几百块钱的编程器;板子上安装的都是几百个管脚、看起来非常牛b闪闪的器件,据数据手册上说支持着各种自己从来都没听说过的技术术语 - xx总线、xx接口、多少个CLB、挂着各种高速的DDRUSB、PCIe,据说还能跑什么软核、硬核,初学的菜鸟们脸立马涨的通红,我是不是太无知了?根本与他们拥有的知识结构对应不起来;软件?光下载个安装包就要10GB,安装需要半天时间,还经常蹦出来个错误信息,还是英文的;运行个案例试试?刚买的高性能的电脑也要跑十几分钟,出去上趟厕所回来,编译的进度条还停留在80%上。。。。哇,太强大了!学习中遇到问题请教老师,老师无奈地摇摇头:我也不懂,你问问你大师兄xxx吧,旁边大神级的师兄酷酷地走过来,修改几行代码,搞定,这一切都让你怀疑自己,怀疑你是不是学习FPGA的那块砖。其实我要说的是,学习FPGA比学会PCB设计都要容易的多 - 你已经学了数字电路,具备了数字逻辑的理论基础,比抽象的PCB库、原理图、网表、布局、布线要容易理解得多吧?编程语言,Verilog的语法太简单了,常用的都不到一页,比C语言不知道要简单几个量级;只要你学会了如何将要实现的功能从逻辑上描述清楚,再用HDL描述出来,基本就能让这个“万能芯片”给你表演一些很神奇的东西出来了。

我要买块高大上的开发板- 当我们给初学者推荐小脚丫FPGA的时候,多数情况下都会招到他们的鄙视,你们这玩意能学FPGA么?也配叫FPGA开发板?就像一个摄影菜鸟总觉得卡片相机不是相机,一定要抱着一个能装配各种镜头的、价格必须上万元的单反才能学到摄影技术。基于对各种技能成长的观察,大概率事件 - “器材党”一般都是水平不行的,真正的高手基本都是在非常基础、浅陋的器材上成长起来的,因为只有最基础、浅陋的条件才能让他们聚焦在最核心的东西上,从而能够快速滴掌握真谛。

我需要很多教程才能学- 在淘宝上观察一下你会发现,那些畅销的板卡并不是因为它设计的多么合理、适用或者价格便宜,而是在其产品描述页面罗列了一张长长的清单 - 赠送xxx个案例、xxx张光盘的视频教程等等。诚然这些参考学习资料对于初学者来讲有一定的帮助,尤其是心理上有更多的安全感,但我认为要真想学会一项技能,太多的参考并没有什么正面的帮助,尤其是一些游击队员提供的不规范的设计资料,反而让新手养成同样不规范的习惯。学习过程最重要的是自己发现问题、解决问题,自己会通过各种手段找到答案,而不是拿来别人已经做好的在上面修改。

我只学Xilinx、Altera的FPGA- 这就像你想学开车,认为一定要用宝马、大奔才能学会开车一样,这种观念是非常错误的,是被某些势力严重误导了的。真正学习驾驶技能,你需要的是“大众”、“本田”,因为它们性价比高,比较适合学习用,当然对于不差钱的土豪来讲,他用玛莎拉蒂来学车也无可非议。重要的是我们普通的工程师要知道这个世界上除了Xilinx和Altera之外,还有LatticeMicrochip(原Actel的产品)提供更大众化的FPGA产品,他们的用量巨大而且价格便宜,在你初期的3、4年里,用这些公司的产品已经绰绰有余了,学会替你的老板省点钱,替你自己省点钱,也是做产品必须培养的优秀品质。

像C一样写Verilog- 对于玩过单片机、嵌入式系统、软件编程的工程师来讲,他们把Verilog当成了C来写,这真的是暴殄天物,是对FPGA的“A”极大不敬。相对于MCU/MPU来讲,FPGA最值得傲娇的就是这个“A”,海量的门阵列,十万雄兵,你不能就让他们排着队干一件事情吧?学会并行处理、时序以及针对每个bit进行操作是学习FPGA的精髓。

不关心资源配置- 用高档开发板习惯了,就像富二代的公子哥,根本没有成本这一概念,只要能实现功能就可以了,我管它用了多少LUT,耗费了多少RAM呢?哥不Care!这是不行滴,因为在实际的项目中,你的老板不同意你这么做,即便是他不懂,看不到这些问题,那你的设计一定比别人花费更大的代价,付出更高的成本,也就意味着在市场上不会有竞争力而被淘汰。如果从一开始就没有养成重视资源配置,尽一切努力优化自己的逻辑达到最佳资源利用的好习惯的话,最终你就会像一个纨绔子弟一样败家、败项目。就像淘宝、逛街的魅力在于你能从花最少的钱买到最多的东西中获得莫名的快感一样,用FPGA的时候通过你自己的设计节省了多少n个寄存器、少用了m%的存储器,也是让人感到非常愉悦的体验,何不养成这种习惯,在快乐中成长呢?

限于篇幅就先说到这几点吧,日子还长,我们要交流的还很多,慢慢来吧。。。。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21735

    浏览量

    603188
  • pcb
    pcb
    +关注

    关注

    4319

    文章

    23094

    浏览量

    397747
  • 系统
    +关注

    关注

    1

    文章

    1016

    浏览量

    21338

原文标题:学用FPGA的几大误区

文章出处:【微信号:xiaojiaoyafpga,微信公众号:电子森林】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    DFT的常见误区与解决方案

    DFT(离散傅里叶变换)在信号处理领域具有广泛的应用,但在使用过程中也常会遇到一些误区。以下是对DFT常见误区的总结以及相应的解决方案: 常见误区 混叠现象 : 误区描述:在采样过程中
    的头像 发表于 12-20 09:32 152次阅读

    逻辑异或的常见误区及解决方法

    逻辑异或(Exclusive OR,简称XOR)在理解和应用过程中,确实存在一些常见的误区。以下是对这些误区的分析以及相应的解决方法: 一、常见误区 混淆逻辑异或与按位异或 : 逻辑异或通常
    的头像 发表于 11-19 09:56 265次阅读

    eda的常见误区和解决方案

    探索性数据分析(EDA)是数据分析过程中的重要步骤,它涉及对数据的初步检查和分析,以便更好地理解数据集的特征和结构。 误区1:忽视数据清洗 常见误区: 在没有彻底清洗数据的情况下就开始进行EDA
    的头像 发表于 11-13 10:59 345次阅读

    分享几个FPGA实现的小型神经网络

    今天我们分享几个FPGA实现的小型神经网络,侧重应用。
    的头像 发表于 07-24 09:30 1185次阅读
    分享几个<b class='flag-5'>用</b><b class='flag-5'>FPGA</b>实现的小型神经网络

    海灵犀FPGA基础研实验箱

    海灵犀FPGA基础研实验箱(EDU_H6_01_1V0)是由中科亿海微电子科技(苏州)有限公司(简称:中科亿海微)自主研发设计的教学用具,由箱体、FPGA开发卡、LCD屏、USB下载线及相关实验
    的头像 发表于 06-13 08:11 926次阅读
    海灵犀<b class='flag-5'>FPGA</b>基础研<b class='flag-5'>学</b>实验箱

    家用路由器使用中的误区和解决方案

    家用路由器在使用过程中,用户往往容易陷入一些误区,如忽视设置、过度使用无线信号、不重视网络安全以及忽视保养维护等。这些误区不仅可能影响网络的速度和稳定性,还可能带来安全隐患。因此,了解并避免这些误区,正确使用和维护家用路由器,对
    的头像 发表于 04-17 11:17 394次阅读

    如何避免工业级路由器使用误区,提高网络效率

    工业级路由器在工业自动化、物联网等领域发挥着至关重要的作用。然而,由于其应用环境的特殊性,使用过程中容易出现一些误区,导致网络效率低下。本文将针对这些误区,提出相应的解决方案,帮助读者避免使用误区,提高网络效率。
    的头像 发表于 04-12 14:15 281次阅读

    fpga和嵌入式应该哪个

    FPGA和嵌入式系统是两个不同的领域,各有其特点和优势,选择学习哪个取决于个人的兴趣、职业目标以及市场需求。
    的头像 发表于 03-27 14:43 776次阅读

    fpga哪些东西

    学习FPGA需要掌握一系列的知识和技能,主要包括以下几个方面。
    的头像 发表于 03-27 14:40 1036次阅读

    fpga的是什么编程语言 fpga什么语言开发

    fpga的是什么编程语言 FPGA(现场可编程逻辑门阵列)主要使用的编程语言是硬件描述语言(HDL)。在众多的HDL中,Verilog HDL和VHDL是最常用的两种。 Verilog HDL
    的头像 发表于 03-14 17:09 3500次阅读

    fpga是什么专业

    FPGA(现场可编程门阵列)的学习涉及多个专业领域,但主要与电子信息类、自动化类、计算机类等相关专业最为紧密。这些专业通常涵盖数字电路设计、硬件描述语言(如Verilog和VHDL)编程、嵌入式系统设计等核心课程,为学习FPGA提供了坚实的基础。
    的头像 发表于 03-14 16:41 2368次阅读

    小白学习FPGA的四大误区

    FPGA本身不算什么,一切皆在 FPGA之外这一点恐怕也是很多FPGA的菜鸟最难理解的地方。FPGA是给谁
    发表于 02-22 11:00

    FPGA哪种开发板或实验平台比较好?

    刚开始FPGA,目前正在学理论知识,想通过开发板或实验平台搞些东西,加深理解,不知道哪种开发平台比较好?
    发表于 02-06 22:56

    fpga是什么 fpga什么编程语言

    FPGA(Field-Programmable Gate Array)是一种可编程逻辑技术,它使用可重构的硬件单元(如门阵列和查找表)来实现电路功能。相比传统的专用集成电路(ASIC),FPGA具有
    的头像 发表于 02-04 15:26 1672次阅读

    低功耗设计的几个误区分享

    些电阻上了(不要用8毛钱一度电的观念来对待这几瓦的功耗)。 误区三:CPU和FPGA的这些不用的I/O口怎么处理呢?先让它空着吧,以后再说 点评:不用的I/O口如果悬空的话,受外界的一点点干扰
    发表于 01-09 08:04