在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 852|回复: 12

[求助] voltus dynamic & static method报出来的static power,current不一样

[复制链接]
发表于 2024-2-2 01:53:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 haier822 于 2024-2-2 01:54 编辑

请教大家,目前在用voltus进行功耗分析,目的评估下数字电路的功耗情况,消耗电流大小,以此数据为前级LDO 提供多大的电流能力作参考。我用同一个vcd文件进行分析,时间长度为200us,第一次选择method为dynamic_vectorbased, 第二次为static。这两种分析方法下工具都会报出来static_power.rpt和电流值static_vddd_digcore.ptiavg,发现两种method下计算出来的电流值不一样, 其中method=dynamic_vectorbased时,电流static_vddd_digcore 为2.7mA, 而在method=static时, 则为3.8mA。不太明白两者的结果为什么会不一样(原本以为他们会一样的,报的都是static power),最后究竟以哪个为准?明白的朋友帮忙解惑下,谢谢。

//----------------------------------------------------
set_dynamic_power_simulation -resolution 100ps

set_power_analysis_mode \
    -analysis_view       ${analysis_mode} \
    -corner              cmax \
     -disable_static      false \
     -write_static_currents true \
     -binary_db_name      power.db \
     -create_binary_db    true \
     -method              ${method} \
     -report_missing_nets true

   read_activity_file -reset
    read_activity_file \
      -format VCD \
      -start $vars($mode,start) \
      -end   $vars($mode,stop) \   
      -scope $vars($mode,scope) \
      $vars($mode,vcd)
    #-----------------------------------------------------------------------
    # Delete and define output directory
    #-----------------------------------------------------------------------
      .....
    #-----------------------------------------------------------------------
    # run power analysis
    #-----------------------------------------------------------------------
    report_power -rail_analysis_format VS -no_wrap -outfile static_power.rpt
//--------------------------------------------------
发表于 2024-2-2 09:55:34 | 显示全部楼层
dynamic 应该是分析了PGV里面的电流所以才不一样的,我们一般是看static跑出来的 那个是从lib来算power
 楼主| 发表于 2024-2-2 11:11:16 | 显示全部楼层


jimmyliuquan 发表于 2024-2-2 09:55
dynamic 应该是分析了PGV里面的电流所以才不一样的,我们一般是看static跑出来的 那个是从lib来算power ...


谢谢您的回复。 static跑出来的static power 从lib中来算power, voltus manual中介绍的也蛮详细, 相对容易理解。就是对dynamic 方式报出来的static power还是没有彻底明白,您提到dynamic 应该是分析了PGV里面的电流所以才不一样的, 能方便再帮多介绍下吗,谢谢



我在help中查询到关于report_power的介绍,根据介绍感觉是允许在dynamic 分析模式中报出static_power,也就是average current的情况,就可以不用再去static 分析模式中来report_power了。基于这个我想到的,如果是同一个vcd文件用来跑dynamic 模式分析和static 模式分析,他们得到的static power, average current想象是一样的。所以这点困惑了。
report_power:
The report_power command allows generation of multiple power reports with a single report_power command. This allows you to generate all the static reports during dynamic analysis, and removes the need to run incremental report_power in static power analysis using a Verilog netlist. By default, a detailed power summary report, and a short summary will be printed at the beginning of all reports.




发表于 2024-2-2 15:29:01 | 显示全部楼层
Cadence给了一个比较模糊的解释,把static的设置改一下:
set_power_analysis_mode -method static -static_netlist def
默认-static_netlist是verilog。
我自己做了实验,发现还是不能完全对上dynamic。
Total Internal Power 完全一致。
Total Switching Power 差别比较大。
Total Leakage Power 完全一致。
不知道是不是哪里的设置有问题,明天再试。

发表于 2024-2-2 16:23:49 | 显示全部楼层


haier822 发表于 2024-2-2 11:11
谢谢您的回复。 static跑出来的static power 从lib中来算power, voltus manual中介绍的也蛮详细, 相对容 ...


我是觉得 PGV里面的电流也会被拿来算power或者是current 再去拿来去rail分析

至于机制 你需要咨询AE
 楼主| 发表于 2024-2-2 21:12:10 | 显示全部楼层
本帖最后由 haier822 于 2024-2-2 21:16 编辑


jake 发表于 2024-2-2 15:29
Cadence给了一个比较模糊的解释,把static的设置改一下:
set_power_analysis_mode -method static -static ...


Hi Jack, 感谢您提出的意见指定static_netlist为def,  set_power_analysis_mode -method static -static_netlist def, 学习了
然后重新跑static method的分析,最后static power结果就和dynamic method中报出的static power(internal power, switching power, leakage power)是完全一样的了。我的理解,基于DEF 分析的结果要比基于verilog netlist的应该更为精确, 因为DEF中包含详细的版图物理信息。

附带help中的对-static_netlist的释义:
set_power_analysis_mode
//-----------------------------

-static_netlist {verilog | def}
Specifies to perform static power analysis using a Verilog or DEF only neltist.
By default, the static power analysis is performed using the Verilog netlist as the primary netlist. Using this parameter, you can specify DEF when a DEF netlist with logical connectivity is available, and use it as primary and not consider the Verilog netlist.
This parameter is also enabled when set_rail_analysis_mode -report_power_in_parallel is true for static power computation.
Default : verilog

//-------------------------------
 楼主| 发表于 2024-2-2 21:20:55 | 显示全部楼层


jimmyliuquan 发表于 2024-2-2 16:23
我是觉得 PGV里面的电流也会被拿来算power或者是current 再去拿来去rail分析

至于机制 你需要咨询AE


谢谢您的回复
发表于 2024-2-4 14:29:20 | 显示全部楼层


haier822 发表于 2024-2-2 07:12
Hi Jack, 感谢您提出的意见指定static_netlist为def,  set_power_analysis_mode -method static -static_n ...


FYI -- 我这边修正了脚本,也得到了完全一致的数值。

 楼主| 发表于 2024-2-4 15:44:13 | 显示全部楼层


jake 发表于 2024-2-4 14:29
FYI -- 我这边修正了脚本,也得到了完全一致的数值。


太好了,谢谢。
发表于 2024-2-4 18:15:27 | 显示全部楼层
我个人理解static mode计算的功耗模型是提取为电阻模型,而dynamic是RLC模型,所以两者得到的功耗会有所不同
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-17 05:16 , Processed in 0.030134 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表