近期知乎上一个普通提问,却引发前端后端热烈讨论,相信不少学习和从业后端的朋友都有这个疑问,那么事实真的如此吗?学习数字IC后端该何去何从?
问题:数字IC后端真的不如前端设计和验证吗?
来源:知乎
我是一名研一的学生,最近找实习拿到了一家不错的外企的后端实习生offer。但是最近我却对数字后端这个方向有点犹豫了:一方面,我跟同学交流感觉他们都有点看不上数字后端,他们都想去做设计验证,他们对数字后端的印象就是加班多,很累,像是体力活,和设计验证相比真的是这样吗?希望数字ic的前辈们可以说说你们目前的工作状态,加班情况。
另一方面,我了解到很多公司都会把后端外包出去,我看了近些年的招聘信息,发现大公司后端的岗位相对比较少,而小公司直接不招后端工程师(应该是都外包出去了),难道后端外包是一个趋势,以后渐渐的大公司也不需要这么多后端人员了,我们是不是以后只能去做外包?
本来找到一个不错的实习我还挺高兴,可是现在我不得不对自己今后的职业发展重新考虑,希望设计、验证、后端的前辈们提供一些建议,我可以在对比后选择出一个可以坚定做下去的方向!
一些高薪的热门岗位,竞争十分激烈;对于应聘者的要求也是十分高的,这里推荐下之前网友整理的数字IC设计工程师笔试面试经典100题。
知乎网友1:后端到底是什么?
芯片后端设计,看似只是将网表中的晶体管摆放好。但并不是如同砖头砌墙那样简单粗暴。它是一门兼具形式美和工程实践需求的技术。形式美,直接来源于功能内容和需求,在后端设计的环节中,数以万计的标准单元如散乱的点点繁星,却在功能、时序等满足的前提下,寻求各个Block之间的依赖关系,进而使芯片内部之间呈现出和谐与稳定。
数字芯片后端工程师主要工作就是接收数字前端提交的代码,最终交付一个完整的芯片布局布线结果。
数字芯片后端设计环节一般都是芯片项目驱动。芯片也分很多种,大小不同,难度不同。简单按功能划分,主要类型有 WIFI芯片、BLE芯片、RFID芯片、音频芯片、传感器芯片、汽车电子、手机芯片等等。
——《来源:知乎》
知乎网友阎浮提:加班多,门槛低,技术含量低?
后端加班多?
这个对大多数公司成立,因为芯片设计周期一般都要求尽量短,而后端设计是生产前的最后一步,因此前面的设计、验证、DFT或综合都没有后端这么强的时间约束,尤其是有些芯片需要赶上固定时间段的流片时间表,几乎没有什么延期的空间,这就导致整体上尤其流片前的时间压力较大。
但这也不是对所有公司都成立,一些产品有一定壁垒的公司并不会把设计周期压得特别紧,甚至可能流片前几周就都修完了坐等流片的情况。
虽然加班较多,但是个人感受没有多少公司能够达到长期996的强度,强制或者高强度加班的业界也就那几家,其他的都还好。
后端门槛低?
一定程度上成立。目前大厂校招虽然不论前端后端基本上都硕士起步,但是某些小公司还给本科生留了点门,社招的话除了某些特别看重出身的公司,后端基本不死卡学历,本科作为底线,技术到位基本上都有机会。
除此之外,后端对于是否科班出身看的不重,我自己知道的基本上做后端的出身专业比较多样化:电子类、信息类、自动化类、物理类、化学类等工科专业都见过,侧面证明后端像入门并没有那么难。
但是,芯片行业整体对学校比较看重,不少人把这个作为潜在衡量标准,后端也不例外,尤其是业内有几所学校影响力很大,其他学校的学生如果本校在行业内没什么知名度,那么必须要技术相对比较扎实才有可能拿到比较好的机会。
后端技术含量低?
说这话的一般有两类人:
一类是没做过后端但是大概知道是做什么甚至懂点术语的;
另一类是做过后端但项目经历都是小芯片、性能功耗要求不高且非先进工艺的。
前者自认为懂点术语知道后端的工作内容就什么都敢说,但是要真让他讲点有深度的内容时才能看出,他连后端的门都找不到在哪,因此他们说的话基本上没什么参考价值,而且越是不懂的人说话胆子越大是我们这个世界的普遍现象,如果把他们的话真的当作意见来参考就跟听懂王的建议注射消毒液对抗COVID-19一个下场。
那么对于做过后端的人来说,他们说后端没有技术含量在一定程度上是真的,因为复杂度不高的芯片真的已经不需要太多人工干预了,尤其是产品线和流程比较成熟,按部就班更新,加上对功耗、性能和面积没有强烈要求的芯片,在后端EDA工具已经相当强大的今天,真的是可以跑几遍就可以开始ECO,几轮下来修到差不多的干净的。
即使是对与相对复杂的芯片,真正困难的设计也只占整体的一小部分,相当一部分模块可以只需很小的人工干预就能做到最后。
但是,能做完这些项目就能代表你能独立做出这款芯片的全部后端吗?请问自己以下几个问题:芯片为什么做成现在的面积?如果有一款新的芯片你能合理定义它的面积吗?IO为什么摆成当前的位置?电源网络为什么设计成现在的模样,有什么约束?时序为什么signoff在当前的电压范围?时序signoff的corner是怎么决定的?不同corner的margin为什么加这么多?如果只给我一个综合网表和相应的SDC以及库文件,我能独立建立flow并实现满足所有signoff条件的GDSII吗?如果这些问题你都回答不了,那么你真的只是在跑流程。
对于后端工程师,如果说你一直在做这样跑流程的工作,那么我劝你多去理解思考一下项目深层次的东西,尝试一下不同的项目类型,在高频、低功耗、复杂时钟、复杂电源和先进工艺方面至少精通一种,熟悉两三种,否则时间长了真的没有太大的竞争力。
反之,如果你能在上述某一个或者几个领域做到精通,那么你已经有了自己的一定程度的壁垒,比多数人已经强很多了。
后端未来可替代性高?
这话说了很多年了,最近因为Jeff Dean的论文又有一帮人跟风再次提起。
但是,这话虽然不好听,但是有一定的可能性,而且我认为相当一部分后端被更低成本的人力代替的可能性要高于被AI代替的可能性。
即使在当前阶段,后端工具已经可以快速收敛大部分简单甚至中等难度的模块,根本用不上AI,而随着中国人力成本的提升,将这部分简单工作转移到成本更低的东南亚、印度的趋势是自然而然的选择。
你可以说三哥十个有八个不靠谱,但是如果我给你成熟的flow和并培训固定形式的操作,配合自动化的数据采集分析脚本,仍然是有可操作性的。以欧美和日本公司之前经历的做法来看,最后留在国内的基本上是产品定义、核心模块的开发实现、flow开发维护、先进技术的探索开发和应用,其他的全都外包。
中国未来很有可能也走这条路,所以再次强调,后端工程师应该建立自己的护城河,不要随波逐流。
后端在企业里比前端地位低?
以我个人的感觉看,确实后端团队整体比前端团队的地位低。
很多公司的产品后端实现确实不难,因此老板不重视也是没办法的事。而更多的公司即使芯片比较复杂,在某些老板和不少前端心中后端仍然不如前端重要,这里的原因是多方位的,不做分析。
建议应届生在比较offer的同时多做思考,不要被单纯的title所迷惑,多问问公司做的产品情况,技术含量高低再决定。
后端天花板低?
长期看来是的。
有其他童鞋也说了,大厂中后端做到PMTS级别的可能性很低,前端虽然也很低,但是至少有这种案例。
但我觉得看这个真的是想多了。芯片行业的人才培养速度相对是比较慢的,互联网中三年leader五年manager的情况基本不存在。
个人认为一个原因是复杂芯片的设计需要多人分工协作,每人只负责一小部分,要想把每个部分都摸一遍都要好多年才行;
另一个原因是随着芯片规模增大,项目周期越来越长,一个人得到全方位锻炼来独当一面所需要的时间也就越来越长。
升到后端团队的manager之一其实对大多数人来说已经是烧高香了,在芯片行业30多岁还没有任何leader或者manager的title的人相当普遍。如果说你真的能力拔群,那么我相信不论前端后端都阻挡不住你的脚步。
后端薪酬低?
这个真心没有的事,尤其是最近几年,芯片行业薪酬看涨,年薪百万不容易,但是比大多数行业都强已经是事实了。但是如果只看钱,那还是去IT互联网或者金融吧。
其实并没有真正完美得工作,也没有完美的行业。整体上后端有其自身特点,也不可避免有它的问题,希望各位在就业择业中多一份思考,少一分盲从。
数字IC后端学习路线(来自移知)
数字后端设计入门说实话,对于一个行业相关专业的学生或者跳槽者来说,并不是特别难,问题是后端设计涉及到的知识相对来说较多,需要自己慢慢的学习,包括像一些基本的设计概念,时序修复的手段。还包括像脚本的编写,等等很多的工作。找个合适的途径学习,慢慢来。
大部分学者都是零基础的,所以一些必备的基础知识都没有的话,后面的学习是很困难的。这里既然是自学,那么对入门的书籍或者视频选择应当由浅入深。学完以下基本可以入门了,项目实践可以考虑找个大厂实习,会比自己自学进步更快。
好了话不多说,进入干货环节,从入门到精通数字后端 — Synopsys流程体系。
第一阶段 基础知识:UNIX和VIM使用
Linux/Unix是除了window操作系统之外非常流行的操作系统。
在IC设计领域,所有的开发任务几乎都是在Linux操作系统上完成,因此需要掌握Linux操作系统的使用。
在Linux里面,我们经常用到的文本或者代码编辑器是VIM,VIM有很多命令和使用技巧,通过掌握这些命令和技巧,能够加快我们文本编辑以及代码编辑的效率,因此掌握VIM是IC学习的必备技能。
第二阶段 物理设计
- ICC后端设计
IC Compiler(ICC)是 Synopsys 公司继 Astro 之后推出的另一款为集成电路设计师提供的深亚微米 P&R 工具,支持.18um到28nm工艺节点。
ICC自推出以来,以其强大的算法引擎、稳定工作环境、简单易用的操作界面,被广泛应用于28nm以上各类芯片的后端设计流程中,是深亚微米芯片后端实现的首选。
熟练掌握ICC的使用方法成为进行深亚微米工艺后端设计工作的前提。
公开课推荐:ICC数字后端流程解析
- ICC2后端设计
IC Compiler II (ICC2) 是Synopsys推出的行业领先的布局布线解决方案,旨在支持FinFET 16nm以下先进工艺,消除前沿设计面临的性能、功耗、面积 (PPA) 和上市时间等紧迫压力。
相比上一代经典布局布线工具ICC,ICC2在工具使用界面、设计流程、算法引擎等方便都做出了重大更新,熟练掌握ICC2的使用方法成为进行先进工艺后端设计工作的前提。
公开课推荐:新一代布局总线系统IC Compiler II 初识
学了后端设计基本知识,就需要通过实际项目经验来深刻理解后端设计知识。这个可以看看知名培训机构实践类课程。
第三阶段 签核验收(Signoff)
- 数字电路PT静态时序分析
时序是目前高性能物理设计的核心问题,如何分析芯片的时序问题,并快速地实现时序收敛是物理设计师的核心任务。
PrimeTime 静态时序分析工具是在时序、信号完整性等方面最受业内工程师信赖的金牌签核 (signoff) 工具。
掌握静态时序分析模型的基础知识,熟练使用PrimeTime工具分析、解决芯片时序问题,是当今芯片设计工程师的必备技能。
- 芯片功耗与电源完整性分析
芯片特征尺寸缩小和频率升高,功耗逐渐成为芯片设计过程中的重要参数,并直接影响芯片电源网络设计。
芯片电源网络的信号完整性又会对芯片性能和可靠性产生影响。如何精确分析芯片功耗和电源完整性,是尽早发现芯片设计问题降低芯片功耗的必要条件。
PTPX 和 Redhawk 是在功耗、电源完整性等方面最受业内工程师信赖的金牌签核 (signoff) 工具。
掌握功耗和电源分析的基础知识,熟练使用PTPX和redhawk工具分析,解决芯片设计问题是当今芯片设计工程师的必备技能。
后端东西还是挺多的,要学习的也挺多。慢慢学吧。祝大家都学有所成!
IC设计推荐关注极术专栏
关注后在个人中心我的关注里可以找到关注列表
- IC设计,偏综合性
- 数字芯片实验室,偏科普,很多概述性文章,适合系统化学习
- 数字IC后端设计工程师修炼之路,从入门到提升的专注数字后端的技术文章,值得关注
- Arm 技术博客,Arm新技术更新,值得关注
- Arm AMBA 协议集,AMBA总线涉及的APB,AHB,CHI等协议的技术科普文,SoC设计工程师必须知道的知识
- 云上招聘,专注于IC设计岗位的招聘信息,可以关注下职位要求