新手教程07:集成电路中的功耗分析

2023-10-27

前言

一、数字芯片的功耗定义

动态功耗

静态功耗

二、如何降低功耗?

2.1 降低动态功耗

2.2 降低静态功耗

总结


前言

零基础初学数字IC,学会什么写什么,与大家一起进步。

最近面试过程中经常被问到有关功耗的问题,回答的不是很好,所以本篇中主要总结一下与功耗相关的问题,以便后续复习。


一、数字芯片的功耗定义

数字芯片的功耗可以分为两个部分:动态功耗和静态功耗。动态功耗是芯片正常工作时由于信号翻转产生的功耗,静态功耗是电路在通电但是不工作时产生的功耗。

动态功耗

动态功耗(Dynamic Power)= 翻转功耗(Switch Power) + 短路功耗(Internal Power)

翻转功耗:芯片在工作过程中,由于负载电容进行充放电导致的功耗;

P_{switch}=k \cdot C \cdot {V_{DD}}^2 \cdot f

短路功耗(Internal Power):信号的翻转不是在瞬时完成的,那么在翻转的过程中总有一段时间会导致NMOS和PMOS同时导通,那么相当于在VDD和GND之间形成了短路,由此产生的功耗就是短路功耗;

P_{internal}=m \cdot V_{DD} \cdot I_{sc}

静态功耗

静态功耗(Leakage Power)主要是由于泄露电流而导致的功耗,在CMOS 门中,漏电流主要来自4个源头:

  • 亚阈值漏电流(Sub-threshold Leakage, ISUB): 亚阈值泄漏电流是晶体管应当截止时流过的电流;
  • 栅极漏电流(Gate Leakage, Igate): 由于栅极氧化物隧穿和热载流子注入,从栅极直接通过氧化物流到衬底的电流;
  • 栅极感应漏电流(Gate Induced Drain Leakage, IGIDL): 结泄漏电流发生在源或漏扩散区处在与衬底不同电位的情况下。结泄漏电流与其他泄漏电流相比时通常都很小。
  • 反向偏置结泄漏(Reverse Bias Junction Leakage ,IREV):由少数载流子漂移和在耗尽区产生电子/空穴对引起。

P_{leakage}=f(V_{DD}, V_{th}, \frac{W}{L}) 

静态功耗可以看作是 电压,阈值电压 和 晶体管尺寸的函数。

二、如何降低功耗?

2.1 降低动态功耗

电压角度:

  • 降低工作电压
  • 使用多电压域:对于不同 function 的 blocks 和 modules 提供不同的电压;例如,对于存储器采用高电源电压来保证存储单元的稳定性,对于处理器采用中等大小的电压,对运行速度较低的IO外围电路采用低电压;决跨电压域信号传输的方法是使用电平转换器;
  • 动态电压缩放技术 DVS(Dynamic voltage scaling):芯片在运行的过程中动态的调整某些部分的电压;例如:处理器可以在不同的工作模式下使用不同的电压;
  • 动态电压频率缩放技术 DVFS(Dynamic voltage frequency scaling):芯片在运行的过程中动态的调整某些部分的电压和频率;这种技术需要软硬件协同处理;
  • 电源关断 Power-gating

负载电容角度:

  • 合理的布局布线
  • 等比例缩小晶体管尺寸
  • 多芯片系统中可以考虑使用多芯片封装技术,降低接口电容;
  • 减小逻辑深度

数据翻转角度:

  • 减少不必要的数据翻转
  • 当不需要操作时,数据保持不变,不强制置0或者置1
  • 使用格雷码等状态翻转较少的编码;

频率角度:

  • 降低工作频率
  • 多时钟域
  • DVFS 动态电压频率缩放技术
  • 使用门控时钟,clock gating;

2.2 降低静态功耗

电压角度:

  • 降低工作电压
  • 使用多电压域
  • 动态电压缩放技术 DVS(Dynamic voltage scaling)
  • 动态电压频率缩放技术 DVFS(Dynamic voltage frequency scaling)
  • 电源关断 Power-gating

