下图是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. codeforces每日一题1-10

    目录: 1.1093D. Beautiful Graph(DFS染色) 2.514C - Watto and Mechanism(Tire) 3.69E.Subsegments(STL) 4.25C. ...

  2. IDEA 解决Number objects are compared using '==', not 'equals()' 警告

    当代码被工具标黄色高亮时,代表需要优化或重构了 == 是值相等.对于Integer这样的数据类型而言,意义是两个Integer对象的内存地址相等.也就是说如果你有两个不同的Integer的对象, 如果 ...

  3. Net项目添加 WebAPI

    1.新建一个  WebApiConfig.cs public static void Register(HttpConfiguration config) { // Web API 配置和服务 // ...

  4. 初识XXE漏洞

    本文是参照本人觉得特别仔细又好懂的一位大佬的文章所做的学习笔记 大佬的链接:https://www.cnblogs.com/zhaijiahui/p/9147595.html#autoid-0-0-0 ...

  5. Quartz.NET 2.x教程

    第1课:使用Quartz第2课:工作和触发器第3课:关于工作和JobDetails的更多信息第4课:有关触发器的更多信息第5课:SimpleTriggers第6课:CronTriggers第7课:Tr ...

  6. 题解 CF409A 【The Great Game】

    题目传送门. 思路: 首先我们定义\(2\)个字符串,分别存放 TEAM 1 与 TEAM 2 的出招顺序.接着再定义\(2\)个变量,存放 TEAM 1 与 TEAM 2 的分数. string s ...

  7. navicat连接mysql8.0+版本报错2059

    ERROR 2059 : Authentication plugin 'caching_sha2_password' cannot be loaded 问题: 连接Docker启动的mysql出现:E ...

  8. C编译过程

    system()调用系统命令 C语言源代码——> 预编译(1.去掉注释:2.包含文件)——> gcc -o a.o a.c 编译(编译成二进制质量)——> 链接系统库函数——> ...

  9. Docker最全教程——从理论到实战(十)

    终于按时完成第二篇.本来准备着手讲一些实践,但是数据库部分没有讲到,部分实践会存在一些问题,于是就有了此篇以及后续——数据库容器化.本篇将从SQL Server容器化实践开始,并逐步讲解其他数据库的容 ...

  10. appium+android测试环境安装

    1. jdk配置 一.背景 JDK已经更新到12了,但是由于很多工具仍然未及时更新,故推荐最稳定的JDK版本1.8.x: JDK需要配置通常情况下,JDK配置分为三项: JAVA_HOME:某些软件仍 ...