时间:2018-10-19 00:54
人气:
作者:admin
首先,介绍一下我的个人背景。本科毕业于江苏省某普通一本院校,期间因为参加过一些竞赛,也获得一些奖项,然后被保送到上海某211高校继续攻读硕士研究生。对于FPGA,说会也不算是会,说不会吧,也了解那么一些东西。之前接触的基本都是Altera的Cyclone系列,本科期间做过两个简单的小项目:一个是等精度数字频率计(说白了就是两个计数器加D触发器,用电路都能搭出来);另一个是我的毕业设计,其中用FPGA来驱动CCD和高速ADC的,同时用FPGA实现了一个FIFO,作为ADC与MCU之间数据缓冲(当时因为各种原因,搞的也比较简单,只是实现了最基本的功能,不过PCB完全也是我自己设计,焊接调试的)。后来还买了一个Xilinx Spartan6的板子,就简单的跑了几个例程,然后就放在那边吃灰了……对于Lattice的产品,只是听过,完全没有接触过!
但是,就FPGA开发本身而言,我最多也只能算是一个菜鸟。因为平时在学校STM32之类的MCU用的比较多,平时也是主要使用C语言编程。因此,经常会把一些C之类的顺序执行思想带到FPGA开发的过程中,有的时候,这是很致命的问题!此外,由于开发STM32经常会使用JLink之类的仿真器直接进行OnBoard调试,所以,在初学FPGA的时候,也更习惯直接将流文件下载到FPGA/CPLD中直接用示波器之类的看结果……最多有的时候会用Altera的SignalTap之类的来分析一下,就连功能仿真都懒得做,更不要提时序仿真和静态时序分析了……
最近一段时间Xilinx搞的什么Zynq和HLS比较火,原本的计划是打算往这方面学一学的,顺便研究一下OpenCL之类的东西。现在想想,一个连RTL Coding都没有完全掌握的菜鸟,直接就去搞HLS到底能搞出来什么鬼?说实话,我自己都不相信,我能搞出来什么东西……
那么,为什么要写这一篇文章呢?主要是为了总结一下自己最近一段时间收获,谈一谈自己的一些所思所想。顺便准备接下来的presentation和应付学校要交的实习总结报告……
记得在去Lattice报道之前,HR就提前问我要了电子版的证件照和一小段简短的自我介绍。正式入职报道的那天,发现Lattice早已为我准备好了员工卡(就是门禁卡)和桌位,桌位上还有自己的名字和照片。IT的同事提前为我们准备了电脑,并开好了账号。和我同一天报道的好像有三个实习生,一个SW的,两个PV的。Lattice为了能够让我们尽快的融入公司,为我们每个人都分配一个buddy,一般都是组里面的同事。同时,还给我们做了一个简单的入职培训,主要讲讲公司的一些规章制度什么的。最后,还特别强调了实习生不可以加班,实际上Lattice的正式员工也很少有加班的现象。整个过程还是很轻松愉快的,大家都很kind,去之前还有点紧张什么的,到了公司反而一点感觉也没有了,哈哈哈。开完会以后,buddy就把我带回组里面了,然后经理带我和组里面的各位同事简单地认识了一下。Lattice的AE,都是行业里面的专家了,然而大家都很随和,一点架子都没有。这点确实让我很吃惊,和我原本的猜想有很大的区别。第二天,经理还组织了一次团队聚餐,欢迎我的到来,实在是受宠若惊,哈哈哈。
刚来的那几天,还是有一些疑虑的。主要是之前完全没有接触过Lattice的产品,有点担心需要较长的时间学习和适应。还有就是英语,虽然我六级考了535分,也过了口语四六级考试,但是之前毕竟缺少一个口语锻炼的环境。所以我的英语听力和口语一直不是特别好,但是读写还是没什么压力的,主要是之前也读过很多的英文技术文档了。在大致了解了一下Lattice的主要产品和相关开发工具后,我制定一个相应的学习计划,先从IDE Diamond学起。为了能够更好的反思和总结,我同时开始在ChinaAET上写一些博客,主要就是聊聊一些学习心得,还有一些总结与感想等。
在和经理简单的聊了一下之后,便彻底没有疑虑了。刚开始的那段时间,经理并没有给我分配什么任务,也没有明确地指出,让我必须要做什么,学什么。反而却鼓励我去学习一些我感兴趣的,于是我就大致的说了一些我的想法和学习计划,也得到了肯定和认可。说实话,当时我是有点蒙圈的,完全没有想到。此时,对于我来说,我便可以制定详细地学习计划,并能有条不紊地执行下去。当我遇到问题时,各位同事总能很耐心地为我解答。不过,一般我也不会问一些无脑的问题,当我尽一切可能却仍然无法查阅到相关资料,或者想了好久实在想不明白时,才会去问他们。因为,我觉得不经过自己充分思考就去问别人问题,是一种不礼貌的行为,尤其是向这个行业的各位专家们请教问题!