泄露电流角度:

  • 提高使用高阈值电压的晶体管 HVT 的比例
  • 使用多种阈值电压的晶体管:对于不同的 blocks,modules 安排使用不同阈值电压的晶体管,实现 performance 和 power 的balance;
  • 使用多栅氧厚度晶体管
  • 调节衬底电压,使晶体管处于反向体偏置


总结

以上就是今天学习的数字芯片中功耗相关的内容,欢迎大家一起讨论交流~

参考资料:

IC设计中节省静态功耗和动态功耗的方法_降低动态功耗的方法_一点一点的进步的博客-CSDN博客数字IC笔试题(7)——低功耗设计【静态功耗】【动态功耗】

低功耗设计基础:深入理解Internal Power - 知乎 (zhihu.com)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

新手教程07:集成电路中的功耗分析 的相关文章

  • SpringBoot整合activeMQ遇到的坑,以及整合案例

    一 出现以下异常时 需要注意 receive获取消息时不可有返回值 否则循环报此异常 Execution of JMS message listener failed and no ErrorHandler has been set 201
  • 泛型另解

    什么是泛型 我们在编写程序时 经常遇到两个模块的功能非常相似 只是一个是处理int数据 另一个是处理string数据 或者其他自定义的数据类型 但我们没有办法 只能分别写多个方法处理每个数据类型 因为方法的参数类型不同 有没有一种办法 在方
  • 解决python安装模块出现WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)

    你的系统时间不对 启动ntpd服务同步网络时间
  • 串联法和故事法

    课程目的 1 掌握串联法 掌握故事法 举例 老鼠一苹果一毛毛中一手表一鸭子 老鼠吃了一个苹果 苹果掉下来砸到了一条毛毛虫 毛毛虫带着手表 手表勒住了一只鸭子 1 串联法和故事法的区别 串联法 提到老鼠 只想到苹果 提到苹果 只想到毛毛虫 提
  • CTeX使用全过程

    最近投稿时编辑部给的模板居然是古老的CCT Mac OS的我直接懵逼了 这也让我重新翻出来那台8年前的Dell 期中也遇到了一系列的问题 现在解决了就Mark一下吧 养成好习惯 CTeX C T e X CTeX CTeX是什么 CTEX是

