景芯SoC A72实战反馈

news2024/9/25 7:24:15

先说结论:

内容非常全面,讲解到位,会有专门的工程师一对一答疑,整个项目跑下来提升非常大,绝对物超所值!

一些细节:

本人微电子专业研一在读,有过两次简单的数字芯片流片经历,出于学习和科研需要,报了景芯的12nm A72 UPF DVFS后端实战。

整个项目基于innovus实现,主要包括芯片partition、maia_cpu的PR和MAIA顶层的PR三个阶段。在每个阶段PR结束之后,对maia_cpu ip核/MAIA顶层进行Calibre DRC, LVS检查,StarRC抽参,pt抽参,lc生成lib文件,使用xtop/pt进行timing eco修复setup/hold违例,LEC逻辑等价性检查,VCLP低功耗设计静态检查,voltus功耗和压降评估,redhawk功耗和IR Drop分析等等。个人觉得项目的设置真的非常全面,涵盖了芯片后端物理实现直到tapout的全流程,本人在跑这套后端flow的过程中也了解到很多非常实用的后端EDA工具和功耗/时序的分析/修复方法。

项目整体流程和部分文档

在partition阶段,进行初步的floorplan,划分电压域,并实现顶层的电源网络。如下图所示,整颗芯片包含两颗A72 cpu核,若干L2 $,一些常开模块和PMU模块等等。整颗芯片共划分了6个电压域。(顺便提一句,我觉得整个项目唯一美中不足的地方是顶层芯片没加PAD,景芯的另一个soc项目有加PAD的流程)

MAIA before partition

MAIA partition

maia_cpu阶段实现单颗A72的PR,这部分流程就比较常规了,首先导入之前partition好的maia_cpu部分的def,随后进行单颗maia_cpu的floorplan、摆放powerswitch和各种tapcell, endcap、电源网络设计、摆放标准单元、时钟树综合、二级电源连线、信号布线、各种check和verify、release等。但是!让我眼前一亮的有两点,一个是12nm的电源网络的via pillar处理方式,另一个是ICG单元的特殊处理和整个时钟网络的balance,还是学到不少新东西的。

A72 maia_cpu floorplan

via pillar

overview of ICGs

完成maia_cpu后,我先进行starRC、pt抽参,随后使用xtop优化setup和hold,并再次打开innovus使用xtop生成的脚本自动进行eco修复timing。确认时序没有违例后,使用Calibre进行DRC、LVS检查,不出所料有很多DRC违例,LVS不通过。但是!!!景芯的一对一辅导真的很靠谱,有几个较难的DRC和LVS问题,工程师会一步步帮忙找bug并进行eco,整个过程非常专业并且工程师真的非常非常有耐心。最后如愿DRC和LVS clean。

DRC/LVS results

对maia_cpu进行一系列LEC检查和功耗、压降检查后,就可以进行最后一步MAIA顶层的布局布线了。依次读入各种lib和lef文件、maia_cpu的def和partition阶段产生的MAIA顶层的def,随后与maia_cpu相同,进行floorplan、电源网络、时钟树综合等等,不再赘述。

MAIA after CTS

整体来说我觉得这个项目是非常完善的,DRC、LVS、时序、功耗、压降等各种检查都有涉及;同时项目也非常有难度,不仅芯片规模大,制程先进(12nm),还涉及很多UPF的相关内容。景芯视频和实践相结合的授课方式也非常有效,视频会大量讲解一些原理性的内容,比如MCMM、UPF的一些基本概念和环境配置、时钟树的基本理论和该项目的时钟树结构的设计方法、顶层模块的时序约束、POCV/SOCV时序报告解读等等,而上机实践的部分则需要自己动手跑脚本,发现bug并尝试解决,锻炼工程能力。此外,我觉得课程很贴心的一点是,上机实践的部分在关键步骤都准备了golden结果,如果当下bug不能立即解决可以先跳过,使用提供的golden先体验一下整个后端流程,回过头再来解决一些细节问题。跑完整个项目真的感觉收获满满,在理论和实践上都有很大提升,但是感觉依然有很多内容没有完全掌握,整个flow中的很多细节都没注意到,很多工具也只是马马虎虎跑了个脚本。

