低功耗UPF设计的经典案列分享

案例1

分享个例子,景芯A72低功耗设计,DBG domain的isolation为何用VDDS_maia_noncpu供电而不是TOP的VDD?

图片

答:因为dbg的上一级是noncpu,noncpu下面分成dbg和两个tbnk。

案例2

景芯A72的低功耗,请问,如果iso cell输出都要放parent,输入放self,那么下面-applies_to_outputs对应的-location为何是self?

图片

答:这个需要了解CPU的内部设计架构,tbnk掉电 VDDS_maia_noncpu也必然掉电,pst如下,所以-applies_to_outputs对应的-location是可以的,那么注意下debug domain呢?

图片

实际上,没有tbnk到debug domain的信号,因此脚本如下:

图片

SRAM低功耗

再分享个例子,比如,景芯A72课程的低功耗例子:为何non_cpu的SRAM的VDD VDDM都接的可关闭电源?SRAM的VDD VDDM分别是常开和retention电源呀?

图片

答:本来是VDDM作为retention电源设计的,VDD关掉后 VDDM可以供电作为retention使用,但是此处没有去做memory的双电源,sram当成单电源使用,不然sram无法彻底断电。

景芯SoC低功耗

案列

景芯SoC后端训练营有同学问,为啥PR花了一天一夜24个小时完成布线还大量DRC错误?小编已经将设计规模尽可能减小以加速PR设计,为何这么慢?原因就是低功耗单元的走线。请思考具体原因及解决办法,也欢迎加入景芯训练营实战。

图片

其错误主要集中在M4上,请思考如何解决。

图片

案例

景芯SoC训练营有同学问,power switch cell的secondPG pin(VDDG)从M1接出的,而不是M2, 请思考有什么问题?如何解决?

图片

“2.5GHz频率 hierarchy DVFS低功耗A72培训”

图片

一. 培训内容:

2.5GHz hierarchy DVFS低功耗 A72实战

  • 项目规模315万instance,2000万Gate count。

  • 工具有VCS/Fusion Compiler/VCLP/Redhawk/Voltus

  • 工具有innovus/Starrc/PT/formality/LEC/Calibre

  • 更详细的培训内容参见本文末尾

二. 培训形式:

  • 直播/录播+文档+上机实践,一对一答疑!真实项目flow!

  • VPN远程连接景芯服务器,随时随地、随到随学!

  • 景芯不仅提供真实项目培训,也提供设计外包、design service!

  • 支持对公,可开培训、技术服务发票


三. 课程教学时间

  • 教学时间3个月,续期直接6折。

四. 适合的对象

  • 追求业界顶尖后端项目能力的后端工程师

  • 初级、中级后端工程师的进阶

  • 前端设计/验证人员(全栈芯片工程师之路)

  • 在校研究生、本科生同学,超越同龄人的法宝

  • Layout版图工程师

  • 转行的学员朋友


五. 报名方式
关注公众号全栈芯片工程师,后台私信小编。

六. 价格

  • 原价15000元,现价6999元!

  • 转发朋友圈、IC微信群立减100元!

  • 两人以上组团报名每人减500元!

  • 报名截止时间:2024年3月31日!

 01 

2.5GHz 12nm DVFS A72后端实战

本培训项目是真实项目,低功耗hierarchy UPF设计,价格是知名机构的1/3,全网最低价。DVFS hierarchy低功耗A72后端实战内容简介如下:

1) 根据低功耗需求,编写UPF验证UPF

掌握hierarchy UPF文件编写,掌握Flatten UPF文件编写。

图片

本项目采用hierarchy UPF方式划分了7个power domain、voltage domain,指定power switch cell,其中包括SWITCH TRICKLE、SWITCH HAMMER。掌握低功耗cell的用法,选择合适的isolation cell、level shifter等低功耗cell。

图片

掌握Power gating,Clock gating设计技术。

掌握Multi-VT设计技术,本项目时钟树都是ULVT,动态功耗小,skew小。

掌握DVFS技术,ss0p9 2.5GHz、ss0p72 2.0GHz,,其中sram不支持ss0p63。要做ss0p63的话,给sram vddm单独一个0p7v的电源即可。