随机推荐

  • C++核心编程:内存分区模型

    C 程序在执行时 将内存大方向划分为4个区域 代码区 存放函数体的二进制代码 由操作系统进行管理的 全局区 存放全局变量和静态变量以及常量 栈区 由编译器自动分配和释放 存放函数的参数值 局部变量等 堆区 由程序员分配和释放 若程序员不释放
  • 小程序嵌入网页向小程序跳转并传参,微信小程序中实现公众号授权获取openId

    大家好 我是小编鹏仔 近期给学校用uniapp开发了一款校园小程序 小程序有一些活动 咨询 公告 请假等通知 需要通过微信推送提示 用小程序自己的订阅方法有一些限制 于是需求这边想用绑定的学校公众号推送 因为小程序获取用户的openId和公
  • C语言编写求最大值及其下标

    本题要求编写程序 找出给定的n个数中的最大值及其对应的最小下标 下标从0开始 输入格式 输入在第一行中给出一个正整数n 1
  • 在windows的命令行窗口打开.ipynb文件

    例如 在Windows10操作系统中 通过命令行窗口打开H github路径下的my ipynb文件 那么在CMD窗口输入以下红色命令 base C Users xxx gt cd H github base C Users xxx gt
  • CVPR 2021

    DMSANet Dual Multi Scale Attention Network paper https arxiv org pdf 2106 08382 pdf code https github com abhinavsagar D
  • Python官方中文文档上线,Pythoner快收藏福利!

    参加 2019 Python开发者日 请扫码咨询 编辑 suiling 出品 Python大本营 ID pythonnews 各位学 Python 的小伙伴们马上就要到激动人心的时刻了 因为 因为 Python 官方中文文档上线了 不仅有
  • 量化交易之QT篇 - 设置窗口大小、标题、icon(画背景图片)

    MainScens h ifndef MAINSCENS H define MAINSCENS H include
  • 命令指示符操作

    1 复制操作 选中 enter键
  • js中大括号{}的遍历每一项操作

    话不多说直接上例子 循环遍历每一项
  • 分布式数据库 Join 查询设计与实现浅析

    相对于单例数据库的查询操作 分布式数据查询会有很多技术难题 本文记录 Mysql 分库分表 和 Elasticsearch Join 查询的实现思路 了解分布式场景数据处理的设计方案 文章从常用的关系型数据库 MySQL 的分库分表Join
  • Docker大纲

    Docker Docker 概述 Docker 安装 Docker 命令 容器命令 镜像命令 操作命令 Docker 操作 Docker 容器数据卷 DockerFile Docker 网络原理 Idea整合Docker Docker Co
  • Brew下载慢解决办法

    在利用brew install xxx进行软件安装的时候 brew会把临时的下载文件放在cache目录下 可以通过 brew cache 查看下载的缓存目录 默认的缓存目录为 Users Library Caches Homebrew Ca
  • 围绕开源的系列思考——国家篇

    点击上方 开源社 关注我们 作者 庄表伟 编辑 陈梅梅 责编 Corrie 从穿越小说聊起 我非常喜欢看各种网络小说 其中最大的一类 自然是穿越小说 其中又可以细分为很多类型 按照穿越回到的时代 从远古到近现代的都有 这其中有一个很小的分类
  • 记一次JVM Full GC 引发的线上故障,真是坑!

    这篇文章给大家聊一次线上生产系统事故的解决经历 其背后代表的是线上生产系统的JVM FullGC可能引发的严重故障 一 业务场景介绍 先简单说说线上生产系统的一个背景 因为仅仅是文章作为案例来讲 所以弱化大量的业务背景 简单来说 这是一套分
  • MIPI D-PHY的校准测试

    MIPI的校准环节类似于DDR中的读写训练 其目的都是为了满足最佳的眼图采样时刻 因此 在系统的传输速率很高 通道之间存在延时 设计中有外部干扰等等影响因素的时候 信号抖动将会被增强 此时 校准将对长时间的稳定运行起到关键的补偿作用 在MI
  • 2021年常见web前端面试题

    1 Vue实现数据双向绑定的原理是什么 2 这些年解决过那些困难问题 3 平时通过什么途径提升自己 4 vue响应式原理 5 prosy的优缺点 6 怎样监听数组 7 计算属性和watch的区别 8 vueX简述 9 vuex可以做什么 1
  • node-xlsx - 简单几行代码处理导入、导出 excel 表格数据,免费开源的 javascript 工具库

    最近开发的项目上需要把数据导出为 xlsx 文档 找了一圈 发现 node xlsx 简单好用 分享给各位 关于 node xlsx 在 web 开发中 管理后台生成 excel 报表并且下载 一个很常用的功能 很多 javascript
  • 【LeetCode】1812. 判断国际象棋棋盘中一个格子的颜色

    题目描述 给你一个坐标 coordinates 它是一个字符串 表示国际象棋棋盘中一个格子的坐标 下图是国际象棋棋盘示意图 如果所给格子的颜色是白色 请你返回 true 如果是黑色 请返回 false 给定坐标一定代表国际象棋棋盘上一个存在
  • 测试发布

    基于docker的构建
  • 新手教程07:集成电路中的功耗分析

    前言 一 数字芯片的功耗定义 动态功耗 静态功耗 二 如何降低功耗 2 1 降低动态功耗 2 2 降低静态功耗 总结 前言 零基础初学数字IC 学会什么写什么 与大家一起进步 最近面试过程中经常被问到有关功耗的问题 回答的不是很好 所以本篇