芯片SoC设计你了解吗?

2023-09-21 17:33:03

数字IC设计根据岗位性质一般包含SOC设计,前端设计,ASIC设计,逻辑设计,IP设计,CPU设计等。
有人说:做IP设计就是翻译官,做SOC设计就是连连看。
SoC设计是做什么的?与IP设计有什么不同?
IP设计工程师每天的工作,编码,debug,接口定好了,时钟只给一个,内部不让分频。不用做过异步处理。按照公司的编码规范和flow,综合,fomal一把过,后端基本不会有你的问题。专注于算法协议,专注于代码设计,追求用比别人小30%的面积,快30%的速度来实现同样的功能。协议、代码和波形,甚至有时候有股做软件的错觉。
做soc才感觉自己做的是芯片,做的是硬件。

-时钟复位,子系统时钟方案设计,fullchip的时钟方案设计。

  • 面向产品,根据市场需求,进行IP的选型和评估。
  • 处理器选型,内存的容量与访问权限。整个SOC的地址规划,中断管理。
  • SOC的总线互联矩阵设计,性能优化评估。
  • memory资源的生成和管理。
  • 综合sdc的编写或提供,综合约束和时序问题解决。
  • Power,整个芯片的PMIC供电,芯片内部各个power domain的划分,整个SOC低功耗设计,UPF的设计与验证。
  • Pinmap,芯片的布局,引脚规划,哪些可以做pinmux来复用。

后端出现的各种PR时序和约束问题支持解决,一直到Tape out。
看到了这些才有了做芯片、做硬件的感觉。
在这里插入图片描述

SOC整合

SOC工程师很经典的一个工作就是集成,集成各个IP成子系统,集成各个子系统成full chip,要么很多硅农自嘲做SOC就是连连看。比起集成,其实叫整合更贴切,SOC整合,最主要的是整合人,集成代码是最简单的。各个IP的接口,时钟复位,memory的生成管理,地址的划分,中断的规划,互联总线的规划。把这些资源整合起来,才形成最终的产品。接触的人就更多了,SOC验证出了问题先找你debug,完了发现是IP的问题。软件访问寄存器怎么都通不了,找你debug发现原来是偏移地址不对。加速器 EDA FPGA验证平台,找你要版本,不然阻塞进度。综合找你综合又不过,来分析timing。后端找你PR时序还是有问题,怎么能做前端做些优化。做SOC主要是跟人打交道。时间碎片化。

版本发布管理

SOC工程师需要承载代码管理发布职责,与IP设计不同,一个设计对一个验证,或者多个设计对多个验证。但都是用一个EDA平台,讲究的就是小步快跑,快速迭代。发现bug了,聊天软件说一下,改完立马上传进行回归。SOC的级别要发布的代码规模最小也是一个子系统级别的,面向多个平台,EDA平台,加速器Zebu/Palladium,FPGA平台,综合等。多方面需求,代码库上的代码是时刻都会有人上传的,所以就需要切出一个稳定版本,保证多个平台在任意时刻取到的都是一致的。这就要用到Tags版本发布。Tags代码版本管理,即研发到一定阶段的里程碑版本,需要包含release note,版本feature说明等。每一个IP,每一个子系统,层层流水发布版本,最后构成了一个full rtl的SOC版本给多个平台。也有一套方法学。

SoC芯片设计流程是怎样的?

SOC简易设计流程如下图所示,关于芯片设计流程的详细介绍,芯学长网上有,这里就不过多介绍了,如果不太了解芯片设计每个岗位具体负责什么工作?自己更适合哪个岗位,都可以去芯学长网去查看。
在这里插入图片描述

SOC工程师是加班接力棒

SOC的Top肯定是最后一个freeze的,IP组的同事都休息一阵了,甚至都有时间准备开发下一版了。但是SOC的同事还在坚持擦屁股。加班接力棒,算法加班-IP设计加班-IP验证加班-SOC设计加班-SOC验证加班-后端加班。上游delay了,项目不能delay,时间就得往下游压缩。后端同事已经哭晕到厕所。

SoC设计前景如何?

SOC设计工程师在实现芯片架构、设计验证、性能优化等方面扮演着重要角色。他们能够将复杂的功能和电路集成到一个芯片中,为各个行业带来创新和突破。因此,SOC设计工程师将在未来的科技领域中扮演关键角色。

更多推荐

机器学习—非零中心化、非零中心化会带来的问题

