前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IC公司职位与职业发展(数字部门)

IC公司职位与职业发展(数字部门)

作者头像
FPGA开源工作室
发布2021-08-26 10:32:07
1.2K0
发布2021-08-26 10:32:07
举报
文章被收录于专栏:FPGA开源工作室FPGA开源工作室

初入职场的小伙伴很想知道一个fabless IC设计公司大概有哪些岗位,哪些岗位的薪水高呢?自己适合哪个岗位,以后可以有哪些发展呢?自己进入公司后可能跟哪些部门的同事合作?根据Sky的了解,略作分享。

一个fabless的IC设计公司,大致有如下职位:

因为我一直从事数字IP/IC设计工作,所以主要对数字设计部门有哪些职位,职位间的工作内容,技能要求的差异做一些介绍与分享。该部门的所有职位,对数字电路的基本理论都有要求。

在数字部门,主要分为如下几个小组:数字前端设计组,数字验证组,数字流程组(数字中端),数字后端。在稍大的公司,数字前端设计通常又分为数字IP设计岗位和SOC设计岗位。每个岗位的工作内容大致如下:

数字IP设计:

根据公司项目需求,开发设计新的数字IP。主要有:算法加速器类(比如图像处理,神经网络加速器,蓝牙/wifi基带数字信号处理),接口总线类(比如UART/IIC/SPI接口, AHB/AXI bus interconnector,MIPI/USB/PCIE接口,DMA控制器,DDR控制器),CPU/GPU类(比如RISC-V)等。

根据公司规模与策略,有些公司对于通用的大型IP采用的是第三方license的方式,比如:CPU/GPU,AHB/AXI bus interconnector,高速接口(DDR PHY, USB PHY, PCIE)。根据公司的核心业务,内部只会开发一些特定功能的数字IP。超大公司为了提升系统性能,对这些通用的大型IP也会自己设计、优化(比如HiSilicon)。

因为设计的东西在公司内部是从无到有,所以数字IP设计岗,对工程师的如下能力有要求:

1) 从算法/协议到数字IP设计架构的能力,考虑IP设计的PPA;

2) 接受新知识(算法,协议理解)的能力,自学能力;

3) FPGA设计使用(一般都要到fpga跑emulation);

SOC设计:

根据公司项目需求,定义一颗芯片需要的功能(IP)模块,CPU选用,系统结构(BUS结构),软硬件交互方式,规划芯片的DFT/CLK&Reset/Power Domain(UPF)/Working Mode(Normal/Standby/Sleep/Deep Sleep)等内容。然后再根据芯片Spec.与系统规划把各个数字/模拟IP有机的结合起来,实现系统功能。

所以需要熟悉CPU性能与使用方法(boot, cache, 多核结构),BUS结构与性能提升,软硬件协同配合。对工程师的如下能力有要求:

1) 系统级理解分析能力;

2) 从功能需求到设计规划、实现的能力;

3) CPU,AHB/AXI片上总线结构与性能优化;

4) FPGA设计使用(一般都要到fpga跑emulation);

数字验证:

根据IP/芯片的Spec.,建立测试环境,规划测试case(pattern),验证IP/芯片的功能是否正确。在大公司,目前一般采用systemverilog语言结合UVM验证方法学来做仿真验证。验证几乎不存在PPA的考虑,只要考察验证的完备性。所以其更像软件开发工程,对工程师能力有如下要求:

1) 面向对象的软件开发思维(类似C++);

2) 测试点拆分,规划能力;

3) 细致,不放过任何一个测试点(连配置寄存器空间都有专门测试);

如果采用UVM方法学来做验证,一般设计/验证人员的配比需要1/1,甚至到1/2(1个设计,搭配2个验证),这种开销只有大公司能承受的起(HiSilicon,比特大陆,中兴和一些上市公司,比如汇顶,全志,瑞芯微,Verisilicon)。那一众小公司,还是采用传统的用verilog语言搭建仿真环境,进行RTL仿真测试的方法。这类工作,数字IP设计工程师可能兼职完成。

数字流程(数字中端):

使用EDA软件,完成数字IC/SOC前端设计与数字后端设计的衔接。主要完成如下设计:DFT/UPF/LEC/STA and Sign off。对工程师能力有如下要求:

1) 设计工作的原理与对应EDA软件的使用;

2) TCL/Perl(or Python)脚本编程;

数字后端(Place&Route):

使用EDA软件,把gate level的网表布局布线,时序收敛,输出最终芯片tapout需要的GDSII文件。对工程师能力有如下要求:

1) 设计工作的原理与对应EDA软件的使用;

2) TCL/Perl(or Python)脚本编程;

在IC公司中,研发部门的职业发展主要有技术与管理两条发展路线。大致职级如下:

技术路线:

初级工程师(Junior)--> 高级工程师(Senior)--> 主管工程师(Staff)--> 高级主管工程师(Senior Staff)--> 技术专家(Principle)--> 技术副总裁(Vice President)

管理路线:

初级工程师(Junior)--> 高级工程师(Senior)--> 组长 (Leader)--> 经理(Manager)--> 部门主管(Director)--> 副总(Vice President)

可以看到,一般大家都是从工程师开始做起的。

fabless IC设计公司的职位与职业发展路线就大致介绍如下,希望各位即将毕业的小伙伴都能找到适合自己的工作,在日后的工作中一步一步成长,一直往上。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FPGA开源工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档