Synopsys PrimteTime工具除了可以用来评估时序之外,也可以用来评估功耗。

一般来讲,PTPX进行功耗评估的流程如下:

  1. 使用电路网表进行仿真,可以是综合网表,也可以是PR后的网表

  2. dump波形,可以用vcd或者fsdb格式

  3. PTPX吃入标准单元/ip库,网表,sdc和sdf文件以及波形文件,进行功耗评估

关于如何跑网表仿真和dump波形,可以参考前面的博客

示例脚本如下:

# set the power analysis mode

set power_enable_analysis TRUE
set power_analysis_mode averaged
#set power_analysis_mode time_based # read and link netlist set design_name " " set stdcel_libs " " set link_library "* $stdcel_libs" read_verilog xxx.v current_design $design_name link # read sdc and sdf files read_sdc xxx.sdc read_sdf -analysis_type on_chip_variation xxx.sdf # check, update and report timing check_timing > ./reports/check_timing.rpt update_timing report_timing > ./reports/timing.rpt # read switching activity file read_fsdb -strip_path tb_xxx/dut xxx.fsdb -time { } report_switching_activity -list_not_annotated > ./reports/switching_activity.rpt # check, update and report power check_power > ./reports/check_power.rpt update_power report_power -hierarchy > ./reports/power_hier.rpt
report_power -verbose > ./reports/power_verbose.rpt

这里对一些关键的配置命令进行一些说明。

set power_enable_analysis TRUE
set power_analysis_mode averaged
#set power_analysis_mode time_based

通过set power_enable_analysis TRUE使能功耗分析,会检查PTPX的license。功耗分析有两种模式,一种是averaged模式,会分析给定时间段内的平均功耗,也是这篇博客里采用的方式。time_based的方式则会给出时变的功耗值,详细的使用感兴趣可以自行研究。模式的设置用set power_analysis_mode命令来指定。

read_fsdb -strip_path tb_xxx/dut xxx.fsdb -time { }读入指定的波形文件,-strip_path参数后面跟着的应该是产生这个fsdb波形所用的testbench的模块名/在testbench中例化的测试模块的名字。例如:

module tb_my_module;

my_module dut (
.a(),
.b(),
.c()
); endmodule

那么这里的strip_path就是tb_my_module/dut。

另外-time参数后面的大括号里面,使用的是{begin_time end_time}的写法,单位为ns。具体来说,如果我想测量100-200ns,这里就使用-time {100 200}

最后,report_power命令有两种模式:

report_power -hierarchy > ./reports/power_hier.rpt
report_power -verbose > ./reports/power_verbose.rpt

hierarchy模式会层次化的报告设计模块的power(注意综合的网表也得是hierarchy的)。而verbose模式报告的模式会精细的报告具体的组件,internal power,switching power,leakage power的情况等。