掌握multibit cell的用法,本项目CPU里面的mb高达95%,选择合适的multibit cell得到超高的CPU利用率。INNOVUS里面一般不做mb的merge和split。所以前后一样的,一般综合做multibit的merge split。

图片

2) 根据top floorplan def进行CPU子系统的partition以及pin assignment。

Top的Power stripe的规划及其push down。

SpecifyBlackBox,将CPU core镜像partition。

手动manual cut the BlackBox的方法,掌握复杂的floorplan设计方法经验。

VerifyPowerDomain,检查低功耗划分以及UPF的正确性。

Pin assignment,根据timing的需求进行合理的pin脚排布,并解决congestion问题。

掌握Timing budget。

掌握利用Mixplace实战CPU的自动floorplan,掌握AI的floorplan方法学。

图片

3) 掌握Fusion compiler DCG,利用fusion compiler来完成DCG综合,进一步优化timing与congestion。

4) 掌握hierarchy ICG的设计方法学,实战关键ICG的设置与否对timing的重大影响。

5) 掌握Stapling技术,实战power switch cell的布局和特殊走线的方法学,掌握CPU子系统的powerplan规划及实现,保证CPU子系统和顶层PG的alignment。

6) 掌握CPU子系统和TOP的时序接口优化。掌握TOP isolation cell的placement以及isolation cell input电学特性检查。

7) 掌握TOP和CPU子系统的clock tree Balance优化处理,common clock path处理。时钟树结构trace和时钟树评价。

8) DRC/LVS

CPU子系统的DRC/LVS检查

TOP系统的DRC/LVS检查

Hierarchy & Flatten LVS检查原理及实现方法

9) 静态时序分析&IR-Drop

图片

DMSA flow

根据Foundry的SOD(signoff doc)的Timing signoff标准建立PT环境。

Star RC寄生抽取及相关项检查

Timing exception分析,包括set_false_path、set_multicyle_path解析。

PT timing signoff的Hierarchical和Flatten Timing检查

PT和PR timing的差异分析、Dummy insertion和with dummy的Timing分析

IR-Drop分析

图片

CPU CORE的IR:

图片

Stampling打起来真是高级手工艺术,全网唯一:

图片

Flow:Partition Flow

图片

时钟结构分析:

图片

复位结构分析:

图片

12nm 2.5GHz的A72实战训练营需要特别设置Latency,TOP结构如下,参加过景芯SoC全流程训练营的同学都知道CRG部分我们会手动例化ICG来控制时钟,具体实现参见40nm景芯SoC全流程训练项目,本文介绍下12nm 2.5GHz的A72实战训练营的Latency背景,欢迎加入实战。

时钟传播延迟Latency,通常也被称为插入延迟(insertion delay)。它可以分为两个部分,时钟源插入延迟(source latency)和时钟网络延迟(Network latency)。

图片

大部分训练营同学表示平时都直接将Latency设置为0了,那latency值有什么用呢?其实这相当于一个target值,CTS的engine会根据你设置的latency值来插入buffer来实现你的latency target值。

下图分为1st Level ICG和2nd Level ICG,请问这些ICG为什么要分为两层?

请问,为什么不全部把Latency设置为0?2nd Level ICG的latency应该设置为多少呢?

图片

latency大小直接影响clock skew的计算。时钟树是以平衡为目的,假设对一个root和sink设置了400ps的latency值,那么对另外的sink而言,就算没有给定latency值,CTS为了得到较小的skew,也会将另外的sink做成400ps的latency。请问,为何要做短时钟树?因为过大的latency值会受到OCV和PVT等因素的影响较大,并有time derate的存在。

图片

分享个例子,比如,Cortex-A72低功耗设计,DBG domain的isolation为何用VDDS_maia_noncpu供电而不是TOP的VDD?

图片

答:因为dbg的上一级是noncpu,noncpu下面分成dbg和两个tbnk。

再分享个例子,比如,Cortex-A72低功耗设计,这个switch cell是双开关吗?答:不是,之所以分trickle和hammer,是为了解决hash current大电流,先开trickle,然后再开hammer。

图片

