在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 16542|回复: 45

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

[复制链接]
发表于 2009-10-14 15:19:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 shinley 于 2009-10-16 10:06 编辑

公司解散,这段时间来面试了不少公司,尽管没有最终成功,但收获蛮多,有很多感想,我是做嵌软起家然后做IC验证,面试了多个公司的验证职位,发现基本上没有一家对于这个职位的要求是完全一样的,我想现在基本上对这个职位有个认识了,大家都是做同一个职业,我想都会有些感触的,我这篇帖子,就算是抛砖引玉吧。

首先先说说我对整个IC设计公司职能划分的理解吧。

数字IC前端设计工程师
职能:
负责RTL级的电路建模,单元级验证,附加:综合、算法。
要求:
需数集电知识。

数字IC后端设计工程师
职能:
P&Rlayout版图设计。
要求:
需半导体物理工艺知识。

模拟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系统架构设计工程师应该是最牛的,要求也应最高,不但要具备系统整合的能力,更要具备计算机架构方面的过硬的知识,对芯片内的模块也要足够的熟悉,另外,不但对整个设计要非常熟悉,对生产和应用都要有所了解。在确保芯片质量方面要有足够多的经验,很多系统集成的问题都要在流片前解决掉,所以片级的验证能力必不可少。此外,他必须通晓整个芯片的优点和缺点,培训应用工程师,教他们如何进行应用。
发表于 2009-10-14 20:38:42 | 显示全部楼层
不错不错,楼主挺厚道~~~~
发表于 2009-10-15 17:05:31 | 显示全部楼层
很好!!!验证工程师---
发表于 2009-10-16 12:40:49 | 显示全部楼层
楼主的话一针见血,厉害,有机会交流一下!
发表于 2009-10-17 00:18:42 | 显示全部楼层
不错,定位清楚
发表于 2009-10-17 13:35:39 | 显示全部楼层
谢谢指点,这正是我困惑的问题! 1# shinley
发表于 2009-10-17 14:44:37 | 显示全部楼层
验证工程师要向前段设计工程师、架构工程师、软件工程师、算法工程师发展,要能通吃,就牛了。
头像被屏蔽
发表于 2009-10-21 15:02:59 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2009-11-25 22:05:59 | 显示全部楼层
谢谢楼上的兄弟!
发表于 2009-11-27 15:22:24 | 显示全部楼层
thanks for sharing
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 16:46 , Processed in 0.040819 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表