• introduction

    • 用PTPX的好处?作为前端设计人员来说,个人理解:
    • averaged power analysis
    • time-based power analysis
    • power modeling overview
      • 静态漏电流功耗

        • 本征漏电流功耗
        • gate漏电流功耗
      • 动态功耗
        • 内部功耗
        • switching开关功耗
    • 设置power derating factor
    • 生成power models
  • PTPX power analysis flow
    • 1. 使能power分析
    • 2. 执行vector分析
    • 3. 吃design
    • 4. 设置变量
    • timing分析
    • 检查功耗分析的潜在error
    • 选择功耗分析模式
  • 平均功耗的分析
  • time-based功耗分析
  • multivoltage功耗分析
  • 时钟网络的功耗分析
  • 报告report命令
  • 功耗的图形界面
  • toggle-rate和switching activity区别?
  • 参考文档

很多地方,是个人理解。也许有误差。看到勿怪。
功耗分析,用ptpx;
功耗优化,除了设计者从功能结构角度去修改设计外;也可以利用DC power compiler工具去优化功耗(优化策略:包括门控时钟之类的)。详情见:
DC PowerCompiler 功耗相关的综合 userguide阅读笔记
http://blog.csdn.net/u011729865/article/details/54378379

introduction

PTPX,是基于primetime环境(简称pt),对全芯片进行power静态和动态功耗分析的工具。包括门级的平均功耗和峰值功耗。
可以说PTPX就是pt工具的一个附加工具。个人补充理解:能与pt时序分析脚本运行环境放在一起,可以计算出平均功耗和time-based功耗。

用PTPX的好处?作为前端设计人员来说,个人理解:

  1. RTL/pregsim/postgsim三个步骤环节,RTL不支持ptpx功耗分析,netlist才可以采用ptpx分析功耗。
  2. 通过功耗的统计数据,可以在设计环节就可以发现功耗的问题,比如某些模块功耗太大;由于数据报告了所有层次结构下的功耗信息,所以很容易找到功耗关键的点。
  3. 平均功耗分析,可以找到当前设计的关键功耗点。
  4. time-based功耗分析,可以找到瞬态功耗与仿真激励的关系。可以确认峰值功耗是否符合预期要求。

averaged power analysis

简单的说,就是平均功耗。

time-based power analysis

简单的说,基于时间的功耗分析。所以该分析下,会产生每一个时刻的功耗统计,包括平均功耗、峰值功耗等。
经过ptpx实践,个人理解:
1. 平均功耗,对应的是一个报告。
2. time-based功耗分析,对应的是一个波形,显示每一时刻对应的瞬时功耗。而且报告会额外给出peak-power(包括peak-time时刻)的信息。

ptpx支持下述方式:

  • vector-based/vector-free(基于vcd/不用vcd。)
  • peak-power和average-power
  • RTL/gate-level
  • VCD/FSDB/SAIF
  • multivoltage和powerDomain

power modeling overview


图中:
1. lib表示单元库的.lib文件,.lib不仅仅有时序信息,还有area、power信息。
2. vcd指用户通过仿真得到波形文件,里面记载着待分析模块的所有端口和内部线网的跳变信息。从而确定待分析模块的switching功耗。

功耗分类:
- Leakage Power
Leakage Power由标准单元库的cell .db提供相关数据。
- Dynamic Power(包括internal和switching power)
internal power由标准单元库的cell .db提供相关数据,但与激励有关系。
switching power由电压、网表电容、线开关计算得出(我觉得net不能仅仅说是线,而应该是管子源漏栅的连线。电容是管子和线的寄生电容)。与激励有关系。


PS: 静态漏电流功耗和动态功耗的计算结果,用于peak power和average power的分析。

.db文件的power model包括:
- NLPM(nonlinear power model)
- CCS(composite current source)—推荐模型,相对NLPM,更先进更精确。

静态漏电流功耗

静态漏电流功耗,是指cell不发生switching开关切换的时候,去计算得出。ptpx,完全使用单元库(.db文件)的漏电流功耗查找表得出结果。

静态漏电流功耗 = 本征intrisic漏电流功耗 + 栅极gate漏电流功耗

本征漏电流功耗

主要是源漏之间的电流引起。原因是深亚微米工艺下,阈值电压越来越低导致管子无法完全关闭,使得源漏之间发生导通。
本征漏电流功耗,主要跟电压、管子state有关。

gate漏电流功耗

源到栅、栅到漏之间的电流引起。
gate漏电流功耗,主要跟电源电压、栅极氧化层厚度有关。跟温度关系很小。

动态功耗

动态功耗与电路的激励有关。
它又分为内部功耗和开关功耗两部分。

内部功耗

内部的概念,是指cell以内。
包括充放电导致的功耗和短路功耗。
充放电的意思是,管子的寄生电容,导致充放电。
短路功耗的意思是,栅极在切换的时候,使得P管、N管同时导通,从而引起电源到地的通路。

