【低功耗设计】功耗模型和PTPX功耗分析流程

news2024/10/10 6:13:17

本文目录

  • 功耗的构成
    • 1.静态功耗
    • 2.动态功耗
      • 1)内部功耗(internal power)
      • 2)翻转功耗(switch power)
  • 功耗的分析
    • 功耗分析流程
    • averaged power analysis
    • time-based power analysis

从芯片设计到芯片量产的过程中功耗分析是必不可少的环节。在流片前进行功耗分析可以大致估计芯片在各应用场景中的功耗,可以提前做好功耗的优化,达到我们的预期功耗目标。回片后的功耗测量则是实际的芯片功耗,与预估功耗会有一定的差别。

虽然流片前的功耗分析与实际有差异,但是依然十分重要。通过流片前功耗分析,有助于我们提前做好芯片的优化,避免无效投入和资源消耗。而且流片前的功耗分析还能检查出芯片在不同的工作模式下或者工作场景下是否存在不必要的功耗,比如时钟该关的模块是否关闭,不该工作的模块是否没有工作,可以做到芯片设计的合理性检查。

功耗的构成

1.静态功耗

主要指漏电流功耗(leakage power),指电路处于不翻转状态时所产生的泄露功耗。和本身工艺库特性有关,有标准单元库的.db提供相关数据。
静态功耗计算公式:
在这里插入图片描述
其中漏电流(在这里插入图片描述)主要包括以下几部分:
1)亚阈值导通电流:当栅极电压低于晶体管的阈值电压时,导通沟道并不能完全关闭,有少量漏-源电流;
2)栅氧化层隧穿电流:随着cmos的工艺越来越小,栅极的氧化层越来越薄,栅极积累的电荷会隧穿栅氧化层进入衬底,形成栅氧化层隧穿电流;
3)PN结反偏电流:扩散层和衬底层的PN结反偏产生的电流。

2.动态功耗

主要是由于芯片中RC电路的充放电引起的。换言之,当芯片中电路出现任何信号翻转,都会产生dynamic power。
包含两部分:内部功耗(internal power) + 翻转功耗(switch power)。

1)内部功耗(internal power)

内部指的是cell内部,包括短路功耗和cell内部的开关功耗。cell内部的开关功耗是在pmos或nmos单独导通时,对管子的寄生电容进行充放电所产生的功耗;短路功耗是在输入信号进行翻转时,信号的翻转不可能瞬时完成,因此pmos和nmos总有一段时间处于同时导通状态,那么电源Vdd到地Vss之间就形成了通路,产生了短路电流,出现短路功耗。
在这里插入图片描述

内部功耗可以根据library中cell的internal_power进行查表与duty和toggle rate进行计算

2)翻转功耗(switch power)

称为开关功耗,在cmos电路中,对负载电容进行充放电时所消耗的功耗(不限于cell内),其大小与单元类型无关,只与输出电容负载,开关频率和供电电压大小有关
在这里插入图片描述

当Vin = 0时,上面的PMOS导通,下面的NMOS截止;VDD对负载电容CL进行充电,充电完成后,Vout的电平为高电平。
当Vin = 1时,上面的PMOS截止,下面的NMOS导通,负载电容通过NMOS进行放电,放电完成后,Vout的电平为低电平。
这样一开一闭的变化,电源的充放电,就形成了开关功耗。
翻转功耗计算公式:Pswitch = Vdd2 CL Tr
(Tr为输入信号的翻转率,是通过前端设计给的vcd波形文件,选定一段时间,得出平均翻转率)

总结
在这里插入图片描述

功耗的分析

本文采用synopsys的设计流程,对数字电路进行功耗分析,使用的功耗分析工具是Primetime PX,它是集成在PrimeTime中的工具,可以对逻辑综合后的全芯片进行静态和动态功耗分析和预估。

功耗分析流程

在这里插入图片描述

1.使能功耗分析
set power_enable_analysis true

2.执行vector分析
因为动态功耗的分析,与仿真激励有关,VCD(Value Change Dump,一种常见的仿真波形文件格式,用于记录电路仿真过程中各个信号的变化)的activity活跃度越高,功耗就越高。吃格式vcd或fsdb的文件,主要是为了分析仿真激励的activity活跃度。

3.吃design
①支持verilog,vhdl格式的网表;db,ddc,Milkyway格式的网表也可以;
②logic库,必须是.db格式;
③集成参数信息,应该在Milkyway格式文件中;
④sdc文件,主要为了计算平均功耗

4.设置变量
①设置工艺和pvt信息
②设置功耗相关的lookup查找表
③设置寄生电容参数

5.Timing分析
执行命令update_timing

