ic基础|功耗篇04:门级低功耗技术

大家好,我是数字小熊饼干,一个练习时长两年半的IC打工人。我在两年前通过自学跨行社招加入了IC行业。现在我打算将这两年的工作经验和当初面试时最常问的一些问题进行总结,并通过汇总成文章的形式进行输出,相信无论你是在职的还是已经还准备入行,看过之后都会有有一些收获,如果看完后喜欢的话就请关注我吧~谢谢~

在之前的文章中,我们主要介绍了系统级、RTL级低功耗技术,这些低功耗方法主要依靠架构人员、软件人员和数字前端人员实现。本期文章让我们来聊聊门级低功耗优化方法,与之前介绍过的低功耗方法不同的是,门级低功耗方法主要依靠的是EDA工具实现。

一、路径平衡

芯片中存在大量的组合逻辑,当来自不同路径的信号输入至同一个逻辑门时,不同路径上的信号传输延迟导致了不必要的翻转,这就会导致大量的动态功耗的产生,因此,可以通过插入buffer的方法将不同路径的输入信号延迟修正至一致,使不同路径上的信号同时到达,这样就不会产生不必要的翻转。这种方法就是所谓的路径平衡,如下图所示:

在这里插入图片描述
如上图所示,通过插入buffer的方式增加了信号B的延迟,使得信号A与B同时到达与门,进而减少了由之前的“毛刺”所带来的动态功耗。

二、逻辑级优化

逻辑级优化是通过减少冗余逻辑、调整门的大小、重排序操作、引脚的交换/重新分配、重新映射、使用低功耗的标准单元进行设计等方法实现的门级低功耗方法。下面让我们开始对这些内容进行介绍:

2.1 逻辑门尺寸优化

简单来说,所谓的逻辑门尺寸优化就是在不同路径使用不同尺寸的逻辑门。

例如:在时序比较宽裕的非关键路径上可以使用一些较小尺寸的逻辑门,这样可以减小输入电容,从而减小前驱的翻转电流,进而降低了翻转功耗。但是这样也会增大信号的转换时间,对其时序造成一定的影响,因此可以对非关键路径上的逻辑门进行优化,以降低动态功耗。

2.2 引脚重分配

对于逻辑单元库的标准单元来说,其不同引脚的逻辑功能相同,但其负载电容与信号延时参数可能是不同的,因此可以使用负载电容低的引脚去连接翻转频率高的输入信号,这样就可以减少翻转频率高的信号的负载电容,减少充放电导致的动态功耗。
在这里插入图片描述
如上图所示,从上往下的引脚负载电容依次增大,输入信号a到d的翻转频率依次增大,因此,通过将信号按照d-a的顺序分配至各个引脚,可以实现降低功耗的目的,这种方法叫引脚重分配。

2.3 重排序

对于逻辑门来说,其各个输入信号的翻转率可能并不相同,因此可以将翻转频率大的输入信号分配至靠近输出的位置,以减少翻转率高的输入信号驱动的逻辑门数量,这种低功耗方法叫做重排序。下面让我们举个例子:
在这里插入图片描述
图中的输入信号b为翻转频率较高的信号,因此对信号b进行重排序操作,在排序前,信号b会驱动4个逻辑门(如左图所示),而排序后,只会驱动2个逻辑门(如右图所示),这就减少了内部电路的翻转,从而降低了动态功耗。

2.4 重映射

重映射相当于对逻辑进行优化,将冗余的逻辑门优化为具有相同功能且数量更少的逻辑门。
在这里插入图片描述
如上图所示,在重映射前f=((a & b) & ~(c & d)),使用了两级的与非门,这显然是可以优化的,在重映射后,只使用了一级的逻辑门OAI就可以实现相同的功能,显然降低了系统的动态功耗。

三、 物理级优化

