人生总是有许多的第一次,第一次上学、第一次约会、第一次唱歌、第一次跳舞……每个“第一次”都是令人难忘的记忆。作为一名FPGA工程师,你一定还记得第一次和FPGA接触的时候是什么感受吧?基于此我们AET网于上周启动了“我和FPGA的第一次接触”有奖征文大赛!本次大赛很快引起电子工程师们热烈反响,短短一周就有数十篇佳作涌现!这周开始我们AET公众号会挑选其中的佳作分享给大家!
今天终于有时间,写写回忆录啦。先洗个头,清醒清醒......说到FPGA,那我是相当有经验啊,O(∩_∩)O哈哈~,大家不会打我吧,开个玩笑,虽说我学习FPGA的时间短,但是我认识FPGA的时间长啊!记得大一的暑假,我很荣幸参加了黑龙江省的电子设计大赛,那时刚学完微积分和大学物理,对电路真的是一窍不通,所以也只是跟着打打酱油,但是那个时候竟然有同级的学生用FPGA做比赛了,为什么“技术牛人”总是别人家的?虽说,这哥们儿最后没有拿到奖,但是我和其他小伙伴儿还是发自内心的崇拜啊,年纪轻轻,竟然有如此深厚的内功,非常了得啊。接下来的两年里我们竟然一直保持对他的敬仰。这大概就是我知道有FPGA这个东西的时间了,虽然不明白它的原理以及如何操作它。因为那个时候主要做模拟电路,所以先上一张我的一部分成果吧!梦想起飞的地方啊。又一次被激起内心澎湃的时候是大二暑假,那一年是全国电子设计大赛,比赛完成的时候大三的时光都开始了,在实验室偶然的一个机会听到一个上了年纪的老师说,FPGA最近也比较火,你看看你们以后做比赛是不是该考虑一下数字方面的,比如图像的传输啊,频谱分析啊,当时听了那是一个激动啊,心里默念道:这个不就是那个很厉害的什么什么吗???那个谁谁谁大一时比赛就用了。虽说内心激动无比,但是没有过一周,这种感觉也渐渐消散了,毕竟那个时候才大三上学期开始没有几天,才开始学数电,觉得学习FPGA还是为时过早。然后我又开始玩儿我的运放去了......终于有一天,我终于忍不住了,人人网上竟然有人在征女友,某某某自我介绍中竟然写到“下通CPLD,上通FPGA”,我C,这都能行?这时大概已经是2013年11月了,FPGA的数电实验也开始了,想想还真是激动啊,第一次做数电实验,每个人眼前一个FPGA的开发箱,本来想拨弄几下,过过瘾,但是老师竟然不让动,只让看,我了个乖乖,这老头儿。第一节实验真的是没有碰板子,竟然在本子上做了一节课的笔记,都是关于怎么启动软件,第一步点什么、第二步点什么,真是可笑啊,不过事后想想,老师这样做也是经过深思熟虑的,要不然以后的实验岂不是都要老师来指导。第二次实验终于可以看到开发箱的真容了,连上电缆,一步一步一步一步,终于到了传说中的设计输入了,全程实验都是原理图输入,原理图啊有木有,当时的软件还是Quartus II 9.0,仿真也是用软件自带的,顿时觉得好强大。竟然还能仿真?以后的实验,大多都是把自己提前设计好的程序下载进去,给老师看一下现象,这些设计都是经过自己写真值表、用卡诺图化简,最终弄出来的,记得交通灯的题目真是难死人啊!最终只能借用别人的成品了,O(∩_∩)O哈哈~。最后一节课老师说的印象最深的一句话竟是:就你们这些实验,用Verilog写那就是一会儿的事。心想,死老头儿,为什么不提前告诉我?害得我还得手工化简。数电实验是做完了,也快到了期末,关于的运算放大器的东西要搞,考试也要搞,真是要搞死哇,虽说有学FPGA的心,但是没有学FPGA的力啊。还是等下学期吧,又一次和FPGA失之交臂。怪了,说曹操,曹操到,没有干多少事,飞一般的就来到了大三下学期,这学期是学习FPGA的好时机啊,只有3门专业课和2门专业选修课,可是上帝总是公平的,门都打开了,为啥还要把窗户关上呢?实验室的几块公用的板子都被占用着,钱大部分也都买了模拟器件,手头又有点紧。勒了勒腰带,终于还是决定不买板子了。差点又一次放弃,O(∩_∩)O哈哈~,好玩吧。不过这次我真的没有放弃学习FPGA,但是只学Verilog,不需要板子,自此,便开始了我的Verilog学习之路,第一本书当然是夏老师的语法书,而且还在实验室小伙伴那里要来了一些视频,断断续续的学了好几个月吧,又到了省电子大赛了,而且还要去参加一个全国性的模拟类比赛,不得不放弃了Verilog的学习。就这样,到了大四了,忙保研的事耽误了一个多月,也差不多是11月份了,再不学,就毕业了,正好实验室也空出了两块FPGA板子,毫不犹豫我霸占了其中之一,其实这块是*金的板子,我看了几集视频,没想到上来就是介绍nios的,实验室的老师也经常强调,FPGA用的就是它的并行处理能力,当时也差不多理解,感觉这块板子的教程是剑走偏锋啊,所以,不到一周,我就放弃了这块板子,庆幸的是还有一块,这一块是红*电子的,实验室的学长也都推荐这块,我看了他的前几集视频,里面重点强调了用电路的思维去写流水灯,哈哈,正合我意,我欢快的学习了卖家提供的历程。下面这块就是它的真容,原谅我当年没有拍下板子的实物图。只能以这个代替了。那个时候自己独立写出了一个数码管程序,真的是激动人心,很有成就感。说实话,代码风格也是那时形成的,这里要感谢这块开发板,感谢制作教程的人,不幸的事发生了,大约半月后,FPGA芯片夭折了,当时片子型号好像是EP2C8Q208C8,当时手头工具有限,所以只好花了100多让卖家给换了一个片子。板子回来后,跑程序似乎更加欢快了,从此的FPGA学习也是顺风顺水,把几乎所有历程全都弄了一遍,对FPGA的理解也越来越深,记得那年春节还借了几本书带回家看,虽然还有很多看不懂,什么LVDS、PCIE、时序约束,这些都不懂,但是依然不能打消我的学习热情,2015年也就是大四下学期,来到了另一个城市,来闯一闯这最后一难,话说为什么毕设要去保研的学校里做啊,MD,路费也不报销,不过还好,半年内用Cyclone V的片子写了一些简单算法,也自学了一部分FPGA的所谓的高端的知识。什么LVDS啊、PCIE啊,虽然没有验证过,但是也算看过理论了,O(∩_∩)O哈哈~,算了,不吹了,下一话题吧。本科毕业后,暑假都没有过,便开始了研究僧生活,一开始交完学费手头紧巴巴的,只能自己看书,后来觉得自己学FPGA这一年,有些粗糙啊,还得弄块板子自己搞啊,终于在一次发完助学金后,买了一块小梅哥的板子,当然知道小梅哥这个人还是我在百度上搜一些FPGA知识的时候链接到的,之前也看了几集视频,于是果断买了板子,后来又买了一家米联的板子,一开始是用这个xilinx的板子验证通信上的一些简单算法,后来也学到了一些其他知识。怎么跟你形容呢?收获那是大大的啊。 下面再上两张手上的开发板。学习FPGA是一个长期的过程,涉及的知识面太广了,真的是什么都能干,无所不能,不过话说回来,毕竟FPGA只是一个工具,为了学而学,那可能真的没有什么竞争力,有工具却不知道用在何方,所以,对FPGA的应用熟练之后,更应该把它和相关的专业领域结合起来,什么图像处理啊、通信啊、这个啊、那个啊,反正,就是要FPGA为你所用。