IC设计职位介绍之“数字后端设计工程师”
IC设计职位介绍之“数字后端设计工程师”
数字后端处于数字IC设计流程的后端,属于数字IC设计类岗位的一种。在IC设计中,数字后端所占的人数比重一直是最多的,而且随着芯片规模不断加大,后端工程师需要的人数将会越来越多。
一般来说,数字后端按岗位类别可以分为:逻辑综合,布局布线physical design,静态时序分析(STA),功耗分析Power analysis,物理验证physical verification等岗位。人才的需求量进一步加大,这也是现阶段数字后端工程师招聘量巨大的原因。
1、主要干什么?
逻辑综合(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。
2、主要打交道的人
数字后端工程师通常都是以一个项目组作为一个团队,前面说的这些任务都会分为不同的角色。通常,一个项目中会有一名顶层工程师,一名STA工程师,一名功耗分析工程师,一名物理验证工程师以及若干名模块工程师,这些工程师需要相互合作,共同完成全芯片的RTL到GDSII的过程,同时确保没有时序以及物理验证上的违例。
数字后端工程师还需要经常与前端工程师打交道,确保网表的功能正确以及sdc的正确制定,及时将后仿文件交付给前端,让前端工程师能尽快通过仿真发现潜在的设计问题。
DFT工程师也是我们经常与要交流的,因为测试逻辑设计在现在的芯片中的比重越来越大,后端工程师需要与DFT工程师确认好测试SDC的制定,扫描链scan chain的物理走向等任务。
3、需要掌握的技能和条件。
数字后端主要以软件工具为主,主要掌握以下软件(以cadence, synopsys,mentor公司为主)
布局布线:Innovus/Encounter, ICC2/ICC
综合:DC, Genus
物理验证:Calibre
静态时序分析: PrimeTime, Tempus
功耗分析: Redhawk, Voltus,PTPX
每种平台需要你掌握的技能不大一样,通常学会每种平台下学会一种工具即可。一个初级工程师想全部掌握这些技能也很难,如果这些工具你都会使用,就变成老司机了。
由于数字后端工程师需要跑一些自动化的任务,所以掌握必要的脚本语言也是必须的,比如掌握下面知识就显得比较重要:
Verilog
TCL
Perl
Python
所有的技术类岗位,主要看的两点就是:专业技能(skills)和项目经验(experience)。所以除了上面列的这些技能,你能实际做过一两个项目,哪怕是一些小模块的后端设计,也是很重要的,尤其是做项目过程中积攒的debug经验。
如果你是在校学生,学校里实践数字后端的机会较少,所以基本上你只要简单懂一点流程以及时序方面的内容,可能就可以找到数字后端工程师的职位了。现在在校学生通过各种渠道(比如E课网),很多同学都掌握了上面的这些技能,甚至积累了一两个项目经验。会的人多了,招聘的要求也自然高一些了。
现阶段,数字后端工程师主要还是以招聘研究生为主,本科生招的很少。不过好消息是对专业的要求并不是很苛刻,并非集成电路方向不可,只要你掌握了上面的这些技能,哪怕不相关专业,比如材料、物理、自动化、机械等专业,也是可以成功应聘。
学历本科的同学也不要气馁,有工作经验的本科生,还是可以找到数字后端工程师的职位的,而且有很多成功的例子的。毕业学校一般的同学也不要气馁,985高校毕业,肯定是有优势的,但毕竟每年毕业生不多,在现在IC行业整体缺人的大背景下,依然会招收学校排名一般的学生的;当然前提还是一样,有专业技能(skills)和项目经验(experience)。
如何成为一名优秀的集成电路IC设计工程师
如何成为一名优秀的集成电路IC设计工程师
IC设计工程师———未来10年最有前景的IT专业。IC设计不同于一般的板级电子设计,由于流片的投资更大,复杂度更高,系统性更强,所以学习起来也有些更有意思的地方。那么如何才能成为一个优秀的IC设计工程师?首先,作为初学者,需要了解的是IC设计的基本流程。应该做到以下几点:基本清楚系统、前端、后端设计和验证的过程,IC设计同半导体物理、通信或多媒体系统设计之间的关系,了解数字电路、混合信号的基本设计过程,弄清楚ASIC,COT这些基本的行业模式。窃以为这点对于培养兴趣,建立自己未来的技术生涯规划是十分重要的。学习基本的设计知识,建议读一下台湾CIC的一些设计教材,很多都是经典的总结。
EDA技术的学习:对于IC设计者来说,EDA工具意义重大,透过EDA工具商的推介,能够了解到新的设计理念。国内不少IC设计者,是单纯从EDA的角度被带入IC设计领域的,也有很多的设计者在没有接触到深亚微米工艺的时候,也是通过EDA厂家的推广培训建立基本概念。同时,对一些高难度的设计,识别和选择工具也是十分重要的。 如果你希望有较高的设计水平,积累经验是一个必需的过程。经验积累的效率是有可能提高的。以下几点可以参考:
1.学习借鉴一些经典设计,其中的许多细节是使你的设计成为产品时必需注意的。有些可能是为了适应工艺参数的变化,有些可能是为了加速开关过程,有些可能是为了保证系统的稳定性等。通过访真细细观察这些细节,既有收益,也会有乐趣。项目组之间,尤其是项目组成员之间经常交流,可避免犯同样错误。
2.当你初步完成一项设计的'时侯,应当做几项检查:了解芯片生产厂的工艺, 器件模型参数的变化,并据此确定进行参数扫描仿真的范围。了解所设计产品的实际使用环境,正确设置系统仿真的输入条件及负载模型。严格执行设计规则和流程对减少设计错误也很有帮助。
3.另外,你需要知识的交流,要重视同前端或系统的交流,深刻理解设计的约束条件。作为初学者,往往不太清楚系统,除了通过设计文档和会议交流来理解自己的设计任务规范,同系统和前端的沟通是IC设计必不可少的。所谓设计技巧,都是在明了约束条件的基础上而言的,系统或前端的设计工程师,往往能够给初学者很多指导性的意见。
4.查文献资料是一个好方法。多上一些比较优秀的电子网站,如中国电子市场网、中电网、电子工程师社区。这对你的提高将会有很大的帮助。另外同"老师傅"一同做项目积累经验也较快。如果有机会参加一些有很好设计背景的人做的培训,最好是互动式的,也会有较好的收获。
5.重视同后端和加工线的交流:IC设计的复杂度太高,除了借助EDA工具商的主动推介来建立概念之外,IC设计者还应该主动地同设计环节的上下游,如后端设计服务或加工服务的工程师,工艺工程师之间进行主动沟通和学习。对于初学者来说,后端加工厂家往往能够为他们带来一些经典的基本理念,一些不能犯的错误等基本戒条。一些好的后端服务公司,不仅能提供十分严格的Design Kit,还能够给出混合信号设计方面十分有益的指导,帮助初学者走好起步之路。加工方面的知识,对于IC设计的"产品化"更是十分关键。
6.重视验证和测试,做一个"偏执狂":IC设计的风险比板级电子设计来的更大,因此试验的机会十分宝贵,"偏执狂"的精神,对IC设计的成功来说十分关键。除了依靠公司成熟的设计环境,Design Kit和体制的规范来保证成功之外,对验证的重视和深刻理解,是一个IC设计者能否经受压力和享受成功十分关键的部分。由于流片的机会相对不多,因此找机会更多地参与和理解测试,对产品成功和失败的认真总结与分析,是一个IC设计者成长的必经之路。
同行交流以及工作环境的重要性:IC设计的复杂性和技术的快速发展,使得同行之间的交流十分关键,多参与一些适合自己水平的讨论组和行业会议,对提高水平也是十分有益的。通过同行之间的交流,还可以发现环境对于IC设计水平的重要影响。公司的财力,产品的方向,项目的难度,很大程度上能够影响到一个设计者能够达到的最高水平。辩证地认识自己的技术提高和环境之间的相互关系,将是国内的设计者在一定的阶段会遇到的问题。 ;
ic设计工程师是做什么的
负责数字电路的规格定义、RTL代码编写、验证、综合、时序分析、可测性设计。
负责进行电路设计、仿真以及总体布局和修改。
制作IC芯片功能说明书。负责与版图工程师协作完成版图设计。
提供技术支持。
公交IC卡,银行卡,楼宇的门卡等等,在现代世界不可或缺,IC设计工程师就是一个从事IC开发的职业,随着中国IC设计产业渐入佳境,越来越多的工程师加入到这个新兴产业中。
成为IC设计工程师所需门槛较高,往往需要有良好的数字电路系统及嵌入系统设计经验。
了解ARM体系结构,良好的数字信号处理、音视频处理,图像处理及有一定的VLSI基础。
集成电路是信息产业的核心技术之一。
是实现把我国信息产业做大做强的战略目标的关键。
发布的“国家中长期科学和技术发展规划纲要”和“国民经济和社会发展第十一个五年规划纲要”,都把大力发展IC技术和产业放在突出重要的位置。
因此IC设计工程师的前途光明。