数字设计处于数字IC设计流程的前端,属于数字IC设计类岗位的一种。随着芯片规模不断加大,在IC设计过程中,设计的复杂度也进一步加大,需要用到的岗位人数也越来越多。

数字设计主要分成几种层次的设计:IP level, unitlevel,fullchip/SoC level, gatelevel等。

一、数字设计主要干什么?

1. 阅读各种SPEC

最重要的一份spec是architecture spec,就是和你一起合作的好基友架构设计工程师写的设计文档,比如下面这种:UART IP Core Specification

其中需要重点了解的内容是:

features:这个模块需要支持的性能列表。

IO ports:这个模块对外的IO端口。

operation mode:这个模块的主要工作模式。

除了这份详细的设计文档之外,如果这个IP需要用到很多协议,那你自然还要去阅读一些协议文档咯,比如AMBA总线协议,MIPI协议,DDR协议等。

2. 撰写design spec

公司里面,工程师做事情之前都需要出一份详细的设计实现文档,设计工程师也不例外,你要出的文档叫做design spec,其中主要的内容包括:

设计平台架构:以SoC设计架构为例

IP设计架构:

3. 编写代码,搭建设计环境

design spec完成之后,接下来就要开始编写代码了,使用各种设计语言去搭建设计环境,常用的硬件描述语言有,Verilog, VHDL, SystemVerilog。

4. 创建test cases,进行功能仿真

根据前面完成的详细test plan去创建设计需要用的test cases,每家公司对test cases的命名有一定规则,比如长这样的:

有些公司就直接用数字来给test cases命名。

还有些公司,直接用脚本来生成test cases,只要把关键的一些设置调好,用脚本一刷,case就全部生成了。

当然每种创建cases的方法各有优缺点,你进去公司之后,也只能入乡随俗。

5. debug调试能力

设计和仿真用例都搭建好了,下一步重点就是进行功能仿真和问题调试(debug)了。

仿真所用到的工具主要有:

Cadence:IES

Synopsys:VCS

Mentor:QuestaSim

debug主要目的是寻找RTL的bug,最终的目标就是所有的test cases都能完全仿真通过。

最主要的debug手段有:

查看log文件:仿真结束会生成很多结果文件。

看波形:最常用工具就是verdi了。

每家公司对于设计工程师debug的要求不尽相同,终极目标都是要求设计工程师能找到最终的root cause,共提出最终的解决方案。

6. support

前面属于设计工程师的常规任务差不多就完成了,support属于进阶版的。比如项目用的database出问题了,跑仿真用的flow碰到问题了,经常就会叫设计工程师去support,帮忙解决问题。

7. 每周例会Weekly Meeting

作为数字IC设计工程师,和其他工程师一样,经常还有无穷无尽的会议要开,各种评审review,各种讨论。

总结来说,数字IC设计工程师最主要做的两件重要的事情是:RTL Coding、 Bug Fix

二、数字设计主要打交道的人有哪些?

1.数字IC前端设计工程师打交道最多的就是前端验证工程师,一起讨论问题,经常一起debugcase,目的就是让写的RTL(Register Transfer Level)代码没有bug。

2.还经常需要和架构工程师打交道,去了解更多芯片的整体架构和功能属性;

3.如果你也负责后仿gatelevelsimulation的话,那还经常需要和后端工程师打交道,因为后仿的网表是他提供给你的;

4.DFT工程师经常也会来找你,因为他也需要做测试和设计,很多时候他的仿真环境经常就是从你的设计仿真平台移植过去的;5.FPGA工程师也经常会打交道,因为FPGA设计也是数字设计的一种。

如果你是在一家大公司的话,分工就非常明确,你也就不需要和这么多人打交道了,比如如果你只负责IP level的设计,那基本只要和前端验证工程师打交道就可以了。

三、数字设计需要掌握的技能?

现阶段由于数字设计的方向很多,主要的有:

CPU设计:Intel、AMD、ARM、兆芯、海光、

GPU设计:Nvidia、AMD、ARM、Imagination

MCU设计:基于ARM Cortex M系列的MCU是主流

音视频编解码设计:H.264, H.265

接口设计:DDR、HDMI、USB

手机芯片:高通、联发科、展讯