再分享个例子,比如,Cortex-A72课程的低功耗例子:请问,如果iso cell输出都要放parent,输入放self,那么下面-applies_to_outputs对应的-location为何是self?

图片

答:这个需要了解CPU的内部设计架构,tbnk掉电 VDDS_maia_noncpu也必然掉电,pst如下,所以-applies_to_outputs对应的-location是可以的,那么注意下debug domain呢?

图片

实际上,没有tbnk到debug domain的信号,因此脚本如下:

图片

再分享个例子,比如,Cortex-A72课程的低功耗例子:为何non_cpu的SRAM的VDD  VDDM都接的可关闭电源?SRAM的VDD  VDDM分别是常开和retention电源吧?

图片

答:本来是VDDM作为retention电源设计的,VDD关掉后 VDDM可以供电作为retention使用,但是此处没有去做memory的双电源,sram当成单电源使用,不然sram无法彻底断电。

再分享个例子,比如,Cortex-A72课程有学员的Cortex-A72 maia_cpu LVS通过, 但是MAIA顶层LVS比对不过,我们来定位一下。

以FE_OFN4326_cfgend_cpu1_o为例,点击下图FE_OFN4326_cfgend_cpu1_o:

图片

找到calibredrv错误坐标:(1949,139)

对应到innovus去看坐标:(1949,139)

看到maia_cpu的pin脚过于密集,造成顶层连接pin脚时候会无法绕线,从而导致innovus从maia_cpu上面走线,形成short。尽管maia_cpu带了blockage,但是invs没有足够的连接pin的routing resource,也就只能在maia_cpu上面去try了。

图片

修改办法很简单,具体操作option参见知识星球。

图片

保存db,重新LVS,比对通过。

图片

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

精品干货 | 数据中台与数据仓库建设(免费下载)

【1】关注本公众号,转发当前文章到微信朋友圈 【2】私信发送 数据中台与数据仓库建设 【3】获取本方案PDF下载链接,直接下载即可。 如需下载本方案PPT/WORD原格式,请加入微信扫描以下方案驿站知识星球,获取上万份PPT/WORD解决方…

零基础入门学习Python第二阶01生成式(推导式),数据结构

Python语言进阶 重要知识点 生成式(推导式)的用法 prices {AAPL: 191.88,GOOG: 1186.96,IBM: 149.24,ORCL: 48.44,ACN: 166.89,FB: 208.09,SYMC: 21.29}# 用股票价格大于100元的股票构造一个新的字典prices2 {key: value for key, value in prices.i…

小微公司可用的开源ERP系统

项目介绍 华夏ERP是基于SpringBoot框架和SaaS模式的企业资源规划(ERP)软件,旨在为中小企业提供开源且易用的ERP解决方案。它专注于提供进销存、财务和生产功能,涵盖了零售管理、采购管理、销售管理、仓库管理、财务管理、报表查询…

Unreal Engine插件打包技巧

打开UE工程,点击编辑,选择插件,点击"打包"按钮,选择输出目录UE4.26版本打包提示需要VS2017问题解决 1)用记事本打开文件【UE4对应版本安装目录\Epic Games\UE_4.26\Engine\Build\BatchFiles\RunUAT.bat】 2&…

单元测试配置

检查 vendor 目录下 是否有bin目录, bin目录下是否有 phpunit 文件 没有安装 composer require —dev phpunit/phpunit 确认版本是 PHPUnit 9.6.7配置IDE配置php解释器点击绿色箭头,运行测试查看效果备注: 单步调试需要安装 xdebug

5月6号作业

申请该结构体数组,容量为5,初始化5个学生的信息 使用fprintf将数组中的5个学生信息,保存到文件中去 下一次程序运行的时候,使用fscanf,将文件中的5个学生信息,写入(加载)到数组中去,并直接输出学…

Mysql索引失效情况

索引失效的情况 这是正常查询情况,满足最左前缀,先查有先度高的索引。 1. 注意这里最后一种情况,这里和上面只查询 name 小米科技 的命中情况一样。说明索引部分丢失! 2. 这里第二条sql中的,status > 1 就是范围查…

性能超越!新模型Dragoman打造高质量英译乌翻译系统,打败现有SOTA模型

