下图是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为何为负值?的更多相关文章

  1. 在Android library中不能使用switch-case语句访问资源ID的原因分析及解决方案

    转自:http://www.jianshu.com/p/89687f618837 原因分析   当我们在Android依赖库中使用switch-case语句访问资源ID时会报如下图所示的错误,报的错误 ...

  2. Library中的title与Name

    在Library中新增Title字段,其中文件夹的title字段与Name相同,并且默认生成:但是文件的Title字段为空.

  3. Android 工程引入自定义Library后,工程无法识别Library中的类

    这个问题有点神啊. 在工程中导入第三方类库包(自定义Library)本来运行的好好的,突然间所有引用的Library中的类都无法在工程中引用了,一个劲的打红叉,eclipse也重启了,项目也clean ...

  4. PowerShell 批量签入SharePoint Document Library中的文件

    由于某个文档库设置了编辑前签出功能,导致批量导入文件时这些文件默认的状态都被签出了.如果手动签入则费时费力,故利用PowerShell来实现批量签入Document Library中的文件. Reso ...

  5. Android学习之Design Support Library中TextInputLayout的使用

    今天学习了一个Android Design Support Library 中的TextInputLayout控件,感觉还不错,较之以往的Editetxt,多了几分灵活性,使用也非常easy,故此给大 ...

  6. 模块化开发之butterknife 在 library中使用

    在Android开发中butterknife是一个很好的对资源初始化的工具,它可以使你的代码简洁通俗易懂,同时配合Android ButterKnife Zelezny插件可以让你写代码的速度提升至少 ...

  7. Batch Normalization原理及其TensorFlow实现——为了减少深度神经网络中的internal covariate shift,论文中提出了Batch Normalization算法,首先是对”每一层“的输入做一个Batch Normalization 变换

    批标准化(Bactch Normalization,BN)是为了克服神经网络加深导致难以训练而诞生的,随着神经网络深度加深,训练起来就会越来越困难,收敛速度回很慢,常常会导致梯度弥散问题(Vanish ...

  8. 获取iPod library中的媒体文件

    [获取iPod library中的媒体文件] The Media Player framework provides facilities for playing movie, music, audi ...

  9. 类中的internal成员可能是一种坏味道

    前言 最近除了搞ASP.NET MVC之外,我也在思考一些编程实践方面的问题.昨天在回家路上,我忽然对一个问题产生了较为清晰的认识.或者说,原先只是有一丝细微的感觉,而现在将它和一些其他的方面进行了联 ...

随机推荐

  1. 入门移动端混合开发 实战京东 APP(完整更新)

    课程资料获取链接:点击这里 混合开发入门 主流开发方案实战京东移动端APP 无需原生开发基础,也能完美呈现京东商城.本课程融合vue.Android.IOS等目前流行的前端和移动端技术,混合开发经典电 ...

  2. js -- 移动端pc端自动切换

    1. 判断浏览器类型 浏览器判断使用的github开源项目current-device,下面是地址: https://github.com/matthewhudson/current-device 在 ...

  3. [Python]python对csv去除重复行 python 2020.2.11

    用pandas库的.drop_duplicates函数 代码如下: import shutil import pandas as pd frame=pd.read_csv('E:/bdbk.csv', ...

  4. DataGridView 定位到指定行

    //定位到指定行(样式)dataGridView1.ClearSelection();dataGridView1.Rows[selectIndex].Selected = true; //让指定行处于 ...

  5. java中锁与@Transactional同时使用导致锁失效的问题

    示例代码 @Transactional public void update(int id) { boolean lock = redisLock.lock(id); if (!lock) { thr ...

  6. PyQt5+Eric6开发的一个使用菜单栏、工具栏和状态栏的示例

    前言 在做一个数据分析的桌面端程序遇到一些问题,这里简单整理下,分享出来供使用者参考. 1.网上查使用PyQt5工具栏的示例,发现很多只是一个简单的退出功能,如果有几个按钮如何处理?如何区分点击的究竟 ...

  7. JS变量和数据类型及其转化

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

  8. adb server version (xx) doesn't match this client (xx); killing...

    问题 查看AndroidSDK的adb版本 查看模拟器adb的版本号 安装路径/bin目录下的 nox_adb.exe 将AndroidSDK的adb复制出来,重命名为nox_adb.exe,覆盖模拟 ...

  9. 为QT应用程序添加图标 转

    第1,第2种方法经本人验证可行 1:通过qmake生成makefile实现过程: (1) 找到一张图片.ico,名字改为myappico.ico: (2) 创建一个新的文本文档,内部添加  IDI_I ...

  10. python之路递归、冒泡算法、装饰器

    map使用 完整用户名登录,注册 冒泡排序 递归 def func(arg1,arg2): if arg1 == 0: print arg1, arg2 arg3 = arg1 + arg2 prin ...