Power Analysis是芯片设计实现中极重要的一环,因为它直接关系到芯片的性能和可靠性。Power Analysis 需要Timing Analysis 产生包含频率、transition 等时序信息的 Timing File,也需要包含Net Capacitance和Resistance信息的SPEF文件,功耗分析工具根据timing file 和RC value计算功耗或者分析IR-Drop/EM。

在介绍数字后端Power Signoff Flow之前,先大概论述一下芯片的功耗构成和基本原理。芯片功耗主要分为Static Power (静态功耗)和Dynamic Power(动态功耗)两大类。动态功耗来自于芯片晶体管的开关翻转,它取决于芯片的时钟频率和switching activity。静态功耗是指芯片晶体管的LeakagePower(泄漏功耗)。

进一步细分,动态功耗可以分为Internal Power和Switching Power.

  • Switching power是由于芯片内instance 上的逻辑翻转对有效负载电容进行充放电所消耗的功耗。公式如下,其中,a是switching activity,f是clock frequency,Ceff是有效负载电容,Vdd是芯片电源电压。

  • Internal power是由于晶体管信号传输的某一个瞬间,PMOS和NMOS会同时导通的短路电流消耗的功耗。对于更低阈值电压或者transition time大的晶体管internal power会更大。
  • 静态功耗,即漏电功耗(leakage power)。漏电流早期的CMOS工艺里是可忽略的,但是随着近年来器件尺寸越来越小以及阈值电压的减小使Leakage current在功耗分析中不能再被忽视。Leakage power主要由以下几个方面组成

推荐一篇论文:Leakage Current Mechanisms and Leakage Reduction Techniques in Deep-Submicrometer CMOS Circuits。作者是KaushikRoy.

Power Signoff

当今主流的power signoff 工具有Cadence的Voltus 和 ANSYS公司的Redhawk。限于作者工作经验,本文就基本flow 做一简单概述。

Power signoff 主要包括静态、动态功耗分析和Signal-EM分析以及基于芯片封装模型的SIPI分析等。

静态功耗分析(Static IR-drop/EM Power Analysis):这里的静态功耗分析并不是leakage 功耗,而是指一种基于芯片内部电路在直流工作模式下的功耗分析。

  • 芯片上的PG网络在静态功耗分析中会近似于电阻网络

  • 而且流经各个instance的电流都认为是直流电流。

  • 均值电流都是在每个instance上算的,利用欧姆定律即可直接算出节点电压。电迁移值Electromigration 在电源网络分析之后会得出金属线网络的电流密度,再根据对应工艺的Tech file里对于Electromigration的极限电流密度的约束,便可以得出整个芯片的电迁移报告。报告里所有电迁移值都用百分比来表示,一般而言都是用100%来signoff芯片电迁移是否可以满足极限值。<这里涉及到不同工艺下的EM table和Chip Reliability 的内容;对于电迁移概念的理解,还有一个概念是Blech Length和Black Equation;后续会做相关分享。

  • Static IR/EM Analysis:得到芯片功耗之后,会去分析IR-drop和EM,static模式下主要check 芯片的PowerMesh 够不够强壮,有没有power/ground mesh 的short 和open;再就是memory 的channel 处standard cell 是否有足够的metal覆盖。

Static IR/EM Analysis:得到芯片功耗之后,会去分析IR-drop和EM,static模式下主要check 芯片的PowerMesh 够不够强壮,有没有power/ground mesh 的short 和open;再就是memory 的channel 处standard cell 是否有足够的metal覆盖。

动态功耗分析(Dynamic IR-drop/EM Power Analysis)

  • On-chip的PG mesh 被模型化成RLC网络;

  • 对于有开关和状态翻转的instance cell,其电流模型是时间和电压值的函数;

  • 对于没有翻转的instance cell,会分析其中有效的decoupling capacitance以及ESR (Effective Series Resistance)和leakage current。

  • 每个instance的电流模型是PWL Current Model;

  • Dynamic Voltage Drop是通过在每一个电路节点的瞬态分析得到的

对于Dynamic IR-drop/EM, 要特别说一下APL file和Decoupling Capacitance。

  • APL file:通常由foundary 提供,也可以用工具自带的utility产生。APL file对于dynamic IR-drop analysis会更准确,对于device 内部的decoupling 电容可以分析进去,dynamic结果看起来更符合design实际情况。

  • Decoupling Capacitance:Decap实际上就是在Vdd和Gnd之间加入的隔离电容,可以去除很多由电源上的噪声而引起的Voltage Drop。在debug dynamic IR-drop时需要结合decap density map进行比对,看是不是这些issue points处的decap density过低。decap最好尽可能分布均匀而且在一些敏感基本单元附近有足够的decap cells。