众所周知,激活函数最好具有关于零点对称的特性,不关于零点对称会导致收敛变慢。这种说法看到几次了,但对于背后的原因却一直比较模糊,今天就来捋一捋。神经元模型如图1所示是神经网络中一个典型的神经元设计,它完全仿照人类大脑中神经元之间传递数据的模式设计。大脑中,神经元通过若干树突(dendrite)的突触(synapse),

【数据结构练习】链表面试题集锦二

目录前言:1.链表分割2.相交链表3.环形链表4.环形链表II前言:数据结构想要学的好,刷题少不了,我们不仅要多刷题,还要刷好题!为此我开启了一个必做好题锦集的系列,每篇大约5题左右。此为第二篇选择题篇,该系列会不定期更新敬请期待!1.链表分割代码:publicclassPartition{publicListNode

Hadoop-sqoop

sqoop1.Sqoop简介及原理简介:Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysq1.postgresql..)间进行数据的传递,可以将一个关系型数据库(例如:MySQL,Oracle,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关

JVM基础知识(内存区域划分,类加载,GC垃圾回收)

目录内存区域划分JVM中的栈JVM中的堆程序计数器方法区(元数据区)给一段代码,某个变量在哪个区域上?类加载类加载时机双亲委派模型GC垃圾回收机制GC实际工作过程1.找到垃圾/判定垃圾1.可达性分析(Java中的做法)2.引用计数2.清理垃圾1.标记清除2.复制算法3.标记整理分代回收(复制算法+标记整理)内存区域划分

Axios 的介绍(使用和作用)

Axios是一个基于promise的HTTP库,可以用在浏览器和node.js中axios的作用是什么呢?axios主要是用于向后台发起请求的,还有在请求中做更多是可控功能。axios特点:从浏览器中创建XMLHttpRequests从node.js创建http请求支持PromiseAPI拦截请求和响应(就是有inte

电子科大软件系统架构设计——系统需求分析

文章目录系统需求分析需求采集研究现有文档与系统组织机构图系统规划文档工作规范文档业务单据报表问题描述文档领域专业知识现有相关软件系统与客户及相关人员进行面谈正式面谈非正式面谈典型访谈问题优缺点问卷调查法调查表问卷设计问卷调查表应用方式观察法头脑风暴法原型法原型方法分类原型法开发过程快速应用开发可视化需求建模业务流程建模

十三、MySql的视图

文章目录一、前言二、定义三、为什么使用视图四、基本使用(—)创建视图(二)案例1.修改了视图,对基表数据有影响2.修改了基表,对视图有影响3.删除视图五、视图规则和限制一、前言通过视图,可以展现基表(用来创建视图的表)的部分数据;视图数据来自定义视图的查询中使用的表,使用视图动态生成。视图(子查询):是从一个或多个表导

linux上gitlab备份与还原

三Gitlab备份1.gitlab安装1.1添加镜像地址添加镜像地址的目的是为了提高国内用户软件下载的速度,编辑(新建)文件gitlab-ce.repo,指令:vi/etc/yum.repos.d/gitlab-ce.repo复制输入:[gitlab-ce]name=gitlab-ce#清华大学的镜像源baseurl=

使用vue-cli搭建SPA项目及使用和路由及路由嵌套的使用

目录一、介绍(1)概述(2)作用二、项目搭建SPA介绍讲述特点优点(1)检查(2)安装(3)构建(4)启动(5)导入三、路由及嵌套使用(1)路由(2)嵌套给我们的收获一、介绍(1)概述vue-cli是一个基于Vue.js的脚手架工具,用于快速搭建Vue.js项目的开发环境。它提供了一套完整的项目结构和开发工具,帮助开发

第十天:基于Ubuntu和gec6818开发板的QT图书管理系统完整项目设计

源码内容太多不一一展示,需要完整源码和ppt答辩的可以私聊我!一、开发环境开发工具Ubuntu18.04中QT5.9运行平台:Ubuntu18.04和gec6818arm开发板二、数据库mysql或sqlite3初始化(两个数据库都可)mysql初始化语句:initdatabase.sqlusemysql;insert

Vue之vue-cli搭建SPA项目

目录​编辑前言一、vue-cli简介1.什么是vue-cli2.vue-cli的重要性3.vue-cli的应用场景二、Vue-cli搭建SPA项目1.构建前提(node.js安装完成)2.安装vue-cli3.使用脚手架vue-cli(2.X版)来构建项目4.分析创建spa项目的八个问题5.在开发工具中导入新建的SPA

热文推荐