影响SOC系统功耗的参数调整主要从系统级到物理级来进行。

软硬件划分

软硬件划分是从系统功能的抽象描述着手,把系统功能分解为硬件和软件来实现。通过比较采用硬件方式和软件方式实现系统功能的功耗,得出一个比较合理的低功耗实现方案。由于软硬件划分处于设计的起始阶段,所以能为降低功耗带来更大的可能。

功耗管理

功耗管理的核心思想是设计并区分不同的工作模式。其管理方式可分为动态功耗管理和静态功耗管理两种。动态功耗管理的思想就是有选择的将不被调用的模块挂起,从而降低功耗。静态功耗管理是对待机工作模式的功耗进行管理,它所要监测的是整个系统的工作状态,而不是只针对某个模块。如果系统在一段时间内一直处于空闲状态,则静态功耗管理就会把整个芯片挂起,系统进入睡眠状态,以减少功耗。

系统硬件架构低功耗设计

并行结构

并行结构是将一条数据通路的工作分解到两条通路上完成。并行结构降低功耗的主要原因是在其获得与参考结构相同计算速度的前提下,其工作频率可以降低为原来的1/2,同时电源电压也可降低。并行电路结构是以牺牲芯片的面积来降低功耗。高性能处理器及高速应用的设计一般都要求在给定的时间内完成指定数量的计算操作。就架构来说,在大多数情况下,对于高吞吐量的芯片,并行结构一般是首选。

流水结构

电路流水就是采用插入寄存器的办法降低组合路径的长度,达到降低功耗的目的。在先相加再比较的电路中间插入流水线寄存器的流水结构,加法器和选择器处在两条不同的组合路径上,电路的工作频率没有改变,但每一级的电路减少,使电源电压可以降低。流水结构是另外一种形式的并行操作方式,可以降低能量损耗。

流水线不同于硬件复制,并行性是由流水线的寄存器插入,将一个处理器划分为N个流水线级。在这样的实现中,如果要保持相同的数据吞吐量,就要保持相同的时钟频率f。忽略流水线造成的寄存器的开销,负载电容C还是会保持在原来的水平上。这种配置方式的优点在于大大减少了寄存器级之间计算电路的要求。

流水结构和并行化处理获得了相同的功耗目标。与并行化处理相同的是,虽然不多,但是还是带来了一些设计开销。这些寄存器开销付出了功耗和面积的代价。首先,这些寄存器都需要时钟来驱动,增加了时钟网络的电容负载,随着流水线深度的增加,原先可以忽略的开销也不得不重视,因为这一点,流水线式的并行处理技术的吸引力也相对减小。但是,相对于硬件复制并行技术来说,该技术还是有相当大的优点的,使其成为功耗优化的有效方法之一。

在实际的设计中,并不是所有的电路都适合采用流水线结构的电路。而对于流水结构电路来说,主要有两个需要注意的地方,即分支转移冒险和数据冒险。

编码优化

一般可采用一位热码(One-Hot码)、格雷码和总线反转码降低片上系统总线的功耗。

One-Hot码在一个二进制数中只允许1个数位不同于其他各数位的值。
格雷码对于任何两个连续的数字其对应的二进制码中只有1位的数值不同。

由于在访问相邻的两个地址的内容时,其跳变次数比较少,从而有效的降低了总线功耗。

除了这几种编码外,还有一些更为复杂的低功耗编码,如窄总线编码、部分总线反转编码和自适应编码等,这些编码方式的最终目的就是通过改变编码来减少不同数据切换时的平均翻转次数。在采用这些编码时,设计者应综合考虑它们带来的其他代价,如增加的编解码电路等。

寄存器级低功耗设计

门控时钟

门控时钟有两种:门控到达逻辑模块的时钟和门控到达每个触发器的时钟。但不管是哪一种,都能起到降低功耗的作用。中心模块提供给模块A和模块B不同的门控时钟,当模块不工作时,可以关闭该模块,从而达到降低功耗的目的。门控时钟作为一个低功耗最基本的优化方法,其应用已经非常广泛。在非常复杂但功耗受限的系统中,将没有任何操作的系统部分的时钟关闭是最常见的使用形式。对于何时关闭时钟,是由设计者自己来决定的。一般来说,从时钟门控技术获益最多的大多是低吞吐量的数据通路。

存储分区访问

存储分区访问就是将一个大的存储模块分成不同的小存储模块,通过译码器输出的高位地址来区分不同的存储模块。工作中,只有被访问的存储器才工作,其他存储器不工作。

预计算

预计算就是提前进行位宽较小的计算工作,如果这些操作得到的信息可以代表实际的运算结果,就可以避免再进行位宽较大的计算工作,降低电路的有效翻转率,从而达到降低功耗的目的。

高集成度的单片化设计

将很多外围硬件集成到CPU芯片中,增大硬件冗余;内部以低功耗、低电压的原则设计,可为嵌入式处理器的低功耗设计提供很强的动力。在实际使用中,不用的硬件接口电路可以通过相关的指令关闭,以节省功耗。

IP集成

IP集成已经成为SOC的主要设计方法。不仅IP设计本身要实现低功耗设计,连接IP的总线结构也是低功耗设计的重点,集成在SOC内部的电源管理IP通过对系统功耗模式提供硬件支持来降低功耗。动态缩放技术进一步通过降低工作电压和时钟频率来减少大量功耗。

SOC面向的应用非常广泛,且有专用化的趋势,参数化设计方法可以在集成时根据应用来裁剪IP,并利用该机制结合软硬件仿真平台对参数进行邻域搜索优化。