最后!我觉得最值的一点就是有专门的工程师全程答疑,工程师回消息特别快,解决方案也很细致,除了解决一些具体的bug之外,有时候还会讲解一些原理性的内容,分享一些工程经验等等,真的能学到很多除脚本之外的东西!非常推荐!

(另外: 我觉得A72 整体难度有点大,如果是新手的话建议先跑景芯的soc后端实践课,再来尝试A72的进阶课程)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IO进程day04(进程)

目录 进程 1》什么是进程 1> 概念 2> 特点 3> 进程段 4> 进程分类 5> 进程状态 6> 进程状态切换图 7> 进程相关命令 <补充>优先级调度 2》进程函数接口 1> 创建进程 fork() 2> 回收资源 3> 结束进程 4> 获取进程号 3》exe…

《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 08网络自动化

云原生数据中心和老一代数据中心不同之处在于其核心概念是聚焦于高效运营。网络自动化就是达到此目标的关键因素。 要达到此目的&#xff0c;本章要解决诸如下述的一些问题&#xff1a; 什么是网络自动化以及为什么我们在乎它?为了学习网络自动化&#xff0c;我需要学习编程…

栈OJ题——栈的压入、弹出序列

文章目录 一、题目链接二、解题思路三、解题代码 一、题目链接 栈的压入、弹出序列 题目描述&#xff1a;给定两个整型数组&#xff0c;判断数组2是否是数组1的某一个出栈顺序。该题默认可以边入栈边出栈。 二、解题思路 三、解题代码 但是&#xff0c;上述解题代码中还存在一…

HCIP第一天作业

要求&#xff1a;R1-R2-R3-R4-R5 RIP 100 运行版本2 R6-R7 RIP 200 运行版本1 1.使用合理IP地址规划网络&#xff0c;各自创建环回接口 2.R1创建环回 172.16.1.1/24 172.16.2.1/24 172.16.3.1/24 3.要求R3使用R2访问R1环回 4.减少路由条目数量&#xff0c;R1-R2之间增…

Echarts栅格进度条装饰实现

如下图&#xff0c;如果你的业务需要这么一个饼图&#xff0c;你单纯借助echarts是实现不了如图效果的&#xff0c;你需要借助dom操作&#xff0c;合svg的配合才能实现。 首先饼图部分结束echarts,实现以及通过配置实现你想要的效果。 中间的文字百分比计算需要自己计算&#…

springboot3.x入门系列【5】支持unix sock 套接字服务

目录 一、简介 二、springBoot3.x 套接字的支持 1. 环境要求 2. springboot内置tomcat 2.1 支持unix 设置 unixDomainSocketPath 2.2 windows 下unix服务测试 3. springboot外置tomcat 3.1 tomcat 配置unix socket 套接字 3.2 启动tomcat 服务 3.3 nginx 支持unix…

python中传递任意数量的实参

有时候&#xff0c;你预先不知道函数需要接受多少个实参&#xff0c;好在Python允许函数从调用语句中收集任意数量的实参。 一个*是元组&#xff0c;两个是字典。

交换机自动化巡检(H3C)

目的:通过python实现全自动化交换机巡检&#xff08;每周五下午五点进行自动化巡检&#xff09; 1、环境&#xff1a; 系统&#xff1a;windows10 工具&#xff1a;python-3.11.2&#xff08;自行安装&#xff09; 工具&#xff1a;PyCharm Community Edition 2022.3.3&…

Vue使用v-model收集各种表单数据、过滤器

目录 1. 使用v-model收集各种表单数据2. 日期格式化3. 过滤器 1. 使用v-model收集各种表单数据 若<input type“text”/>&#xff0c;则v-model收集的是value值&#xff0c;用户输入的就是value值若<input type“radio”/>&#xff0c;则v-model收集的是value值&a…

【Linux系列】du命令详解

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【线程池】

