如何使用PTPX预估芯片功耗

  • 一、文件准备
  • 二、简易版PTPX环境脚本
  • 三、预估精度测试

工作中往往想要在项目初期就预估出芯片的功耗,以判断前端代码是不是还需要继续优化。
PTPX使用前端提供的波形和网表就可以预估出芯片的功耗大小。下面详细介绍下使用方法,以及这样的方法预估的功耗精度如何。

一、文件准备

1.前端提供通过RTL网表仿真得到的波形文件:fsdb/vcd
2.定义基础库功耗的库文件:std cell/memory 的db文件
3.芯片时序约束文件:sdc文件。

二、简易版PTPX环境脚本

主要注意设置的地方:
1.设置基础库,下面的脚本是设置的tt_db变量,写在了tcl文件里。
2.各block和top的verilog网表。用于提供里面使用到的memory和std。
3.设置sdc文件和RTL波形,提供时钟信息,和时钟翻转率等。
以上的变量设置好了,就可以执行pt开始run。
输出的功耗结果在指定的report文件中查看就可以了。

###########################################
#   Set the power analysis mode
###########################################
set power_enable_analysis true
set power_analysis_mode averaged
###########################################
#    read and link the gatelevel netlist
###########################################
if { [file exists log] == 0} {exec mkdir log
}
if { [file exists rpt] == 0} {exec mkdir rpt
}source /home/xxx/data/all_lib_9T.tcl -e -v #设置变量tt_db
set link_library " * ${tt_db}"read_verilog /home/xxx_top_pt.v
read_verilog /home/xxx_block_pt.vset top_name xxx_top
set DesignName xxx_top
current_design $DesignName
link
###########################################
#   Read SDC and set transition time orannotate parasitics
###########################################
read_sdc /home/xxx.tcl###########################################
#   Check, update, or report timing
###########################################
check_timing
update_timing
report_timing
###########################################
#  read switching activity file
###########################################
read_vcd -rtl -time {123 123} -strip_path <xxx> /home/xxx.fsdb
report_switching_activity -list_not_annotated###########################################
#   check or update or report power
###########################################
check_power
update_power
report_power -nosplit > ./rpt/average_power.rpt
report_power -hierarchy -level 6 -power_greater_than 0.001 -nosplit > ./rpt/average_power_hier.rpt
quit                                                               

三、预估精度测试


这里是用了一个比较小的模块做的测试。功耗基数比较小,误差百分比其实是过于大了。其中:
1.post波形是设计完成后,前端基于GATE级网表得到的波形。是最终的波形结果。
2.sdf是前端提供的波形中是否添加了timing延迟的处理。
3.wi开头的波形是基于RTL网表得到的波形。
4.rtl表示在脚本中添加了read_vcd -rtl的option。
5.nospef表示脚本中是否添加了读入spef的option,使用的如下的命令。
read_parasitics -format SPEF -keep_capacitive_coupling xxx.spef

经过其他的实际项目验证。初步结论如下:
1.最终的功耗基本与PTPX预估的相符。误差值约在10%以内。
2.最终设计的功耗比PTPX预估的功耗大,原因是在后端设计过程中会增加很多std,会增大功耗值。如果时钟设计复杂,lvtcell添加很多,影响功耗结果的幅度也会比较大。
3.不加spef文件会有一些obj不能标记,计算的功耗值会偏小一点。
4.sdf的处理对总体平均功耗是影响不大的。