DeepVisionary 每日深度学习前沿科技推送&顶会论文分享,与你一起了解前沿深度学习信息! 引言:探索乌克兰语的机器翻译挑战 在当今全球化迅速发展的背景下,机器翻译技术已成为沟通世界各地文化和语言的重要桥梁。尽管如此&…

【Axure高保真原型】动态伸缩信息架构图

今天和大家分享动态伸缩信息架构图的原型模板,我们可以通过点击加减按钮来展开或收起子内容,具体效果可以点击下方视频观看或者打开预览地址来体验 【原型效果】 【Axure高保真原型】动态伸缩信息架构图 【原型预览含下载地址】 https://axhub.im/ax9/…

Python从0到100(二十):文件读写和文件操作

一、文件的打开和关闭 有了文件系统可以非常方便的通过文件来读写数据;在Python中要实现文件操作是非常简单的。我们可以使用Python内置的open函数来打开文件,在使用open函数时,我们可以通过函数的参数指定文件名、操作模式和字符编码等信息…

关于蓝队应急响应工具箱意见征集

前言 征集一下各位师傅的意见,没用过的师傅可以去以往的文章下载使用: 下载地址(有个小小改动,去除了必要的python环境,使其占用空间更小): [护网必备]知攻善防实验室蓝队应急响应工具箱v202…

自动化运维工具---Ansible

一 Puppet Puppet是历史悠久的运维工具之一。它是一种基础架构即代码(laC)工具,使用户可以定义其基础 架构所需的状态,并使系统自动化以实现相同状态。 Puppet可监视用户的所有系统,并防止任何偏离已定义状态的情况。从简单的工作流程自动…

pytest教程-36-钩子函数-pytest_collection_start

领取资料,咨询答疑,请➕wei: June__Go 上一小节我们学习了pytest_unconfigure钩子函数的使用方法,本小节我们讲解一下pytest_collection_start钩子函数的使用方法。 pytest_collection_start(session) 是一个 pytest 钩子函数,…

YOLO-World环境搭建推理测试

一、引子 CV做了这么多年,大多是在固定的数据集上训练,微调,测试。突然想起来一句话,I have a dream!就是能不能不用再固定训练集上捣腾,也就是所谓的开放词汇目标检测(OVD)。偶尔翻…

new mars3d.control.MapSplit({实现点击卷帘两侧添加不同图层弹出不同的popup

new mars3d.control.MapSplit({实现点击卷帘两侧添加不同图层弹出不同的popup效果: 左侧: 右侧: 说明:mars3d的3.7.12以上版本才支持该效果。 示例链接: 功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技 相关代…

C++进阶:AVL树

AVL树的概念 二叉搜索树虽可以缩短查找的效率,但 如果数据有序或接近有序二叉搜索树将退化为单支树,查 找元素相当于在顺序表中搜索元素,效率低下 。因此,两位俄罗斯的数学家 G.M. A delson- V elskii 和 E.M. L andis 在 1962 …

如何确定Unity/VNXe存储的主控制器(Primary SP)

DELL EMC的Unity或者VNXe存储都是双控的架构(VNXe 1代设备有部分支持单控配置),有些的CLI检查命令是必须在primary SP,也就是主控制器上执行的,那么问题来了,如何确定两个控制器中那个是主控制器呢&#xf…

FreeRTOS资源管理

1.以前临界资源的保护方式 有使用过静态局部变量来保护临界资源,也有用队列,信号量,互斥量来保护临界资源。这些都是在多个任务会共同使用临界资源的情况下我们的保护方式。 问题提出:如果有个传感器在读取数据时有严格的时序&a…

使用idea编辑器回退git已经push的代码

直接上结果 选择想要回退的那次/多次提交历史, 右击, 选中 revert commit git自动产生一个Revert记录,然后我们会看到git自动将我第三次错误提交代码回退了,这个其实就相当于git帮我们手动回退了代码。 后续,只需要我们将本次改动push到远…

js之DOM 文档对象模型

当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model),简称 DOM。DOM 模型被结构化为对象树,又称DOM 树。 DOM 实际上是以面向对象方式描述的对象模型,它将文档建模为一个个对象&#xf…