6.检查潜在的功耗计算问题
check_power

7.选择功耗分析模式
set_app_var power_analysis_mode average | time_based

8.指定switching activity data
主要有set_switching_activity,set_case_analysis。

9.指定功耗分析选项
read_vcd -time(time window)/-when(Boolean condition)。如果vcd等波形从RTL中得到,还需要一个mapping文件来进行波形与netlist之间匹配。

10.执行功耗分析
update power开始进行power analysis的分析

11.输出功耗分析报告

使用PTPX可以分析的功耗方式:

averaged power analysis

基于翻转率toggle rate来分析的。翻转率的标注,可以是默认翻转率、用户定义switching activity、SAIF文件或者VCD文件。功耗结果期望准确的话,首先要保证翻转率的标注要准确。这意味着需要后端布局布线、时钟树等已经完全稳定了。前期做功耗分析,可能只是一个评估作用。
所需文件:

  1. logic库文件,必须是.db格式;
  2. 网表文件,支持verilog、vhdl网表,db、ddc、Milkyway格式的网表也可以;
  3. sdc文件,为了计算平均功耗;
  4. parasitic文件,该文件包含电容寄生参数信息。
  5. VCD/saif文件,记录翻转率(若没有,需要人为设置翻转率)。

time-based power analysis

基于时间的功耗分析,通过event-drived算法来统计功耗。主要用在项目signoff时候,加入IR-drop的分析。
在time-based power analysis模式下,需要提供VCD或FSDB文件,工具会分析峰值功耗并生成功耗波形等,不支持SAIF格式。在此模式下会显示每一个时刻对应的瞬时功耗,并报告出peak power信息

功耗报告
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

论文导读 | Manufacturing Service Operations Management近期文章精选

编者按 在本系列文章中,我们梳理了顶刊Manufacturing & Service Operations Management5月份发布有关OR/OM以及相关应用的文章之基本信息,旨在帮助读者快速洞察行业/学界最新动态。 推荐文章1 ● 题目:Robust Drone Delivery with Weath…

Web渗透:php反序列化漏洞

反序列化漏洞(Deserialization Vulnerability)是一种在应用程序处理数据的过程中,因不安全的反序列化操作引发的安全漏洞;反序列化是指将序列化的数据(通常是字节流或字符串)转换回对象的过程,如…

YOLOv10使用教程及导读

首先推荐一下我的YOLOv8/v10项目,仅需一个v8的钱(69.9),付费进群,即可获取v8/v10的全部改进,欢迎进群。 1 YOLOv10简介 论文链接:https://arxiv.org/pdf/2405.14458 官方代码链接:ht…

springboot集成达梦数据库,打包后,tomcat中启动报错

背景&#xff1a;springboot集成达梦数据库8&#xff0c;在工具idea中正常使用&#xff0c;但是打包后&#xff0c;无法启动&#xff0c;报错 pom引入的依赖 但是这种情况&#xff0c;只有在idea中启动没问题的解决方法 需要修改引入的依赖&#xff0c;再次打包就可以 <d…

数据库课程知识点总结

数据库概述 数据库基本特点&#xff1a;数据结构化&#xff0c;数据独立性&#xff0c;数据冗余小&#xff0c;易扩充&#xff0c;统一管理和控制&#xff0c;永久存储&#xff0c;有组织&#xff0c;可共享 三级模式 模式&#xff1a;一个数据库只有一个模式&#xff0c;是对…

【从0实现React18】 (六) 完成commit提交流程并初步实现react-dom包,完成首屏渲染测试

前面&#xff0c;我们提到 React 更新流程有四个阶段&#xff1a; 触发更新&#xff08;Update Trigger&#xff09;调度阶段&#xff08;Schedule Phase&#xff09;协调阶段&#xff08;Reconciliation Phase&#xff09;提交阶段&#xff08;Commit Phase&#xff09; 之前…

IEEE JSTSP综述:从信号处理领域分析视触觉传感器的研究

触觉传感器是机器人系统的重要组成部分&#xff0c;虽然与视觉相比触觉具有较小的感知面积&#xff0c;但却可以提供机器人与物体交互过程中更加真实的物理信息。 视觉触觉传感是一种分辨率高、成本低的触觉感知技术&#xff0c;被广泛应用于分类、抓取、操作等领域中。近期&a…

JavaWeb——MySQL:DDL

目录 3.DQL&#xff1a;查询 3.5 分页查询 ​编辑 总结&#xff1a; 3. DQL&#xff1a;查询 查询是使用最多、最频繁的操作&#xff0c;因为前面的修改以及删除&#xff0c;一般会交给数据库专业的人员&#xff0c;对于非数据库专业人员来说&#xff0c;老板一般会放心的…

