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。

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相关推荐

  1. 瑞士卢加诺大学(USI) Dynamic Analysis Group 博士招生

    关注公众号,获取更多AI领域发展机会 卢加诺大学(USI) 招募博士生职位,导师是 Walter Binder 教授. 研究课题: data processing; big data; paralle ...

  2. Redhawk APL - DI Flow

    APL(Apache Power Library)用于Dynamic Analysis,相比使用(*.lib)做动态分析,计算的压降更接近真实结果,功耗计算上往往更大一些,因为使用晶体管级仿真所以le ...

  3. malware analysis、Sandbox Principles、Design Implementation

    catalog 0. 引言 1. sandbox introduction 2. Sandboxie 3. seccomp(short for secure computing mode): API级 ...

  4. Tryhackme-Malware Analysis

    Malware Analysis 文章目录 Malware Analysis **History of Malware** task1 Introduction task2 The Creeper P ...

  5. BlackArch-Tools

    BlackArch-Tools 简介安装在ArchLinux之上添加存储库从blackarch存储库安装工具替代安装方法BlackArch Linux Complete Tools List 简介 B ...

  6. 使用现代C++如何避免bugs(下)

    使用现代C++如何避免bugs(下) About virtual functionsVirtual functions hinder a potential problem: the thing is ...

  7. 澳大利亚悉尼科技大学招收人工智能/软件工程方向全奖博士生

    来源:AI求职 悉尼科技大学 澳大利亚悉尼科技大学(UTS)座落于风景优美的悉尼市中心,毗邻 Darling Harbour,中国城,悉尼歌剧院.UTS 是世界知名研究学府,计算机和信息技术是整个学校 ...

  8. 软件测试中英文词汇汇总

    Acceptance testing : 验收测试 Acceptance Testing:可接受性测试 Accessibility test : 软体适用性测试 actual outcome:实际结果 ...

  9. 反制爬虫之Burp Suite RCE

    一.前言 Headless Chrome是谷歌Chrome浏览器的无界面模式,通过命令行方式打开网页并渲染,常用于自动化测试.网站爬虫.网站截图.XSS检测等场景. 近几年许多桌面客户端应用中,基本都 ...

最新文章

  1. 【驱动】ubuntu安装内核头文件
  2. input file文件上传_微服务间的文件上传与下载-Feign
  3. ubuntu u盘挂载及开机自动挂载 硬盘剩余空间挂载
  4. apimodel 可以重复吗_【惠蓉保】同时买了“惠蓉保”和百万医疗,可以重复报销吗?“惠蓉保”这么说...
  5. bzoj 1191 [HNOI2006]超级英雄Hero
  6. Hibernate问题浅析
  7. 最长回文子串 C++
  8. 支付宝信用卡还款也开始收费了!但还是比微信便宜2元...
  9. C++数据结构04--顺序栈的实现
  10. Python Tips 01 : 判断两个文件是否相同
  11. LVS (Linux虚拟服务器)模型及算法
  12. win10电脑系统里的视频不显示缩略图
  13. 04最大类间方差法(OTSU大津法)
  14. php开源视频cms,迅睿PHP开源视频电影CMS系统
  15. OSChina 周三乱弹 —— 总觉得路过是 VIVO 大酒店
  16. ‘gbk‘ codec can‘t decode byte 0xa7 in position 40: illegal multibyte sequenc
  17. 支持将树莓派转换成NAS存储系统
  18. NLP之依存句法分析(小白专栏学习之路)
  19. 用系统变量来获取常用的系统路径
  20. layui的表单与表格使用详解

热门文章

  1. mac u盘文件过大 拷贝不进去_Mac-文件太大不能放入U盘中
  2. 计算机组成原理 — 服务器 — DELL 服务器使用 iDRAC 进行 Firmware 和 BIOS 版本升级
  3. win10语言包在c盘哪里,win10系统通过卸载语言包释放c盘空间的图文办法
  4. 2012php100视频教程ppt,php100-2012版视频教程第一课ppt.pptx
  5. illustrator插件-常用功能模块-测量路径长度-js脚本开发-AI插件
  6. 手写简单vue3响应式原理(reactive ref toRef toRefs)
  7. 机器学习系列4---RVM(相关向量机)MATLAB实现
  8. 【麦肯锡系列阅读笔记】麦肯锡解决方法与技巧
  9. flutter-ExpandableList的使用
  10. 基于android的品质检测哪家好,基于android系统的脐橙品质近红外光谱无损检测技术...