如何使用PTPX预估芯片功耗
如何使用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预估芯片功耗相关推荐
- 芯片前沿 | 云端芯片功耗问题日益严重
rockeric.com 在高性能运算领域优化处理器设计任重而道远 对于传统的亦或是超大规模的数据中心而言,它们的运算性能受到了极大的限制,原因在于高速运算所需的高功耗,以及服务器内部的日益增长的大 ...
- 关于AI芯片功耗和应用的一些看法
来源:内容来自知乎专栏ARM杂谈,作者重走此间路,谢谢. 近一年各种深度学习平台和硬件层出不穷,各种xPU的功耗和面积数据也是满天飞,感觉有点乱.在这里我把我看到的一点情况做一些小结,顺便列一下可能的 ...
- 华大HC32L136系列芯片功耗
电流消耗是多种参数和因素的综合指标,这些参数和因素包括工作电压.环境温度.I/O 引脚的负载.产品的软件配置.工作频率. I/O 脚的翻转速率.程序在存储器中的位置以及执行的代码等. 消耗电流越小电池 ...
- 关于芯片功耗那些事(一)
本着分享快乐的想法,最近发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:前言 – 床长人工智能教程 基于当下主流CMOS 的 IC 电路,PPA 中的之一power 的重要 ...
- MacBook苹果笔记本M芯片功耗测试软件Asitop
软件地址:https://github.com/tlkh/asitop ====1.1准备环境-安装HomeBrew==== $ /bin/bash -c "$(curl -fsSL htt ...
- 三星宣布7nm LPP芯片量产!性能高20%,功耗降50%,面积降40%
安妮 编译整理 量子位 出品 | 公众号 QbitAI 三星7nm芯片事业又有新进展. 在近日Samsung Tech Day大会上,三星宣布,已经基于EUV(极紫外光)光刻技术,开始量产7nm LP ...
- 物联网应用的全球最低功耗无线芯片——芝麻芯片和大米天线
今天的内容是两则科技新闻,"用于物联网应用的全球最低功耗的无线芯片",和"一款多频段微型芯片天线".由于芯片的面积分别为1平方毫米,和21平方毫米,差不多是1粒 ...
- nrf52832芯片资料_蓝牙大举进军智能楼宇、智慧工业等新兴领域,主流BLE芯片哪家强...
近年来,蓝牙凭借自身低功率.易部署.低成本及高度灵活的优势从传统设备市场延伸到非传统设备市场,大举进军智能穿戴.智能楼宇.智慧工业等新兴领域.随着蓝牙应用市场的蓬勃发展,技术和应用得到源源不断的创新, ...
- 芯片低功耗设计的两种常用EDA流程
功耗分析和计算是功耗优化的基础,只有掌握准确估计功耗的手段,才能确保芯片功耗符合设计的要求 .低功耗设计需要EDA流程中各个层次的协同设计,功耗分析和估算必须贯穿芯片设计流程的始终,需要在各个层次的设 ...
- 不被邀请又怎样!马云都快买下中国AI芯片的半壁江山了,直怼腾讯和百度
作者 | 刘晶晶 编辑 | 鸽子 有一件事,营长想不明白. 前几天爆出来的阿里15亿投资商汤科技,不知道Face++作何感想? 营长不禁琢磨,原本被Face++所拿下的支付宝刷脸业务,会不会因此改旗易 ...
最新文章
- 使用Oracle 的 imp ,exp 命令实现数据的导入导出
- Adversarial Discriminative Domain Adaption 阅读笔记
- Java中迭代列表中数据时几种循环写法的效率比较
- 网络编程学习笔记(getnameinfo函数)
- 江苏省高中计算机课程标准,教育部普通高中信息技术课程标准
- asp.net MVC iis6 虚拟主机兼容开发方式
- Python3字符串复制
- lis最长上升子序列o(nlogn)优化
- loadrunner linux 端口,Linux下loadrunner generator的安装
- C++ - 深入理解new
- linux的定制和发布(二)
- webgame 上线版本控制
- maven下载,安装与eclipse中maven配置
- python文件命名 数字_在python中,如何导入文件名以数字开头
- 如何搭建一个前端脚手架
- 解决Linux MySQL报错ERROR 2002 (HY000)
- 读《About Face 4 交互设计精髓》8
- 【计算机网络】PPP和PPPoE协议
- h5 和 微信小程序添加emoji表情处理
- 关于kali Linux缺少pyrit或者pyrit无法定位的问题