【有芯职说】数字芯片BES工程师

一、 数字芯片BES工程师简介

今天来聊聊数字芯片BES工程师,其中BES是Back End Support的缩写,就是后端支持的意思。其实这个岗位是数字IC前端设计和数字IC后端设计之间的一座桥,完成从寄存器传输级设计到具体工艺的mapping和实现。这个岗位在不同的厂叫法不同,例如数字芯片前端流程工程师、数字IC设计流程工程师、数字IC设计中端工程师、数字电路前端asic flow工程师等,都是指的这个岗位角色。

当然,分工这么细,都是大厂的设计规模相对比较大,需要每个环节有专门的人来负责,以便更加高效的完成芯片项目。如果对于规模不大的项目,例如一些小的公司,这块的工作就直接归到数字前端设计或者数字后端设计flow里面了。我们只要理解他负责的工作和角色即可。

从个人角度来说,我更倾向与把这部分工作归到数字IC前端设计职责内,原因就是前端设计人员不光需要懂逻辑设计,还要有时序、可测试性、功耗分析、约束等能力,保证交付给后端的设计是clean,可实现性更强的。这样的效率也会更高一些。现在据了解某些大厂的FLP/PR都在设计前移,所以BES这块归结到前端设计是个趋势。

二、 数字芯片BES工程师的职责是什么

这块直接上招聘JD,从需求侧的描述能基本看出数字芯片BES工程师做哪些工作。

JD-1

工作职责

  1. 从事数字芯片Front-end flow方面相关工作(逻辑综合和时序分析,以及优化/收敛、约束编写、PPA分析);
  2. 主要工作内容为:synthesis、DFT、formal verification、STA、power analysis、Tetramax等;
  3. 工艺、lib、memory评估;
  4. 协助进行系统时钟、复位设计;
  5. 协助进行低功耗相关方案设计;
  6. 根据spec编写UPF/SDC等约束文件;
  7. 实现芯片顶层及子模块的相关DFT RTL代码编写,扫描链,MBIST电路,边界扫描电路插入,以及测试pattern的生成及仿真等;
  8. 协助物理实现工程师解决物理功能模块平面布置图设计、时序分析,优化/收敛方面的问题。

任职资格

  1. 硕士及以上学历,电子工程或计算机科学相关专业,工作经验和职级不限;
  2. 熟练使用Verilog HDL或System Verilog;
  3. 熟悉常用的EDA工具,如:Synopsys VCS, Verdi, Cadence IUS, Mentor QuestaSim等;
  4. 有过ASIC经验背景者优先;
  5. 有物理实现背景者优先;
  6. 有低功耗或DFT背景者优先;
  7. 熟悉数字低功耗Front-end flow,有多电源域经验,熟练掌握power gating、isolation、level shifter、retention等Front-end flow技巧;
  8. 掌握Shell/Perl/Python/TCL等脚本语言者会有优势。

JD-2

Responsibilities:

  • 负责SOC芯片的前端设计流程,包括Synthesis、Formal和STA;
  • 设置时序约束、功率约束CPF/UPF,并在标准工具流程中验证设计;
  • 与后端工程师合作实现时序收敛;
  • 设置并开发Formal检查环境及调试。

Requirements:

  • 要求电子工程学士学位,硕士学位优先,具备基本的ASIC设计知识;
  • 熟悉先进的低功耗SoC设计技术;
  • 3年以上STA/Synthesis/Formal check的实践经验;
  • 对ARM、AHB/AXI总线及SoC架构有了解者优先;
  • 熟悉Perl/Csh, tcl和C/C++编程;
  • 具备较强的持续学习能力。

三、数字芯片BES工程师的职业发展方向**

在刚刚进入21世纪时,IC设计曾一度备受瞩目,成为炙手可热的行业。当时,EDA工具开始盛行,掌握flow并能用工具支持design service的人才,无疑在行业内极具竞争力。从当前视角及周边案例来看,数字芯片BES工程师的职业发展路径大致可归纳如下:

1. 数字前端设计

对于从事BES工作的工程师而言,他们通常具备数字芯片设计的背景。若不想继续从事flow方面的工作,他们可以选择回归前端设计领域。由于已经积累了flow相关的经验,他们在前端设计的视角和感觉将更为独特和深入。

2. 数字后端设计

与PR工程师的紧密合作使得BES工程师能够较为顺畅地转向后端设计岗位。这一转变将进一步延伸他们在流程上的参与程度,使他们能够更深入地思考门级和物理实现级的问题,如时钟树、congestion、IRDROP和物理验证等。这样的转变将加深他们对芯片设计的整体理解。

3. 转行至EDA公司

