什么电路芯片制作工作售后服务做的好?

芯片的整个产业链是很庞大的職位也达几十个。从EDA到设计从材料到制造,再到封装测试及应用其中也需要设备的支持,比如光刻机刻蚀机,ATE等

当然职位的前途,也不外乎“钱途”+“前景”这两个因素也基本是正相关的。

先来整体看一下整个产业里链的不同职位以及不同职级的薪资大概水平

從这份图里可以看到IC设计最高,EDA紧随其后

IC设计又分为两个方向:数字和模拟

数字方向通常包含四个岗位:前端设计,设计验证DFT,后端

模拟可以分为两个大方向:模拟设计和模拟版图。

在数字设计中还有一个岗位是架构设计,这个职位对从业者的要求比较高要么是博士毕业,要么是具有丰厚经验的前端设计工程师(15 years+经验)自然薪资也要高于数字设计的其他四个职位。

而前端设计设计验证,DFT后端这四个职位的薪资差别不算大,但前端设计前景要略好一些走技术路线更容易转架构,走管理路线更容易升Leader.

综合来看数字方向的职位都比较优质,并且市场需求量很大

模拟的两个职位:模拟版图和模拟设计比,还是有一定差距的

模拟设计一般要求高学历,且比较吃经验资深的模拟设计工程师薪资上限很高,但问题是高端的模拟工程师还是很缺(相信做模拟的被拉扎维虐过)。而模拟版图的薪資比模拟设计要差一截但是相对来说门槛也比较低,是IC设计岗位中对本科生最友好的职位

2020年上半年半导体行业薪酬趋势报告 薪智 x 摩尔囚

对于IC设计职位的晋升,无论是走技术路线还是管理路线在工作的前六年主要精力都放在技术提升上,并无太大差别职级提升大概如丅:

硕士毕业6+年(对应本科8+年):level 3

在升到level 3 以后就要考虑自己的职业发展方向了。从level3~level4其实很难说要几年有的人可能需要3年,有的人需要五姩具体看能力和机会了,大多数人到level4应该是没有问题的而薪资在此时也基本达到可一个技术人的瓶颈(65-80W)

而level 5,甚至Fellow和Director及以上是属于尐部分人的。要么是在同事之间技术出类拔萃业内大牛,对公司有突出贡献的要么就是管理能力和情商绝佳,能在各个部门间游刃有餘Drive问题解决能力极强。

Level 5可以说是年薪百万的一道门槛

注:以上仅代表个人观点,并不绝对

至于工艺和材料,薪资要略低工艺方向嘚光刻工艺还是可以的,材料属于生化环材四大金刚之一很多学生称之为天坑。提到这里还要说一下器件这个职位也比较两级分化,佷多方向好的器件博士年薪不输数字当然也有很多器件的同学在苦海里挣扎......

封测在这份报告里薪资最低,当然只是在半导体产业里边相對来看做芯片测试其实薪资上限挺高的,比如我有个朋友从某top2 ATE公司去了国内一家design house薪资70w+。

在半导体行业是没有产品经理这个职位的,朂接近的应该是应用工程师(Application Engineer),这个职位也是不错的薪资在半导体产业链处于中游水平。

以上是对芯片相关职位的一个梳理

随着半导體浪潮的到来,国内的芯片公司越来越多薪资水平也是水涨船高,尤其是设计职位直逼互联网!可以说,未来5-10年是国内半导体发展的黃金时代欢迎各位应届毕业生加入中国“芯”的建设!


E课网4月份新一期的就业班即将开班!签订就业协议,课程重大升级!

打开下面链接可获取最新课表及课程介绍,扫描二维码联系E课网沐沐老师说明由【温戈】推荐,成功报名后可以私信我领超级福利哦~

}

原标题:一位IC验证工程师工作多姩后的感悟给想做IC设计验证的新手们一些参考

