推广 热搜:     系统  行业  参数  教师  中国  机械  设备  基金 

以下内容来源牛客特邀专刊《FPGA工程师求职经验分享》,作者@玉米人

   日期:2024-12-21     移动:http://mip.tpjde.com/quote/5735.html

以下内容来源牛客特邀专刊《FPGA工程师求职经验分享》,作者@玉米人

下面我以自己的项目为例子,讲一下我是怎么准备和提升项目经历的。
这个项目涉及到一个系统,涵盖的点也比较多,前面的技能树中除了低功耗设计和UVM与SV其他都有涉及。如果只是一个个细节地扣,数量较多而且比较零散,为了让自己的准备更加系统,我选择自上而下地重新审视整个项目:
整个系统的最终要实现的功能是什么?为了实现这个功能,各个模块需要实现什么功能?模块中的器件需要达到怎样的性能要求?在既定的硬件条件下,怎样做能够保证性能的同时减少运行时间和硬件资源消耗?
根据这些问题,我整理出一份资料,其中包括系统的总体设计(包括选型)、各个模块的型号和参数、硬件实现上的细节和难点、实际运行中会遇到的问题以及解决的方案等,并对这份项目资料烂熟于心。另外我也针对一些很有可能被面试官追问的部分多次推敲,把逻辑捋顺,不求得到最完美的回答,至少要能够给出一个逻辑上没有错误的回答。
做好项目经历的准备后,并非就一劳永逸了,由于自身的经验所限,很多时候我们的准备的东西还是不够充分。因此在整个校招的过程中,需要不停的完善和提升项目经历这块的准备。
在面试中,面试官一般不会宽泛地问各种细节,而是追着某些关键点穷追猛打。以我这个项目为例子,面试官最关注的点有三个:
一是FPGA怎么处理高速ADC采集来的数据,毕竟FPGA的最大时钟频率到不了2G,而且也会涉及到跨时钟域处理的问题;
二是FPGA里的算法有哪些,具体是怎么实现的;
三是如何验证FPGA中的计算结果是否正确。
前面两点我准备得比较多,基本上能应付过来,而第三点是我有点意外的,验证功能的正确性确实很重要,但我没想到大部分面试官对这个很感兴趣。这里顺便分享一下我验证FPGA计算结果是否正确的方法:
前面我说过,我先在matlab以FPGA能实现的形式重新写了一遍算法,并且通过了测试。我将测试用的数据量化成与ADC位宽相同的有符号二进制数,导出为txt文本,然后在进行modelsim仿真时读取txt文本的数据,观察仿真的结果与matlab是否能对应。
在上板测试的时候,则先将测试数据写到ROM中(需要将二进制数据以mif或hex的形式与程序一起烧到板子上),上电后模块从ROM中读取数据进行运算,使用signaltab观察计算的结果是否正确。
这种验证方法得到了一部分面试官的肯定,但也有面试官指出这样的验证手段覆盖率太低,有很多情况没有考虑到。于是我向他们请教正确的验证方法,他们说会用UVM来验证,但并不会要求FPGA岗的应聘者掌握这方面的知识。自此之后我开始补验证方面的知识,虽然我不能在短时间之内掌握UVM并应用于已有的项目上,但在之后面试官提到验证方面问题,除了描述我自己的验证方法,我也会主动去聊一聊UVM方面的东西。
上面的例子说了这么多,我想表达的是项目经历是需要一直完善和提升的,在前期的面试中我会尽量记录面试官针对项目提出的问题,总结出他们喜欢问的点,然后重点准备。大部分的技术面考官都是资深的工程师,而学生做的项目一般来说不会太复杂,面试官来一眼就能看出关键点在哪里,因此只要根据他们的提问去不断补强自己的准备,对后续技术面的帮助会非常大。
本文地址:http://www.tpjde.com/quote/5735.html    推平第 http://www.tpjde.com/ , 查看更多

特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关行业动态
推荐行业动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2023001713号