当你想要成为一名IC设计工程师时,不妨先看看这篇文章
目前整个 IC行业发展的非常迅速,但是最近网上也出现了一些唱衰的声音,认为IC行业已经开始内卷了。
那是不是内卷呢?这就要看市场的供求关系。
据我所知,不管是大企业还是小企业,都投入大量的人力物力去招聘,一边招聘门槛越来越低,原来只招聘985/211这样的学生,现在普通高校的也招,原来只招硕士,现在本科也可以,门槛越降越低,同时薪酬越涨越高,即使这样依旧招不够人。在这种供不应求的情况下,很难说是内卷。
另一方面企业不是慈善机构,作为工程师解决问题的能力,公司交给我的任务是不是能按时按量的完成,工程师之间的竞争肯定是存在的。
所以在这种情况下,与其为整个行业做“杞人忧天”,不如想想如何在这个风口让自己飞的更高?
那么,怎么成为一个合格的IC前端设计工程师?
前端设计工作就是从spec文档开始,把它设计成RTL代码(把spec文档开设计成RTL代码),也就是Verilog或者VHDL代码,包括编写代码、仿真、功能验证、网表综合 、时序约束,这是前端设计的工作。
日常工作看起来像程序员,就是对着屏幕敲代码,跟软件工程师差不多,跟软件工程师不同的是,代码背后对应的是电路。所以我们写代码时脑子里应该想的是代码后面会变成什么样的电路,而后端设计就是具体把RTL代码变成电路版图的工作。(要明白代码背后的电路)
IC前端设计工程师一般需要掌握哪些技能?
1. 第一个需要会读文档
要能看懂spec文档,才能知道设计要求是什么,要看懂EDA工具文档才会使用各种EDA工具,要看懂IP文档,才知道把怎样把IP放进自己的芯片。
前端设计工程师近一半时间都在读各种文档。大量的文档是英文写的,英语不好就寸步难行。另外要有一定技术背景支持,比如说计算机工作原理,数字、模拟电路。要不然它还是一堆英文字母,还是不明白它在说什么。
2. 第二个需要会用Linux操作系统
芯片设计大多是在Linux环境里开发的,很少使用Windows。要熟悉怎么编辑、如何管理存储代码文件,如何调用EDA工具,如何编写脚本,如何用脚本去自动处理复杂一些的工作。
3. 第三个是要会读会写RTL代码
现在用最多的就是Verilog。你得能看的懂这段Verilog描述的硬件行为是什么,对应的电路是什么,这是我们芯片设计工程师和软件程序员最大的区别,最后是要落实到电路上来。
这三方面的能力是前端设计工程师最重要的能力。
IC前端设计一般都会使用到哪些EDA工具?
EDA工具有很多,前端设计用的不是最多的,可是也不少。
刚才咱们谈到了Linux下如何编译代码 ,大家常用的Gvim,Emacs;
有很多代码大家都在写,要进行版本管理,版本管理的工具Clearcase,Git;
写完了代码要进行仿真, 仿真EDA工具,常用的有VCS,Questasim;
完了还要完善功能验证 会用到UVM,PropCheck;
验证完了得变成电路,进行综合, 综合工具,比如DesignCompiler,如果是做FPGA 也会用Synplify ;
在综合的时候你还要给它加上时序约束,时序检查工具Primetime等等;这些是前端设计主要的工具,当然还有各种各样五花八门新出的工具。
薪资待遇,发展前景?
芯片设计工程师的工资在一直是比较高的,这是因为供不应求的局面决定的。
这种情况在今年的就业市场上尤为明显,工资越涨越高、越涨越快。
年初以为25W+已经算SP了,到了年中30W遍地跑,再到秋招40W都是白菜价,大半年里的薪资涨幅,赶得上某些行业五到十年了。
芯片设计职业道路很长,工资很高,同时这条路也很宽,有些工程师比较擅长与人交流,做着做着变成了管理团队的,设计团队的经理,而另外一些,擅长事物管理,做着坐着成了项目经理,还有一些工程师热衷于技术,在某个技术领域做到了行业里、甚是是世界上这个领域的技术大牛,所以发展的路很宽。
IC前端设计工程师最核心的竞争力是什么?
肯定是学习能力,不只是入门就足够了,更不是守着自己那部分工作内容就行,不想当架构师的前端设计不是好的IC工程师。
况且产品在不断更迭,我们看看去年的电子产品和今年的电子产品差异就很大,每年都会推出许多新的技术,我们作为设计工程师,每天都会面对新的技术、新的工具、新的方法,要不停的学习,不学习就会落后。所以学习能力是我们芯片设计工程师最重要的能力。
关于求职面试的分享
面试是一个双向选择,一方面企业在挑选适合自己的目标,另一方面个人也在挑选适合自己发展的企业。
同学们要清楚面试官他喜欢什么样的选手,他喜欢这个选手头脑很清晰,知道自己想要什么、知道自己要往哪里去,因为这样的人更容易培养,大家只需要寻找共同的部分,这样就能实现他个人发展。
令人遗憾的场面是什么呢?就是他不知道想要什么,前辈给他安排什么他就干什么,团队和个人都付出了很大的努力,而后个人突然发现这不是他想要的,这样大家的付出就白费了。
所以更重要的是要知道自己的目标和方向,比如说我今年20多岁,我的人生的顶峰40多岁,我希望自己要成为什么样的人,我希望自己的职业生涯发展到什么地步。
有了这个目标,在发展过程中,比较容易看到自己一步一步的靠近这个目标,这也能够成为发展的动力,每一次都有进步,成就感来驱动我们进步。
对于想要进入IC行业同学们的建议?
我建议同学,首先是在兴趣、爱好的驱动之下,系统的、循序渐进的去学习。
因为芯片设计技术点非常的多,汪洋大海,要不停的学习,而不停的学习如果没有兴趣爱好在背后驱动是很难做到的,刚学会又要学新的,这很难的,没有兴趣爱好你是很难坚持下去的,另外一方面要有一统全局的概念,当我在学习这一点的时候,我很清楚这一步在整个流程中处于什么位置,我为什么要做这个。了解了这些之后,在学它的时候效率才高。
同时我建议大家尽量去参加实习,实习是加分项,没有实习的也要主动寻找项目,同时也要多参加比赛,如果没有这样的机会也可以参加培训,积累和学习经验,这些经验对自己的成长是很有好处的。
当你想要成为一名IC设计工程师时,不妨先看看这篇文章相关推荐
- 用python做算法需要哪些技能_成为一名CV算法工程师,你需要具备哪些能力?
算法工程师应该是这两年国内外最热门的IT岗位了. 在2019年,阿里,字节跳动(抖音)等大厂的校招社招中,开出的offer及待遇可真的是一骑绝尘啊,校招就送股票,随随便便就年薪百万. 在国内,工作经验 ...
- 如何成为一名AI算法工程师?
作为计算机科学领域的一个分支,在互联网+和大数据的时代浪潮中显现出其巨大的潜力和蓬勃的活力,类似电子医生.无人驾驶等新名词纷纷涌现. 那么,如何才能在时代发展的风口下乘风破浪呢?如何学习人工智能并进一 ...
- python程序员工作怎样-怎样才能成为一名Python程序员
随着互联网的不断发展,从事IT行的的人越来越多,近几年用Python编程的程序员更是十分火爆,有些人是看中Python语言的优势,有些人是看中Python程序员的人才缺口,为将来的就业和职业发展做好准 ...
- 如何成为一名oracle DBA
DBA收藏 <script type="text/javascript"></script> http://sunmoonking.spaces.live ...
- 数字IC设计实现hierarchical flow之物理验证篇
数字IC设计实现hierarchical flow之物理验证篇 文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点.点击进去后出现任何损失与社区无关. 吾爱 IC 社区上周推出了七月份的第一波福利 ...
- 我想成为一名UI设计师,需要学习哪些内容?
UI设计就业前景好,薪资待遇高,对很多不想学习编程但又想进入IT行业人的来说是一个很好的选择.但这并不意味着UI设计很简单,要知道,所有的高薪与能力都是相匹配的.那么,想成为一名UI设计师,需要学习哪 ...
- 英语很差,可能不会阻止你成为一名程序员,但一定会限制你成为一名“优秀的”程序员...
作者 l 会点代码的大叔(CodeDaShu) 我在很多平台上发表技术类的文章,收到过很多朋友的私信,问一些技术类和程序员职业发展类的问题,常见的问题比如"我已经 XX 岁了,想转行做程序员 ...
- linux系统编程需要什么,若想成为一名Linux下编程高手,必须能对各种系统调用有透彻的了解...
原标题:若想成为一名Linux下编程高手,必须能对各种系统调用有透彻的了解 什么是系统调用? Linux内核中设置了一组用于实现各种系统功能的子程序,称为系统调用.用户可以通过系统调用命令在自己的应用 ...
- java里面如何加入高级的东西_如何成为一名Java高级架构师
近些年来互联网快速发展,现阶段的数据量和高并发的诉求,引起了不少传统的技术人员的力不从心,企业愈发关注到了系统架构的重要性,既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的领导型人物 ...
最新文章
- OpenCV(实战)二值图颜色填充(彩色图形、硬币)
- 编写程序,输出所有3位数的水仙花数
- 绿色番薯 GHOST XP SP3 新春贺岁版
- 机器学习在高德用户反馈信息处理中的实践
- Symbian S60 3rd中的能力说明
- install glm library in ubuntu and use it in qt
- 基于单片机智能自动浇花控制系统设计(毕业设计)
- c#如何实现叫号操作_C#开发银行叫号系统方案
- Ubantu16.04+CUDA10.0安装mmaction以及提取UCF101的frame和optical flow
- Java基础-SSM之Spring的AOP编程
- mysql商品表_MySQL数据库创建商品表
- 嗨格式视频转换器全新上线,一个音视频转换神器
- 蓝桥ROS机器人之51单片机C代码编译和下载
- 读iOS开发进阶有感
- 物质模拟器4.0版 改了bug,爆炸时也可移动
- 6-2 使用函数输出指定范围内Fibonacci数的个数 (20 分)
- win10计算机睡眠 隔几分钟就唤醒,win10睡眠2秒后自动唤醒
- [计算机组成原理,Cache总容量的计算方法]假设主存地址位数是32位,按字节编址,贮存和Cache采用全相联映射的方式,主存块大小为1个字,每字32位,采用回写法和随机替换的策略,则能存放32K字数
- 施乐服务器怎么显示浏览器,怎么才能显示出电脑IE浏览器的菜单栏和工具栏
- html游戏计算器,HTML自制计算器