<title>兴趣决定方向——FPGA开发工程师浅谈学习FPGA的正确打开方式
兴趣决定方向
FPGA开发工程师浅谈学习FPGA的正确打开方式
1、电子发烧友:大家都称呼您为小梅哥,这个称呼是您自己取的嘛?称呼怎么来的呢?
小梅哥:大学时期一个我暗恋的女生这么叫我,觉得很亲切,后来大家都这么叫我,就习惯了用这样一个名字。
2、电子发烧友:身为FPGA版块的版主,看到您在论坛上面分享了很多关于FPGA开发的帖子,是什么让您对FPGA产生浓厚的兴趣呢?为什么会分享您的经验给大家?
小梅哥:当时根据网络上的教程,发现fpga能够做很多单片机做不了的事情,作为一个骨灰级电子爱好者,当然希望能够做这些有趣的东西,就开始学习fpga了。当时在网络上找了大量的教程来学习,大约学了一年的时间吧,但总是不得要领。后来,下狠心参加了一个培训班,学出来后,感觉确实不一样。我深深能够体会自学者的那种茫然和痛苦,所以希望能够把自己通过学习领悟到的一些东西以小项目的方式分享出来,让同样热爱这门技术的同学能够找到正确的学习方法。
3、电子发烧友:您认为想学FPGA的话,先学好什么才最重要?
小梅哥:这个,可能我说的会比较片面,因为自己在这之前已经积累了相当部分的电子技术基础知识,所以在学习fpga的时候,重点只是怎么样用fpga来实现这些功能。每个人的电子技术基础知识积累不一样,但是数字电路基础是必不可少的,对时序的理解尤为重要。如果有用单片机自己编写过相关协议(SPI、IIC等)代码的同学,学习起来还是比较容易的,如果以前从未接触,可能花费的时间就要多一些。
4、电子发烧友:很多人学完FPGA后不知道能应用在哪些方面,您能跟大家谈谈FPGA应用的方向嘛?
小梅哥: FPGA最古老的应用应该算是通信领域了,随着fpga技术的进步,如今,fpga的应用已经渗透到了生活中的各个领域,工业控制、硬件加速器(如图像处理加速器、协处理器、百度现在正在做的云数据处理加速卡)、仪器仪表(例如大部分示波器中都用到了fpga来实现数据的采集和处理,包括信号发生器、逻辑分析仪等等也得用到fpga)、IC验证。
5、电子发烧友:学习FPGA的正确打开方式应该是什么样的呢?
小梅哥:个人认为,学好fpga应该分为三个阶段:初级阶段、中级阶段、高级阶段。
- 初级阶段:学习者最重要的是掌握fpga的设计流程。fpga设计流程中最重要的就是设计输入和仿真验证。目前大多数的网络教程不重视仿真验证,这是非常错误的,如果不注重仿真验证,那么初学者在编写的代码无法实现功能时,就往往陷入了困境中,不知道问题出在什么地方,更不知道怎么解决。因此,学会仿真验证是初学阶段最最重要的工作。
- 当完整的fpga开发流程掌握后,就进入中级阶段了,在中级阶段,学习者需要通过大量的练习来进一步熟悉语法和开发流程,同时在参考优秀的fpga设计项目中领悟fpga设计的基本规律和常用技巧。这个阶段的目标是能够掌握fpga系统中常用模块的设计,以及部分复杂模块(如SDRAM)的使用。
- 进入高级阶段,学习者的能力有了很大的提升,这时候,学习大部分时间就是阅读官方的资料,从官方资料中寻找解决方案。总之,学到最后的目标就是,拿到一个任务,不再是上谷歌或百度去寻找答案,而是去各类官方网站寻找相应的技术手册。
6、电子发烧友:怎样get独立解决问题的能力呢?
小梅哥:现在我主要在进行Altera SOC相关的学习,这是一个很新的东西,结合了FPGA、ARM、操作系统,对于一个以前只接触过FPGA和单片机的我,一下子多了这么多的内容,瞬间也傻眼了。网上的教程资料也少的可怜。但是咬咬牙,还是得学。学习资料主要就来源于友晶开发板配套的几个文档和Altera官网的一些资料,当然,这些资料,全部是英文的。每天晚上回到宿舍都是晚上11点的样子了,就开始静下心来阅读这些文档。个人觉得,深夜阅读这些技术资料,是最好的时间,因为此刻,我们能够真正的静下心来看。慢慢的,大约两个星期左右吧,就对整个soc的开发流程有了全局的把握,剩下的就是尝试、练习、遇上新问题、查找相关资料、解决问题的循环了。很多技术和方法,大家觉得资料少,只是因为大家不习惯看英文文档的缘故。因此,get独立解决问题的能力最重要的一点,就是学会并愿意去阅读英文技术手册。
7、电子发烧友:毕业以来,遇到最大的困难与挑战是什么?能否给我们分享些您的经验以及心路历程?
小梅哥:毕业以来,遇到的最大的困难应该就是在北京学习的那段时间,那时候,自己没有一分钱,生活费都是女朋友和两个兄弟借给我的,本来有份兼职工作能够做,一个月能够挣到一千多的生活费,但是这样势必会影响到正常的学习,所以我最终放弃了兼职的机会,一心一意学习,每天都学习到晚上11点了才回宿舍。最后的半个月,都穷的快饿肚子了,是朋友的鼓励和父母的期望让我最终坚持了下来。
8、电子发烧友:在您生命中曾经有哪些人对你造成过影响? 给你的启示又是什么呢?
小梅哥:父母打小就对我玩儿电子很支持,上高中后,参加了电子制作大赛,当时的带队宋老师经常鼓励我,还给我一个单独的实验室让我学习编程,这使我坚定了学好电子技术的决心。大学时候,参加了三届电子设计大赛,在和两个队友的默契合作下,我们做了不少项目,也学习了很多的电子技术知识。同时,也很感谢当初为我从其它非相关专业转到电子技术专业来做了大量工作的两位实验室老师。若没有他们的帮助,可能我就没机会系统的学习电子技术了。
9、电子发烧友:在电子发烧友担任版主期间有什么收获嘛?
小梅哥:在这里,我认识了很多喜欢学习fpga的小伙伴,在和他们一起讨论,解决问题的时候,也碰到了一些在其它技术方面有着较多经验的伙伴,这让我在遇到其它技术方面的问题时,有了请教的对象。作为版主,能够参与坛友互动,与众多热爱fpga技术的小伙伴一起学习,让我受益匪浅。
10、电子发烧友:据小编所知小梅哥也是正在寻找新的职位阶段,不知道您的求职意向是什么呢?
小梅哥:因为家是湖北的,所以最终还是希望能够在武汉找到一份比较合适的工作,虽然我主要学习的是fpga,但是单片机和模拟电路也都做过相应的一些小项目,希望能够找到一份能学以致用的工作。
社区之星推荐或自荐:不限专业领域、不限技术方向,只要你是一个有活力并乐于分享的开发者,只要你愿意把自己的经验收获分享给大家,帮助众多从业者共同学习、共同进步,我们就欢迎你来做客社区之星。
联系方式:陈晨 chenchen@elecfans.com,论坛用户名:zhou2sheng。快来联系小编吧!
往期回顾:
第二十四期:社区之星——做个奔跑的测试工程师——分享测试开发之路
第二十三期:社区之星——TI物联网设计大赛经验分享三重奏
第二十二期:社区之星——资深LabVIEW工程师的七年感悟
第二十一期:社区之星——“一入电农深似海”嵌入式工程师的心路历程
第二十期:社区之星——如何成为一位“合格”的资深电子工程师
第十九期:社区之星——LabVIEW工程师炼成记
第十八期:社区之星——中兴资深工程师聊Linux的设计与开发
第十七期:社区之星——学霸教你如何考进嵌入式国家实验室
第十六期:社区之星——资深工程师指点:如何走好电路设计之路
第十五期:社区之星——勇于试错,Be Brave
第十四期:社区之星——资深工程师现身:谈谈嵌入式开发的那些年
第十三期:社区之星——酸甜苦辣兼有之,资深工程师谈创业之路
第十二期:社区之星——FPGA资深FAE的经验独白
第十一期:社区之星——特权同学从自学FPGA到权威翻译的这五年
第十期:社区之星——怎样完成从电子工程师菜鸟到研发主管的蜕变
第九期:社区之星——如何成长为资深的嵌入式工程师
第八期:社区之星——持之以恒:FPGA工程师对行业新人的经验分享
第七期:社区之星——天道酬勤:资深FPGA工程师成长故事
第六期:社区之星——“剩”者为王:资深嵌入式工程师的进阶指南
第五期:社区之星——电源技术牛人版主:刘佳文
第四期:社区之星——嵌入式社区达人:王巧玉
第三期:社区之星——ARM技术智多星达人:程志
第二期:社区之星——资深单片机技术牛人:谁才是真正的工程师?
第一期:社区之星——DSP牛人miachael_xing