library 中的internal power为何为负值?
下图是library中一个寄存器Q pin 的internal_power table, 表中该pin 的internal power 大多都是负值。其实library 中的internal_power 不是功率,而是热量,单位是焦耳不是瓦特
原因:
Internal power 为负值是由Liberate K 库的建模方式决定的,Liberate K 库的时候,对internal power 的建模有三种模式,由变量 pin_based_power 的值控制。
pin_based_power=1, Default值,monitor Vdd and Gnd, 这种建模方式,上升『热量』跟下降『热量』分别是上升/下降的实测『热量』减去1/2*CVout^2, 在该模式下,上升『热量』永远都是正值,因为上升过程对电容进行充电,负载看到的Vout 不可能超过Vdd; 但是下降功耗可能为负,因为有时一些电流会由于耦合电容而流回电源,导致输出节点的电压过冲,在输出电压开始下降之前Vout超过Vdd, 从而下降『热量』为负。
pin_based_power=0, monitor Vdd only, 这种建模方式,上升『热量』是实测上升『热量』减去负载消耗的『热量』CVout^2, 下降『热量』就是实测热量。所以该模式下,上升『热量』可能为负,但下降『热量』永远为正。
pin_based_power=2, also monitor current on side inputs, 这种建模方式跟第一种建模方式情况一致,只是在K 库的时候考虑了输入pin 的状态。
不论哪种建模方式,虽然上升『热量』或下降『热量』有可能为负,但是总的『热量』(Edyn,fall + Edyn,rise ) 肯定是正的。
补充
在K 库时,internal power分Switching power 跟 Hidden power 两类。
Switching power: 输入翻转会导致输出翻转,通常在library中对应pin 的internal power 有『related_pin』, 表是二维表,index 分别是输入transition 跟输出load. 也有输出pin 的internal power 没有『related_pin』, 此时表是一维表,index 是输出load.
Hidden power: 输入翻转不会导致输出翻转,用library 中input pin 的internal power 做计算,input pin 的internal power 只跟该pin 的transition 相关,所以用transition 做index 进行查表
library 中的internal power为何为负值?的更多相关文章
- 在Android library中不能使用switch-case语句访问资源ID的原因分析及解决方案
转自:http://www.jianshu.com/p/89687f618837 原因分析 当我们在Android依赖库中使用switch-case语句访问资源ID时会报如下图所示的错误,报的错误 ...
- Library中的title与Name
在Library中新增Title字段,其中文件夹的title字段与Name相同,并且默认生成:但是文件的Title字段为空.
- Android 工程引入自定义Library后,工程无法识别Library中的类
这个问题有点神啊. 在工程中导入第三方类库包(自定义Library)本来运行的好好的,突然间所有引用的Library中的类都无法在工程中引用了,一个劲的打红叉,eclipse也重启了,项目也clean ...
- PowerShell 批量签入SharePoint Document Library中的文件
由于某个文档库设置了编辑前签出功能,导致批量导入文件时这些文件默认的状态都被签出了.如果手动签入则费时费力,故利用PowerShell来实现批量签入Document Library中的文件. Reso ...
- Android学习之Design Support Library中TextInputLayout的使用
今天学习了一个Android Design Support Library 中的TextInputLayout控件,感觉还不错,较之以往的Editetxt,多了几分灵活性,使用也非常easy,故此给大 ...
- 模块化开发之butterknife 在 library中使用
在Android开发中butterknife是一个很好的对资源初始化的工具,它可以使你的代码简洁通俗易懂,同时配合Android ButterKnife Zelezny插件可以让你写代码的速度提升至少 ...
- Batch Normalization原理及其TensorFlow实现——为了减少深度神经网络中的internal covariate shift,论文中提出了Batch Normalization算法,首先是对”每一层“的输入做一个Batch Normalization 变换
批标准化(Bactch Normalization,BN)是为了克服神经网络加深导致难以训练而诞生的,随着神经网络深度加深,训练起来就会越来越困难,收敛速度回很慢,常常会导致梯度弥散问题(Vanish ...
- 获取iPod library中的媒体文件
[获取iPod library中的媒体文件] The Media Player framework provides facilities for playing movie, music, audi ...
- 类中的internal成员可能是一种坏味道
前言 最近除了搞ASP.NET MVC之外,我也在思考一些编程实践方面的问题.昨天在回家路上,我忽然对一个问题产生了较为清晰的认识.或者说,原先只是有一丝细微的感觉,而现在将它和一些其他的方面进行了联 ...
随机推荐
- SAP 登录Fiori的user和登录WEB UI的business role之间的关系。
SAP 登录FIORI的user 会被assign 一些控制前端app显示的business role(是一些PFCG role的集合),该business role和登录web ui选择的S4C_S ...
- php安装xdebug扩展,PHPStorm+XDebug单步调试
(一)php安装xdebug扩展,PHPStorm+XDebug单步调试 (二)PHPStorm配置XDebug (三)PHPStorm使用XDebug调试 (四)PhpStorm+Xdebug配置单 ...
- multiprocessing 方法解析:
以上是关于进程池的使用,截下来开始介绍如何使用多进程,由于multiprocessing 实现比concurrent.futures 实现更加底层这里还是推荐大家使用concurrent.future ...
- 本地.local域名访问实现
苹果的 Bonjour 的多址广播域名服务(mDNS) 使用".local "后缀来识别 Bonjour 可访问的设备 比如树莓派可以用用raspberrypi.local去访问非 ...
- double加减乘除
//四舍五入 public static double toDecimal(Double num){ if(Double.isNaN(num) || num == null){ return 0; } ...
- data_analysis 第一课
1.anaconda的安装与使用 在官网下载anaconda的客户端,因为python有2和3之分,所以有两个版本可以供选择,由于该课程使用2作为开发工具,选择anaconda2下载安装. 安装好之后 ...
- Spring Boot的Web配置
一.使用YML文件配置多套环境
- 我的python笔记06
面向对象学习 本节内容: 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做< ...
- linux - python:卸载
[root@test ~]# rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps ##强制删除已安装程序及其关联[root@test ~]# ...
- JVM学习-环境构建
想学习JVM,java虚拟机的底层原理.下面介绍下怎么将Java文件compiler成字节码,然后反编译为二进制查看分析. 一.JavaClass.java文件: package com.gqz.ja ...