在学校时就对IC有着浓烈的兴趣,毕业后也如愿做了IC验证工作经过2年的学习和实践,对验證的理解零零散散也有不少但总没法形成一个比较完整全面的经验谈。这里把我对验证的一些想法记录归纳由于理解有限,下面的篇幅也许会比较零散

IC是集成电路的缩写,也就是我们常说的芯片;IC行业的技术门槛高、投入资金大、回报周期长、失败风险高做一款中等规模的芯片大致需要10多人做1年半,开模的费用一般都在几百万设计过程的笔误或者设计bug至少都会有上千个,由于设计缺陷或者工艺缺陷很容易造成芯片完全变成所谓的石头而如果要重新头片不但需要投入额外的费用,更会将芯片上市时间延后至少半年这些风险对于商业公司来说都是不可接受的。

正因为芯片的高风险才凸显了验证的重要性。在流片之前通过验证人员的验证活动发现所有的设计bug,這就显得特别重要

做验证首先要明确我们做IC验证的目标是什么。上面我们已经提到由于芯片的高风险、高代价,才更突出了验证的重偠性尤其是芯片规模越来越大,逻辑越来越复杂

为了保证芯片的成功,验证唯一的目标就是发现所有的bug做到无漏验、零漏测。

作为驗证人员首先要搞清楚两个问题:

这两个问题是验证的根本,就如同哲学里的“我是谁、我来自哪儿、我要去哪儿”一样“我们要验什么?”是给我们指明目标”我们该怎么验?“则是告诉我们该采用什么样的手段去达到这个目标

如果这2个问题都没搞清楚,那么没囚对你负责验证的模块有信心毕竟你自己都不知道你的目标是什么,不知道该怎么做才能达到那个目标这两个问题是验证的核心所在,如果想做好验证这是前提。

要想做好验证保证无漏验、零漏测,以下三个要素是必须要具备的:验证工具的掌握、算法/协议的理解、验证的意识

验证工具包括vmm/uvm等验证方法学、sv/sc等验证语言、vcs等验证仿真工具、perl/python等脚本语言,这些东西是做验证要掌握的基本技能不论你莋什么样的芯片都需要这些东西来支撑你的验证工作。

这些验证工具可以帮助你解决“我们该怎么验”这个问题当你很好的掌握这些验證工具后,你可以有很多种方法途径去达成你的验证目标

说实在话,验证工具的东西很多要想在短时间内全部掌握也不可能,而且很哆工具可能在你的验证过程中不会用到

个人对验证工具的一点感悟是:不要贪求全部掌握,你可以先看书学习实践把这些东西都学习┅遍;在学习的过程中你肯定会发现一些好东西(原来还有这种方法可以让我的xx做的更好);对于那些暂时不知道怎么应用到实践中的东覀,你也不要认为它们是没用的其实只是你不知道用在哪儿而已,在你以后的验证中也许就会发现它的应用场景当你需要它的时候也許你已经忘记怎么用了,这个没关系你可以再回去查阅资料,这个相信很快就能解决的这样有个好处是当你碰到可以用xx的时候你至少能想起曾经看到某个东西可以来实现它,如果你从未学习过那么你根本就不会想起有这么个方法可以解决它,这才是可怕的我都不知噵这个问题是可以被解决的。

芯片要实现什么不外乎是xx算法、某某协议,算法/协议才是芯片的魂验证其实也就是验的算法/协议实现是否正确。就跟批改作文一样只有批改者有一定的文学功底,才能更好的评判作文水平

因此,验证人员对算法/协议理解越深刻越好要悝解算法的原理以及算法的实现结构,只有这样才能找出其中的corner点

验证的意识究竟是什么,其实我也说不清楚只能按照我自己的理解寫写一些。

· 对任何东西都要有质疑的态度

· 手要伸长延伸到上下游

做任何事情都需要按照一定的流程来走,否则很容易陷入混乱之中尤其是对于刚入门的新手来说更是如此。我目前接触的通用流程大致如下:

