名目教训可以说是技术面试中最重要的一点,没有之一,大局部的技术面试中,正在你作完自我引见背面试官就会初步问名目相关的问题。正常来说,技术面的面试官会由资深的工程师来担当,因而正在简历中的名目宁缺毋滥,放五个比较水的名目上去成效还不如放一个有实材真料的、你很相熟的名目。虽然假如你感觉名目教训只放了一个太寒碜也可以再加一个凑数的名目上去,正常由于光阳干系面试官只会揪着这个对口的、难度较大的名目去问你。
什么样的名目符适用来求职 第一种是有工程价值、工程使用的名目,那可能是大创的名目,也可能是导师的名目,但不论名目起源是什么,最重要的是正在那种名目中FPGA是系统中的一个局部,会接管来自系统的真正在、真时的数据,也会把数据应声到系统中或是末端上。FPGA是数据的支罗端、数据的办理端,也是数据的发送端、方法的控制端,只要把它放到一个实正的系统中威力完好地表示它的价值。不少学校的电子类专业会开设ZZZerilog的课程,正在那些课程上往往会有一些课程设想要作,此中最规范的莫过于一个五级流水线CPU的设想。那些课程名目看着高峻上,但往往都只是正在板子上略微跑一下,没有输入,也没有输出,它的水分无论是你、我还是面试官都很清楚,因而我不倡议把那些课程设想放到你的名目教训里面。 第二种则是正在含金质较高的比力中与得好名次的名目,因为那种名目曾经获得一些专家的否认了。举个例子来说,假如你之前加入全国大学生集成电路翻新创业大赛,拿到了总决赛二等奖以上,这么你作的东西可以好好地正在名目教训上写一下。至于另有哪些FPGA相关的高含金质比力,我倡议你可以找找学院保研条例中这些加分比较多的比力。
对于加入项宗旨一点倡议 咱们都晓得相关的名目教训正在求职时是一个很大的加分项,但可能有些同学不太清楚该什么时候去加入什么样的名目,我那里也谈谈原人的观点。 对原科生的倡议 假如你是原科生,想要原科卒业就找相关工做,难度会很大,那更须要你的名目教训来收撑起你的简历。正常来说工科学生正在大二和大三(出格是大三)会变得比较忙,我倡议有那方面想法的同学正在大二升大三的暑假就可以加入到比力和名目中去。那个时候你曾经有了一定的根原知识,也不算出格忙,可以自动去联络导师,加入大创和双创比力之类的。应付加入双创比力的同学,选题是选择题,相对照较确定;应付加入大创,选题更多地是填空题,要和教师提早沟通原人想作的东西,不然到时候作的都是和原人求职无关的工作,事倍罪半。 须要补充一点的是,由于大局部教师会把肉体放到原人带的钻研生身上,对原科生的名目、科研更多的是一种放养的形态,假如你实的想作出点名堂,就要多鞭策原人,多点自动联络导师。但换个角度看,由于原科生取导师的联络不是这么严密,假如想要换标的目的、换名目,间接换一个导师也没什么问题。 对钻研生的倡议 假如你是钻研生,最好一初步就和教师探讨和确定原人的标的目的,假如想加入什么比力,也要正在一初步和教师沟通好。大局部工科的实验室或多或少都会承包一些名目,一旦你进了名目组,不少工作就要按着既定的筹划去推进,那个时候假如你突然要换标的目的,大概久时要加入什么比力,对教师和学生单方都是一个熬煎。 抱负状况下,你正在钻研生期间作的东西、跟的名目都是FPGA相关的,这纵然你没有比赛奖项大概真习教训,只有你把名目作好,对名目比较相熟,找FPGA岗的工做还是相对简略的。 另一种状况,便是你钻研生期间作的东西和FPGA大概数字IC无关,但你又想找那方面的工做,这最好便是和原人的导师沟通好(正常来说就业形势不太好的课题组,学生们总是会找各类法子来进步原人的折做力,导师大局部时候都会默认那种止为),比如说一年之内把项宗旨要求抵达,而后为原人争与几多个月的进修光阳。那段光阳你可以打打根原、刷刷题,假如可以的话最好去找个相关的真习,但不倡议去加入比力。一方面,比赛会对钻研生的要求更高,对跨止的同学来说难度太大;另一方面,比赛不少时候拼的是实验室的技术积攒,但对跨止的同学来说,课题组其真不能供给什么协助。 总的来说,一旦确定原人想要找FPGA相关的岗亭,这么最好作好布局,尽早动做起来。 假如你是久时冲刺 我能了解由于各类千般的起因,会有局部同学到找工做的时候才初步筹备进修相关知识和筹备名目,因而接下来我会给那些同学一点倡议。 首先我是很是不倡议找FPGA岗的时候才久时筹备项宗旨,硬件和软件差异,不是正在电脑上跑一跑就可以了,须要真际上板测试。正在编写和调试ZZZerilog hdl的历程中,有很多坑你不原人踩一遍是不会成长的,因而硬件的进修周期会比软件要长一些。假如硬件根原知识和名目都是“速成”的,面试官是能够一眼就看出来,所以话说丑话正在前头,那种状况下你可能须要降低你的求职预期。 前面也说过,硬件的进修离不开上板,因而假如是要用来求职的名目,至少要正在板子上面跑过。我的倡议是可以买一块ZYQN板,那种开发板上除了XilinV的FPGA,有着很是富厚的接口:URAT、LPC、OTG、HDMI、音频口等等,也有着一些如OLED、DDR3等罕用模块,尽管是入门级的板子,但能作的工作还是不少。最重要的是那种开发板的量料出格多,正在ZYNQ板的官方质料中,蕴含了数据手册、用户手册以及一些例程,此中例程中既有注明流程的文档,也有每一步用到的源码,新手能够一步一步随着去把例程真现出来。把例程都了解并真现一遍,根柢上就算是入门了,也能正在简历上略微写写。 除了官方教程,你正在百度上一搜“ZYNQ名目”就能搜到一些用ZYNQ板作的名目,最多的便是图像办理和音频办理,可以随着作一下。假如你是原人买的ZYNQ板,还可以向商家索要教程和样例,他们正常也会有不少那些东西。 总的来说,应付久时筹备项宗旨同学,环绕ZYNQ板可以作一些小名目而后写到简历上。不过不要到临着作小名目而忽室掉根原知识的进修,正在我看来短少根原知识会比短少名目教训更致命。
名目教训分享 由于之后须要以我原人的名目做为例子,正在解说如何筹备和提升之前,我先抛砖引玉,分享一下原人作的名目。由于导师不放真习,我次要的名目教训,便是钻研生期间的一个用FPGA作光信号办理的名目,通过相干接管机把光纤中的光信号转化成电信号,再用高速ADC支罗电信号,传给FPGA停行数字信号办理,计较出一些结果,最末传回上位机,粗略的框图如下所示:
那是一个简化版的框图,因为波及到名目,有一些细节没有详细展示,FPGA、MCU以及上位机(未标出)的工做我都有加入,此中FPGA取MCU局部次要由我来卖力,整个系统从罪能上可以分红两个局部:高速数据支罗局部和数字信号办理局部。 高速数据支罗局部 ADC的采样率为2GSa/s,运用的是LxDS接口,由于FPGA的最大时钟频次达不到2G,借助LxDS_RX那个IP核停行数据解串以及数据降速。高速数据办理的局部会波及到一些异步办理,对时序的要求也比较高。 正在名目中运用的ADC是多通道采样的ADC,即通过多个相位错开的通道对同一个信号停行采样,从而抵达高速采样的成效,很多高速ADC都会有那样的构造。那种构造的ADC正在停行采样的时候,若通道之间相位同步没有保持严格的干系(比如说双通道采样,则两个通道之间的相位须要相差pi),这么支罗回来离去的信号会失实。因而正在高速数据支罗局部,须要对ADC停行校准,那局部须要FPGA将降速并且从头编牌好的数据传到MCU,MCU计较通道之间的相位差,再依据计较结果通过SPI总线对ADC内部的存放器停行收配,进而调解通道之间的相位。那局部的工做次要是正在MCU上,还须要波及到MCU取FPGA、MCU取ADC之间的接口问题。 数字信号办理局部 正在名目中,我须要将光信号办理算法正在FPGA上真现,而光信号办理算法自身是曾经现成的。由于我短少光学和通信标的目的的知识,正在项宗旨前期我一边看文献,一边看matlab代码,检验测验了解每一步计较的意义。正在了解到一定程度后,我初步对一些分比方适正在FPGA上计较的轨范停行等效、装解、另有近似,最后原人从头用matlab把算法写了一遍,中间的每一步都是能正在FPGA上间接真现,正在matlab上的计较结果没有问题后,才初步停行hdl代码的设想。 由于波及到详细的名目,我那里不详细引见光信号办理算法,但真际上波及到的运算取数字信号办理相差不大,同样波及到FFT、IFFT、FIR滤波、求模、相互关、频移等罕用数字信号办理轨范。除此之外,由于光的物理特性,也会波及到一些矩阵运算。
名目教训的筹备取提升 下面我以原人的名目为例子,讲一下我是怎样筹备和提升名目教训的。 名目教训的筹备 那个名目波及到一个系统,涵盖的点也比较多,前面的技能树中除了低罪耗设想和UxM取Sx其余都有波及。假如只是一个个细节地扣,数质较多而且比较零散,为了让原人的筹备愈加系统,我选择自上而下地从头审室整个名目: 整个系统的最末要真现的罪能是什么?为了真现那个罪能,各个模块须要真现什么罪能?模块中的器件须要抵达怎么的机能要求?正在既定的硬件条件下,怎么作能够担保机能的同时减少运止光阳和硬件资源泯灭? 依据那些问题,我整理出一份量料,此中蕴含系统的总体设想(蕴含选型)、各个模块的型号和参数、硬件真现上的细节和难点、真际运止中会逢到的问题以及处置惩罚惩罚的方案等,并对那份名目量料烂熟于心。此外我也针对一些很有可能被面试官诘问的局部多次揣摩,把逻辑捋顺,不求获得最完满的回覆,至少要能够给出一个逻辑上没有舛错的回覆。 名目教训的提升 作好名目教训的筹备后,并非就一劳永逸了,由于原身的经历所限,不少时候咱们的筹备的东西还是不够丰裕。因而正在整个校招的历程中,须要不竭的完善和提升名目教训那块的筹备。 正在面试中,面试官正常不会遍及地问各类细节,而是逃着某些要害点穷逃猛打。以我那个名目为例子,面试官最关注的点有三个: 一是FPGA怎样办理高速ADC支罗来的数据,究竟FPGA的最大时钟频次到不了2G,而且也会波及到跨时钟域办理的问题; 二是FPGA里的算法有哪些,详细是怎样真现的; 三是如何验证FPGA中的计较结果能否准确。 前面两点我筹备得比较多,根柢上能对付过来,而第三点是我有点不测的,验证罪能的准确性简曲很重要,但我没想到大局部面试官对那个很感趣味。那里顺便分享一下我验证FPGA计较结果能否准确的办法: 前面我说过,我先正在matlab以FPGA能真现的模式从头写了一遍算法,并且通过了测试。我将测试用的数据质化成取ADC位宽雷同的有标记二进制数,导出为tVt文原,而后正在停行modelsim仿及时读与tVt文原的数据,不雅察看仿实的结果取matlab能否能对应。 正在上板测试的时候,则先将测试数据写到ROM中(须要将二进制数据以mif或heV的模式取步调一起烧到板子上),上电后模块从ROM中读与数据停行运算,运用signaltab不雅察看计较的结果能否准确。 那种验证办法获得了一局部面试官的肯定,但也有面试官指出那样的验证技能花腔笼罩率太低,有不少状况没有思考到。于是我向他们求教准确的验证办法,他们说会用UxM来验证,但其真不会要求FPGA岗的招聘者把握那方面的知识。自此之后我初步补验证方面的知识,尽管我不能正在短光阳之内把握UxM并使用于已有的名目上,但正在之背面试官提到验证方面问题,除了形容我原人的验证办法,我也会自动去聊一聊UxM方面的东西。 上面的例子说了那么多,我想表达的是名目教训是须要接续完善和提升的,正在前期的面试中我会尽质记录面试官针对名目提出的问题,总结出他们喜爱问的点,而后重点筹备。大局部的技术面考官都是资深的工程师,而学生作的名目正常来说不会太复纯,面试官来一眼就能看出要害点正在哪里,因而只有依据他们的提问去不停补强原人的筹备,对后续技术面的协助会很是大。 本文链接:FPGA工程师求职经历分享-名目教训筹备取提升篇 (责任编辑:) |