数字IC设计和验证选哪个好?一文为你解读清楚

很多初入IC行业的新人不知道选择验证还是设计,下面IC修真院就从技能,门槛等方面来为大家分析一下。

数字前端设计工程师是什么?

集成电路设计(Integrated Circuit,简称IC)一般分为数字IC设计、模拟IC设计和数模混合IC设计。

数字IC设计一般又会进一步细分为前端设计(Front-end Design)和后端设计(Backend Design)。

前端数字IC工程师的工作一般包括电路规范(Spec.)的撰写,电路架构的设计,电路的实现以及验证、综合出符合要求的电路网表(netlist),最后按一定的工作规范要求提交netlist 给后端部门。

在这里插入图片描述

数字IC验证工程师是什么?

回答这个问题之前,需要先来梳理一下芯片诞生的过程。芯片的诞生大致可以分为:设计环节→制造环节→封测环节。

验证是贯穿于芯片设计整个流程的,从芯片设计的最初环节开始,到代码实现,再到流片前及流片后。验证工程师的工作就是要在产品投入生产前将产品的潜在缺陷尽可能找出来,进行层层自测和验证活动。绝对算得上是实力“责任”担当。

IC前端设计工程师一般需要掌握哪些技能?

1. 第一个需要会读文档

要能看懂spec文档,才能知道设计要求是什么,要看懂EDA工具文档才会使用各种EDA工具,要看懂IP文档,才知道把怎样把IP放进自己的芯片。

前端设计工程师近一半时间都在读各种文档。大量的文档是英文写的,英语不好就寸步难行。另外要有一定技术背景支持,比如说计算机工作原理,数字、模拟电路。要不然它还是一堆英文字母,还是不明白它在说什么。

2. 第二个需要会用Linux操作系统

芯片设计大多是在Linux环境里开发的,很少使用Windows。要熟悉怎么编辑、如何管理存储代码文件,如何调用EDA工具,如何编写脚本,如何用脚本去自动处理复杂一些的工作。

3. 第三个是要会读会写RTL代码

现在用最多的就是Verilog。你得能看的懂这段Verilog描述的硬件行为是什么,对应的电路是什么,这是我们芯片设计工程师和软件程序员最大的区别,最后是要落实到电路上来。

这三方面的能力是前端设计工程师最重要的能力。

验证工程师需要具备哪些技能?

1.掌握基础知识

数字电路知识肯定是基础中的基础。还有就是Linux也需要掌握。

2.掌握相关语言

C/C++语言、SV语言和脚本语言(perl/python)自不必说,都是需要掌握的。尤其是SV语言,大多数的验证环境都是以SV为基础实现的。

3.熟悉验证工具

uvm验证方法学、波形仿真EDA软件(VCS、Verdi、Xcelium),都是做验证要掌握的基本技能。好好学习研究也能够提高你的仿真和debug效率。

4.理解算法/协议

芯片要实现什么,不外乎是某某算法、某某协议,算法/协议才是芯片的灵魂。验证其实也就是验算法/协议实现是否正确。

5.具备验证意识
相对前几项,意识就显得有些缥缈抽象了。但对一个验证工程师来说,验证意识非常重要。可以简单理解为“强迫症”,不放过任何一个bug点,常常持质疑的态度,对问题刨根问底,尽量向上下游延伸,和其他环节工程师打好配合。

IC验证工程师与IC设计工程师区别

IC设计工程师更加硬件化,只需Verilog语言,但重点在于对设计领域的深刻理解和项目经验

IC设计工程师对芯片验证领域无需了解太多,而验证工程师也需要对设计有一定了解

IC验证工程师往往有机会转型到设计,debug过程对设计逐步了解,并且有时候需要给出修改意见

IC验证工程师不仅与设计工程师协作紧密,与后端和软件工程师有时也有交互

IC设计工程师关注的是功能结构如何转换为电路实现,IC验证工程师关注的是电路层次是否符合功能场景

IC设计工程师学习深度更深,IC验证工程师学习广度更广,换句话说,验证工程师相对于设计工程师更容易转行(指项目领域,如射频、通信、CPU)

虽然验证也会关心设计,但我们更关心的是功能点和性能,设计的同事除了function和performance 以外,还要关心,面积,功耗,时序路径,温度反转,等等。

首先,不管你是什么样子的专业背景,验证工程师的门槛一般还是要比设计人员要低一些。

以上就是IC设计和验证岗的介绍了,如果你还是不知道怎么选择岗位,或者是想了解岗位,就业,薪资情况,任何关于IC行业的问题都有老师会为你解答。

这里放个入口:IC入行指导

猜你喜欢

转载自blog.csdn.net/coachip/article/details/132859862