低功耗设计入门:系统与架构级低功耗设计

系统与架构级低功耗设计

系统与架构层次的低功耗设计,可以节省70%以上的功耗。这个层次上的设计往往是由系统和架构设计人员进行的,这些人员往往是有着丰富经验的设计人员。他们制定了低功耗设计方案,由下一级的设计人员(比如做前端设计、做Flow的人员)进行具体实现。下面就来介绍一下在系统架构方面,可以从哪些方面进行低功耗设计,由于我只是只菜鸟,因此这些内容只是我在前人的经验中进行总结学习的笔记,仅供参考。

1

多电压设计技术(Multi-VDD)

①多电压设计技术介绍

从前面的功耗方程中,我们可以知道,电压与功耗有着密切的联系。因此功耗的降低可以考虑使用低一点的电压。多电压设计技术有三种方式:

A:各电压区域有固定的电压,如上图(a)所示 ;

B:各电压区域具有固定的多个电压,由软件决定选择哪一个电压,如上图(b)所示;

C:自适应的方式,各电压域具有可变的,由软件决定选择哪一个电压,如上图(c)所示。

A是固定分配的电压;而B和C为动态电压管理,涉及到软硬件协同设计,这里我们放到后面进行介绍。这里主要是从整体上进行介绍多电压设计技术及其要求,然后给出A方式的一个例子以及一个多电压低功耗设计的脚本示例。

②多电压综合库及电压模式控制单元

无论是哪一种低电压设计方式,都需要综合库的支出。这低功耗设计的综合库中,需要包含同一个单元在不同电压下的描述。此外综合库还要多电压设计的特殊单元,这些单元主要是:

·电平转换器(level shifter):把高(低)电压区域的信号转换到低(高)电压区域。信号通常包括数据、时钟、扫描链数据等。电平转换器的示意图如下所:

·电源隔离单元(power isolation cell):主要用于模块的输入、输出。它可以关掉电源时,将信号保持为常数,从而避免单元的输入悬空。电源隔离单元如下图所示:

·保持寄存器(retention register):在不工作的情况下,将寄存器的状态保留下来。

电源隔离单元和保持寄存器我们将在后面的电源门控中进行详细介绍,这里先给出一个概念。

为了实现电压的动态管理——无论是使用硬件还是软件进行动态管理,都需要在设中加入电压模式控制单元。一个电压模式控制单元的例子如下所示:

该模块的功能是:系统不工作时, 进入IDLE模式, 这时候可以关掉不工作模块的电源;当系统工作时, 给工作模块提供正常电压。这个模块可以是软件实现,也可以是硬件实现。

③多电压设计举例

对于多电压设计(尤其是A设计),关键是电压分配。在划分供电区域时,要尽量与设计的层次结构一致,并且要考虑到设计复杂性。下面例子(左图)中(电压分配采用固定分配方案),存储器、处理器核、其他逻辑用不同的工作电压。

右图中的设计有3个工作频率,分别为300,250和400MHz。由于单元的延迟与供电电压成相反关系,即供电电压越高,单元的延迟越小。因此为了满足时序的要求,对于工作频率高的模块,使用供电电压高的电源,以降低时序路径中单元的延迟,从而降低整条时序路径的延迟。上例中,工作频率为400MHz的模块,时序要求最高,因此供电电压最高,为1.2V。工作频率为250 MHz的模块,时序要求最低,因此供电电压最低,为0. 8V。通过对不同的模块设置不同的供电电压,可以使整个设计既能满足时序的要求,又可以降低其功耗。使用多电压技术,版图设计时,要产生多个电压区域(Voltage Area),把供电不同的模块,分配到不同的电压区域。

在power compiler中,可以使用"Top Down Compile"的方法进行多电压的功耗设计,一个示例脚本如下所示:

2

软/硬件协同设计

前面介绍了多供电电压设计,同时介绍了使用EDA工具实现的一个示例脚本。多供电电压设计中涉及到电压的动态管理,而动态管理可以使用软件实现,这就设计到了软硬件协同设计的问题。在这里,我们主要介绍软硬件协同设计中的软硬件划分以及电压的动态管理技术。

①软硬件划分

  系统中的功耗都是硬件单元消耗的,但是软件组织对硬件的功耗有着很大的影响。在设计过程中,系统的功能可以用硬件实现,也可以使用使用软件进行实现。低功耗软件的设计需要注意:在满足系统应用的基础上,速度应该尽可能慢,电压应该尽可能低,尽可能满足时间要求。系统设计者根据规范和自身经验对系统性能进行推测(仿真建模),决定哪一部分使用硬件来实现,哪一部分使用软件来实现,从而达到性能和功耗最佳平衡。这些是系统设计者需要考虑的,这里不进行详细叙述,只需要知道,软硬件划分可以很大程度上降低功耗。

②动态电压频率调节DVFS技术

DVFS技术:dynamic voltage dynamic frequency scaling,动态电压频率技术,是一种通过将不同电路模块的工作电压及工作频率降低到恰好满足系统最低要求,来实时降低系统中不同电路模块功耗的方法。

电路模块中的最大时钟频率和电压紧密相关,如果一个电路能够估算出它必须做多少工作才能完成当前的任务,那么理论上讲就可以将时钟频率调低到刚好能适时完成该任务的水平。降低时钟频率意味着可以同时降低供电电压。频率和电压同时降低,功耗就大大降低了。这个是DVFS的原理。

DVFS技术这个种方法属于电压的动态管理,可以通过软件和硬件的方式实现。将DVFS合并到操作系统的调度程序和实时嵌入式任务管理服务当中,利用一个可编程的DC-DC开关电压调节器、一个可编程的时钟产生器和一个宽操作域的高性能处理器等资源进行实现。这种技术的使用需要系统使用者决定,这里不进行详述,只需要知道在系统层面可以考虑使用这种方法进行降低功耗。

③低功耗软件(操作系统)的动态功耗管理

前面也说了,可以使用软件的方式进行自适应地选择功耗。在系统软件过程运行过程中,可以在操作系统中加入功耗管理机制,把没有使用到的硬件单元关掉,这便是系统功耗的动态管理。加入功耗管理机制的操作系统的示意图如下所示:

这种功耗的动态管理依赖于前面描述的电压模式控制单元,只不过个单元是用软件进行实现的(因为是操作系统进行动态功耗管理)。具体的功耗动态管理实现这里就不详细说明,这应该是属于系统设计者和软件设计人员考虑的。

3

系统时钟分配

系统时钟的分频也是系统层面降低功耗可以考虑的方面。时钟是系统中频率最高的信号,其功耗功之高是不容置疑的。在系统设计层面,可以考虑应用要求,将系统设置为不同的工作模式,加入时钟控制模块,在不同的工作模式下选用不同频率的时钟,并且将一些不需要的模块时钟关闭。时钟的分配可以使用内部的状态机实现,也可以使用软件实现。

例如,可以将系统分为4种工作模式:normal 、 slow、idle、sleep。在不同的模式下,器分频的时钟如下所示:

4

算法与IP选择

在系统设计层次上面,还可以通过算法和IP这两个方面降低功耗。

算法:

算法级在算法级降低功耗是非常有价值的。在设计算法时,要分析该算法需要多少ALU操作, 需要多少次存储器访问, 要尽量使那些耗能多的操作最小化。算法级低功耗设计跟具体设计有关。比如,对于大规模运算的应用(比如FFT),使用对数系统(logarithmic number system,lns)比使用线性系统更好。lns在降低平均位元活跃度(也就是降低0和1的变化程度)的同时使用加法和减法实现乘除法,使效率比线性系统更高。因此基于lsn算法来实现FFT可以节省大量的功耗,但是加法器和乘法器的宽度会增加,使用FPGA实现时就会需要更大的LUT(查找表),而且这个查找表的大小是以指数增长的。

在一些行为综合工具中,可采用延时功耗乘积表示系统的优化目标,以降低完成特定计算所需的状态转换数,生成高效的计算结构。算法这一方面的低功耗设计让算法工程去考虑吧,我们来了解一下就可以了。

IP:

现在的SoC设计依赖于IP的集成。在选择IP时,除了考虑到性能要求,还需要考虑到功耗问题。例如,在选择CPU时,可以分析在完成相同的功能时,哪种CPU功耗更大。

5

其他

在系统层次上,除了可以上面那些因素外,我们还可以考虑异步设计。在现在的系统设计中,一个系统可能使用多个时钟,但是在每个时钟控制的区域内部都设计成一个同步的子系统。通过时钟树综合、插入缓冲器减少时钟的偏移。这种方法在时钟网络上添加了大量的缓冲器,时钟网络消耗的功耗也增加。在异步设计里面,不需要全局时钟,两个模块通过握手信号进行交互,这时候就可以减少功耗。因此异步设计也是降低功耗的一种方法。

在大多是DSP中,需要用到FFT算法。FFT算法需要频繁访问存储器,我们可以在存储器和处理器之间添加缓存,在处理器需要之前,预先将相关数据从存储器中取到缓存里面。使用小范围的缓存能够使计算能耗大量下降,提高的FFT的效能。因此在系统设计的时候,特别是系统架构设计的时候,可以考虑基于缓存的系统体系结构进降低功耗。

系统层次上面的低功耗设计方法还有很多,比如说可测性设计上进行低功耗设计、存储器(内存)的低功耗设计等,这些都可以在系统层次上面进考虑,这里就不一一列出来了。

本文转自:http://www.cnblogs.com/IClearner/ 

作者:IC_learner

(0)

相关推荐

  • 级联H桥光伏并网逆变器混合调制策略

    2017第六届新能源发电系统技术创新大会 中国电工技术学会主办,2017年6月21-24日在河北省张北县举办,大会围绕新能源发展战略.系统关键技术.微电网及储能等重要议题展开交流.浏览会议详情和在线报 ...

  • 【精品博文】高级FPGA设计——第三章:功耗结构设计

    除了速度和面积外,数字设计中还有另外一个主要特性:功耗. 在CMOS技术中,动态功耗与门和金属引线的寄生电容充放电有关.在电容中消耗电流的一般方程为:I=V*C*f (其中I是总电流,V是电压,C是电 ...

  • 一种无线测温系统的设计与实现

    中国电工技术学会活动专区 CES Conference 为了降低测温系统的安装难度并提高测温系统的普适性,科大智能电气技术有限公司的研究人员池东亮.李龙龙.束鹏飞.熊树海,在2021年第6期<电 ...

  • 数字IC低功耗设计入门:功耗的分析

    来源:内容来自http://www.cnblogs.com/IClearner/ ,作者:IC_learner,谢谢. 前面学习了进行低功耗的目的和功耗的构成,今天就来分享一下功耗的分析.由于是面向数 ...

  • 整车电控系统及架构设计技术

    来源 :电动学堂 引言:本文的目的是基于我们对域控制设计方法的研究,提出相关的设计过程和规则,从而设计出我们3年后的新电控系统及架构平台,也就为实现软件定义汽车和硬件通用化提供可能性.同时,也希望能为 ...

  • 亿级流量架构之网关设计思路、常见网关对比

    本文准备围绕七个点来讲网关,分别是网关的基本概念.网关设计思路.网关设计重点.流量网关.业务网关.常见网关对比,对基础概念熟悉的朋友可以根据目录查看自己感兴趣的部分. 什么是网关 网关,很多地方将网关 ...

  • 干货 | 整车电控系统及架构设计技术

    本文的目的是基于我们对域控制设计方法的研究, 提出相关的设计过程和规则, 从而设计出我们3年后的新电控系统及架构平台, 也就为实现软件定义汽车和硬件通用化提供可能性. 同时, 也希望能为国内电控系统及 ...

  • 跟玩手机一样 比亚迪全新系统带苹果风设计 还配丹拿HiFi级音响!

    身处物联网时代的我们,早已被各种智能终端设备占据着主体生活,工作离不开电脑.手机,休息离不开智能电视.Ipad,而随着5G网络的普及与应用,相信还会有更多智能终端设备入局,汽车内置的中控车机也会是其中 ...

  • 如何系统学习颜体楷书,从入门篇到终级篇,给你规划一个完整蓝图

    古今书法2018-12-13 17:31:00 我是一位练习颜体的书友!在<今日头条>里有上传一些关于<颜勤礼碑>的视频,主要是临帖和一些基础的教学视频,有兴趣的书友可以一起来 ...

  • 【收藏】整车电控系统及架构设计技术

    来源:网络 引言:本文的目的是基于我们对域控制设计方法的研究,提出相关的设计过程和规则,从而设计出我们3年后的新电控系统及架构平台,也就为实现软件定义汽车和硬件通用化提供可能性.同时,也希望能为国内电 ...

  • 如何基于价值链设计和优化组织架构

    Part1 背景 由于顾客需求的变化和增加.互联网的冲击以及企业之间的高度竞争,企业要想在竞争中处于不败之地,就需要制定明确的企业战略,并通过组织结构的设计和调整优化实现目标战略.到目前为止,大多还是 ...

  • 智能手环压力平衡透气膜如何实现IP67级防水设计

    智能手环是目前数码产品中备受用户关注的可穿戴产品,也是许多年轻网友标配的时尚配饰之一.很多人都希望能买一款手环来监测自己的运动量,来提高自己的健康状态.而说到运动,就不得不说到一款产品的防水性能.无论 ...