当前位置:网站首页>Redhawk Dynamic Analysis
Redhawk Dynamic Analysis
2022-07-28 05:24:00 【拾陆楼】
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.tcl
import 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.dbDynamic 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 -12DYNAMIC_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.tcl
import 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.dbDynamic 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 15.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边栏推荐
- TVs tube parameters and selection
- frameset 用法示例
- (PHP graduation project) based on PHP user online submission management system
- 浪涌冲击抗扰度实验(SURGE)-EMC系列 硬件设计笔记6
- EXFO 730c optical time domain reflectometer only has IOLm optical eye to upgrade OTDR (open OTDR permission)
- Learning notes of hardware circuit design 1 -- temperature rise design
- BERT基于transformer的双向编码器
- USB Network Native Driver for ESXi更新到支持ESXi7.0 Update 2
- CalendarExtender控件的中文显示问题
- ESXi社区版NVMe驱动更新v1.1
猜你喜欢

How does fluke dtx-1800 test cat7 network cable?

Photovoltaic power generation system MPPT maximum power point tracking

(PHP graduation project) based on PHP student daily behavior management system access

PLC的整体认识

关于Fusion on Apple Silicon的谨慎猜测

初学者进行传感器选型

t-SNE降维可视化

The difference between router and switch

浅谈FLUKE光缆认证?何为CFP?何为OFP?

论福禄克DTX-1800如何测试CAT7网线?
随机推荐
4、 Model optimizer and inference engine
EIGamal cryptosystem description
Create a basic report using MS chart controls
Terminal resistance detailed signal complete series hardware learning notes 7
ESXi on ARM v1.2 (2020年11月更新)
福禄克DSX2-5000、DSX2-8000模块如何找到校准到期日期?
GF(2^8)的加法与乘法计算
在win7 上安装 Visual Studio 2019 步骤 及 vs2019离线安装包
Learning notes on hardware circuit design 2 -- step-down power circuit
Summary of common WAF interception pages
Led selection - hardware learning notes 3
端接电阻详解 信号完整系列 硬件学习笔记7
Ctfshow single dog -- Web
2、 Openvino brief introduction and construction process
Web scrolling subtitles (marquee example)
EXFO 730C光时域反射计只有iOLM光眼升级OTDR(开通otdr权限)
ESXi社区版网卡驱动再次更新
Arduino reads the analog voltage_ How mq2 gas / smoke sensor works and its interface with Arduino
CalendarExtender控件的中文显示问题
(PHP graduation project) obtained based on PHP novel website management system