Redhawk Dynamic Analysis
1 Dynamic Analysis相关知识
Dynamic Analysis常用的模式有VCD模式与Vectorless模式,主要区别在于前者用VCD仿真波形再现instance信号的跳变,后者则基于用户约束(toggle rate,STA timing window)。
在没有APL文件时使用.lib文件,APL基于仿真获取switching电流波形与等效电容电阻,以及漏电电流;.lib中switching电流是通过多维的查找表获取的(变量有input transition、ouput load以及时间),且没有定义电容电阻的值,.lib中一般通过输入状态、对应状态的leakage_power与输入的duty(开启状态所占比例)去计算leakage power,而不是漏电电流。
Static Analysis使用平均电流计算压降,更多的是通过计算电阻分压看电源网络是否足够强壮,而Dynamic Analysis分析的是信号跳变的产生的瞬态电流对压降的影响,除了分析电阻以外还要考虑电容和电感。
2 Vectorless Dynamic Analysis
Vectorless Dynamic Analysis flow分析流程如图1。
图1
## 运行命令参考如下:redhawk run_vectorless.tclimport gsr spc.gsr
setup design
setup analysis_mode dynamic
perform pwrcalc
perform extraction ‐ power ‐ ground ‐c # Lumped R,L,C for 40nm package, wirebond, and pads
setup package ‐power ‐r 0
setup package ‐ground ‐r 0
setup wirebond ‐power ‐r 0.001 ‐l 5000 ‐c 3
setup wirebond ‐ground ‐r 0.001 ‐l 5000 ‐c 3
setup pad ‐power ‐r 0
setup pad ‐ground ‐r 0
perform analysis ‐vectorless
# Run Explorer
#explore design
# Export the Vectorless db
#export db spc_vectorless.db
Dynamic Analysis所需GSR设置如下:
# Dynamic simulation time determines length of transient simulation
#( default: 1/Freq)
DYNAMIC_SIMULATION_TIME 2.56e-9
# Turn on dynamic pre-simulation
# specify time or -1 for automatic setting
# The second entry is the time-step speed-up during
# pre-simulation (default = 1, same as the simulation time-step)
DYNAMIC_PRESIM_TIME -1 2
# Transient simulation time step (default: 10ps)
DYNAMIC_TIME_STEP 25e -12
DYNAMIC_SIMULATION_TIME 定义仿真开始后仿真时间区间 start /end time,Vectorless的仿真开始时间为0,所以DYNAMIC_SIMULATION_TIME定义的值就是仿真时间,如果使用VCD,设置SELECT_RANGE或START_TIME,则仿真时间的起点由这两个设置决定,此时若没有设置END_TIME的话,在START_TIME的基础上加上DYNAMIC_SIMULATION_TIME可以得出仿真时间区间,DYNAMIC_SIMULATION_TIMEstart time默认是0,所以只设一个值相当于设置了0到end time,可以在adsRpt/power_summary.rpt报告中找到继续设计的推荐值。
Recommended dynamic simulation time, 2560psec ,to include 95.1044%of total power for DYNAMIC_SIMULATION_TIME in GSR
DYNAMIC_PRESIM_TIME 定义仿真开始之前电容充电的时间。建议与DYNAMIC_SIMULATION_TIME 仿真时间相同,第一个值是pre-similation时间,默认是-1,工具自动设置,第二个值是time step,加速presimlation过程,可以覆盖DYNAMIC_TIME_STEP的设置,默认10ps。
3 VCD Based Dynamic Analysis
VCD(Value change dump file) 包含不同信号net的波形信息,可以用FSDB(Fast signal Database)文件替代(二进制,内存占用更小)。
VCD based Dynamic Analysis Flow分析流程如图2。
图2
## 运行命令参考如下:redhawk run_vcd.tclimport gsr spc.gsr
setup design
setup analysis_mode dynamic
perform pwrcalc
perform extraction ‐ power ‐ ground ‐c # Lumped R,L,C for 40nm package, wirebond, and pads
setup package ‐power ‐r 0
setup package ‐ground ‐r 0
setup wirebond ‐power ‐r 0.001 ‐l 5000 ‐c 3
setup wirebond ‐ground ‐r 0.001 ‐l 5000 ‐c 3
setup pad ‐power ‐r 0
setup pad ‐ground ‐r 0
perform analysis ‐vcd
# Run Explorer
#explore design
# Export the Vectorless db
#export db spc_vectorless.db
Dynamic Analysis所需GSR设置如下
BLOCK_VCD_FILE
{
VCD_FILE {
<hier_name/inst_name> <absolute or relative path to VCD or FSDB file>
FILE_TYPE <VCD | FSDB | RTL_VCD | RTL_FSDB>
FRONT_PATH <redundant path string that does not match the DEF path>
SUBSTITUTE_PATH <the substitute path string from above>
SELECT_RANGE <start_time> <end_time>
SELECT_TYPE [WORST_POWER_CYCLE|WORST_DPDT_CYCLE]
TRUE_TIME [0|1]
VCD_FILE {
<hier_name2/inst_name2> <absolute or relative path to VCD/FSDB file>
FILE_TYPE <VCD | FSDB | RTL_VCD | RTL_FSDB>
……
}
}
FRONT_PATH:VCD中对应redhawk需要分析的层次。
SUBSTITUTE_PATH:一般设置成空的“”。
SELECT_TYPE:设置成WORST_POWER_CYCLE,选取功耗最高的cycle周期。
设置成WORST_DPDT_CYCLE会选取变化最大的cycle周期。
SELECT_RANGE:计算功耗时工具自动在start time到end time之间选取最差的一个周期,设置-1 -1,cycle周期的选取范围被设定成整个VCD仿真的时间区间。在VCD_FILE中的START_TIME优先级比SELECT_RANGE优先级更高,作用是一样的。
TRUE_TIME:设置成1,工具选用VCD switching和时序信息。
4 ir drop报告分析
ir drop分析分为instance ir drop(VDD-VSS voltage drop)和wire、via voltage drop。如图3 。
图3
除了voltage drop map以外,redhawk还支持instacne voltage drop报告。如图4 。
signoff的inst ir drop一般以Min vdd-Vss Voltage Drop为准。
图4
5 参考脚本
5.1 n vectorless dynamic analysis gsr
## vectorless
TECH_FILE ../tech/RC_IRCX_CLN40G_1P9M+ALRDL_6X2Z_rcworst.tech
LEF FILES { # Technology lef (please note to list the technology lef file before other lef files)
../lef/tcbn45gsbwp12tlvt_9lm6X2ZRDL.lef
# Other lefs:
../lef/<hvt_stdcell>.plef
../lef/<svt_stdcell>.plef
../lef/<lvt_stdcell>.plef
TEMPERATURE 110
DEF_FILES {
../def/ spc_post_fix_si.def top
}
LIB_FILES {
../lib/<hvt_stdcell>.lib
../lib/<memory_cell>.lib
…}
PAD_FILES {
../ploc/spc.ploc
}
STA_FILES {
../timing/spc.timing
}
APL_FILES {
../apl/std/current/std.current current
../apl/memory/vmemory.current current_avm
../apl/std/cdev/std.cap cdev
../apl/memory/vmemory.cdev cap_avm
}
CELL_RC_FILE {
spc ../spf/spc_cworst_125c_couple.spef.gz
}# Specify the memory/IPs GDS cells to be used, and where the LEF, DEF files converted by
# gds2def/gds2def –m are located.
GDS_CELLS {
<memory_cell_name_A> ../gds2def/OUTPUT
<memory_cell_name_B> ../gds2def/OUTPUT
… …
<memory_cell_name_N> ../gds2def/OUTPUT
}
VDD_NETS {VDD 0.9
}
GND_NETS {VSS 0 }
FREQ 1.25e9
TOGGLE_RATE 0.1
# POWER_MODE APL
INPUT_TRANSITION 200ps
AD_MODE 0
DYNAMIC_SIMULATION_TIME 0 8e‐10
DYNAMIC_TIME_STEP 10ps
DYNAMIC_PRESIM_TIME 3.2e‐9 # DECAP_CELL { # }
ENABLE_BLECH 1
USE_DRAWN_WIDTH_FOR_EM 1
USE_DRAMN_WIDTH_FOR_EM_LOOKUP 1 # IGNORE_DEF_ERROR 1 # IGNORE_LEF_DEF_MISMATCH 1
5.2 VCD based dynamic analysis gsr
## VCD
TECH_FILE ../tech/RC_IRCX_CLN40G_1P9M+ALRDL_6X2Z_rcworst.tech
LEF FILES { # Technology lef (please note to list the technology lef file before other lef files)
../lef/tcbn45gsbwp12tlvt_9lm6X2ZRDL.lef
# Other lefs:
../lef/<hvt_stdcell>.plef
../lef/<svt_stdcell>.plef
../lef/<lvt_stdcell>.plef
TEMPERATURE 110
DEF_FILES {
../def/ spc_post_fix_si.def top
}
LIB_FILES {
../lib/<hvt_stdcell>.lib
../lib/<memory_cell>.lib
…}
PAD_FILES {
../ploc/spc.ploc
}
STA_FILES {
../timing/spc.timing
}
APL_FILES {
../apl/std/current/std.current current
../apl/memory/vmemory.current current_avm
../apl/std/cdev/std.cap cdev
../apl/memory/vmemory.cdev cap_avm
}
CELL_RC_FILE {
spc ../spf/spc_cworst_125c_couple.spef.gz
}# Specify the memory/IPs GDS cells to be used, and where the LEF, DEF files converted by
# gds2def/gds2def –m are located.
GDS_CELLS {
<memory_cell_name_A> ../gds2def/OUTPUT
<memory_cell_name_B> ../gds2def/OUTPUT
… …
<memory_cell_name_N> ../gds2def/OUTPUT
}
VDD_NETS {VDD 0.9
}
GND_NETS {VSS 0 }
FREQ 1.25e9
TOGGLE_RATE 0.1
# POWER_MODE APL
INPUT_TRANSITION 200ps
AD_MODE 0
DYNAMIC_SIMULATION_TIME 0 8e‐10
DYNAMIC_TIME_STEP 10ps
DYNAMIC_PRESIM_TIME 3.2e‐9 # DECAP_CELL { # }
ENABLE_BLECH 1
USE_DRAWN_WIDTH_FOR_EM 1
USE_DRAMN_WIDTH_FOR_EM_LOOKUP 1
VCD_FILE {
spc ../vcd/blimp.vcd
FILE_TYPE VCD
FRONT_PATH “spc_tb/CORE/”
SUBTITUTE_PATH “”
FRAME_SIZE 800
START_TIME 1589600
END_TIME 1590400
TRUE_TIME 1 }# IGNORE_DEF_ERROR 1 # IGNORE_LEF_DEF_MISMATCH 1
Redhawk Dynamic Analysis相关推荐
- 瑞士卢加诺大学(USI) Dynamic Analysis Group 博士招生
关注公众号,获取更多AI领域发展机会 卢加诺大学(USI) 招募博士生职位,导师是 Walter Binder 教授. 研究课题: data processing; big data; paralle ...
- Redhawk APL - DI Flow
APL(Apache Power Library)用于Dynamic Analysis,相比使用(*.lib)做动态分析,计算的压降更接近真实结果,功耗计算上往往更大一些,因为使用晶体管级仿真所以le ...
- malware analysis、Sandbox Principles、Design Implementation
catalog 0. 引言 1. sandbox introduction 2. Sandboxie 3. seccomp(short for secure computing mode): API级 ...
- Tryhackme-Malware Analysis
Malware Analysis 文章目录 Malware Analysis **History of Malware** task1 Introduction task2 The Creeper P ...
- BlackArch-Tools
BlackArch-Tools 简介安装在ArchLinux之上添加存储库从blackarch存储库安装工具替代安装方法BlackArch Linux Complete Tools List 简介 B ...
- 使用现代C++如何避免bugs(下)
使用现代C++如何避免bugs(下) About virtual functionsVirtual functions hinder a potential problem: the thing is ...
- 澳大利亚悉尼科技大学招收人工智能/软件工程方向全奖博士生
来源:AI求职 悉尼科技大学 澳大利亚悉尼科技大学(UTS)座落于风景优美的悉尼市中心,毗邻 Darling Harbour,中国城,悉尼歌剧院.UTS 是世界知名研究学府,计算机和信息技术是整个学校 ...
- 软件测试中英文词汇汇总
Acceptance testing : 验收测试 Acceptance Testing:可接受性测试 Accessibility test : 软体适用性测试 actual outcome:实际结果 ...
- 反制爬虫之Burp Suite RCE
一.前言 Headless Chrome是谷歌Chrome浏览器的无界面模式,通过命令行方式打开网页并渲染,常用于自动化测试.网站爬虫.网站截图.XSS检测等场景. 近几年许多桌面客户端应用中,基本都 ...
最新文章
- 【驱动】ubuntu安装内核头文件
- input file文件上传_微服务间的文件上传与下载-Feign
- ubuntu u盘挂载及开机自动挂载 硬盘剩余空间挂载
- apimodel 可以重复吗_【惠蓉保】同时买了“惠蓉保”和百万医疗,可以重复报销吗?“惠蓉保”这么说...
- bzoj 1191 [HNOI2006]超级英雄Hero
- Hibernate问题浅析
- 最长回文子串 C++
- 支付宝信用卡还款也开始收费了!但还是比微信便宜2元...
- C++数据结构04--顺序栈的实现
- Python Tips 01 : 判断两个文件是否相同
- LVS (Linux虚拟服务器)模型及算法
- win10电脑系统里的视频不显示缩略图
- 04最大类间方差法(OTSU大津法)
- php开源视频cms,迅睿PHP开源视频电影CMS系统
- OSChina 周三乱弹 —— 总觉得路过是 VIVO 大酒店
- ‘gbk‘ codec can‘t decode byte 0xa7 in position 40: illegal multibyte sequenc
- 支持将树莓派转换成NAS存储系统
- NLP之依存句法分析(小白专栏学习之路)
- 用系统变量来获取常用的系统路径
- layui的表单与表格使用详解
热门文章
- mac u盘文件过大 拷贝不进去_Mac-文件太大不能放入U盘中
- 计算机组成原理 — 服务器 — DELL 服务器使用 iDRAC 进行 Firmware 和 BIOS 版本升级
- win10语言包在c盘哪里,win10系统通过卸载语言包释放c盘空间的图文办法
- 2012php100视频教程ppt,php100-2012版视频教程第一课ppt.pptx
- illustrator插件-常用功能模块-测量路径长度-js脚本开发-AI插件
- 手写简单vue3响应式原理(reactive ref toRef toRefs)
- 机器学习系列4---RVM(相关向量机)MATLAB实现
- 【麦肯锡系列阅读笔记】麦肯锡解决方法与技巧
- flutter-ExpandableList的使用
- 基于android的品质检测哪家好,基于android系统的脐橙品质近红外光谱无损检测技术...