芯片低功耗VCLP

​VCLP(VC Low Power)是Synopsys提供的一款低功耗静态规则检查工具,它能够帮助验证和清洁IEEE 1801 Unified Power Format (UPF)低功耗设计意图,并确保UPF中的功耗意图与实现一致。VCLP通过执行语法和语义检查,有助于在实现之前验证UPF的一致性。错误的功耗意图可能导致错误的低功耗实现,因此使用VCLP进行验证是确保设计质量的重要步骤。

下面小编简单介绍下UPF定义及景芯A72项目编写VCLP脚本的步骤,具体脚本flow参见景芯A72服务器脚本:

(一)定义功耗域(Power Domains)

   使用create_power_domain命令创建功耗域,并使用-include_scope参数包含需要的scope。

   create_power_domain PD_maia_cpu –include_scope .

(二)创建供电网络(Supply Port/Nets)

   使用create_supply_port/create_supply_net命令创建供电网络,并使用-domain参数指定所属的功耗域。

   create_supply_net VDDS_maia_cpu –domain PD_maia_cpu 

(三)连接供电端口(Connect Supply Ports)

   使用connect_supply_net命令将供电网络连接到端口。

   connect_supply_net VDDS_maia_cpu –ports {VDDS_maia_cpu }

(四)设置电源开关(Power Switches)

   使用create_power_switch命令创建电源开关,并指定所属的功耗域。

(五)设置保留策略(Retention Strategies)

   使用set_retention命令设置保留策略,包括保留电源网络和控制信号。

set_retention my_retention_strategy –domain PD_maia_cpu –retention_power_net VDD

(六)设置隔离(Isolation)

   使用set_isolation命令设置隔离策略,包括隔离电源网络和控制信号

set_isolation my_isolation –domain PD_maia_cpu –isolation_power_net VDD

(七)设置电平转换器(Level Shifters)

   使用set_level_shifter命令设置电平转换器策略。

set_level_shifter my_level_shifter_strategy –domain PD_maia_cpu –applies_to outputs –location parent

(八)执行UPF检查(UPF Checks)

   使用check_lp命令执行UPF检查,并指定检查的阶段。

   check_lp –stage upf

(九)报告UPF问题

   使用report_lp命令生成UPF问题的报告。

   report_lp

比如下面这个问题,景芯A72的同学们必须debug清楚哈,不然打板子!教程写了如何debug。

上述步骤小编只是很简单介绍了下UPF、VCLP的基本框架,具体的命令和参数可以参考景芯A72实战项目。编写VCLP脚本时,需要仔细阅读UPF的规范和VCLP的用户指南,确保所有的设置都符合设计意图。此外,对于复杂的设计,可能还需要编写更高级的脚本来处理特殊情况,如特殊的低功耗选项或debug过程中的特定命令。

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

​编辑

一. 培训内容:

2.5GHz hierarchy DVFS低功耗 A72实战

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

  • 工具有VCS/Fusion Compiler/VCLP

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

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

二. 培训形式:

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

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

  • 景芯合伙人教师皆为10年以上资深大佬!

  • 景芯合伙人不仅提供真实项目培训,也提供设计外包、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分析

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,比对通过。

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

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

相关文章

【重装系统】分配D盘

1.右键“此电脑”,点击管理 2.选择“存储”–磁盘管理 3.右键未分配磁盘–新建简单卷 4.一路默认设置即可

企业网站建设需要了解什么

在现代商业环境中,企业网站已经成为企业宣传、推广和销售的重要工具。企业网站的建设需要考虑多个因素,包括以下几个方面: 首先,了解企业的目标和定位。企业网站的建设应该围绕企业的目标和定位展开,以达到企业在市场中…

偏微分方程算法之混合边界差分

目录 一、研究对象 二、差分格式 2.1 向前欧拉格式 1. 中心差商 1.1.1 理论推导 1.1.2 算例实现 2. x0处向前差商,x1处向后差商 1.2.1 理论推导 1.2.2 算例实现 2.2 Crank-Nicolson格式 2.2.1 理论推导 2.2.2 算例实现 一、研究对象 这里我们以混合边界…

Linux_iptables防火墙学习笔记

文章目录 iptables 概述四表五链iptables 安装启动iptables 配置详解iptables配置文件iptables配置语法iptables常用实例查看规则修改默认规则保存和备份规则恢复备份的规则清空规则放行SSH服务在ubuntu14.04中iptables规则持久化 iptables 概述 主机型 对主机进行保护 网络型…

智慧公厕系统厂家,打造创新性智慧公厕的窍门

智慧公厕系统是利用物联网、大数据、云计算、网络通信、自动化控制等技术,监测公厕内部多个方面的变化,从而实现公厕的智能化管理。通过智慧公厕云管理平台,可以实现厕位空余智能引导、环境监测、资源消耗监测、安全防范管理等多种功能&#…

刷代码随想录有感(33):滑动窗口滑行途中框内最大值

又是需要死记硬背理解的题目。 题干如下: 代码&#xff1a; class Solution { private:class MyQueue{deque<int> que;public:void pop(int value){if(!que.empty() && value que.front()){que.pop_front();}}void push(int value){while(!que.empty() &&…

CRMEB多商户商城系统,不止B2B2C

CRMEB多商户商城系统&#xff0c;是将多个商家汇聚到一个平台上开店&#xff0c;就像常见的京东、淘宝等。这个平台上一般包含4种不同角色&#xff0c;即平台运营管理方、入驻商家、供应商、消费者。 因为平台角色的多元化&#xff0c;多商户商城系统也具有联营、自营、招商、…