所谓的物理级优化是在布局布线之类的物理实现时,通过降低翻转和减少负载电容来降低系统的功耗,物理级优化主要有以下几种方法:

  • 使用低功耗的库;
  • 设计低功耗的布局规划;
  • 基于功耗优化的布局规划;
  • 通过布局布线来减少毛刺;
  • 在优化布局的试试调整buffer和连线的大小;
  • 调整晶体管的大小来减少负载电容;

四、 总结

本篇文章主要讨论了芯片设计中的门级低功耗优化技术,与之前的文章里提到的系统级、RTL级低功耗技术相比,门级低功耗优化技术在低功耗设计中的层次较低,对功耗优化的占比也没有那么的大。不过我们仍需要了解并应用这些低功耗方法,并在不同的芯片设计阶段采用这些低功耗优化技术,旨在从多个角度降低芯片的功耗,提高能效比。

以下是该系列的往期链接:

ic基础|功耗篇01:影响芯片实际表现的重要指标——功耗的分类
ic基础|功耗篇02:系统级低功耗技术
ic基础|时钟篇03:低功耗技术之——门控时钟clock gating及锁存器latch的避免
ic基础|功耗篇03:ic设计人员如何在代码中降低功耗?一文带你了解行为级以及RTL级低功耗技术

如果你喜欢这篇文章的话,请关注我的公众号-熊熊的ic车间,里面还有ic设计和ic验证的学习资料和书籍等着你呢~欢迎您的关注!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/757781.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UE5材质之HLSL:深度

UE4/5的Custom节点:在VScode使用HLSL(新手入门用)_vscode写hlsl-CSDN博客 效果: 材质节点: 自定义节点代码: float3 rayStepViewDir*-1; float4 inputTexTexture2DSample(TexObject,TexObjectSampler,uv)…

AGPT•intelligence:带你领略全新量化交易的风采

随着金融科技的快速发展,量化交易已经成为了投资领域的热门话题。越来越多的投资者开始关注和使用量化交易软件来进行投资决策。在市场上有许多量化交易软件可供选择。 Delaek,是一位资深的金融科技专家,在 2020年成立一家专注于数字资产量化…

【第三方JSON库】org.json.simple用法初探—Java编程【Eclipse平台】【不使用项目管理工具】【不添加依赖解析】

本文将重点介绍,在不使用项目管理工具,不添加依赖解析情况下,【第三方库】JSON.simple库在Java编程的应用。 JSON.simple是一种由纯java开发的开源JSON库,包含在JSON.simple.jar中。它提供了一种简单的方式来处理JSON数据和以JSO…

计算机类主题会议推荐之——AIIIP 2024

【ACM出版 |IEEE&ACM院士、CCF杰出会员担任组委| 往届会后4个月检索 】 第三届人工智能与智能信息处理国际学术会议(AIIIP 2024) 2024 3rd International Conference on Artificial Intelligence and Intelligent Information Processing 中国-天…

QT QSlider控件-主介绍 触发函数常用函数

QSlider控件是Qt库中用于提供一个可拖动滑块以选择数值或范围的界面元素。它广泛应用于需要用户进行数值调节的场景,如音量控制、亮度调整等。 一、QAbstractSlider的6个信号量触发函数: 1、void actionTriggered (int action): 当滑块上的某个可定义动…

EXCEL 复制后转置粘贴

nodepad 转置参考: https://editor.csdn.net/md/?articleId140014651 1. WPS复制后转置粘贴 复制-》右键-》顶部第一行-》粘贴行列转置,如下图: 2. Excel office365 本地版 2. Excel office365 在线版

module java.base does not “opens java.lang“ to unnamed module

目录 原因:解决方法:方法一:方法二:方法三: SpringBoot项目运行报如下错误 Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.def…

关于组织赴俄罗斯(莫斯科)第 28 届国际汽车零部件、汽车维修设备和商品展览会商务考察的通知

