微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > Fabless IC设计公司职位职能划分的一点随想

Fabless IC设计公司职位职能划分的一点随想

时间:10-02 整理:3721RD 点击:

公司解散,这段时间来面试了不少公司,尽管没有最终成功,但收获蛮多,有很多感想,我是做嵌软起家然后做IC验证,面试了多个公司的验证职位,发现基本上没有一家对于这个职位的要求是完全一样的,我想现在基本上对这个职位有个认识了,大家都是做同一个职业,我想都会有些感触的,我这篇帖子,就算是抛砖引玉吧。
首先先说说我对整个IC设计公司职能划分的理解吧。
数字IC前端设计工程师
职能:
负责RTL级的电路建模,单元级验证,附加:综合、算法。
要求:
需数集电知识。
数字IC后端设计工程师
职能:
P&R,layout版图设计。
要求:
需半导体物理工艺知识。
模拟IC设计工程师
职能:
模拟电路设计,版图layout。
要求:
需模集电知识,半导体物理器件工艺知识。
IC验证工程师
职能:
主要面向数字或数模混合电路的验证,负责IC电路的模块级、芯片级验证(凡芯片级和系统级验证均包括FPGA验证,以下略),负责驱动软件设计(BIOS),附加:芯片诊断代码设计、软硬件协同仿真。
要求:
需计算机软件、计算机组成原理、数集电知识,有极强的软件建模的能力。
SOC系统架构设计工程师
职能:
根据产品需求,确定实现的总体软硬件方案,定义CPU和总线架构,定义模块功能以及划分软硬件,进行芯片级和系统级的仿真和验证,设计芯片应用方案。
要求:
需极强的计算机体系架构知识,需要懂计算机软件,数集电,数电知识。
算法设计工程师
职能:
为芯片内一些复杂的功能进行算法实现,验证算法的效果。
要求:
需极强的图像、视频或网络等方面的专业知识,懂计算机软件以及建模工具。
软件工程师
职能:
负责BSP设计、bootloader设计、OS移植。负责设计软件系统架构,设计中间层和应用层软件。
要求:
需计算机软件、数据库知识。
产品管理工程师
职能:
负责各部门沟通协调,确定项目计划和时间节点,确定工艺流程,产品成本计算,管理外协,品质管理。
要求:
需管理学,半导体器件与工艺方面的知识。
项目经理
职能:
收集客户需求信息,进行市场调研,确定产品规划,进行商务谈判,审核产品设计进度,评定部门工作业绩。
要求:
需市场分析和预测,商务谈判,团队管理方面的能力。
另外,还有销售和市场,也很重要,一个是向市场推销产品,一个是收集市场需求信息。还有现场应用工程师,在产品上市后,为了提高产品服务质量,需要他来更近的服务客户。另外,还有财务、出纳、HR等,不逐一列出来了。
各个公司按照其人员配备情况,功能划分可能会有所不同,按照其产品定义情况,不一定需要以上全部的部门。
目前,很多公司基本上按照这个模式进行部门划分,但对于某些职位的职能和要求却有很大的差异,就比如IC验证工程师这个职位,有些公司把这部门职能划入到设计部门中去了,要求有很强的数字电路设计知识;还有些公司有这个部门,但对职能要求却不同,例如:有的需要有极强的C++语言能力,有的需要设计能力,有的只需要建模不需要混合仿真,有的只需要做模块级ASIC仿真,有的对SOC系统验证有很高的要求,等等。总之,非常的不一样,这也带来一些问题,可能会造成部门之间的职能覆盖或者产品质量没有保证。而对于求职者来说,也造成很多困惑,不知道该如何适应企业的要求。
因此,凭着我对这个职位的理解,重新对这个职位进行了划分和定义,首先,我觉得IC验证工程师必须要有很强的软件功力,否则没有办法在事务级对复杂设计进行建模,有些公司要求设计工程师自己做验证,这是极其错误的,RTL编程的那点编程能力根本就没有胜任不了一个复杂设计的事务级建模,HDL是电路建模语言,和SC/SV/C++等 OOP建模语言还是差异很大,思维方式也不同,这是一,要设计带约束的随机测试为主的自检测测试平台,也要求有面向对象编程的能力,这是二,要使得设计的平台具有可复用的能力,要求设计者要具备面向对象编程的高级技巧,这是三,由这三点,我认为对于验证工程师来说,软件建模能力比数电知识更重要;其次,IC验证工程师也要写驱动。我们在验证一些SOC模块的时候,很多时候需要软硬件协同验证,模拟软件真实驱动硬件的条件下验证设计的健壮性,有可能还要求时钟精确,这就需要验证工程师写一些驱动程序来配合测试平台进行检测,如果这交给软件工程师来写,因为没有硬件平台没有办法进行调试,软件质量不能保证,另外也是为了避免不同部门之间职能重复,可以交给验证工程师来做,一边验证硬件,一边测试驱动,最后这些经过测试过的驱动可以封装成BIOS库,提供API接口给软件工程师做芯片测试或上层调用。我认为,IC验证工程师是联系芯片和系统的职位,以后最有可能成长为SOC系统架构设计工程师。
所有的职位当中SOC系统架构设计工程师应该是最牛的,要求也应最高,不但要具备系统整合的能力,更要具备计算机架构方面的过硬的知识,对芯片内的模块也要足够的熟悉,另外,不但对整个设计要非常熟悉,对生产和应用都要有所了解。在确保芯片质量方面要有足够多的经验,很多系统集成的问题都要在流片前解决掉,所以片级的验证能力必不可少。此外,他必须通晓整个芯片的优点和缺点,培训应用工程师,教他们如何进行应用。

不错不错,小编挺厚道

很好!验证工程师---

小编的话一针见血,厉害,有机会交流一下!

不错,定位清楚

谢谢指点,这正是我困惑的问题! 1# shinley

验证工程师要向前段设计工程师、架构工程师、软件工程师、算法工程师发展,要能通吃,就牛了。

thanks for sharing

小编很厚道啊!

神说, 我也希望能都做到

7# TommyGG

写的很实在!没有水分,读完后觉得很舒心,不像很多贴只是在吹嘘自己的厉害,发泄世道的不公!
这样的好贴太少了,衷心祝愿小编找到满意的工作!

小编好文,我现在也是在一家fabless做嵌软和HW-SW co-verification. 有机会多交流

个人理解,验证=面对对象软件编程经验+IP RTL设计经验+验证方法学。

大家知道这个职位的薪水大概是多少? 顺便关心一下小编现在工作找到了吗?

厉害,分析的太好了,受益匪浅

其实只要去大的ic公司网站上(nvida/marvell)看看职位和需求就可以高明白了

好帖必顶,说出了自己想说而没有说的话!收藏了!^_^ 1# shinley

通就是不精,人毕竟精力有限。

多谢小编了。

结构很清晰

顶个谢谢小编分享

做逻辑的FPGA 的应该属于前端的吧?

小编挺厚道

Thank you very much for sharing

真不容易啊

谢谢分享经验

LZ找到满意工作没有啊。虽然帖子不完全同意,不过从中还是可以看出LZ很用心,有前途,祝好运!

看来找工作不容易啊

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top