数字asic流程实验(EX3)PTPX进行功耗评估的更多相关文章

  1. 【转】Verilog HDL常用建模方式——《Verilog与数字ASIC设计基础》读书笔记(四)

    Verilog HDL常用建模方式——<Verilog与数字ASIC设计基础>读书笔记(四) Verilog HDL的基本功能之一是描述可综合的硬件逻辑电路.所谓综合(Synthesis) ...

  2. 吴裕雄--天生自然python机器学习实战:K-NN算法约会网站好友喜好预测以及手写数字预测分类实验

    实验设备与软件环境 硬件环境:内存ddr3 4G及以上的x86架构主机一部 系统环境:windows 软件环境:Anaconda2(64位),python3.5,jupyter 内核版本:window ...

  3. 【遥感数字图像处理实验】Erdas版详细图文实验教程(8实验全)

    @ 目录 1. 专栏简介 2. 专栏地址 3. 专栏目录 1. 专栏简介 遥感数字图像的处理,是对遥感数字图像的计算机处理.与工业和医学数字图像不同,遥感数字图像类型更为多样,内容更为复杂.因此,遥感 ...

  4. 自己动手写处理器之第二阶段(1)——可编程逻辑器件与PLD电路设计流程

    将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第五篇,我尽量每周四篇         通过上一章的介绍,读者应该知道CPU内部有一些主要的电路,比方:译码电路.运算电路.控 ...

  5. linux-系统启动流程-7

    1,BIOS开机自检,检查cpu硬件及开机启动顺序,查找第一个磁盘磁头的MBR信息并加载BOOtloader,然后将控制权交与bootloader 2, GRUB GRUB(Grand Unified ...

  6. C#编程总结(十一)数字证书

    C#编程总结(十一)数字证书 之前已经通过文章介绍了数字证书的基础知识,包括加密和数字签名. 具体可见: 1.C#编程总结(七)数据加密——附源码 2.C#编程总结(八)数字签名 这里来讲述数字证书的 ...

  7. 160809209_李梦鑫_C语言程序设计实验2+选择结构程序设计_进阶

    <C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吴喆 实验地点 C05 机 ...

  8. PTPX Power Analysis Flow

    PrimeTime PX工具是PrimeTime工具内的一个feature. PTPX的功耗分析,可以报告出chip,block,cell的各个level的功耗. 使用PTPX可以分析的功耗的方式: ...

  9. 20155236 《Java程序设计》实验一(Java开发环境的熟悉)实验报告

    20155236 <Java程序设计>实验一(Java开发环境的熟悉)实验报告 一.实验内容及步骤 (一)使用JDK编译.运行简单的java程序 命令行下的程序开发 因为我用的是windo ...

  10. python手写神经网络实现识别手写数字

    写在开头:这个实验和matlab手写神经网络实现识别手写数字一样. 实验说明 一直想自己写一个神经网络来实现手写数字的识别,而不是套用别人的框架.恰巧前几天,有幸从同学那拿到5000张已经贴好标签的手 ...

随机推荐

  1. 前端开发系列058-网络篇之DOM和DOM操作

    一.关于DOM 简单介绍 DOM(全称为Document Object Model)即文档对象模型,是用于表示和操作HTML或XML文档内容的一套基础API. ✧ 有时候我们可能会看到DHTML这个专 ...

  2. 自动化数据集成的BI工具,为你提供决策洞察力

    传统的商业智能(BI)报表系统采用的是"业务提报表需求,IT进行开发"的模式.决策管理者和业务人员提出用报表等来展示经营管理数据的需求:接着IT响应需求,进行需求沟通.数据处理加工 ...

  3. POLIR-Laws:反不正当竞争法: 2025年10月15日起施行!反不正当竞争法完成修订(附法条更新对照表)

    2025年10月15日起施行!反不正当竞争法完成修订(附法条更新对照表) 来源 :新华社 时间:2025-06-30 15:33 十四届全国人大常委会第十六次会议6月27日表决通过新修订的反不正当竞争 ...

  4. SciTech-OS-MacOS的CSP(System Integrity Protection)系统正直性保护系统

    bash-3.2# csrutil usage: csrutil <command> Modify the System Integrity Protection configuratio ...

  5. Failed to start LVS and VRRP High Availability Monitor.-keepalived--九五小庞

    Keepalive启动报错,Fail to start LVS and VRRP High Availability Monitor. 输入:systemctl status keepalived,显 ...

  6. MySQL 21 为什么我只改一行的语句,锁这么多?

    上篇文章中,介绍了间隙锁和临键锁,但并未说明加锁规则.本文首先介绍加锁规则,由于间隙锁在可重复读隔离级别下才有效,因此接下来的内容默认在可重复读隔离级别下. 加锁规则(限5.x系列<=5.7.2 ...

  7. 返璞归真--从零开始建设k8s监控之thanos-sidecar(七)

    前言 本文详细讨论一下thanos-sidecar 环境准备 组件 版本 操作系统 Ubuntu 22.04.4 LTS docker 24.0.7 thanos 0.36.1 thanos概述 th ...

  8. OAuth2.0系列之信息Redis存储实践(七)

    @ 目录 1.文章前言介绍 2.典型例子实践 3.功能简单测试 OAuth2.0系列博客: OAuth2.0系列之基本概念和运作流程(一) OAuth2.0系列之授权码模式实践教程(二) OAuth2 ...

  9. 如何基于 ZEGO SDK 实现回声消除、自动增益控制、降噪功能

    1 概述 在实时音视频通话时,可以对音频进行 3A 处理,提高通话质量和用户体验.主要包括 AEC(Acoustic Echo Cancelling,回声消除),AGC(Automatic Gain ...

  10. 学习理论:代理损失函数的泛化界与Rademacher复杂度

    3月份以来的科研基本围绕推导代理损失函数的一致界展开,证明现已基本完工(关于代理损失函数的一致界的介绍可参见之前的博客<学习理论:预测器-拒绝器多分类弃权学习>).导师建议我可以的话把泛化 ...