浅谈Power Signoff的更多相关文章

  1. 浅谈 Linux 内核无线子系统

    浅谈 Linux 内核无线子系统 本文目录 1. 全局概览 2. 模块间接口 3. 数据路径与管理路径 4. 数据包是如何被发送? 5. 谈谈管理路径 6. 数据包又是如何被接收? 7. 总结一下 L ...

  2. (转)浅谈 Linux 内核无线子系统

    前言 Linux 内核是如何实现无线网络接口呢?数据包是通过怎样的方式被发送和接收呢? 刚开始工作接触 Linux 无线网络时,我曾迷失在浩瀚的基础代码中,寻找具有介绍性的材料来回答如上面提到的那些高 ...

  3. 《Machine Learning in Action》—— 浅谈线性回归的那些事

    <Machine Learning in Action>-- 浅谈线性回归的那些事 手撕机器学习算法系列文章已经肝了不少,自我感觉质量都挺不错的.目前已经更新了支持向量机SVM.决策树.K ...

  4. 浅谈 Fragment 生命周期

    版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...

  5. 浅谈 LayoutInflater

    浅谈 LayoutInflater 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/View 文中如有纰漏,欢迎大家留言指出. 在 Android 的 ...

  6. 浅谈Java的throw与throws

    转载:http://blog.csdn.net/luoweifu/article/details/10721543 我进行了一些加工,不是本人原创但比原博主要更完善~ 浅谈Java异常 以前虽然知道一 ...

  7. 浅谈SQL注入风险 - 一个Login拿下Server

    前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...

  8. 浅谈WebService的版本兼容性设计

    在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...

  9. 浅谈angular2+ionic2

    浅谈angular2+ionic2   前言: 不要用angular的语法去写angular2,有人说二者就像Java和JavaScript的区别.   1. 项目所用:angular2+ionic2 ...

随机推荐

  1. elasticsearch index 过程

    (1)index request 到某一个Node(选择node的方式是采用round-robin)方法,此node 称为coordinate node,继续当前index request应该执行在哪 ...

  2. LeetCode subarray-sum-equals-k题解 前缀和+Hash表+枚举——线性做法

    文章目录 题意 思路 连续子数组的和sum[i,j] 源码 结果记录 题意 给定一个数组,求连续的子数组的和为k的子数组个数. 思路 连续子数组的和sum[i,j] sum[i,j]=∑k=ijAk( ...

  3. jQuery---自定义动画 animate();

    自定义动画 animate(); 第一个参数:{对象},里面可以传需要动画的样式 第二个参数:speed 动画的执行时间 第三个参数:easing 动画的执行效果 第四个参数:callback 回调函 ...

  4. ssh配置公钥私钥登录服务器

    原理 密码的方式的即时认证的方式 .而公私钥 是在服务器保存一份已经通过认证的加密串,登录时通过这个加密串去认证. 公钥是可以传播的,私钥只能在自己的本地 公私钥的工作原理, 可以参考这篇文章: SS ...

  5. linux--介绍和指令练习

    Linux Linux就是个操作系统:它和Windows XP.Windows7.8.10什么的一样就是一个操作系统而已! Linux能干什么:能当服务器,在服务器上安装者各种企业应用.服务. 比如: ...

  6. UnicodeDecodeError: 'gbk' codec can't decode byte 0xfe in position 45: illegal multibyte sequence

    常见的一种解码错误如题目所示,下面介绍该错误的解决方法 (1).首先在打开文本的时候,设置其编码格式,如:open(‘1.txt’, encoding=’gbk’): (2).若(1)不能解决,可能是 ...

  7. 【巨杉数据库SequoiaDB】巨杉Tech | 四步走,快速诊断数据库集群状态

    1.背景 SequoiaDB 巨杉数据库是一款金融级分布式数据库,包括了分布式 NewSQL.分布式文件系统与对象存储.与高性能 NoSQL 三种存储模式,分别对应分布式在线交易.非结构化数据和内容管 ...

  8. python 中 if __name__ == '__main__' 判断的作用

    假设这样一个a.py文件 def fun1(): ........ def fun2(): ......... if __name__=='__main__': ......#执行的一些语句 当你执行 ...

  9. java锁(转)

    Java中锁分类 锁的分类 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁(java.util.concurrent包下的几乎都 ...

  10. Python RSA

    # -*- coding: utf-8 -*- from Crypto import Random from Crypto.Hash import SHA from Crypto.Cipher imp ...