【赛灵思FPGA】【原创】我与Xilinx的那点事儿
0赞这段时间的开学季自己真是忙得不可开交,找工作的事宜提上了日程,不得不每天关注各大招聘网和学校的校园招聘网,每天不断的宣讲会(话说今年真的刚开始企业来的有点多),而自己的心态也从最开始的一点点的兴奋之中又带着一点点紧张变成现在的一丝丝坦然又带着一丝丝的冲动。真的,不找工作不知道,等到自己亲身体验的时候还是个中体会冷暖自知的。哎,不多说了(咳咳,感觉相当于自己啥都没说似的),刚从中兴面试回来(两组面试的考官都是美女考官,让我真不好意思自夸来,哈哈),才得空更更博客,不然快“落灰了”,吹吹“灰尘”开始这个月的博客之旅吧,哈哈~
关于AET的Xilinx博客大赛,前段时间就看到了(话说AET好久没举办类似的博客大赛之类的活动了,哈哈),本来是应该好好支持一下的,不过碍于自己前段时间安排比较紧所以一直拖到现在。嘿嘿,其实还有一个原因是自己在FPGA的造诣还是很菜鸟的,不敢拿出来在AET的FPGA大侠们面前班门弄斧,毕竟当初是项目需要所以钻研了两个月的FPGA又匆匆的学了学Verilog(完全没有领会并行运算的强大),就草草的实现了自己想要的功能然后就束之高阁了。不过不得不讲,FPGA的强大虽然初露端倪但还是让我这一类玩惯了单片机的人为之惊叹的,俺真的是有点为了杀鸡用上了砍牛刀了(虽然实现的功能没有那么简单(图像驱动和传输),但也觉着心亏得慌,呵呵)。
既然这次是聊聊与Xilinx的事情,那就以时间为主线说说我与Xilinx从“相识到相知”,哈哈。。。
记得第一次看到Xilinx的片子是在大四去看望师弟们参加当年的山东赛区电子设计大赛,貌似是2010年的“高教社与Xilinx杯”,中枪的孩子们有木有,有的话下面留个言(投个票我也不介意哦,嘿嘿)。如果还没有印象的话估计看到下面的图片就会恍然大悟了——“就是它,没错”,这是那一年高教社提供的Xilinx的Spartan-3E XC3S500E的开发板,是不是激起无限的回忆来,吼吼。当时看着真的很眼馋来,嘿嘿,所以凭着跟负责电设比赛的老师的亲密关系(不要误会,呵呵,是引领我走上电子之路的恩师)在赛后从他那K来了一块回来玩玩,板载资源虽然不是很丰富(毕竟是电设用,这个板只相当于最小系统板)但有丰富的外接口便于扩展,所以那时候玩的还是有滋有味的(Demo里用的是VHDL,没办法,大家都懂的,大学里推广的都是VHDL,就像是Altera在大学里也是很普遍的,因为人家大学计划推的早,不过近年来Xilinx还是奋起直追,大学计划做的越来越好),这样子我就从一点都不懂到初入FPGA殿堂的低级菜鸟,Xilinx这个名字也给我留下了很深的印象。(这里插播一个小插曲,那个时候觉着搞FPGA的都很牛,很深奥,其实现在回过头去看那时候的自己颇有些幼稚。其实每个行业每个方向都有其精髓的,等你触摸到其精髓所在你会陶醉其中享受其中,所以莫要只站在门口,那样话你只会看到门里面的幽深和庞然,你只会因为莫名的未知而却步,要做个一个doer而不是viewer,so just do it~
上面那块儿板子用了一阵就放下了,毕竟自己还没有实际用到,所以那时候就钻研自己的单片机去了(感觉那会儿单片机水平的提升非常快,跟恩师做了几个项目然后又给学校智能车实验室开发了带简单文件系统的SD卡调试系统,收获颇丰,感觉顺序的C还是比并行的Verilog用着顺手,哈哈)。后来的再次邂逅是在研一的时候了,在阿莫论坛潜水的时候看到了一则帖子,关于Xilinx大学计划申请开发板的活动,那时候一时兴起在Digilent官网上申请了一块儿Xilinx的Spartan-3E ug230的开发板,然后就抛之脑后也没怎么想这回事(自己的人品一般很差,抽奖啊抢楼之类的基本都没自己的份儿)。结果“天上还真掉下了个粘豆包”(引用本山大叔的名言),哈哈,几个月之后拿到了崭新的从美国寄过来的板子(Xilinx真是财大气粗啊),哎,当时抱着板子傻乐了半天恨不得抱着睡觉,把旁边的师兄都逗乐了,这个还真不是夸大,对于我们这一类电子迷来说,一块儿精致的板子比啥都来得实在啊,哈哈,特别是看着板子上崭新的原装进口的片子(媚外了一把,呵呵)、精致的走线和丰富的资源(远不是上面那块儿板子可比的)真是快留下口水了,哈哈,别不信,看图就知道了:
怎么样,看着爽吧,哈哈,当时着实兴奋了一阵时间(哎,作为一名思想上进有觉悟的同志,面对如此大的便宜诱惑当时真是有点沉不住气,事后做了严肃的自我批评和自我检讨,咳咳)。当时还兴冲冲的去官网上下了一堆的板子的资料,一色儿的英文,虽然耐心看下去不成问题,不过最后因为智能车的事就暂时放下了,结果这一放就是N久了,现在还平静的躺在我的实验室抽屉里,哎,我想说的是,咳咳...曾经有一份珍贵的学习机会摆在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此啊,如果给我再来一次机会的话,我会说,我要学习Xilinx啊...,如果非要在这前面加一个期限的话,那就是...一学期(不能学太长,还有别的事要做)...哈哈哈~(这也是为啥前段时间的Zedboard我都没敢去申请,怕没时间去玩转)
好吧,前面两个板子晒完了,该说说我与Xilinx的相知了。今年接到了老师项目任务,做一个基于ARM+FPGA的图像成像平台,而在FPGA选型上,就曲折了好长一段时间,耽误了不少进度。最开始是老师建议我用Actel的FPGA Fushion系列(因为实验室还有剩余的片子,好贵的说,老师心疼放着不用),结果搞了一阵,虽然Actel的基于Flash的架构还是不错的(多用于军工行业),而且片上模拟资源很多,不过一个是国内用的太少了以至于可参考的资料很少很少(周立功在推广),还有就是它的开发环境Libro用起来感觉很繁琐(没有QuartusII和ISE的高集成性好),可能是我个人习惯的问题吧(毕竟Actel还是很牛逼的),总之用起来不是很顺手,所以考虑重新选型,没有经过太长时间的考虑,我就在Xilinx和Altera之间做了抉择,结果自然大家都懂的。现在我的板子上的Xilinx的FPGA运行良好,实现了CCD感光芯片和高速AD的时序驱动、图像数据的乒乓缓存和与ARM的FlexBus总线接口,功能基本都实现了,只不过还没有考虑时序约束等问题,毕竟自己现在水平还是很菜,所以以后的升级就要看师弟们的了,哈哈~
呼呼,喝口水先...这几天来回跑没有闲着,现在突然坐下来静静的把这篇博客写完感觉心里稳了很多,看来经常写写东西还是有很大好处的,哈哈。想想,本篇内容倒不能归于技术类的,算是自己电子辛酸史的一笔吧,把大脑关于Xilinx的这部分内存读取出来了,庆幸的是指向这块内存的指针还没丢失,让自己努力连起来了(用的链表形式哦),哈哈,看来以后自己也应该多学学SDRAM了,经常刷刷新,不然可是会丢失的啊,哈哈,希望自己这篇拙作能激起一些同学学习FPGA的信心,也感谢Xilinx给了我们这么好的平台(就因为那块儿让我傻乐的那块板子也得给人家做做广告啊,呵呵),还有。。。ChinaAET加油哦,我这里顶一下,哈哈哈~
enjoy it,未完待续~