嵌入式学习小组
直播中

张文婷

7年用户 166经验值
私信 关注

数字后端设计工程师主要干什么?

数字后端,顾名思义,它处于数字IC设计流程的后端,属于数字IC设计类岗位的一种。在IC设计中,数字后端所占的人数比重一直是最多的,而且随着芯片规模不断加大,后端工程师需要的人数将会越来越多。
一般来说,数字后端按岗位类别可以分为:逻辑综合,布局布线physical design,静态时序分析(STA),功耗分析Power analysis,物理验证physical verification等岗位。人才的需求量进一步加大,这也是现阶段数字后端工程师招聘量巨大的原因。


回帖(3)

李华瑞

2021-1-13 14:04:55
  数字后端设计工程师主要干什么?
  逻辑综合(Synthesis)
  主要负责将RTL code转换为实际后端使用的netlist网表, 一个好的网表对布局布线的工作起到决定性作用。要尽可能做到performance, power, area的优化。尤其是现如今的一些要求高性能的设计,对综合的要求非常高。
  综合质量很大一定程度上取决于综合软件的性能,业界流行的两个综合工具是Synopsys的Design Compiler和Cadence的Genus,熟练的掌握两个工具的使用方法是综合工作的一个基本条件。
  布局布线(PD)
  布局布线是数字后端中占比最大的工作,主要负责netlist到GDSII的转化过程,步骤包括Floorplan,Place,CTS,Optimize,Route,ECO等,确保自己负责的模块满足时序还有物理制造的要求。同时,需要协同其他工程师,及时提供他们需要的文件,比如def, spef,网表等。是数字后端中最核心的工作。
  布局布线对工具的依赖程度较强,而且工具操作相对来说较为复杂。业界较为常用的是cadence的Innovus软件和Synopsys的ICC,掌握这两大工具的使用需要花费一定的时间。
  静态时序分析(STA)
  静态时序分析简称为STA,时序验证分析是数字后端中的重要一块内容,芯片需要满足各种corner下面的setup,hold时序要求以及其他的transition, capacitance, noise等要求。STA需要制定整个芯片的sdc约束文件,选择芯片需要signoff的corner以及全芯片的timing eco流程。是一份难度要求很高的工作。
  静态时序分析通常通常需要掌握Synopsys的primetime以及cadence的tempus两大软件的使用方法。
  物理验证(PV)
  物理验证也是tape out前的一项重要事项。如果物理验证有错,那芯片生产就会失败。在布局布线工具中,软件只能检查到金属层上的物理违反,而真正的物理验证需要检查到器件底层(base layer)。因此,物理验证需要将金属层和底层金属合并到一起,进行全芯片的drc检查。同时,还需要做全芯片的LVS(版图与原理图一致性检查),ERC(电气规则检查)。确保芯片没有任何物理设计规则违反。
  物理验证一般在mentor公司的calibre中进行,是业界标准的物理验证工具。
  功耗分析(PA)
  功耗分析也是芯片signoff的重要一大块,随着现在芯片的规模越来越大,功耗在芯片的中的地位也越来越高。功耗分析的两大任务是分析IR drop(电压降)和EM(电迁移)。及时将结果反馈给布局布线任务组,让他们及时修改后端设计图,解决设计中潜在的问题。
  一般功耗分析使用的工具有Ansys公司的redhawk,以及cadence公司的voltus和synopsys公司的ptpx。
举报

周烜

2021-1-13 14:05:04
  主要和谁打交道?
  数字后端工程师通常都是以一个项目组作为一个团队,前面说的这些任务都会分为不同的角色。通常,一个项目中会有一名顶层工程师,一名STA工程师,一名功耗分析工程师,一名物理验证工程师以及若干名模块工程师,这些工程师需要相互合作,共同完成全芯片的RTL到GDSII的过程,同时确保没有时序以及物理验证上的违例。
  数字后端工程师还需要经常与前端工程师打交道,确保网表的功能正确以及sdc的正确制定,及时将后仿文件交付给前端,让前端工程师能尽快通过仿真发现潜在的设计问题。
  DFT工程师也是我们经常与要交流的,因为测试逻辑设计在现在的芯片中的比重越来越大,后端工程师需要与DFT工程师确认好测试SDC的制定,扫描链scan chAIn的物理走向等任务。
举报

李家沌

2021-1-13 14:05:18
  需要掌握的技能和条件。
  数字后端主要以软件工具为主,需主要掌握以下软件(以cadence, synopsys,mentor公司为主)
  布局布线:Innovus/Encounter, ICC2/ICC
  综合:DC, Genus
  物理验证:Calibre
  静态时序分析:PrimeTime, Tempus
  功耗分析:Redhawk, Voltus,PTPX
  每种平台需要你掌握的技能不大一样,通常学会每种平台下学会一种工具即可。一个初级工程师想全部掌握这些技能也很难,如果这些工具你都会使用,就变成老司机了。
  由于数字后端工程师需要跑一些自动化的任务,所以掌握必要的脚本语言也是必须的,比如掌握下面知识就显得比较重要:
  verilog
  TCL
  Perl
  Python
  所有的技术类岗位,主要看的两点就是:专业技能(skills)和项目经验(experience)。所以除了上面列的这些技能,你能实际做过一两个项目,哪怕是一些小模块的后端设计,也是很重要的,尤其是做项目过程中积攒的debug经验。
  如果你是在校学生,学校里实践数字后端的机会较少,所以基本上你只要简单懂一点流程以及时序方面的内容,可能就可以找到数字后端工程师的职位了。现在在校学生通过各种渠道(比如E课网www.eecourse.com),很多同学都掌握了上面的这些技能,甚至积累了一两个项目经验。会的人多了,招聘的要求也自然高一些了。
  现阶段,数字后端工程师主要还是以招聘研究生为主,本科生招得很少。不过好消息是对专业的要求并不是很苛刻,并非集成威廉希尔官方网站 方向不可,只要你掌握了上面的这些技能,哪怕不相关专业,比如材料、物理、自动化、机械等专业,也是可以成功应聘。
  学历本科的同学也不要气馁,有工作经验的本科生,还是可以找到数字后端工程师的职位的,而且有很多成功的例子的。毕业学校一般的同学也不要气馁,985高校毕业,肯定是有优势的,但毕竟每年毕业生不多,在现在IC行业整体缺人的大背景下,依然会招收学校排名一般的学生的;当然前提还是一样,有专业技能(skills)和项目经验(experience)。
  后端设计分为5个步骤,要做的事情是非常多的,因此招人也非常多,大公司里,5个步骤每个都是有专人负责的。后端设计工程师需要掌握的东西会比较多,但是不要求每一项都很精通,是一个非常不错的选择~
  后端和前端一样,也是一个很早就出现的非常重要的岗位。虽然由于工作性质,它对代码的要求相对来说没前端那么高,但是各种EDA工具的使用、掌握多门脚本语言、分析报告、修错误都是其核心技能。
  因此,数字后端和前端相比,并不存在谁好谁坏的问题,待遇和发展空间都是大致相同的。大家根据自己的技能基础和个人意愿去选择就好~
  看到这里,你是否又对数字后端工程师有了比较深刻的了解了呢?零基础的你该如何入行,找到数字后端设计的工作呢?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分