在芯片设计行业,从项目的初期到交付,不同的岗位的工程师主要负责什么?
大家都知道在芯片设计行业,项目是至关重要的一环。从项目的初期到交付,不同的岗位的工程师在项目的各环节主要负责什么?他们是怎样配合的?下面看看资深工程师怎么说。
一个项目,从初期到交付的过程是比较漫长的。我们知道最早的时候,我们把它叫做项目规划,即 schedule。
这个schedule 实际上讲芯片的基本的性能达到什么样的要求,包括功耗、封装等相关的东西,就是项目立项,这是第一点了。我们讲了如果你概念都出现了错误,即项目一开始定义的时候,比如你要做一个高性能的控制,你的CPU都达不到这样的能力,坦率的讲你这个项目是不会成功的。
到第二阶段就变成了RTL的细节设计。这是我们对这种设计工程师的要求了,简单点讲,你通过HDL的形式把我们的ideal转化成一个可以综合的电路,这是我们比较核心的东西。
跟所谓的RTL对应的,你编出来的功能一定要保证至少功能的正确性。这部分东西就是我们说的叫做DFV,即验证工程师。这几部分搞定了之后,再往下是综合工程师了,再往下就是物理实现的工程师,即后端设计实现的工程师。
再往下就会有两个工程师出现了。你要保证你的这样的一个设计是满足时序的要求,这是一部分。还有一部分我们说的叫什么?叫PV,即physical verification,准确的进就是你设计出来的图纸需要满足厂家定义的设计规则。否则我们讲你一定是不可以成功流片的。也就是你做了这样的设计之后,你的设计不可制造。
我基本上在这样的一个绿色的区域里面,虽然我是后端工程师,我天天在跟RTL的工程师打交道。我们知道你作为一个RTL的工程师,你需要完成两件事情。RTL程师不仅仅是你会用、会写HDL代码,这是不可以的。你做一颗芯片,功能正确是你最基本的要求。除此之外,你还要满足性能的指标,还要满足功耗和面积的指标。这几点缺一不可。
作为我们来讲,我们认为RTL工程师实际上是在做两件事情。第一件事情是要通过自己的个人技能,比如某种HDL,我要实现这样的一个功能,比如一个通信芯片、一个控制芯片等等,你要实现这样的一个基本功能。
第二件事情是在实现这样的功能的基础之上,你需要设计时序,我们讲时序是设计出来的,不是后端的工程师努力出来的,后端工程师只能做锦上添花的一件事情,谈不上雪中送炭了。
我们讲了后端工程师只能做这种锦上添花的事情,达不到脱胎换骨的级别,也就是所有的根源都在RTL。大家最后统一的一句话就是,所有问题的根源都在设计,这个还是括号,不包含DFV验证出来的错误。
因为我们讲了后端工程师,实际上是不关心功能的。每个圈里面都有好多人了,到了这里你也就知道了自己大概都要做什么。一个项目至少每一个圈里面都有一个人,也是经过二三十年的发展,比较完善、比较能够保证设计质量的一个流程。
我们讲了刚才也说过了,所有的问题的根源都在RTL上。比如我们后端做完之后,功耗超标怎么办,面积超标,怎么办?这样的情况下,必然要通过RTL的调整,才能够完成。
整个团队,包括前端,后端,还是分不太清楚的,天天都在配合,无时无刻都在配合。这是我给大家要讲的我的一些个人理解。
下面就来为大家分享六大方向的项目资源
数字前端设计
本项目设计完成了一个 memory controller 模块,实现了对 array read/write/refresh的控制,其接口完成了 AXI bus 到 array interface 之间的转换。
数字功能验证
本项目基于UVM验证平台。UART作为通用串行数据总线,用于异步双向通信,实现数据的串并传唤。此UART模块支持全双工数据传输和接收,数据位58bit,停止位12bit,奇偶校验,16个字节FIFO深度。
数字DFT设计
本项目基于tessent,内包含8W+寄存器,完成了对辅助MCU的NPU芯片的DFT设计。
数字后端实现
本项目是一款采用tsmc28nm工艺的aes运算模块,项目实现过程覆盖数字后端APR、STA、Formal等流程,模块规模达到20W+instance,工作频率为500Mhz,模块尺寸1mm*1mm。
模拟IC设计
本项目设计了一款开关型直流电压变换器(Buck),实现了对输入直流电压的降压变换。
模拟版图
内含四个项目,设计主要基于virtuoso 617,完成了CSMC 0.18um工艺Bandgap版图设计/CSMC 0.18um工艺UVLO版图设计/SMIC 0.13um工艺LDO版图设计/SMIC 40nm工艺PLL版图设计,并通过版图物理验证,按照器件匹配规则,对版图性能进行优化。
如果你当下对入行/转行有一定困惑和意向,或者想获取项目资源,以及免费获取学习资料,任何关于转行的问题都有老师会为你解答。
这里放个入口:IC入行指导
相关文章:

在芯片设计行业,从项目的初期到交付,不同的岗位的工程师主要负责什么?
大家都知道在芯片设计行业,项目是至关重要的一环。从项目的初期到交付,不同的岗位的工程师在项目的各环节主要负责什么?他们是怎样配合的?下面看看资深工程师怎么说。 一个项目,从初期到交付的过程是比较漫长的。我们知道最早的时候&#…...

Spring Cloud Alibaba全家桶(七)——Sentinel控制台规则配置
前言 本文小新为大家带来 Sentinel控制台规则配置 相关知识,具体内容包括流控规则(包括:QPS流控规则,并发线程数流控规则),BlockException统一异常处理,流控模式(包括:直…...

mysql-installer安装教程(详细图文)
目录 1.安装 2.配置系统环境变量 3.配置初始化my.ini文件 4.MySQL彻底删除 5.Navicat 安装 1.安装 先去官网下载需要的msi,在这放出官网下载地址下载地址 这里我具体以8.0.28 为安装例子,除了最新版安装界面有些变动以往的都是差不多的。 过去的版本…...

微服务架构第一阶段(nacos,gateWay,RPC)
最近在学习完 springcloud 微服务架构之后,自己用了之前的一个项目计划拆分成微服务的项目,第一阶段要求整合 nacos,RPC以及gateWay,首先来看一下几个技术组件的概念 RPC RPC 框架 —— 远程过程调用协议RPC(Remote …...

【Azure 架构师学习笔记】-Azure Data Factory (5)-Managed VNet
本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Data Factory】系列。 接上文【Azure 架构师学习笔记】-Azure Data Factory (4)-触发器详解-事件触发器 前言 PaaS服务默认都经过公网传输, 这对很多企业而言并不安全,那么就需要对其进行安全改…...

ActiveMQ(三)
协议配置 ActiveMQ 支持的协议有 TCP 、 UDP、NIO、SSL、HTTP(S) 、VM 这是activemq 的activemq.xml 中配置文件设置协议的地方 <transportConnector name"openwire" uri"tcp://0.0.0.0:61616?maximumCon nections1000&wireFormat.maxFrameSiz…...

区块链多方计算 人工智能学习笔记
区块链:让数据不被篡改,但需要复制数据给每一块,造成数据泄露 多方计算 : 让数据用途可控。数控可用但不可见。 人工智能:数据更难造假 主讲人简介: 徐葳,宾夕法尼亚大学学士(在清华…...

基于opencv的边缘检测方法
1、梯度运算 用OpenCV的形态变换( 膨胀、腐蚀、开运算和闭运算)函数morphologyEx 梯度运算即膨胀结果-腐蚀结果: 【注意】对于二值图像来说,必须是前景图像为白色,背景为黑色,否则需要进行反二值化处理 …...

视频封装格式篇(TS)
本篇介绍下TS的封装格式。 1.什么是TS? TS(Transport Stream,传输流),一种常见的视频封装格式,是基于MPEG-2的封装格式(所以也叫MPEG-TS),后缀为.ts。 2.TS的分层结构 …...

静态路由+DHCP实验(四路由器八PC)
一.200.1.1.0/24子网划分 1.划分八个子网 2.选用前5个,第五个子网再划分4个子网作为骨干 二.规划路由 三.配置(下一跳) 1.先依次实现四个路由器之间全网可通 2.为路由器配置地址池,使用全局模式获取dhcp,指定网关…...

数据挖掘(作业汇总)
目录 环境配置 实验1 数据 作业2 环境配置 实验开始前先配置环境 以实验室2023安装的版本为例: 1、安装anaconda:(anaconda自带Python,安装了anaconda就不用再安装Python了) 下载并安装 Anaconda3-2022.10-Windows-x86_64.ex…...

基于微信小程序的图书馆选座系统源码
开发环境及工具: 大等于jdk1.8,大于mysql5.5,idea(eclipse),微信开发者工具 技术说明: springboot mybatis 小程序 代码注释齐全,没有多余代码,适合学习(…...
K8S 三种探针 readinessProbe、livenessProbe和startupProbe
一、POD状态 Pod 常见的状态 Pending:挂起,我们在请求创建pod时,条件不满足,调度没有完成,没有任何一个节点能满足调度条件。已经创建了但是没有适合它运行的节点叫做挂起,这其中也包含集群为容器创建网络…...

Android 设置背景颜色透明度
前言 本章是对设计给出的颜色做透明度的处理 原因 一般情况下我们是不需要做处理的,那为什么又需要我们做透明度呢,原因就是咱们的设计小哥哥、小姐姐们没有自己做处理,如果处理了的话,我们直接使用设计标注的AHEX颜色就行&a…...
聚类算法层次聚类
###cluster.py #导入相应的包 import scipy import scipy.cluster.hierarchy as sch from scipy.cluster.vq import vq,kmeans,whiten import numpy as np import matplotlib.pylab as plt #生成待聚类的数据点,这里生成了20个点,每个点4维: pointsscipy.randn(20,4) #加一…...

js 数据类型
1.概念 数据类型指的是可以在程序中存储和操作的值的类型,每种编程语言都有其支持的数据类型,不同的数据类型用来存储不同的数据,例如文本、数值、图像等。 JavaScript 是一种动态类型的语言,在定义变量时不需要提前指定变量的类…...

多级评论单表结构设计
这里的多级,本质上其实也就二级,例如微博的评论, 一级评论: 对微博的评论 二级评论: 对微博下的评论的回复评论 ,这里包括二种 1. 回复的是一级评论, 2, 回复的是二级评论 效果如下 表数据 查…...

Mac M1通过VMWare Fusion安装Centos7记录(镜像和网络有大坑)
以前用linux系统基本都在我的服务器上或者是在win上进行,从没有在M1上进行创建,因此走了一些坑吧,这里会列出我的详细安装步骤。 下载镜像 镜像的下载网站:https://www.centos.org/download/ 在该网站中,不管是Every…...

女生适合当程序员吗?
在这个节日里,让我们来讨论一个比较热门的话题吧。女生到底适不适合当程序员? 在开启这个话题前,我们先来认识一位伟大的女性吧。 阿达洛芙莱斯(Augusta Ada King)是著名英国诗人拜伦之女,她本职是一位数…...

昇腾AI机器人发布,12家企业、5家高校签约,昇腾AI开发者创享日全国巡展沈阳首站成功举办
“创未来,享非凡”昇腾AI开发者创享日2023年全国巡回首站活动成功举办,本次活动由辽宁省科技厅指导,由沈阳市科技局、浑南区人民政府、沈阳高新区管理委员会、华为技术有限公司共同主办,沈阳昇腾人工智能生态创新中心承办…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...