数字后端工程师职位详细介绍
数字后端工程师职位详细介绍
数字后端工程师是IC设计流程中的重要岗位,主要负责将RTL代码转换为实际后端使用的网表,并确保芯片满足各种时序和物理制造要求。随着集成电路行业的快速发展,数字后端工程师的需求量持续增长,成为许多应届毕业生的理想选择。本文将详细介绍数字后端工程师的岗位职责、工作内容、所需技能、薪资待遇和发展前景。
一.岗位介绍
数字后端处于数字IC设计流程的后端,属于数字IC设计类岗位的一种。在IC设计中,数字后端所占的人数比重一直是最多的,这也是现阶段数字后端工程师招聘量巨大的原因。
一般来说,数字后端按岗位类别可以分为:逻辑综合,布局布线physical design,静态时序分析(STA),功耗分析Power analysis,物理验证physical verification等岗位。
二.主要工作内容
1.逻辑综合(Synthesis)
主要负责将RTL code转换为实际后端使用的netlist网表, 一个好的网表对布局布线的工作起到决定性作用。要尽可能做到performance, power, area的优化。尤其是现如今的一些要求高性能的设计,对综合的要求非常高。
综合质量很大一定程度上取决于综合软件的性能,业界流行的两个综合工具是Synopsys的Design Compiler和Cadence的Genus,熟练的掌握两个工具的使用方法是综合工作的一个基本条件。
2.布局布线(PD)
布局布线是数字后端中占比最大的工作,主要负责netlist到GDSII的转化过程,步骤包括Floorplan,Place,CTS,Optimize,Route,ECO等,确保自己负责的模块满足时序还有物理制造的要求。同时,需要协同其他工程师,及时提供他们需要的文件,比如def, spef,网表等。是数字后端中最核心的工作。
布局布线对工具的依赖程度较强,而且工具操作相对来说较为复杂。业界较为常用的是cadence的Innovus软件和Synopsys的ICC,掌握这两大工具的使用需要花费一定的时间。
3.静态时序分析(STA)
静态时序分析简称为STA,时序验证分析是数字后端中的重要一块内容,芯片需要满足各种corner下面的setup,hold时序要求以及其他的transition, capacitance, noise等要求。STA需要制定整个芯片的sdc约束文件,选择芯片需要signoff的corner以及全芯片的timing eco流程。是一份难度要求很高的工作。
静态时序分析通常通常需要掌握Synopsys的primetime以及cadence的tempus两大软件的使用方法。
4.物理验证(PV)
物理验证也是tape out前的一项重要事项。如果物理验证有错,那芯片生产就会失败。在布局布线工具中,软件只能检查到金属层上的物理违反,而真正的物理验证需要检查到器件底层(base layer)。因此,物理验证需要将金属层和底层金属合并到一起,进行全芯片的drc检查。同时,还需要做全芯片的LVS(版图与原理图一致性检查),ERC(电气规则检查)。确保芯片没有任何物理设计规则违反。
物理验证一般在mentor公司的calibre中进行,是业界标准的物理验证工具。
6.功耗分析(PA)
功耗分析也是芯片signoff的重要一大块,随着现在芯片的规模越来越大,功耗在芯片的中的地位也越来越高。功耗分析的两大任务是分析IR drop(电压降)和EM(电迁移)。及时将结果反馈给布局布线任务组,让他们及时修改后端设计图,解决设计中潜在的问题。
一般功耗分析使用的工具有Ansys公司的redhawk,以及cadence公司的voltus和synopsys公司的ptpx。
三.协作对象
数字后端工程师通常都是以一个项目组作为一个团队,前面说的这些任务都会分为不同的角色。通常,一个项目中会有一名顶层工程师,一名STA工程师,一名功耗分析工程师,一名物理验证工程师以及若干名模块工程师,这些工程师需要相互合作,共同完成全芯片的RTL到GDSII的过程,同时确保没有时序以及物理验证上的违例。
数字后端工程师还需要经常与前端工程师打交道,确保网表的功能正确以及sdc的正确制定,及时将后仿文件交付给前端,让前端工程师能尽快通过仿真发现潜在的设计问题。
DFT工程师也是我们经常与要交流的,因为测试逻辑设计在现在的芯片中的比重越来越大,后端工程师需要与DFT工程师确认好测试SDC的制定,扫描链scan chain的物理走向等任务。
四.所需技能
1.数字后端主要以软件工具为主,主要掌握以下软件(以cadence, synopsys,mentor公司为主)
- 布局布线:Innovus/Encounter, ICC2/ICC
- 综合:DC, Genus
- 物理验证:Calibre
- 静态时序分析: PrimeTime, Tempus
- 功耗分析: Redhawk, Voltus,PTPX
每种平台需要你掌握的技能不大一样,通常学会每种平台下学会一种工具即可。一个初级工程师想全部掌握这些技能也很难,如果这些工具你都会使用,就变成老司机了。
由于数字后端工程师需要跑一些自动化的任务,所以掌握必要的脚本语言也是必须的,比如掌握下面知识就显得比较重要:
- Verilog
- TCL
- Perl
- Python
所有岗位主要看的两点:专业技能(skills)和项目经验(experience)。
所以除了上面列的这些技能,你能实际做过一两个项目,哪怕是一些小模块的后端设计,也是很重要的,尤其是做项目过程中积攒的debug经验。
如果你是在校学生,学校里实践数字后端的机会较少,所以基本上你只要简单懂一点流程以及时序方面的内容,可能就可以找到数字后端工程师的职位了。现在在校学生通过各种渠道(比如:E课网)学习,掌握了上面的这些技能,甚至积累了一两个项目经验。
五.薪资待遇
现阶段,数字后端工程师主要以招聘硕士以上学历,对专业的要求并不是很苛刻,非集成电路方向也可以,只要你掌握了上面的这些技能,哪怕不相关专业,比如材料、物理、自动化、机械等专业都可以
另外一个好消息是,国内现在在大力发展集成电路,所以最近几年的薪资都在不断上涨,5年之内应该都还会保持这个趋势。
六.发展前景
关于数字后端设计工程师的职业发展,未来的IC设计工程师的职业发展分为两条路径:
一是技术专家路线,基本按照上图的发展阶梯来走,这些人会一直做技术,成为一名资深设计工程师;
二是项目管理路线,有些人会成为设计经理,做一些管理类的工作。
设计工程师干了很多年之后,有少数人也可以转岗,比如转去做架构工程师,去EDA公司做应用工程师(AE),要么就索性创业。但是总的来说,绝大多数设计工程师还是会一直做下去,毕竟这个岗位还算一个天花板不低的岗位