没想到打脸这么快,AI程序员已经出发了!

大家好啊&#xff0c;我是豆小匠。 先介绍一下本期的主角&#xff1a;Devin&#xff0c;世界上第一位AI程序员&#xff0c;由2023年11月成立的10人初创公司Cognition AI开发。 1. AI程序员已经能做到什么程度 3月13日&#xff0c;Cognition AI公司在X平台&#xff08;原推特&…

完整 ascii 码:eascii

完整 ascii 码 0-31 &#xff1a;不可打印字符32-127&#xff1a; 可打印字符128-255&#xff1a;扩展字符 ASCII&#xff08;American Standard Code for Information Interchange&#xff0c;美国信息交换标准代码&#xff09;是基于拉丁字母的一套电脑字符编码标准&#xff…

基于SSM大健康老年公寓管理系统设计与实现【Java毕业设计·安装调试·代码讲解·文档报告】

&#x1f34a;作者&#xff1a;北友舰长 &#x1f34a;简介&#xff1a;从事毕业论文代写&#xff0c;计算机毕业设计定制&#xff0c;Java程序开发&#xff0c;可定制化项目、 项目源码、代码讲解、文档撰写、ppt制作等等 &#x1f345; 文末获取源码联系 &#x1f447;&#…

打造属于你的体育直播平台:使用东莞梦幻网络源码缺点和优点

随着互联网的快速发展&#xff0c;体育直播平台已经成为了人们获取体育赛事信息和互动交流的重要渠道。为了快速搭建这样一个平台&#xff0c;许多企业和个人选择使用现成的源码&#xff0c;其中东莞梦幻网络科技提供的体育直播源码备受关注。然而&#xff0c;在选择使用该源码…

智慧公厕的“智慧”

现代社会快节奏的生活方式&#xff0c;使得公共厕所成为城市中不可或缺的基础设施。如何提供一个舒适、整洁、安全、便捷的公共卫生空间&#xff0c;成为城市管理者面临的重要问题。而智慧公厕的出现&#xff0c;为解决这一问题带来了新的解决方案。 智慧公厕以其先进的技术和…

Pytest精通指南(14)Parametrize之indirect(间接参数)

文章目录 官方概念概念分析官方示例示例分析验证indirect为True但不指定fixture验证indirect为True但不存在fixture 官方概念 概念分析 在pytest的pytest.mark.parametrize装饰器中&#xff0c;indirect参数用于指示是否应该从fixtures中解析参数值&#xff0c;而不是直接使用提…

react17 + antd4 如何实现Card组件与左侧内容对齐并撑满高度

在使用antd进行页面布局时&#xff0c;经常会遇到需要将内容区域进行左右分栏&#xff0c;并在右侧区域内放置一个或多个Card组件的情况。然而&#xff0c;有时我们会发现右侧的Card组件并不能与左侧的栏目对齐&#xff0c;尤其是当左侧栏目高度动态变化时。本文将介绍如何使用…

LeetCode-924. 尽量减少恶意软件的传播【深度优先搜索 广度优先搜索 并查集 图 哈希表】

LeetCode-924. 尽量减少恶意软件的传播【深度优先搜索 广度优先搜索 并查集 图 哈希表】 题目描述&#xff1a;解题思路一&#xff1a;解题思路二&#xff1a;0解题思路三&#xff1a;0 题目描述&#xff1a; 给出了一个由 n 个节点组成的网络&#xff0c;用 n n 个邻接矩阵图…

IDEA 本地库引入了依赖但编译时找不到

在使用 IDEA 开发 Maven 项目的过程中&#xff0c;有时会遇到本地库引入了依赖&#xff0c;但编译时报找不到这个依赖&#xff0c;可以使用命令处理。 打开 Terminal。 执行清理命令。 mvn clean install -Dmaven.test.skiptrue执行更新命令。 mvn -U idea:idea

比肩世界一流的车企,长安汽车的这些做法也太超前了!

2023年12月&#xff0c;法大大发布了中国首部《汽车行业合同数智化白皮书》&#xff08;点击阅读及下载&#xff1a;中国首部&#xff01;《汽车行业合同数智化白皮书》重磅发布 | 附下载&#xff09;。该白皮书基于法大大自身参与汽车行业合同数智化建设的实践和思考&#xff…

volatile

volatile&#xff1a; 用来声明变量的关键字之一&#xff0c;它的主要作用是确保多个线程能够正确地处理共享变量。在多线程编程中&#xff0c;如果一个变量被多个线程共享并且这些线程可能同时修改该变量的值&#xff0c;那么就需要使用 volatile 关键字来保证线程之间对该变量…

算法打卡day35

今日任务&#xff1a; 1&#xff09;343. 整数拆分 2&#xff09;96.不同的二叉搜索树 3&#xff09;复习day11 343. 整数拆分 题目链接&#xff1a;343. 整数拆分 - 力扣&#xff08;LeetCode&#xff09; 给定一个正整数 n&#xff0c;将其拆分为至少两个正整数的和&#xf…

【kafka】安装

也是第二次安装&#xff0c;蛮记录一下 1.安装kafka之前需要先完成zookeeper的安装 【zookeeper】安装 2. Apache Kafka官网下载 3. 解压完成后修改server.properties配置文件 修改日志文件存放路径 查看与zookeeper连接的端口是否和zookeeper服务所在的端口一致 &#xf…