根据VCD文件的type,PTPX支持instantaneous peak power analysis和cycle_accurate peak

power analysis。

Time-Based Power Analysis支持的VCD type

由于Gate_level和zero_delay的VCD不支持event propagation,所以可以在read_vcd之后,通

过命令report_switching_activity来报告switching activity的annotation。

在time_base mode下,不支持多个VCD file的分析。

PTPX在testbench的level建立activity file,在读入vcd时,通过strip_path的命令来map到design module。

read_vcd –strip_path TB/U1

PTPX进行condition power analysis,加入-time和-when的option。

如果vcd的产生由带systemverilog的语法的TB来产生,那么read_vcd –format systemverilog命令来读入vcd。

进行基于rtl的time_based的分析,命令read_vcd –rtl来设置,可以进行name_mapping和event的propagate。

进行基于gate_level的peak分析,必须加入sdf文件。

由于netlist的VCD文件都会比较大,所以PTPX工具内部支持fsdb/gzipped VCD的解压,

并且可以直接在PTPX工具内invoke simulator。

-pipe_exec “vcs –R –f arguments –l log”

Vector analysis:

用来分析high activity window。Time_based mode中high activity可能落在不同的interval,

所以可以通过-peak_window来设置,最小和最大的window来分析high activity。

write_activity_waveforms –vcd myvcd.vcd –output myvcd.out –interval 0.2 –peak_window 5

生成的myvcd.out一般都是fsdb格式的,直接通过nWave打开。

默认情况下,PTPX不会restore state_dependent和path_dependent的toggle rate,

为了在生成SAIF等文件中,能被包含进去,需要设置write_saif –sdpd_tracking。

set_case_analysis命令,将某个port设置为一个constant value,优先级低于VCD的annotation,

所以一般来设置vcd file中没有的signal,如test_enable信号。

在time_based的analysis中,

Glitch power的分析,作为一个transition分析,有自己的ratio计算方式。

Z State,只有0-Z-1,1-Z-0被认为transition,有power consume,其他的变化都不做分析。

X State,0-X作为半个transition,0-x-0也作为一个transition。默认情况下,initial的X不做分析。

由于peak analysis比较耗时,PTPX采用distribute的方式来进行multi-scenario analysis。

一个scenario是一个VCD activity file的time window,可以并行在multiple processor上来运行。

然后将结果merge到一起。

环境设置flow:

PTPX中的time_based analysis的更多相关文章

  1. PTPX中的report 选项

    Report的生成 report_power表示产生power report,update_power表示进行power analysis. report_power命令可以生成四种形式的report ...

  2. PTPX的average power analysis

    在average power analysis中,switching activity被分解为toggle rate和static probabilities两部分. annotation的sourc ...

  3. PTPX中的clock tree与LP design

    PTPX在加入CPF/UPF这样的文件后,可以分析multi-voltage,power-gating这样的设计. 针对某个power rail的cell,PTPX支持进行annotate. set_ ...

  4. PTPX中的activity文件以及mapping文件

    在不同的simulation中的capturing switching activity: SAIF:Switching Activity Interface Format,包含toggle coun ...

  5. 人脸识别中的Procruster analysis应用

    本文中,我们通过Procrustes analysis来处理特征点,Procrustes analysis算法可以参考:http://en.wikipedia.org/wiki/Procrustes_ ...

  6. 全半角空格导致的Sql Server Analysis Services处理错误(转载)

    问题描述 某维度表的字符串列同时出现两条记录,A记录以半角空格(英文空格)结束,B记录以全角空格(中文空格)结束,除此之外其他部分均相同.Analysis Service处理的时候抛出“Key not ...

  7. (原+转)Eclipse中Android调用OpenCv

    大部分都是参考下面的网址,如果感觉看起来不舒服,可以直接查看原网址.最后遇到了一点问题: Description      Resource Path Location   Type E:/~\cod ...

  8. x264源代码简单分析:宏块分析(Analysis)部分-帧间宏块(Inter)

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  9. x264源代码简单分析:宏块分析(Analysis)部分-帧内宏块(Intra)

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

随机推荐

  1. java中计算两个日期之间天数的程序设计。

    //用java编写出一个以下方法计算两个日期之间天数的程序设计. import java.util.regex.Matcher; import java.util.regex.Pattern; pub ...

  2. android常用命令

    首先配置好环境变量会比较方便... 大部分sdk提供的工具都在sdk\platform-tools和sdk\tools下,建议配置这两个路径到path 另外aapt工具在sdk\build-tools ...

  3. 让android webView使用系统默认浏览器内核直接解析,不弹出选择浏览器选项

    遇到一个需求,要求浏览网页的页面不去启动其他的浏览器,全部在自身的应用中. 解决方法 webview.setWebViewClient(new WebViewClient() { @Override ...

  4. 详解Spring事件驱动模型

    转载自:http://jinnianshilongnian.iteye.com/blog/1902886#comments 事件驱动模型简介 事件驱动模型也就是我们常说的观察者,或者发布-订阅模型:理 ...

  5. Docker 简单入门

    Docker 简单入门 http://blog.csdn.net/samxx8/article/details/38946737

  6. js实例代码

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. android JSONArray JSONObject 字符串转json数组 遍历json对象

    String json = "{''data'':[{''name'':''Wallace''},{''name'':''Grommit''}]}"; StringBuffer m ...

  8. MVC项目实践,在三层架构下实现SportsStore-01,EF Code First建模、DAL层等

    SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...

  9. Trace-导出已有的服务器端跟踪

    跟踪(Trace)常被我们用来检查性能问题.通常我们会有针对CPU.Duration.Reads的创建跟踪定义,这一类的脚本一般不会包含太多的事件和列,筛选条件也相对简单.假如某一天你使用GUI定义了 ...

  10. 手动内存管理与ARC互相转换问题