简单的库单元,动态功耗主要来自短路功耗。
复杂的库单元,动态功耗主要来自充放电。

switching开关功耗

负载电容的充放电过程,导致。具体原因:
1. P管导通,负载电容充电;
2. 因为管子输入端口switching,N管导通,负载电容开始放电。
3. 正是由于上述充放电,导致产生了switching开关功耗。
与内部功耗的子类—充放电功耗,区别是范围不限于cell内部。

设置power derating factor

就是一个人为工程经验的比例因子。默认是1.0。
注意:这个power是电源的意思,不是功耗。是电源因为环境不一样,导致的误差。纯属个人理解,未确认。

生成power models

生成power models之前,要执行时序分析和功耗分析。
在此基础上,利用extract_model -power命令去产生包含时序和功耗数据的power models。

PTPX power analysis flow

1. 使能power分析

set power_enable_analysis true

2. 执行vector分析

因为动态功耗的分析,与仿真激励的vcd文件有很大关系。vcd的activity活跃度越高,功耗越高。为了评估仿真激励vcd文件的activity活跃度,可以用下述命令:

write_activity_waveforms有参数的。具体使用办法查看man

吃格式vcd或者fsdb的波形文件,并对该波形文件分析activity活跃度。这个是为了在power分析之前,查看仿真激励的活跃度的。这一步骤,对功耗分析来说,不是必要的。

3. 吃design

  1. 支持verilog、vhdl网表;db、ddc、Milkyway格式的网表也可以。
  2. logic库,必须是.db格式。
  3. 寄生参数信息,应该在Milkyway格式的文件里。
  4. 为了计算平均功耗,需要吃sdc文件

PTPX,支持CCS和NLPM的功耗model。如果design数据里,存在两种的话,可以设置 power_model_preference,以决定选择NLPM还是CCS;默认是nlpm。【个人补充理解:CCS比NLPM模型,更先进;与hspice仿真差别只有2%。推荐用CCS。】

4. 设置变量

  1. set_operating_conditions ;设置工艺及PVT信息。
  2. power_limit_extrapolation_range ; 功耗相关的lookup查找表,有范围。默认功耗分析不限制这个范围。但是如果有很多high-fanout的nets,比如clocks和reset nets;那就得限制范围,从而得到较为准确的功耗数据。
  3. power_use_ccsp_pin_capacitance ;深亚微米,低电压的工艺下;建议设置为true,默认是false。是计算寄生电容参数的。与Miller效应有关(即包含栅到源,栅到漏的电容)。

timing分析

执行命令update_timing

检查功耗分析的潜在error

check_power

选择功耗分析模式

set_app_var power_analysis_mode averaged | time_based

默认是averaged功耗分析。

平均功耗的分析

平均功耗,是基于翻转率toggle rate来分析的。
翻转率的标注,可以是默认翻转率、用户定义switching activity、SAIF文件或者VCD文件。

功耗结果期望准确的话,首先要保证翻转率的标注要准确。这意味着需要后端布局布线、时钟树等已经完全稳定了。前期做功耗分析,可能只是一个评估作用吧。

工具支持基于仿真的switching activity文件类型,包括:
- VCD
- FSDB
- VPD
- SAIF
如果没有上述文件,那可以使用user-define switching activity commands,来提供一个现实的activity去精确power结果。

time-based功耗分析

与平均功耗类似,只需要设置参数:

set_app_var power_analysis_mode time_based

multivoltage功耗分析

时钟网络的功耗分析

multivoltage功耗分析和时钟网络的功耗分析,对前端设计人员来说,没太大必要。对后端设计人员来说,应该很重要。
因为前端关心的是数字逻辑功能部分的功耗;时钟网络是后端布局布线才能确认的。

报告report命令

report_power
report_power_calculation

另外,它们有很多命令参数,可以实现各种定制报告。

功耗的图形界面

利用PrimeTime的图形界面,去查看功耗的数据报告(包含柱状图等),相对文本报告,显得更直观正式。

toggle-rate和switching activity区别?

keyword description
switching activity 开关活跃度,就是管子的开关,导致的switching功耗
toggle-rate 信号翻转率。

翻转率和switching有什么区别?
个人理解,翻转率对应的是信号变化;开关活跃度对应的是管子开关变化。信号变化,不一定会引起管子开关切换的变化。

参考文档

ps: 一切以primetime的官方userguide—-ptpx.pdf文档为准。

  1. PrimeTime-PX功耗分析总结紫光新浪博客
    http://blog.sina.com.cn/s/blog_cdd8559a0102uycf.html
  2. IC设计中的功耗分析的流程 - mikiah的专栏 - 博客频道 - CSDN.NET
    http://blog.csdn.net/mikiah/article/details/8061532
  3. PrimeTime-PX的userguide,名字是ptpx.pdf

