【有芯职说】数字芯片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
工作职责
- 从事数字芯片Front-end flow方面相关工作(逻辑综合和时序分析,以及优化/收敛、约束编写、PPA分析);
- 主要工作内容为:synthesis、DFT、formal verification、STA、power analysis、Tetramax等;
- 工艺、lib、memory评估;
- 协助进行系统时钟、复位设计;
- 协助进行低功耗相关方案设计;
- 根据spec编写UPF/SDC等约束文件;
- 实现芯片顶层及子模块的相关DFT RTL代码编写,扫描链,MBIST电路,边界扫描电路插入,以及测试pattern的生成及仿真等;
- 协助物理实现工程师解决物理功能模块平面布置图设计、时序分析,优化/收敛方面的问题。
任职资格
- 硕士及以上学历,电子工程或计算机科学相关专业,工作经验和职级不限;
- 熟练使用Verilog HDL或System Verilog;
- 熟悉常用的EDA工具,如:Synopsys VCS, Verdi, Cadence IUS, Mentor QuestaSim等;
- 有过ASIC经验背景者优先;
- 有物理实现背景者优先;
- 有低功耗或DFT背景者优先;
- 熟悉数字低功耗Front-end flow,有多电源域经验,熟练掌握power gating、isolation、level shifter、retention等Front-end flow技巧;
- 掌握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工程师的辛勤付出和共同努力。让我们携手并进,为中国芯的加速发展贡献自己的力量。
相关文章:

【有芯职说】数字芯片BES工程师
一、 数字芯片BES工程师简介 今天来聊聊数字芯片BES工程师,其中BES是Back End Support的缩写,就是后端支持的意思。其实这个岗位是数字IC前端设计和数字IC后端设计之间的一座桥,完成从寄存器传输级设计到具体工艺的mapping和实现。这个岗位在…...

暴力破解pdf文档密码
首先安装pdfcrack工具包 apt install pdfcrack 默认密码字典存储在/usr/share/wordlists里,是gz文件,将它解压并copy到pdf目录 然后使用pdfcrack破解 密码在最后一行user-password的单引号里...

蓝桥杯刷题第四天
思路: 这道题很容易即可发现就是简单的暴力即可完成题目,我们只需满足所有数的和为偶数即可保证有满足条件的分法,同时也不需要存下每个输入的数据,只需要知道他是偶数还是奇数即可,因为我们只需要偶数个奇数搭配在一块…...

03-数据库的用户管理
一、创建新用户 mysql> create user xjzw10.0.0.% identified by 1; Query OK, 0 rows affected (0.01 sec) 二、查看当前数据库正在登录的用户 mysql> select user(); ---------------- | user() | ---------------- | rootlocalhost | ---------------- 1 row …...
每日一题 --- 三数之和[力扣][Go]
三数之和 题目:15. 三数之和 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 **注意&#x…...
vue render 函数详解 (配参数详解)
vue render 函数详解 (配参数详解) 在 Vue 3 中,render 函数被用来代替 Vue 2 中的模板语法。 它接收一个 h 函数(或者是 createElement 函数的别名),并且返回一个虚拟 DOM。 render 函数的语法结构如下: render(h) …...

ubuntu23.10配置RUST开发环境
系统版本: gcc版本 下载rustup安装脚本: curl --proto =https --tlsv1.2 https://sh.rustup.rs -sSf | sh下载完成后会自动执行 选择默认安装选项 添加cargo安装目录到环境变量 vim ~/.bashrc<...

Vue性能优化--gZip
一、gZip简单介绍 1.1 什么是gzip gzip是GNUzip的缩写,最早用于UNIX系统的文件压缩。HTTP协议上的gzip编码是一种用来改进web应用程序性能的技术,web服务器和客户端(浏览器)必须共同支持gzip。目前主流的浏览器,Chro…...