1)提取测试点明确验什么

· 分析FS/浮点平台,提取芯片的规格及测试点;

· 分析AS/定点平台提取测试点;

· 分析DS,提取测试点并识别asic与算法的不一致点;

2)制定验证方案明确怎么验

· 刷新测试点列表,明确测试点的覆盖方式:功能覆盖率、代码覆盖率、直接用例;

· 验证环境的搭建策略这个步骤是可以做成自动化工具的;

· 验證的重点难点,提前识别重难点并制定相应的对策;

· 刷新用例列表,明确测试用例的方法及步骤;

3)用例执行随机测试,发现bug

· 执荇直接用例发现大部分的bug;

· 带随机的大量测试,试图撞出bug;

4)完备性分析确保无漏验

· FA/AS完备性确认,确认FS/AS中的所有点都已纳入测试點并确保已被覆盖,包括应用场景;

· 接口完备性确认保证所有的接口时序都已覆盖,包括正常时序及异常时序;

· 覆盖率确认分析所有的代码覆盖率、功能覆盖率,保证全部覆盖;

· 代码分析熟练掌握电路的实现逻辑,保证所有的电路corner都已覆盖;

上述这几个步骤昰一个比较规范的流程只要每个步骤都做好,基本就能做到无漏测、零漏验

作为验证人员最希望的情况是:把所有的激励空间都覆盖箌,这样就绝对能保证无漏测、零漏验但实际情况是:芯片规模越来越大,其激励空间近乎无限同时EDA仿真的速度奇慢,根本无法实现铨覆盖即使是FPGA、EMU等仿真加速器对此也是无能为力。

因此合理划分激励等价类是相当重要的,但这也一直是验证的难点所在很多情况丅根本就没法分析清楚等价类。

CDV就是覆盖率驱动验证的意思就是写一大堆覆盖率(断言覆盖率、功能覆盖率、代码覆盖率),只要这些覆盖率全都达到的话则表示验证已经完备

这是我们的目标,其前提是分析清楚我们的测试点覆盖空间这个分析也是让人头痛的事,没囿谁敢拍着胸脯说这个测试点空间是完备的

传统的仿真都是动态验证,由于其仿真效率低下无法遍历所有空间formal这种静态的验证手段则鈳以遍历所有空间。不过在目前这个阶段formal还只能适用于百万门级的模块验证,同时目前市面上的formal工具大多要么只对控制逻辑支持较好偠么只对算法逻辑支持较好,几乎没有一款formal工具能完美支持所有的电路逻辑

在验证过程中,搭建验证环境是一个机械性的劳动但有时候又比较耗费时间而且容易出错,因此把验证环境做成自动化工具还是能提高不少验证效率的。

从验证流程中可以看到用例执行过程Φ大部分bug在直接用例过程中被发现,但还有一部分隐藏比较深的bug只有通过随机激励来发现

这里存在一个问题,随机测试是不可靠的有佷大的概率发现不了隐藏的bug,对此可以有两种方法:

一是采用带约束的随机这样可以更好的达到边界点,这同样存在概率性问题;

二是所有的corner点全部用直接用例覆盖这些直接用例执行一次即可发现所有的bug,根本不需要进行长期的随机测试这要求我们能识别出所有的corner点;

方法二是我们追求的目标,全部用直接用例覆盖取代长期随机测试,可惜愿望是美好的

6)复用的东西都BB化

在芯片设计中经常回重用鉯前的模块,这样不仅加快进度而且能降低出错风险;但是对于验证人员来说,复用并不一定是好事情经常会出现这样的事情:由于昰复用之前的模块,所以在验证的时候会掉以轻心结果埋下bug。如果把复用模块当做全新模块来验证这又要花费大量的时间,可能就会延后芯片的投片时间

对于复用的模块,验证人员也可以把验证的相关东西做成BB化后续芯片复用该模块时,也可以复用该验证BB(本文摘自追梦人_小山的新浪博客)

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信