欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数字前端和后端设计工程师需要具备什么能力

程序员文章站 2023-12-31 21:33:40
数字前端后端区别 下面转自:http://blog.sina.com.cn/s/blog_875c3b2f01010pi6.htmlIC前端主要是数字前端设计、软件硬件验证、FPGA验证......

数字前端后端区别

下面转自:http://blog.sina.com.cn/s/blog_875c3b2f01010pi6.html

IC前端主要是数字前端设计、软件硬件验证、FPGA验证等,前端的入门门槛相对后端较低(但其实还相对其他行业是比较高的)。

后端主要是模拟部分以及layout,这方面需要及其丰富的经验,相对应收入会比前端高一点,人才也是奇缺的。人才缺口相对前端就更大了。同时还有一些IC流程工程师,也是非常吃香的。前端需要学习的周期相对后端短,后端尤其是模拟部分,完全是靠经验熬出来的,所以如果有毅力,在模拟的路上多走几年,前途(钱途)也是不可限量的。我有一个同学,学模拟的,在公司属于奇缺人才,裁员和他是绝缘体。IC有时候很有挑战,有时候很枯燥。

数字前端主要包括两个方面:设计和验证。设计前期是写verilog代码,到后来就是做些架构层面的东西,设计和验证都是针对逻辑功能而言的,不太关心时序问题。数字后端做实现、流程,主要是学会使用工具软件。后端经验比较重要。相对而言,前端的门槛较低,后端门槛较高。

我们来看一下猎头招聘就明白这两个概念了。呵呵。。

高级数字电路工程师

职位描述:

  1. 完成公司ASIC数字前端的设计和验证;

  2. 配合数字后端部门完成ASIC的后端设计;

  3. 配合测试部门完成ASIC的测试;

  4. 完成相关文档的整理与编写。

任职要求:

  1. 相关专业本科以上学历;

  2. 4-5年相关工作经验,具有独立设计模块、芯片能力;

  3. 熟练掌握Verilog,熟悉芯片的仿真验证方法,熟悉 NC-Sim CS, Quartus等EDA工具;熟悉ASIC设计流程;了解系统总线架构和常用软硬件接口协议。

  4. 良好的沟通协调能力及团队合作精神。

数字后端设计工程师

职位描述:

  1. 负责数字电路的综合、自动布局布线、时钟分析、时序修正、电源分析、信号完整性分析、物理验证、代工厂tapeout等数字后端工作,

  2. 协助前端工程师完成设计、验证和时序分析,完成对代工厂数据交接和对客户技术支持。

任职资格:

  1. 微电子相关专业,本科以上学历。

  2. 熟悉SOC从RTL到GDS的完整设计流程;

  3. 能够熟练使用Astro/Encounter、DC/PC、PT、Formality、MentorDFT、StarRC、Calibre等相关设计工具的某一套或几种;

  4. 较好的英文阅读能力;

  5. 高效的学习能力和团队合作精神。

数字前端和后端设计工程师需要具备什么能力

下面转自:http://yuqix.blog.51cto.com/979066/242564

<前端>

  1. 精通verilog(包括2001)的编程,仿真,测试 。

  2. 充分掌握逻辑综合和时序分析 。

  3. 理解前端经常使用的各种库的格式和内容,比如.v,  .lib 。

  4. 了解某个应用领域的知识 。

  5. 学会使用FPGA测试代码 。

  6. 具备DFT的基本概念。

<后端>

  1. 熟悉后端流程,(IO plan, floorplan, power flan, place, CTS, route)    。

  2. 熟练掌握一种后端工具的使用 。

  3. 学会如何使用工具分析功耗及其对设计的影响,(static/dynamic IR-drop, EM等)    。

  4. 学会使用工具分析和解决cross talk问题 。

  5. 精通时序分析 。

  6. 理解后端常用库和文件的格式,内容,生成和转换,比如: .lib, spice, lef, def 。

  7. 精通一种unix script语言,现在大多用perl,也可以用awk。(TCL不是unix  script语言,但是也一定要会) 。

  8. 十分了解circuit design及其工具 (为DRC/LVS准备的) 。

  9. 具备DFT的基本概念    。

  10. 了解package design的种类和过程。

一个优秀的后端工程师要能够在复杂的结果中,识别出问题的真假,比如时序上的违反,找出解决问题或者防止问题发生的方法,然后灵活有效地使用工具来达到你的要求。

前端工程师还可以考虑掌握:

  1. 掌握系统的划分:功能定义,资源分析,结构划分等体系结构上的知识.

  2. 掌握关于低功耗,高速度,低面积相关的设计理念

  3. 熟悉或掌握系统仿真平台的搭建:前仿真,后仿真和atpg仿真等仿真平台的扩充性和兼容性的知识,仿真一定是一大块了.

  4. 熟悉或掌握集成电路前后端设计流程:前端和后端设计接口及影响和前后端工具的接口及影响

  5. 除.lib,.v外还应掌握,SDF/SPEF/DSPF/RSPF等数据结构

  6. 熟悉或掌握你所有用的厂家工艺的工艺特性.

  7. 掌握形式验证工具.

  8. 掌握静态时序分析工具的使用:比如如何保证你利用静态时序分析分析通过的设计,流片回来时序一定正确.

  9. 掌握perl语言,shell,makefile语言。

    前端主要负责逻辑实现,通常是使用verilog/VHDL之类语言,进行行为级的描述。而后端,主要负责将前端的设计变成真正的 schematic&layout,流片,量产。打个比喻来说,前端就像是做蓝图的,可以功能性,结构性的东西。而后端则是将蓝图变成真正的高楼。

    前端设计主要是进行功能设计,代码的编写,要会使用硬件描述语言,也就是上面有提到的verilog/VHDL等,当然,也会要使用一些仿真软件。后端设计需要的则会更加多一些了,包括综合,到P&R,以及最后的STA,这些工具里candence和synopsys都有一整套系统的。有关心的可以去他们的网站看看。

其实前端和后端对于编程没有特别的要求。前端的设计会需要使用硬件描述语言来写代码,但是,需要注意的是,这里指的是"描述",而不像是C或者 java之类的强调编程技巧啊什么的。所以,这个选择就看你自己了,而与编程没有什么特别的关系了。

还有更多历史精彩内容等着你!

verilog语法


欢迎关注微信公众号【数字积木】,更精彩的内容等着你!

数字前端和后端设计工程师需要具备什么能力

本文地址:https://blog.csdn.net/weixin_42905573/article/details/107373971

相关标签: 编程语言

上一篇:

下一篇: