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.mzph.cn/diannao/37768.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【chatgpt】npy文件和npz文件区别

npy文件和npz文件都是用于存储NumPy数组的文件格式。它们的主要区别如下: npy文件:这种文件格式用于存储单个NumPy数组。它是一种简单的二进制文件格式,可以快速地读写NumPy数组。 npz文件:这种文件格式是一个压缩包,…

《Windows API每日一练》6.2 客户区鼠标消息

第五章已经讲到,Windows只会把键盘消息发送到当前具有输入焦点的窗口。鼠标消息则不同:当鼠标经过窗口或在窗口内被单击,则即使该窗口是非活动窗口或不带输入焦点, 窗口过程还是会收到鼠标消息。Windows定义了 21种鼠标消息。不过…

UE5蓝图快速实现打开网页与加群

蓝图节点:启动URL 直接将对应的网址输入,并使用即可快速打开对应的网页,qq、discord等群聊的加入也可以直接通过该节点来完成。 使用后会直接打开浏览器。

第11章 规划过程组(收集需求)

第11章 规划过程组(一)11.3收集需求,在第三版教材第377~378页; 文字图片音频方式 第一个知识点:主要输出 1、需求跟踪矩阵 内容 业务需要、机会、目的和目标 项目目标 项目范围和 WBS 可…

【强化学习】第01期:绪论

笔者近期上了国科大周晓飞老师《强化学习及其应用》课程,计划整理一个强化学习系列笔记。笔记中所引用的内容部分出自周老师的课程PPT。笔记中如有不到之处,敬请批评指正。 文章目录 1.1 概述1.2 Markov决策过程1.2.1 Markov Process (MP) 马尔科夫过程1…

(五)SvelteKit教程:错误页和重定向

(五)SvelteKit教程:错误页和重定向 设置404页面和重定向非常容易,我们还是在 /about 目录下学习这个知识,文件结构如下: ├── layout.svelte ├── page.svelte ├── about │ └── [aboutID] │…

基于深度学习的人脸关键点检测

1. 任务和目标 人脸关键点检测的主要任务是识别并定位人脸图像中的特定关键点,例如眼睛的角点、眉毛的顶点、鼻子的底端、嘴角等。这些关键点不仅能提供面部结构的几何信息,还可以用于分析表情、识别个体,甚至检测面部姿势。 2. 技术和方法…

什么是数据类型,Python 有哪些基本数据类型?

一、什么是数据类型 数据类型是计算机语言中一个基本概念,它定义了变量可以存储什么样的数据以及可以对这些数据执行什么样的操作。在Python中,数据类型决定了变量的存储方式、内存占用、数据的合法操作和表示方式等。 数据类型的作用包括:…

计算机中的16g加32g不对称双通道性能分析

计算机中的16g加32g不对称双通道性能分析 16GB加32GB不对称双通道配置会对性能产生一定影响,但仍然在稳定兼容的范围内。 在探讨16GB加32GB不对称双通道配置的性能影响时,我们首先需要理解双通道技术的基本原理。双通道技术通过同时向两根内存中读写数…

数据结构速成--排序算法

由于是速成专题,因此内容不会十分全面,只会涵盖考试重点,各学校课程要求不同 ,大家可以按照考纲复习,不全面的内容,可以看一下小编主页数据结构初阶的内容,找到对应专题详细学习一下。 这一章…

C语言中常用的运算符、表达式和语句

C语言是一种通用的、高级的编程语言,其历史可以追溯到20世纪60年代末至70年代初。C语言最初是由丹尼斯里奇(Dennis Ritchie)在贝尔实验室为开发UNIX操作系统而设计的。它继承了许多B语言的特性,而B语言则是由迷糊老师(…

安全与加密常识(0)安全与加密概述

文章目录 一、信息安全的基本概念二、加密技术概述三、常见的安全协议和实践四、加密的挑战与应对 在数字时代,信息安全和加密已成为保护个人和企业数据不受侵犯的关键技术。本文将探讨信息安全的基础、加密的基本原理,以及实用的保护措施,以…

RAG一文读懂!概念、场景、优势、对比微调与项目代码示例

本文结合“基于 ERNIE SDKLangChain 搭建个人知识库”的代码示例,为您讲解 RAG 的相关概念。 01 概念 在2020年 Facebook AI Research(FAIR)团队发表一篇名为《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》的论文。这篇论文首次提出了 RA…

Java应用cpu过高如何分析

1. 查看进程cpu使用情况 top 2. 根据PID查看指定进程的各线程的cpu使用情况 top -H -p PID 线程分析&#xff1a; jstack&#xff1a;生成Java线程堆栈&#xff0c;用于分析是否有线程处于忙等待状态或死循环。命令&#xff1a; shell jstack -l <pid> > threaddu…

机器人控制系列教程之关节空间运动控制器搭建(1)

机器人位置控制类型 机器人位置控制分为两种类型&#xff1a; 关节空间运动控制—在这种情况下&#xff0c;机器人的位置输入被指定为一组关节角度或位置的向量&#xff0c;这被称为机器人的关节配置&#xff0c;记作q。控制器跟踪一个参考配置&#xff0c;记作 q r e f q_{re…

免费翻译API及使用指南——百度、腾讯

目录 一、百度翻译API 二、腾讯翻译API 一、百度翻译API 百度翻译API接口免费翻译额度&#xff1a;标准版&#xff08;5万字符免费/每月&#xff09;、高级版&#xff08;100万字符免费/每月-需个人认证&#xff0c;基本都能通过&#xff09;、尊享版&#xff08;200万字符免…

学习阳明心学,需要下真功夫,持续用功

阳明心学是功夫之学&#xff0c;看到善的就发扬光大&#xff0c;看到恶的就立即改正&#xff0c;这才是真功夫

Java基础(五)——ArrayList

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 ⚡开源项目&#xff1a; rich-vue3 &#xff08;基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL&#xff09; &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1…

激光SLAM平面点的提取、使用学习

1.20240625 学习了PaGO-LOAM 论文地址&#xff1a; PaGO-LOAM: Robust Ground-Optimized LiDAR Odometry github地址&#xff1a; GitHub - url-kaist/AlterGround-LeGO-LOAM: The page for PaGO-LOAM: Robust Ground-Optimized LiDAR Odometry 其提取地面点方法采用了Pat…

centos7 xtrabackup mysql 基本测试(5)mysql 建立 测试 数据库及内容

centos7 xtrabackup mysql 基本测试&#xff08;5&#xff09;mysql 建立 测试 数据库及内容 登录 mysql -u etc -p 1234aA~1创建数据库 名字是company show databases ; create database company;在 company里面 创建表employee use company; DROP TABLE IF EXISTS employ…