vue3使用v-html实现文本关键词变色

首先看应用场景 这有一段文本内容&#xff0c;是项目的简介&#xff0c;想要实现将文本中的关键词进行变色处理 有如下关键词 实现思路 遍历文本内容&#xff0c;找到关键词&#xff0c;并使用某种方法更改其字体样式。经过搜寻资料决定采用v-html实现&#xff0c;但是v-h…

数据库管理-第210期 HaloDB-Oracle兼容性测试02(20240622)

数据库管理210期 2024-06-22 数据库管理-第210期 HaloDB-Oracle兼容性测试02&#xff08;20240622&#xff09;1 表增加列2 约束3 自增列4 虚拟列5 表注释6 truncat表总结 数据库管理-第210期 HaloDB-Oracle兼容性测试02&#xff08;20240622&#xff09; 作者&#xff1a;胖头…

一些css记录

background-blend-mode 定义了背景层的混合模式&#xff08;图片与颜色&#xff09;。菜鸟教程地址 例如&#xff1a; filter 滤镜 background-clip 背景颜色出现位置&#xff0c;是否包含边框 border-box | padding-box | content-box 有点像盒子模型 border-image-sou…

【Linux】使用ntp同步时间

ntp介绍 NTP&#xff08;Network Time Protocol&#xff0c;网络时间协议&#xff09;是一种用于同步计算机时间的协议&#xff0c;工作在UDP的123端口上。它是一种客户端-服务器协议&#xff0c;用于同步计算机的时钟。通过连接到网络上的时间服务器&#xff0c;计算机可以获…

记因hive配置文件参数运用不当导致 sqoop MySQL导入数据到hive 失败的案例

sqoop MySQL导入数据到hive报错 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Hive exited with status 64 报错解释&#xff1a; 这个错误表明Sqoop在尝试导入数据到Hive时遇到了问题&#xff0c;导致Hive进程异常退出。状态码…

【数据结构】--顺序表

&#x1f47b;个人主页: 起名字真南 &#x1f47e;个人专栏: [数据结构初阶] [C语言] 目录 1 线性表2 顺序表2.1 概念和结构2.2 顺序表的实现2.2.1 头文件的定义2.2.2 初始化2.2.3 检查空间大小2.2.4 尾插2.2.5 打印2.2.6 头插2.2.7 查找指定数据2.2.8 头删2.2.9 尾删 2倍 1 线…

浏览器扩展V3开发系列之 chrome.contextMenus 右键菜单的用法和案例

【作者主页】&#xff1a;小鱼神1024 【擅长领域】&#xff1a;JS逆向、小程序逆向、AST还原、验证码突防、Python开发、浏览器插件开发、React前端开发、NestJS后端开发等等 chrome.contextMenus 允许开发者向浏览器的右键菜单添加自定义项。 在使用 chrome.contextMenus 之前…

基于 Redis 实现秒杀资格判断,提升并发性能

在互联网电商平台上&#xff0c;秒杀活动往往会吸引大量用户同时抢购&#xff0c;如何高效地处理高并发请求&#xff0c;保证用户体验&#xff0c;是一个重要的技术挑战。本文将介绍如何基于 Redis 实现秒杀资格的判断&#xff0c;提高并发性能。 基本思路 秒杀活动的核心流程…

SpringBoot整合MongoDB JPA使用

一、整合MongoDB SpringDataMongoDB是 SpringData家族成员之一&#xff0c;MongoDB的持久层框架&#xff0c;底层封装了 mongodb-driver。mongodb-driver 是 MongoDB官方推出的 Java连接 MongoDB的驱动包&#xff0c;相当于JDBC驱动。 SpringBoot整合 MongoDB&#xff0c;引入…

MySQL数据库—MHA高可用配置及故障切换

目录 一、MHA概述 1.什么是 MHA 2.MHA 的组成 &#xff08;1&#xff09;MHA Node&#xff08;数据节点&#xff09; &#xff08;2&#xff09;MHA Manager&#xff08;管理节点&#xff09; (3)MHA 的特点 二、MHA的一主两从部署 实验设计 实验具体操作 1.配置主…

一次breach1靶机的渗透测试

1.端口扫描和信息收集 2.CMS后台信息收集 3.解密HTTPS流量 4.tomcat的后台利用 5.提权 1.端口扫描和信息收集&#xff1a; 首先进行主机发现&#xff0c;找到目标机器&#xff1a; nmap -sP 192.168.110.1/24 找到目标机器&#xff0c;进行端口扫描&#xff1a; nmap -T4 …