什么是线程池&#xff1f; 线程池是一个可以复用线程的技术。简单来说&#xff0c;线程池是一种基于池化技术的思想来管理线程的技术&#xff0c;旨在减少线程的创建和销毁次数&#xff0c;提高系统的响应速度和吞吐量。它预先创建了一定数量的线程&#xff0c;并将这些线程放…

MySQL高可用性实践指南

一 、Mysql 在服务器中的部署方法 1、安装依赖性 yum install libtirpc-devel-0.2.4-0.16.el7.x86_64.rpm -y yum install ncurses-devel.x86_64 -y yum install gcc-c -y yum install openssl-devel -y yum install cmake -y 2、下载并解压源码包 tar zxf mysql-boost-5.7…

十年热爱,小鹏汽车开启AI新篇章

“每一台小鹏汽车&#xff0c;都是同级别智能的天花板。”在8月27日的小鹏10年热爱之夜暨小鹏MONA M03上市发布会上&#xff0c;小鹏汽车董事长、CEO何小鹏不无自豪地表示。 对于小鹏汽车来说&#xff0c;此次发布会有着非凡的意义&#xff0c;因为它不仅是对小鹏汽车过去十年辉…

前端用js发送邮箱 前端发送邮箱

前端发送邮箱 安装包依赖邮箱授权码demo eg:picture页面发送内容有效接受效果 code参考别人写的code 说明 安装包依赖 yarn add nodemailernodemailer官网 邮箱授权码 邮箱授权码: 邮箱授权码需要开通&#xff0c;以QQ邮箱为例&#xff0c;其它大同小异 demo eg: picture…

ROCm Code Object Tooling

ROCm&#xff08;Radeon Open Compute&#xff09;提供了一系列的工具&#xff0c;用于检查和提取编译器生成的代码对象&#xff0c;包括可执行文件、目标文件和共享对象库。 一、roc-obj roc-obj 是 ROCm&#xff08;Radeon Open Compute&#xff09;提供的一个高层级工具&a…

【软件文档】需求规格说明书编制模板

1 范围 1.1 系统概述 1.2 文档概述 1.3 术语及缩略语 2 引用文档 3 需求 3.1 要求的状态和方式 3.2 系统能力需求 3.3 系统外部接口需求 3.3.1 管理接口 3.3.2 业务接口 3.4 系统内部接口需求 3.5 系统内部数据需求 3.6 适应性需求 3.7 安全性需求 3.8 保密性需求 3.9 环境需求…

数据结构(邓俊辉)学习笔记】串 14——BM_GS算法:构造gs表

以下&#xff0c;就来简要地介绍 gs 表的具体构造算法。算法为了便于理解其原理&#xff0c;这里将整个算法划分为若干的层次&#xff0c;并逐层递进、逐层细化。 我们首先需要引入 MS 子串与 ss 表的概念。实际上&#xff0c;相对于模式串中的任何一个字符 P[j] &#xff0c…

RP2040 C SDK开发串口的使用

RP2040 C SDK开发串口的使用 &#x1f4cd;环境搭建部署篇《RP2040 VSCode C/C开发环境快速部署》&#x1f516;RP2040 有硬件串口资源有2个。&#x1f33f;参考RP2040 C SDK Hardware APIS&#xff1a;https://www.raspberrypi.com/documentation/pico-sdk/hardware.html#grou…

安卓APK重签名并查看MD5值-2024最新版

重签名 命令行运行&#xff1a; apksigner sign --ks your_keystore.jks --out output.apk input.apk在这个命令中&#xff1a; –ks 或 --keystore 参数后面是你的keystore文件路径。 your_keystore.jks 是你的keystore文件。 –out 参数后面是输出的签名后的APK文件名。 out…

发布npm包到GitLab教程

之前在研究如何搭建UI组件库&#xff08;内部使用&#xff09;&#xff0c;其中重要的一步就是发布npm包到GitLab。中间踩了很多坑&#xff0c;在这里记录一下整个流程方便大家快速上手。不足之处欢迎指出&#x1f64f; 1. 获取Token 在gitlab中打开access tokens申请页面&am…