整机芯片方案:APPLE、华为海思、三星、等等其他专业方向

每个专业设计领域需要你掌握的技能不大一样。一个初级工程师想全部掌握这些技能也很难,很多时候设计工程师是沿着一个专业方向一直往下做,比如CPU,GPU设计等。

由于设计工程师需要编程,所以掌握编程语言也是必须的,比如掌握下面知识就显得比较重要:

Verilog: 目前的主流硬件描述语言,是设计工程师必须掌握的核心

VHDL:军工领域用的多

SystemVerilog: 未来的趋势,SV将设计、验证和断言统一在一起

UPF: 电源描述,是低功耗设计的核心技术

另外,设计工程师经常需要流程的自动化,所以一些脚本语言也是必须的:

Shell、 Makefile、 Perl、 Python

除了这些外,熟悉一些协议和架构,也是有很大帮助的,比如:

ARM CPU架构、 AMBA 总线协议、 MIPI协议、 DDR协议、 PCI-E协议

所有的技术类岗位,主要看的两点就是:专业技能(skills)和项目经验(experience)。

所以除了上面列的这些技能,你能实际做过一两个项目,哪怕是IP级别的设计项目,也是很重要的,尤其是做项目过程中积攒的debug经验。

如果你是在校学生,早几年懂验证的人极少,所以基本上你只要会verilog,可能就可以找到设计工程师的职位了。现在在校学生通过各种渠道学习(比如:ic修真院),掌握了上面的这些技能,甚至积累了一两个项目经验。

四、数字设计谁可以学习?

数字设计工程师主要以招聘本科以上学历,对专业的要求并不是很苛刻,非集成电路方向也可以,只要你掌握了上面的这些技能,哪怕不相关专业,比如材料、物理、自动化、机械等专业,也是可以成功应聘。

注意:在现在IC行业整体缺人的大背景下,依然会招收学校排名一般的学生;当然前提还是要有有专业技能(skills)和项目经验(experience)。

五、数字设计发展方向?

未来的IC设计工程师的职业发展分为两条路径:

1.技术专家路线:基本按照上图的发展阶梯来走,一些人会一直做技术,成为一名资深设计工程师,

2.项目管理路线:有些人会成为设计经理,做一些管理类的工作。

3.有少数人也可以转,比如转去做架构工程师,去EDA公司做应用工程师(AE),要么创业。总的来说,这个岗位还算一个天花板不低的岗位。

关于《数字设计》就介绍到这里!!!

你唯一需要保障的只是时间和坚持!

了解→

就业、面试、课程、未来职业规划@小编

喜欢你就分享,有想法、有疑问@私信我,实在不行还可以在评论区哔哔…

