资讯详情

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.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.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到0end time,可以在在报告中找到继续设计的推荐值。

DYNAMIC_PRESIM_TIME 在模拟开始前定义电容充电时间。DYNAMIC_SIMULATION_TIME模拟时间相同,第一个值是pre-similation默认时间为-1,工具自动设置,第二个值为time step,加速presimlation可以覆盖过程DYNAMIC_TIME_STEP默认10.ps。

3

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.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_YCLE|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

标签: 电感ir0

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台