数字ICFPGA设计⾯试与⼯作_sky
1. 请问:对于⼯作刷题,怎么看?
热⾝有必要,但是规劝⼀句:题⽬是刷不完的。⾯试通过了,后⾯还得再⼯作15年。你咋刷?
得想的长远些。做题不是终点。刷题,⾯试为了啥?
建议刷题是补充,平时多积累数字IC/FPGA设计知识、技能。
相关知识、技能见:zhuanlan.zhihu/p/35
2. 研究⽣课题怎么做,⼯作时才有的表现?
重点:做出你的理解,你跟现有paper不⼀样,有提⾼,改善的地⽅。
⽐如⽤⼀个CNN(神经⽹络加速器)举例,从HW架构上:DDR带宽需求,MAC利⽤率,⽀持的⽹络种类,CNN多层循环的展开⽅
式,8bit/16bit的混合⽀持,weight/feature map的压缩与否,compute cmd(指令)的设置等⽅向。在某个⽅向,做出⾃⼰的理解与认识,再有点点提⾼,基本就有的讲了。
别的题⽬,也是⼀样。如果你只是按照现有的paper,把⼈家的思路给实现了⼀下,可以讲的就不多了。但是,如果你实现了⽜逼的paper,也不错。举个例⼦,什么是⽜逼的paper,实现这些创意就可以了。⽐如CPU中:
1:分⽀预测,跳转算法;
2:多发射,乱序执⾏;
我认为:good offer = 扎实的基础 + ⼀个项⽬亮点。
3. 请问:做ic设计的话,你觉得soc好还是ip好呢?
IP设计,偏设计(算法加速器,接⼝协议,CPU/GPU等⽅向从⽆到有的设计。⾄少在你公司是从⽆到有),智⼒要求可能更⾼。
SOC偏集成与系统(根据需求,合集选⽤各种IP,规划芯⽚结构),对于BUS结构/CPU使⽤(boot,cache,多核结构)/软硬件交
互/DFT/CLK&Reset/power domain(UPF)/MBIST/量产测试/脚本语⾔有要求。
每个⽅向,做好了,都⽜逼,都挣钱。
我也不知道哪个好,两个⽅向相辅相成,看哪个适合你。
4. 请问:数字IP/IC前端设计跟FPGA设计岗位,该怎么选?
从如下⼏个⽅⾯对⽐。
⼯作内容:我觉得两者(⽤数字IP设计岗来对⽐)的⼯作内容类似,都属于数字IP设计范畴。
⼯作技能:不看项⽬的情况下,数字IP设计岗所需技能略多。涉及:Linux系统使⽤(有些fpga公司也⽤linux开发),DC综合,nLint代码检查(有些fpga公司也做这个),LEC形式验证。
⼯作偏重:fpga可能更偏系统,需要更全⾯的知识了解(⼴度)。因为xilinx/Intel提供⼤量IP,怎么⽤这些IP快速搭建系统,再加⼊⾃⼰的特定功能,这是fpga⼯作的要求与难点。可能需要的系统知识更多,⽐如:TCP/IP协议,PCIE协议,会写简单的driver,最好还能会简单的操作系统。
数字IP的话,在⼀个⽅向可以搞好⼏年,需要在PPA(power, performance, area)⽅⾯不断挖掘,不断优化迭代,这个需要对⼀个⽅向的不断专研(深度)。在数字IP/IC设计中,也会⽤到fpga做design的fpga emulation,fpga的基本使⽤也是会碰到的。
相互转换:sky认为,数字IC设计可能是fpga设计的母⼦。就缺:怎么快速使⽤xilinx/Intel提供的IP来搭
建系统(sky还没有使⽤过fpga的⾼速Serdes IO block,感觉这个还有点难度)。这个稍加时⽇,因该就会了。⽽fpga设计转数字IP/IC设计,难点在是否有IP设计能⼒,是否能专研。
薪⽔与职业发展:从平均来看,数字IP/IC设计的薪⽔要⾼些;运⽓好,分股票/期权的机会也更⼤。对设计技能的提升,应该数字IP岗更好。
5. 请问:⾮微电⼦专业,只做过FPGA,IC设计⼯作时会有劣势吗?
单从⼯作来说,看学历,看数字IC基础知识是否牢固,看能⼒。
各位读书时只做FPGA项⽬很正常,成电都很少有tapout的机会。
如果做数字IP设计,在FPGA上就能完成绝⼤部分设计开发⼯作。
但是从培养⼈才的⾓度看,好像是需要tapout实战下,把IC设计整个流程跑通。
6. 请问:数字IC⽅向,⼯作时,对学校(985、211)有要求吗?
我觉得⾸先看学历(硕⼠,本科),然后再看学校。
⼤⼚(HiSilicon,⽐特⼤陆,上市公司等)可能对学校有点点隐形要求,喜欢985、211的学⽣。但是现
在国内IC公司很多(据说有超2K 家),很多⼩公司还是到处好苗⼦的。我知道珠海的⼀些初创公司,就有⼀些⾮985/211的设计⼯程师。
所以,只要数字设计理论基础扎实,有些IP设计经验,做项⽬的过程中有⾃⼰的理解,个⼯作还是没问题的。毕竟遇上了IC发展的⼤好时期。
PS:数字IC设计⽅向,还是建议读研后再⼯作。这个敲门砖在⼯作时还是有⽤的。尤其是⼀些外企,硕⼠是硬性要求。
另外,还有很多fpga设计岗位(研究所,系统公司)嘛,它们对985/211没有太多要求,⼀般只要本科就可以有⾯试机会了。
7. 请问:⾯试时,如何回答技术问题?
尽量先把原理摆出来,证据有⼒,推导逻辑清楚,说清楚要害,⼀招毙命。
要偏“西医”⼀些,不要像“中医”⼀样“阴阳”可以解释⼀切。
遇到实在不会的,可以尝试:这个⽅向不太会。我认为,可以先去baidu/IEEE搜索把这个问题弄清楚,再看看别⼈的解决⽅案,最后应该能有⾃⼰的⽅法。需要时间先去收集资料,研究这个⽅向。
总之⼀句话:不会可以,但是展现出⾃⼰能解决这个问题。
8. 请问:在⼤公司,会不会⼀只做⼀个⽅向,太局限?
你5年能弄好⼀个IP,就⾜够了。ARM⼀家⼤公司,主要就设计CPU/BUS/GPU等IP,也不做产品的。
再⽐如:袁隆平,⼀⽣只提⾼了⽔稻的产量。为啥不研究⼩麦,油菜,⼟⾖,⽟⽶,甚⾄养猪?⾃⼰琢磨⼀下。
技能是需要积累的,如果你能把⼀个⽅向做的很深⼊,那给你时间,你也能把另⼀个⽅向做到顶尖。
要扩展眼见,⽅法还有很多,不单靠公司的项⽬。⽐如:论坛,知乎号,订阅design&reuse的期刊(design-reuse/)等。
9. 请问:IC设计公司⼤致有哪些岗位?
研发类:
数字部分:数字IP设计,数字SOC设计,IC设计流程⼯程师,数字IC后端⼯程师;
模拟部分:模拟电路设计(射频电路设计),模拟版图设计;
量产测试⼯程师;软件⼯程师。
⽀持类:
FAE技术⽀持;IT运维;
具体见⽂章《IC公司职位与职业发展》:zhuanlan.zhihu/p/35
PS:学习时,装些windows EDA软件就⾏了。⼯作了,有IT运维帮你维护linux server上的EDA软件的。别花了⼤把时间⼲了别⼈的⼯作。
10. 能讲讲职业发展和升职吗?
IT类公司,研发岗位通常有2条发展路线:技术专家或管理。
技术专家升级路线:实习⼯程师 -> ⼯程师(Engineer) -> ⾼级⼯程师(Senior Engineer) -> 主管⼯程师(Staff Engineer) -> ⾼级主管⼯程师(Senior Staff Engineer) ->技术专家(Principle Engineer) -> CTO(maybe)。各个公司,叫法不⼀。
管理升级路线:实习⼯程师 -> ⼯程师(Engineer) -> ⾼级⼯程师(Senior Engineer) -> ⼩组长(4~6个⼯程
师的⼩组长) -> 经理(管理⼀个项⽬或⼀个项⽬的某⽅⾯,⽐如SOC的整个前端设计) -> 部门经理(Director,管理⼀个⼤部门)-> 副总。
⼯作3~5年,发现⾛技术困难,⼜不善管理,可以考虑转FAE。
11. 请问:IC有没有中年危机啊?
我认为:⼈⼀直有危机(富⼆代除外),就像公司⼀样,⼀直有危机。
幼年危机(你爸妈在焦虑),青年危机(各种考试,录取),中年危机(⼯作,⽣活)。
也许吧,就做点事,再佛系⼀点点。
危机⼀直有,乐⼦⾃⼰,⾃⼰去平衡下。
所谓:⽐上不⾜,⽐下有余。差不多,差不多,就⾏啦。
看官:我觉得不留遗憾就好了,想好了就⼲。未来谁知道呢?
12. 在公司待,技术⾮常重要吗?
在公司待,技术,知识只是其中⼀部分。另⼀部分是怎么合作,team work。
图⽚
13. 公司看重team work吗?不会合作很难混下去吧!?
是的。不合作,就只能跟sky⼀样,在这⼉总结这些破事。
14. 为了职业发展,不少⼈也说应届⽣⼯作⾸看薪资。
你觉得,什么时候可能是你⼯资收⼊的巅峰?怎样才能达到巅峰?或是让这个峰⾼⼀些?
我认为因该看:⼯作内容(⽅向)是否⾃⼰满意,这样⾃⼰才有动⼒这这个⽅向折腾那么好多年;公司平台是否够⼤,对你的技术、职业发展是否有⾜够的空间。
15. 毕业后,第⼀个offer不是很满意,怎么办?
⼤学只有4~7年,⼯作(⼈⽣)还有25~35年。你现在领先⼀点点,算个啥?
好与不好,才是开始,终点还远着呢。想想初中物理,速度与加速度的公式。
v=v0 + a t;
s=v0t + 0.5a t^2;
谁先跑完不好说。因为每⼈的赛道可能不⼀样长;运⽓好,来个⿊洞(时空奇点),直接穿越了。
等开始跑的时候,可能跑完,跑不完都不重要了。⼀直跑获得的满⾜感也是跑步的动⼒。
16. 毕业了,IEEE/ISSCC/SCI等paper怎么搞?
sci-hub。
⼀般叫hub的都⽜逼,还有github。
17. 以后谁⽤fpga啊,fpga设计还有发展机会吗?
应⽤,fpga也⽤的多。要不xilinx/intel(alter)/alttice的营收从哪⼉来?你把海康的智能设备拆开看看,⾥⾯有xilinx的zynq fpga。再拆开华为/中兴的设备,⾥⾯FPGA⼀堆。连iPhone(前2年的),据说有⼀颗lattice的fpga在⾥⾯。那现在⽜逼的云服务器,很多都混合运算:CPU + GPU + ASIC + FPGA。看看华为、中兴、腾讯、阿⾥、海康、⼤华,招FPGA⼯程师不?
从技术上看,该问题是:那些应⽤否适合ASIC/SOC(⾮CPU/GPU)加速,哪些适合FPGA?
主要看如下⽅⾯:
1): 市场出货量够不够⼤(各种场景,算法相似度⾼不⾼);
2): 算法是否有稳定性,⼀年,⼏年都不会改动(或者HW能预期改动点,能预先应对);
3): 应⽤时,是否有⾼度并⾏,超低延时的需求;
总的来说:量⼩,算法稳定性不⾼(没有标准算法,算法在快速迭代演进,HW需要经常修改)的⽤FPGA;如果需要⾼度并⾏计算,对付超低延时应⽤(⽐如股票交易系统,⾦融期货决策系统)时⽤FPGA。
应届生web前端面试题
还有军⼯,需要⽤军⼯级芯⽚(温度范围,抗辐射等),⼀般消费类ASIC达不到要求,只有⽤FPGA(有宇航级)。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。