IC设计职位详解之“数字前端设计工程师”就业必学课程相关推荐

  1. IC设计职位详解之“数字验证工程师”就业必学课程

    数字验证处于数字IC设计流程的前端,属于数字IC设计类岗位的一种.在IC设计中,数字验证所占的人数比重是非常多的,很多大公司,数字前端设计工程师与验证工程师的比例已经达到1:3. 数字验证主要分成几种 ...

  2. uvm 形式验证_IC设计职位详解之“数字验证工程师”就业必学课程

    数字验证处于数字IC设计流程的前端,属于数字IC设计类岗位的一种.在IC设计中,数字验证所占的人数比重是非常多的,很多大公司,数字前端设计工程师与验证工程师的比例已经达到1:3. 数字验证主要分成几种 ...

  3. IC设计职位详解之“数字后端工程师”就业必学课程

    数字后端处于数字IC设计流程的后端,属于数字IC设计类岗位的一种.在IC设计中,数字后端所占的人数比重一直是最多的,这也是现阶段数字后端工程师招聘量巨大的原因. 一般来说,数字后端按岗位类别可以分为: ...

  4. IC设计职位详解之“模拟版图工程师”就业必学课程

    模拟版图设计处于IC设计流程的后端,属于模拟IC设计岗位的一种,随着国内集成电路产业的蓬勃发展,需要用到的岗位也越来越多,而每个芯片最终能够付诸于生产都离不开集成电路版图设计师的功劳,所以对于这类人才 ...

  5. 薪酬体系怎么设计?详解HR薪酬体系设计的方法、步骤与工具

    HR在定薪时总会遇到这样的情况: 好不容易找到心仪的候选人,顺利走完面试,最后却因为薪资没有别家吸引力拒掉offer. 老员工吐槽,为什么做这么多事,不如新员工拿的多,涨薪还无望? 老板在会上质疑,为 ...

  6. 谷粒商城RabbitMQ设计思想详解:消息队列双重保险设计

    前言 上来先放一张设计图,看这篇文章的前提是一定得写过或者了解这段业务,不然会看不懂,我下面将会给出我的理解,尽量让大家明白 设计思想 @Transactional@Overridepublic Su ...

  7. IC设计职位介绍|如何成为一名合格的数字前端设计工程师?

    近年来IC行业火热,但因为一些原因,今年以来行业唱衰的人越来越多.尽管全球芯片市场过剩,但我国的半导体行业发展很可观,目前政策倾向国产芯片的发展,所以半导体人才非常稀缺.我国半导体产业终究要崛起,因为 ...

  8. IC设计行业中哪个岗位最适合转行?IC设计岗位详解

    这个首先得根据你自身的学历和专业去选择.转行是一件大事,绝对不是头脑一热就做出决定,一定要进行深度的调研,认真分析出最适合自己的专业才行. IC行业这几个岗位是最常见的:数IC前端设计工程师.数字IC ...

  9. pcb设计单点接地示意图_PCB设计接地详解

    PCB设计接地详解 来源:华强电子网 作者:华仔 浏览:432 时间:2016-08-10 14:18 标签: 摘要: 模拟地/数字地以及模拟电源/数字电源只不过是相对的概念.提出这些概念的主要原因是 ...

  10. atitit.jQuery Validate验证框架详解与ati Validate 设计新特性

    atitit.jQuery Validate验证框架详解与ati Validate 设计新特性 1. AtiValidate的目标1 2. 默的认校验规则1 2.1. 使用方式 1.metadata用 ...

最新文章

  1. Camera噪声问题
  2. linux下发布的执行文件崩溃的问题定位 心得一则
  3. 概率论中伯努利分布(bernoulli distribution)介绍及C++11中std::bernoulli_distribution的使用
  4. fileinputstream自定义类序列化和反序列化_Rest Assured篇:Java中的序列化和反序列化...
  5. C++中全排列算法函数next_permutation的使用方法
  6. 3.2计算机系统教案,计算机系统教案.ppt
  7. proc下kcore是什么文件
  8. 【原】十张javascript思维导图
  9. Vue-Cli 学习整理【转载】
  10. vue监听滚动开始与结束
  11. 国家开放大学本科计算机应用基础,【(精华版)最新国家开放大学电大本科《计算机应用基础》网络课网考形考作业一及三试题答案】.docx...
  12. javascript的parseInt函数(转)
  13. BT5的默认用户名和密码
  14. 用计算机算账老是出负数是怎么回事,结存数量为负数是什么意思
  15. 40.WLAN基础网络规划介绍_WLAN无线网络干扰分析及华为负载均衡技术
  16. Mqtt开发笔记:windows下C++ ActiveMQ客户端介绍、编译和使用
  17. 如何让AI让3000位艺术家画同一张画
  18. 《第一桶金怎么赚——淘宝开店创业致富一册通》一一1.1 创业者需具备的素质...
  19. Excel数据透视表经典教程十二《数据透视图》
  20. oracle用升序索引去降序查询,Oracle工作札记

热门文章

  1. 改变世界的17个数学公式
  2. windows设置hosts
  3. 手机浏览器一键跳转微信加好友和公众号关注的方法
  4. 求ax2+bx+c=0方程的解,要求(1) a=0,不是二次方程。(2) b2-4ac=0,有两个相同的实根。(3)b2-4ac>0,有两个不等的实根。(4)b2-4ac<有两个共轭的复根
  5. win7(win10)更改“文件类型显示图标“的终极修改方法
  6. UI设计原型交互基础
  7. html数据透视,Excel数据透视表使用过程中常见问题 如何在excel数据透视表中使用函数公式...
  8. VMware虚拟机win7系统无法上网怎么办
  9. 万物互联会改变什么?
  10. java茌首字母_汉字获取拼音首字母(1)