如何使用PTPX预估芯片功耗相关推荐

  1. 芯片前沿 | 云端芯片功耗问题日益严重

    ​rockeric.com 在高性能运算领域优化处理器设计任重而道远 对于传统的亦或是超大规模的数据中心而言,它们的运算性能受到了极大的限制,原因在于高速运算所需的高功耗,以及服务器内部的日益增长的大 ...

  2. 关于AI芯片功耗和应用的一些看法

    来源:内容来自知乎专栏ARM杂谈,作者重走此间路,谢谢. 近一年各种深度学习平台和硬件层出不穷,各种xPU的功耗和面积数据也是满天飞,感觉有点乱.在这里我把我看到的一点情况做一些小结,顺便列一下可能的 ...

  3. 华大HC32L136系列芯片功耗

    电流消耗是多种参数和因素的综合指标,这些参数和因素包括工作电压.环境温度.I/O 引脚的负载.产品的软件配置.工作频率. I/O 脚的翻转速率.程序在存储器中的位置以及执行的代码等. 消耗电流越小电池 ...

  4. 关于芯片功耗那些事(一)

    本着分享快乐的想法,最近发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:前言 – 床长人工智能教程 基于当下主流CMOS 的 IC 电路,PPA 中的之一power 的重要 ...

  5. MacBook苹果笔记本M芯片功耗测试软件Asitop

    软件地址:https://github.com/tlkh/asitop ====1.1准备环境-安装HomeBrew==== $ /bin/bash -c "$(curl -fsSL htt ...

  6. 三星宣布7nm LPP芯片量产!性能高20%,功耗降50%,面积降40%

    安妮 编译整理 量子位 出品 | 公众号 QbitAI 三星7nm芯片事业又有新进展. 在近日Samsung Tech Day大会上,三星宣布,已经基于EUV(极紫外光)光刻技术,开始量产7nm LP ...

  7. 物联网应用的全球最低功耗无线芯片——芝麻芯片和大米天线

    今天的内容是两则科技新闻,"用于物联网应用的全球最低功耗的无线芯片",和"一款多频段微型芯片天线".由于芯片的面积分别为1平方毫米,和21平方毫米,差不多是1粒 ...

  8. nrf52832芯片资料_蓝牙大举进军智能楼宇、智慧工业等新兴领域,主流BLE芯片哪家强...

    近年来,蓝牙凭借自身低功率.易部署.低成本及高度灵活的优势从传统设备市场延伸到非传统设备市场,大举进军智能穿戴.智能楼宇.智慧工业等新兴领域.随着蓝牙应用市场的蓬勃发展,技术和应用得到源源不断的创新, ...

  9. 芯片低功耗设计的两种常用EDA流程

    功耗分析和计算是功耗优化的基础,只有掌握准确估计功耗的手段,才能确保芯片功耗符合设计的要求 .低功耗设计需要EDA流程中各个层次的协同设计,功耗分析和估算必须贯穿芯片设计流程的始终,需要在各个层次的设 ...

  10. 不被邀请又怎样!马云都快买下中国AI芯片的半壁江山了,直怼腾讯和百度

    作者 | 刘晶晶 编辑 | 鸽子 有一件事,营长想不明白. 前几天爆出来的阿里15亿投资商汤科技,不知道Face++作何感想? 营长不禁琢磨,原本被Face++所拿下的支付宝刷脸业务,会不会因此改旗易 ...

最新文章

  1. 使用Oracle 的 imp ,exp 命令实现数据的导入导出
  2. Adversarial Discriminative Domain Adaption 阅读笔记
  3. Java中迭代列表中数据时几种循环写法的效率比较
  4. 网络编程学习笔记(getnameinfo函数)
  5. 江苏省高中计算机课程标准,教育部普通高中信息技术课程标准
  6. asp.net MVC iis6 虚拟主机兼容开发方式
  7. Python3字符串复制
  8. lis最长上升子序列o(nlogn)优化
  9. loadrunner linux 端口,Linux下loadrunner generator的安装
  10. C++ - 深入理解new
  11. linux的定制和发布(二)
  12. webgame 上线版本控制
  13. maven下载,安装与eclipse中maven配置
  14. python文件命名 数字_在python中,如何导入文件名以数字开头
  15. 如何搭建一个前端脚手架
  16. 解决Linux MySQL报错ERROR 2002 (HY000)
  17. 读《About Face 4 交互设计精髓》8
  18. 【计算机网络】PPP和PPPoE协议
  19. h5 和 微信小程序添加emoji表情处理
  20. 关于kali Linux缺少pyrit或者pyrit无法定位的问题

热门文章

  1. 数字逻辑练习题(二)
  2. HCIE学习笔记(2)之ISIS Overload
  3. Tensorflow基础学习:自动求导函数tape.gradient
  4. 云计算与大数据之间的关系
  5. 代理模式---论坛权限控制代理
  6. [LTE 资源分配方法]资源池 resource pools
  7. 计算机模拟超光速,超光速十代笔记本电脑怎么样-电脑测评
  8. 如何压缩ppt幻灯片
  9. 正菱台体积在线计算机,棱台体积公式
  10. html 动态文本框的值,HTML Javascript动态添加和删除文本框