PrimeTime PX(Power Analysis) userguide阅读笔记相关推荐

  1. DC PowerCompiler 功耗相关的综合 userguide阅读笔记

    Power Compiler介绍 power compiler Methodology power library models 了解一下功耗相关的综合. 功耗分析,用ptpx: 功耗优化,除了设计者 ...

  2. PrimeTime PX Tool 测功耗学习笔记(一)

    The PrimeTime PX tool provides vector-free and vector-based peak power and average  power analysis. ...

  3. Cadence Genus userguide阅读笔记

    preface introduction information_level design hierarchy object和attribute 最开始的时候往往会遇到很多error 设置某种mess ...

  4. 《GRACE: Gradient Harmonized and Cascaded Labeling for Aspect-based Sentiment Analysis》阅读笔记

    GRACE 论文题目: <GRACE: Gradient Harmonized and Cascaded Labeling for Aspect-based Sentiment Analysis ...

  5. Beta Distribution Guided Aspect-aware Graph for Aspect Category Sentiment Analysis论文阅读笔记(EMNLP2021)

    目录 标题翻译:基于Beta分布引导方面感知图的方面类别情感分析 原文链接:https://aclanthology.org/2021.emnlp-main.19.pdf 摘要: 1 引言 2 相关工 ...

  6. Discrete Opinion Tree Induction for Aspect-based Sentiment Analysis论文阅读笔记(ACL2022)

    目录 标题翻译:基于方面情感分析的离散意见树归纳 论文链接:https://aclanthology.org/2022.acl-long.145.pdf 摘要 1 引言 2 模型 2.1 基于意见树的 ...

  7. PrimeTime PX Tool 测功耗学习笔记(二)

    测功耗流程 所需文件: 逻辑综合后的Verilog文件  (dc综合之后的网表文件.vg) 静态时序分析时用到的约束文件( .sdc ) RTL的仿真波形文件(.vcd) 有功耗信息的库文件(.db) ...

  8. 【阅读笔记】ACL-2020《KinGDOM:Knowledge-Guided DOMain Adaptation for Sentiment Analysis》

    Motivation:​​​​​​​ ConceptNet 构建跨域的知识图谱补充增强了文本表示的泛化性 [Target domain]被测领域 [Source domain]由ConceptNet构 ...

  9. Gated Mechanism for Attention Based Multi Modal Sentiment Analysis 阅读笔记

    GATED MECHANISM FOR ATTENTION BASED MULTIMODAL SENTIMENT ANALYSIS 阅读笔记 最近在跟进多模态的情感分析发现多模态榜一又被刷下来了,这篇 ...

最新文章

  1. tf.nn.embedding_lookup()的用法
  2. 面试官问:你来讲下Netty通信中的粘包、拆包?
  3. 解决ubuntu上ifconfig没有eth0/ens33且无法上网的问题
  4. 技术关注:搜索引擎经验
  5. 电气工程及其自动化专业英语苏小林翻译_“万千星光 智能点亮” 电气工程及其自动化专业讲座...
  6. 查找域内所有的Windows Server 2012 R2的服务器,并区分出哪些是物理机,那些是虚拟机...
  7. 预备作业03 20162316刘诚昊
  8. 4G网络建设近尾声 SDN/NFV是5G网络创新关键
  9. 3西格玛计算公式_西格玛和西格玛水平
  10. linux访问ftp服务器命令
  11. Golang sha256 加密,PHP hash_hmac(‘sha256‘, $string, $key)加密,Js CryptoJS.HmacSHA256(string, key) 加密
  12. 教你用python爬虫下载1w+『ppt模板』
  13. CMMI、ISO、6sigma、ITIL软件质量管理体系了解
  14. Github 常见缩写含义 WIP/LGTM/AFAIK
  15. 笔记本电脑插入HDMI外接显示器没有声音问题
  16. [CF936B]Sleepy Game
  17. 【学习周报9.26 ~ 10.1】Hierarchical Modular Network for Video Captioning(CVPR2022)
  18. UEFI 及 legacy 重装系统
  19. 遍历Python字典
  20. form提交--jquery.form.js

热门文章

  1. [Spring实战系列](11)SpEL使用表达式装配
  2. xdoj试题 字符串压缩
  3. 5G与8K联姻,时机真的到了吗?
  4. 二、NovAtel Connect 1.80 版本 操作说明书
  5. 云鲸扫拖一体机器人说明书_让做家务更简单:云鲸智能扫拖一体机器人测评
  6. 眼睁睁的看着自己陷入“老鼠赛跑”的游戏
  7. python cad 提取高程点_CAD地形图如何提取出高程点文件?
  8. 【Unity3D】 新手引导
  9. 基于Python实现神经网络中的激活函数图像绘制
  10. Android中相对布局是,Android之相对布局