关于组织赴俄罗斯(莫斯科) 第 28 届国际汽车零部件、汽车维修设备和商品展览会商务考察的通知 展会名称:俄罗斯(莫斯科)第 28 届国际汽车零部件、汽车零部件、汽车维修设备和商品展览会 时间:2024 年 8 月…

仓库管理系统19--盘存管理

原创不易,打字不易,截图不易,多多点赞,送人玫瑰,留有余香,财务自由明日实现 1、什么是盘存 盘存也叫盘库,盘库是指对一个仓库、库房或者商店的库存进行全面清点和核对的过程。在盘库过程中&am…

解决403 Forbidden错误的全面指南,快速解决403 Forbidden错误

在浏览互联网时,遭遇到“403 Forbidden”错误可以说是既常见又令人困惑。这个错误提示通常意味着服务器理解请求但拒绝授权访问。尽管它可能看起来让人无从下手,但通过一些方法通常可以找到原因并解决这个问题。 什么是403 Forbidden错误? “…

小到微妙:少女微笑

一、妙与不妙,少女与微笑 我们曾经解过汉字“妙”,妙字可以拆分为少女二字,即: 妙 女 少 少女 但这,其实并没有对 “妙”字 完成完整性解析,如果要完成完整性的说明,应当加上微笑&#xff0…

1、Python编程入门:从硬件基础到解释器类型

Python是一种免费、开源、跨平台、动态、面向对象的编程语言。它以其简洁易读的语法和强大的功能而闻名,广泛应用于各种领域,如Web开发、数据分析、人工智能等。本文将介绍Python的基本概念、执行方式以及常用的Linux命令,帮助初学者快速入门…

Ascend基于自定义算子工程的算子开发

环境准备 见https://gitee.com/zaj1414904389/ascend-tutorial.git 工程创建 CANN软件包中提供了工程创建工具msopgen,开发者可以输入算子原型定义文件生成Ascend C算子开发工程 [{"op": "AddCustom","input_desc": [{"name…

Java的NIO体系

目录 NIO1、操作系统级别下的IO模型有哪些?2、Java语言下的IO模型有哪些?3、Java的NIO应用场景?相比于IO的优势在哪?4、Java的IO、NIO、AIO 操作文件读写5、NIO的核心类 :Buffer(缓冲区)、Channel&#xff…

版本控制系统:Git 纯应用(持续更新)

基本操作 ctrl上行键:上次代码 本地仓库:Git init 新建文件:touch xxxx.xxx 查看状态:Git status 文件从工作区——暂存区:Git add ./文件名(.是通配符代表所有) 暂存区——仓库:Git commit -m &…

如何利用ChatGPT改善日常生活:一个普通人的指南

当你打开 ChatGPT,显现的是一个简洁的聊天界面。 许多人利用 ChatGPT 进行日常对话。 然而,ChatGPT 的功能远不止于此。 对话只是其众多能力中的一种,如果仅将其视为高级版的聊天机器人,那未免低估了它。 AI 在信息处理方面的…

【计算机毕业设计】073智慧旅游平台开发微信小程序

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

力扣第一道困难题《3. 无重复字符的最长子串》,c++

目录 方法一: 方法二: 方法三: 方法四: 没有讲解,但给出了优秀题解 本题链接:4. 寻找两个正序数组的中位数 - 力扣(LeetCode) 话不多说,我们直接开始进行本题的思路解…

【Mybatis】Mybatis初识-通过源码学习执行流程

文章目录 1.Mybatis核心组件1.1 SqlSession1.2 SqlSessionFactory1.3 Mapper1.4 MappedStatement1.5 Executor 2. Mybatis各组件之间关系3. 构建SqlSessionFactory3.1 从XML文件中构建3.2 不使用XML构建SqlSessionFactory 4. 如何从SqlSessionFactory获取SqlSession5.获取Mappe…

计算机专业课面试常见问题-编程语言篇

目录 1. 程序的编译执行流程? 2. C浅拷贝和深拷贝的区别? 3. C虚函数? …