蓝桥杯第七届大学B组详解
目录 1.煤球数量; 2.生日蜡烛; 3.凑算式 4.方格填数 5.四平方和 6.交换瓶子 7.最大比例 1.煤球数量 题目解析:可以根据题目的意思,找到规律。 1 *- 1个 2 *** 3个 3 ****** 6个 4 ********** 10个 不难发现 第…...

荣誉 | 人大金仓连续三年入选“金融信创优秀解决方案”
3月28日,由中国人民银行领导,中国金融电子化集团有限公司牵头组建的金融信创生态实验室发布“第三期金融信创优秀解决方案”,人大金仓新一代手机银行系统解决方案成功入选,这也是人大金仓金融行业解决方案连续第三年获得用户认可。…...

【关于jupyter notebook】一打开就闪退的问题
在Anaconda Prompt中输入jupyter notebook发现是有个错误。 里面多了一个__init__.py的文件导致报错。删除之后,就可以使用了...

若依 3.8.7版本springboot前后端分离 整合mabatis plus
1.去掉mybatis 这一步我没有操作,看别人的博客有说不去掉可能冲突,也可能不冲突,我试下来就没去掉如需要去除,到总的pom.xml中properties标签下的<mybatis-spring-boot.version>x.x.x</mybatis-spring-boot.version>…...
vue做移动端自适应插件实现rem
1.实现方式 postcss-pxtorem:将px转换为rem amfe-flexible:为html、body提那家font-size,窗口调整的时候重新设置font-size 2.安装与使用 npm install amfe-flexible --save npm install postcss-pxtorem --save-dev 1.再main.js入口文件…...
android 快速实现 图片获取并裁剪(更换头像)
1.获取图片框架:https://github.com/LuckSiege/PictureSelector 2.图片裁剪框架:https://github.com/jdamcd/android-crop 3.Glide图片加载框架:https://github.com/bumptech/glide 2.build.gradle依赖: dependencies {// Pic…...

垃圾回收机制--GC 垃圾收集器--JVM调优-面试题
1.触发垃圾回收的条件 新生代 Eden区域满了,触发young gc (ygc)老年代区域满了,触发full gc (fgc)通过ygc后进入老年代的平均大小大于老年代的可用内存,触发full gc(fgc).程序中主动调用的System.gc()强制执行gc,是full gc,但是不必然执行。…...
Java基础知识总结(29)
Java虚拟机 运行时数据区 程序计数器 方法区:Java 8以后没有方法区,改为了元空间(MetaSpace) 虚拟机栈 堆 本地方法栈 程序计数器 它可以看作是当前线程所执行的字节码的行号指示器。在Java虚拟机的概念模型里,…...
vue js金额转中文
在Vue.js项目中,实现金额转中文的功能通常涉及编写一个JavaScript方法来处理数字转换逻辑,并在Vue组件中调用该方法。下面是一个基本的示例,展示如何在Vue组件中定义一个计算属性或方法来实现这一功能: /*** 思路: …...

《QT实用小工具·二》图片文字转base64编码
1、概述 源码放在文章末尾 base64编码转换类 图片转base64字符串。base64字符串转图片。字符转base64字符串。base64字符串转字符。后期增加数据压缩。Qt6对base64编码转换进行了重写效率提升至少200%。 下面是demo演示: 项目部分代码如下所示: #ifn…...

Django安装及第一个项目
1、安装python C:\Users\leell>py --version Python 3.10.6 可以看出我的环境python的版本3.10.6,比较新 2、 Python 虚拟环境创建 2.1 官网教程 目前,有两种常用工具可用于创建 Python 虚拟环境: venv 在 Python 3.3 及更高版本中默…...
专升本-物联网
物联网(IOT,Internet of things) 体系结构: 感知层(感知执行层) 网络层 应用层 基本特征: 全面感知 可靠传输 智能处理 作用: 信息采集、转换、收集 信息传递和处理 数据…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...