EDA公司如C家、S家和M家等在行业内具有显著的影响力,并一直吸引着众多人才。近年来,随着国产EDA公司的逐渐崛起,为工程师提供了更广阔的职业发展空间。喜欢技术的工程师可以选择进入这些公司从事AE/FAE/EDA研发等工作,而擅长与人沟通的则可以考虑sales岗位。他们的技术背景和项目经验将成为他们进入这一领域的最大优势。

4. 更大的转折与机遇

每个人的职业发展都充满了无限可能。更大的转折和更好的机遇往往取决于个人的能力、格局和魄力。这些因素超越了芯片技术领域的范畴,无法准确预测,但无疑为数字芯片BES工程师提供了广阔的职业发展空间。

中国芯片的崛起离不开每一位芯片BES工程师的辛勤付出和共同努力。让我们携手并进,为中国芯的加速发展贡献自己的力量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/576048.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

a = 3中的3在栈中还是堆中?

1、栈区(stack) 由编译器自动分配释放,存放函数的参数值,局部变量的值等。 2、堆区(heap) 是一个可动态申请的内存空间(其记录空闲内存空间的链表由操作系统维护),在j…

踏上机器学习之路:探索数据科学的奥秘与魅力

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

国外的Java面试题和国内的相比谁更卷

前言 有很多朋友很好奇国外的Java面试题长啥样,今天我们就去找5道国外的面试来和国内的对比一下看看谁难一些! 面试题分享 1. Is Java Platform Independent if then how?( Java平台是独立的吗?) Yes, Java is a…

verilog设计-cdc:多比特信号跨时钟域(DMUX)

一、前言 多比特一般为数据,其在跨时钟域传输的过程中有多种处理方式,比如DMUX,异步FIFO,双口RAM,握手处理。本文介绍通过DMUX的方式传输多比特信号。 二、DMUX同步跨时钟域数据 dmux表示数据分配器,该方…

llama-index 结合chatglm3-6B 利用RAG 基于文档智能问答

简介 llamaindex结合chatglm3使用 import os import torch from llama_index.core import VectorStoreIndex, ServiceContext from llama_index.core.callbacks import CallbackManager from llama_index.core.llms.callbacks import llm_completion_callback from llama_ind…

Docker进阶:使用Docker部署Harbor私有镜像仓库

Docker进阶:使用Docker部署Harbor私有镜像仓库 1、安装Docker和Docker Compose1、安装Docker、Docker Compose2、验证Docker和Docker Compose是否成功安装3、先启动运行docker服务 2、下载并配置Harbor1、下载最新版本的Harbor离线安装包2、配置Harbor的主机名和管理…

小程序利用WebService跟asp.net交互过程发现的问题并处理

最近在研究一个项目,用到asp.net跟小程序交互,简单的说就是小程序端利用wx.request发起请求。获取asp.net 响应回来的数据。但经常会报错。点击下图的测试按钮 出现如下错误: 百思不得其解,试了若干方法,都不行。 因为…

web学习笔记(四十九)

目录 1. 初识 Express 1.1 什么是 Express 1.2 Express 能做什么 1.3 Express 的基本使用 1.4 如何把内容响应给客户端 2. 托管静态资源 2.1 express.static() 1. 初识 Express 1.1 什么是 Express 之前我们有讲过可以通过node.js内置的http模块来创建服务器&#x…

迭代器模式(统一对集合的访问方式)

目录 前言 UML plantuml 类图 实战代码 Iterator ArrayList Client 自定义迭代器 TreeNode TreeUtils Client 前言 在实际开发过程中,常用各种集合来存储业务数据并处理,比如使用 List,Map,Set 等等集合来存储业务数…

Ubuntu下使用vscode进行C/C++开发:进阶篇

在vscode上进行C/C++开发的进阶需求: 1) 编写及调试源码时,可进行断点调试、可跨文件及文件夹进行函数调用。 2) 可生成库及自动提取对应的头文件和库文件。 3) 可基于当前工程资源一键点击验证所提取的库文件的正确性。 4) 可结合find_package实现方便的调用。 对于第一…

【C语言】预处理常见知识详解(宏详解)

文章目录 1、预定义符号2、define2.1 define 定义常量2.2 define 定义宏 3、#和##3.1 **#**3.2 **##** 4、条件编译(开关) 1、预定义符号 在C语言中内置了一些预定义符号,可以直接使用,这些符号实在预处理期间处理的,…

ES6 学习(三)-- es特性

文章目录 1. Symbol1.1 使用Symbol 作为对象属性名1.2 使用Symbol 作为常量 2. Iterator 迭代器2.1 for...of循环2.2 原生默认具备Interator 接口的对象2.3 给对象添加Iterator 迭代器2.4 ... 解构赋值 3. Set 结构3.1 初识 Set3.2 Set 实例属性和方法3.3 遍历3.4 相关面试题 4…