当前位置: 首页 > news >正文

功率估计和功率降低方法指南(3~5)

3 功耗估算与探索方法学

3.1 目标概述

(Power Estimation and Exploration Methodology: Goal Overview)

SpyGlass Power 方法学为整个设计流程中的功耗估算与优化提供了强大的功能。这包括基于仿真数据或无需测试向量(vector-less)的统计近似方法进行准确的功耗估算,以及使用高级分析技术(如时序形式分析)来降低芯片整体的功耗。

此外,SpyGlass 还具备丰富的功耗探索能力(Power Exploration),支持在多个场景下对低功耗设计进行评估和优化。以下是关于功耗估算与探索的简要说明:

  • 功耗估算(Power Estimation, PE):计算设计的总功耗。
  • 功耗探索(Power Exploration, PX):以指标为导向的分析,重点关注多场景下的时钟门控效率和内存访问行为。
  • 寄存器功耗优化(Power Register Reduction, PR):降低组合逻辑、寄存器及时钟部分的功耗。
  • 内存功耗优化(Power Memory Reduction, PMR):降低设计中内存部分的功耗。

SpyGlass GuideWare 方法学中包含一系列用于功耗估算与优化的目标(goals)。要在项目文件中使用这些目标,请在配置中指定如下语句:

current_methodology $SPYGLASS_HOME/GuideWare/<GuideWare版本>/<block | soc>/<设计阶段>

要运行某一特定目标,请在项目文件中添加如下命令:

current_goal power/<目标名称>

请参考以下主题以了解更多内容:

  • 针对模块/IP 的目标(Goals for Block/IP)
  • 针对 SoC RTL 与网表的目标(Goals for SoC RTL and Netlist)
  • SpyGlass 功耗估算与探索方法学的高层次概览(High Level Overview of SpyGlass Power Estimation and Exploration Methodology)

表格中使用以下图例说明各目标的适用性:

  • M 表示该设计阶段的必选目标(Mandatory)
  • R 表示该设计阶段的推荐目标(Recommended)
  • NA 表示该目标在当前设计阶段不适用(Not Applicable)

3.2 模块/IP 层级的功耗分析目标

(Goals for Block/IP)

下表列出了在不同设计阶段可用于模块或 IP 层级的 SpyGlass Power 分析目标。每个目标都有其特定的功能,并根据设计阶段标记为必选(M)、推荐(R)、可选(O)或不适用(NA)。

目标名称功能描述initial_rtlrtl_handoffnetlist_handoff
power_audit执行审计操作,检查设计、仿真数据和工艺库之间的一致性,并列出功耗估算中使用的关键参数。RRR
power_activity_check对仿真测试平台中的信号活动进行分析,并生成随时间变化的活动图。该功能有助于确定哪些仿真以及仿真的哪些时间段对功耗估算和优化最有价值。MMM
power_gen_pesd生成用于功耗估算的“关键功耗信号”列表。OOO
power_calibration基于参考设计生成校准数据。它会生成 SGDC 文件,显示当前设计中各单元的百分比分配情况;还会从参考设计中提取时钟缓冲器信息并生成 SGDC 文件;此外,它还能基于输入设计和对应的 SPEF 文件创建高级电容模型。MMM
power_est_average计算每个模块的平均功耗估计值。MMM
power_est_profiling针对感兴趣的时间区间,计算设计中时钟、寄存器和内存的功耗、活动因子及效率信息。通过该分析可以识别低效的时钟门控逻辑、冗余的内存访问条件等功耗缺陷。MMM
power_reduction_adv寻找设计中的功耗优化机会,并报告由此带来的功耗节省。对于没有使能信号的寄存器,该目标可以找到新的使能控制逻辑;对于已有使能信号的寄存器,它可以寻找更高效的使能信号,使得时钟关闭的时间更长。OONA
power_mem_reduction在设计流程早期,利用先进技术对寄存器和存储器的功耗节省情况进行分析与报告。OO
http://www.xdnf.cn/news/914203.html

相关文章:

  • 光耦合器:隐形守护者,拓展无限应用
  • Python内置函数ord()详解
  • 为什么要对邮件列表清洗?
  • 美国大休斯顿都会区电网数据
  • 云服务器中容灾模式的主要用途都有哪些?
  • PDF文件如何转换格式?简单教程来了
  • SAP ABAP LOOP GROUP BY 分组循环的使用方法
  • 独家首发!低照度环境下YOLOv8的增强方案——从理论到TensorRT部署
  • 概念理解篇:线程同步之【互斥】
  • PyQt6 GUI应用程序开发实操指南
  • 布林波动率策略
  • 算法学习之——LRU最近最少使用
  • 告别数据泥沼,拥抱智能中枢:King’s四位一体重塑科研生产力
  • 负载均衡器 LB》》
  • ABB输入/输出系统- S800输入/输出AI830A
  • 场景题-3
  • 【Linux】sed 命令详解及使用样例:流式文本编辑器
  • 【网页端数字人开发】基于模型SAiD实现嘴型同步
  • 三模冗余设计
  • 书籍推荐 --- 《筚路维艰:中国经济社会主义路径的五次选择》
  • 瑞它鲁肽 Retatrutide
  • Delphi 实现远程连接 Access 数据库的指南
  • 为什么HDI叠孔比错孔设计难生产
  • 调试时两个can盒子互连实现在一台电脑上自发自收的接线
  • Pytorch安装后 如何快速查看经典的网络模型.py文件(例如Alexnet,VGG)(已解决)
  • WiFi通信应用开发【保姆级】+配置ESP8266芯片的WiFi station和soft-AP + station工作模式!!!
  • 算力时代的四大引擎:CPU、GPU、NPU、DPU 深度解析
  • Vue3 + threeJs 定义六种banner轮播图切换动画效果:百叶窗、手风琴、拼图、渐变、菱形波次、圆形扩展
  • 如何利用 Redis 实现跨多个无状态服务实例的会话共享?
  • 讲解:Java I/O 流体系,并举例每个类的使用